package de.ivu.elect.business.auffaelligkeit.entity;

import java.util.ArrayList;
import java.util.List;
import java.util.Locale;

import de.ivu.elect.business.gruppe.entity.PolitischeGruppe;
import de.ivu.elect.jee.faces.Messages;

public class AuffaelligkeitBemerkungWahlbeteiligung extends AuffaelligkeitBemerkung {
  private double wert;
  private double abweichung;

  public AuffaelligkeitBemerkungWahlbeteiligung(double auffaelligkeitsskala, double wert, double abweichung) {
    super(auffaelligkeitsskala);
    this.wert = wert;
    this.abweichung = abweichung;
  }

  @Override
  public String getAuffaelligkeitBemerkungAlsString(Locale locale, Messages messages) {
    String vergleichswort;
    if (abweichung < 0) {
      vergleichswort = messages.getMessageForMessageKey("stimmen.auffaelligkeit.suche.bemerkungen.niedriger.synonym");
    } else {
      vergleichswort = messages.getMessageForMessageKey("stimmen.auffaelligkeit.suche.bemerkungen.hoeher.synonym");
    }

    return messages.getMessageForMessageKey("stimmen.auffaelligkeit.suche.bemerkungen.abweichende.wahlbeteiligung",
        getNumberInAbsoluteValueFormattedInDecimalTwoFractionDigitsPercentageForm(wert, locale, messages),
        getNumberInAbsoluteValueFormattedInDecimalTwoFractionDigitsPercentageForm(Math.abs(abweichung), locale, messages),
        vergleichswort);
  }

  @Override
  public List<PolitischeGruppe> getInvolvedPartys() {
    return new ArrayList<>();
  }
}
