package de.ivu.elect.business.gebietsbaum.control;

import java.util.HashSet;

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

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.gruppeimgebiet.boundary.GruppeImGebietDAO;
import de.ivu.elect.business.gruppeimgebiet.boundary.GruppeImGebietHierarchyBuilder;

@Specializes
public class CoreGebietCreate extends GebietCreate {

  @Inject
  private transient GruppeImGebietHierarchyBuilder gruppeImGebietHierarchyBuilder;

  @Inject
  private transient GruppeImGebietDAO gruppeImGebietDAO;

  @Override
  public void saveFromView(Gebiet entity) {
    super.saveFromView(entity);

    if (entity.getUebergeordnetesGebiet() == null) {
      return;
    }

    // ELECTKOM-1 und ELECTMUC-1868 (wahrscheinlich)
    gruppeImGebietHierarchyBuilder.createGruppenImGebietAusGruppenImGebietUebergeordnet(entity,
        new HashSet<>(gruppeImGebietDAO.findByGebiet(entity.getUebergeordnetesGebiet())));

  }
}
