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

import com.google.gson.Gson;
import de.ivu.elect.business.wahl.entity.NlWahlCustomData;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.sitzberechnung.osv.exchange.p22.OSVLegacyErgebnisDaten;

public class OSVLegacyErgebnisDatenParser {

  public static OSVLegacyErgebnisDaten parseOSVLegacyErgebnisDaten(Wahl wahl) {
    if (wahl == null) {
      return new OSVLegacyErgebnisDaten();
    }

    return wahl.getCustomData(NlWahlCustomData.class)
        .getErgebnisCustomDataParsed(asString -> new Gson().fromJson(asString, OSVLegacyErgebnisDaten.class));
  }
}
