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

import javax.ejb.ApplicationException;

import de.ivu.elect.business.wahlvorschlag.entity.WahlvorschlagUK;
import de.ivu.elect.jee.exception.ElectCommonException;
import de.ivu.elect.jee.faces.Messages;

@ApplicationException(rollback = true)
public final class NonUniqueWahlvorschlagUkException extends ElectCommonException {

  private static final long serialVersionUID = 1L;

  private NonUniqueWahlvorschlagUkException(String kennwort, String gebiet, String type) {
    super("non.unique.wahlvorschlag.uk.exception", kennwort, gebiet, type);

  }

  public NonUniqueWahlvorschlagUkException(WahlvorschlagUK uk, Messages messages) {
    this(getKennwort(uk), getGebiet(uk), messages.getMessageForMessageKey("Wahlvorschlag.DISCRIMINATOR." + uk.getDiscriminator()));
  }

  private static String getKennwort(WahlvorschlagUK uk) {
    return uk.getGruppeImGebietUK().getGruppeUK().getSchluessel();
  }

  private static String getGebiet(WahlvorschlagUK uk) {
    return uk.getGruppeImGebietUK().getGebietUK().getNummer();
  }

}
