
package de.ivu.elect.presentation.wahl;

import java.util.Collections;
import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

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.hilfe.OnlineHilfeId;
import de.ivu.elect.presentation.wahl.form.WahlartViewFormBuilder;

@OnlineHilfeId("465")
@Named(AbstractWahlartCreateView.COMPONENT_NAME)
public class WahlartCreateView extends AbstractWahlartCreateView {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient WahlartViewFormBuilder wahlartViewFormBuilder;

  public WahlartCreateView() {
    super();
  }

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

  @Override
  protected void callSave(Wahlart entity) {
    create.save(entity, getZugeordneteGebietsarten());
  }

  protected List<Gebietsart> getZugeordneteGebietsarten() {
    return Collections.emptyList();
  }

  @Override
  protected void setEntity(Wahlart entity) {

    // Constraint Check funktioniert an der Oberfläche nicht
    if (entity.getFarbe() == null) {
      entity.setFarbe("ffffff");
    }
    entity.setMandant(getMandant());
    super.setEntity(entity);
  }
}
