
package de.ivu.elect.presentation.veranstaltung.table;

import java.util.List;

import javax.enterprise.inject.Specializes;

import de.ivu.elect.business.veranstaltung.entity.Teilnahme;
import de.ivu.elect.jee.presentation.dynamictable.ColumnEntry;

@Specializes
public class CoreTeilnahmeColumnBuilder extends TeilnahmeColumnBuilder {

  private static final long serialVersionUID = 1L;

  protected TeilnahmeWahlausschussmitgliedRolleColumn teilnahmeWahlausschussmitgliedRolleColumn;

  protected TeilnahmePolitischeGruppeColumn teilnahmePolitischeGruppeColumn;

  @Override
  protected void initColumns() {
    super.initColumns();

    teilnahmeWahlausschussmitgliedRolleColumn = new TeilnahmeWahlausschussmitgliedRolleColumn(getMessages());
    teilnahmePolitischeGruppeColumn = new TeilnahmePolitischeGruppeColumn(getMessages());
  }

  @Override
  protected List<ColumnEntry< ? super Teilnahme>> getColumnEntriesSorted() {
    List<ColumnEntry< ? super Teilnahme>> columnEntriesSorted = super.getColumnEntriesSorted();

    columnEntriesSorted.add(columnEntriesSorted.indexOf(teilnahmeGebietColumn) + 1,
        teilnahmeWahlausschussmitgliedRolleColumn);
    columnEntriesSorted.add(columnEntriesSorted.indexOf(teilnahmeWahlausschussmitgliedRolleColumn) + 1,
        teilnahmePolitischeGruppeColumn);

    return columnEntriesSorted;
  }
}
