
package de.ivu.elect.business.gruppe.boundary;

import javax.ejb.Stateless;
import javax.inject.Inject;

import de.ivu.elect.business.gruppe.entity.Gruppe;
import de.ivu.elect.business.protokollierung.entity.LoeschProtokollEvent;
import de.ivu.elect.business.system.entity.CacheResetEvent;

@Stateless
public class GruppeEdit extends AbstractGruppeEdit {

  @Inject
  private transient CacheResetEvent cacheResetEvent;

  @Inject
  private transient LoeschProtokollEvent loeschProtokollEvent;

  public GruppeEdit() {
    super();
  }

  @Override
  public void delete(Gruppe template) {
    Gruppe gruppe = getAttachedEntity(template);

    loeschProtokollEvent.sendeLoeschProtokollEvent(gruppe.getWahl(), gruppe, "loesch.protokoll.gruppe", gruppe.getSchluessel(), gruppe.getName());

    super.delete(gruppe);

    cacheResetEvent.sendEvent(); // ELECT-8185
  }
}
