
package de.ivu.elect.presentation.wahl;

import java.util.List;

import javax.enterprise.inject.Specializes;
import javax.inject.Inject;

import de.ivu.elect.business.gebietsbaum.entity.Gebietsart;
import de.ivu.elect.business.wahl.entity.Wahlart;
import de.ivu.elect.jee.presentation.dynamicform.FormBuilder;
import de.ivu.elect.presentation.wahl.form.CommonWahlartViewFormBuilder;
import de.ivu.elect.presentation.wahl.form.GebietsartPickListProperty;

@Specializes
public class CommonWahlartEditView extends WahlartEditView {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient CommonWahlartViewFormBuilder wahlartViewFormBuilder;

  private transient GebietsartPickListProperty gebietsartPickListProperty;

  public CommonWahlartEditView() {
    super();
  }

  @Override
  public void addProperties(FormBuilder formBuilder, Wahlart wahlart) {
    gebietsartPickListProperty = wahlartViewFormBuilder.addPropertiesMitGebietsart(formBuilder, wahlart);
  }

  @Override
  protected List<Gebietsart> getZugeordneteGebietsarten() {
    if (gebietsartPickListProperty != null && !gebietsartPickListProperty.isReadonly()) { // ELECT-11161
      return gebietsartPickListProperty.getZugeordneteElemente();
    }

    return super.getZugeordneteGebietsarten();
  }
}
