RR andmed koos kinnistusraamatu andmetega (eeltäitmise skript)

package ee.girf.kovtp.webform.autofill.example;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.apache.commons.lang3.StringUtils;
 
import ee.girf.kovtp.webform.autofill.AuthUserAware;
import ee.girf.kovtp.webform.autofill.PrepareForm;
import ee.girf.kovtp.webform.autofill.Rr431Aware;
import ee.riik.xtee.rr.producers.producer.rr.RR431Isik;
import ee.riik.xtee.rr.producers.producer.rr.RR431ResponseData;
import ee.riik.xtee.kr.producers.producer.kr.Kinnistu_LihtandmedResponseData.Registriosad.KinnistuRegistriosa;
import ee.riik.xtee.kr.producers.producer.kr.Kinnistu_LihtandmedResponseData.Registriosad.KinnistuRegistriosa.Katastriyksused.KinnistuKatastriyksus;
import ee.riik.xtee.kr.producers.producer.kr.Kinnistu_LihtandmedResponseData.Registriosad.KinnistuRegistriosa.Katastriyksused.KinnistuKatastriyksus.Aadressobjekt;
import ee.riik.xtee.kr.producers.producer.kr.Kinnistu_LihtandmedResponseData.Registriosad.KinnistuRegistriosa.Katastriyksused.KinnistuKatastriyksus.Aadressobjekt.ObjektiAadressid;
import ee.riik.xtee.kr.producers.producer.kr.Kinnistu_LihtandmedResponseData.Registriosad.KinnistuRegistriosa.Katastriyksused.KinnistuKatastriyksus.Aadressobjekt.ObjektiAadressid.AadressobjektObjektiAadress;
import ee.riik.xtee.rr.producers.producer.rr.RR404ResponseData.Items.TTIsik404;
import ee.girf.kovtp.webform.autofill.KinnistusraamatAware;
 
public class PrefillFormWithRrAndKinnitusraamat implements PrepareForm,AuthUserAware,KinnistusraamatAware {
 
private static final String FIELD_FIRST_NAME = "field2";
private static final String FIELD_LAST_NAME = "field3";
private static final String FIELD_ID_CODE = "field4";
private static final String FIELD_ADDRESS = "field5";
private static final String FIELD_PHONE = "field6";
private static final String FIELD_E_MAIL = "field7";
private static final String FIELD_KINNITUSRAAMAT ="field9";
 
private List<KinnistuRegistriosa> vastus;
 
private TTIsik404 isik;
 
@Override
public void setAuthUser(TTIsik404 userData) {
this.isik = userData;
}
 
@Override
public void setKinnistusraamatData(List<KinnistuRegistriosa> vastus) {
                this.vastus = vastus;
}
 
 
@Override
public Map<String, String> fillForm() throws Exception {
 
String maakond = (StringUtils.defaultString(isik.getTtIsikud404CEKMaak())).substring(3);
String vald = (StringUtils.defaultString(isik.getTtIsikud404CEKVald())).substring(4);
//String linn = (StringUtils.defaultString(isik.getTtIsikud404CEKAsula()));
String linn;
//Linnaosa/asula olemasolu kontroll
if ((isik.getTtIsikud404CEKAsula()).length()>5){
linn = (StringUtils.defaultString(isik.getTtIsikud404CEKAsula()).substring(4));
}
else
{
linn = ("Linnaosa/asula puudub");
}
String maja_korter; //maja + korter numbrid
String tanav = StringUtils.defaultString(isik.getTtIsikud404CEKTanav());
String indeks = StringUtils.defaultString(isik.getTtIsikud404CEKIndeks());
String talunimi =  StringUtils.defaultString(isik.getTtIsikud404CEKNimi()) + " talu";
 
Map<String, String> filledValues = new HashMap<String, String>();
 
if (isik != null) {
 
      //Korteri olemasolu kontroll
if(StringUtils.defaultString(isik.getTtIsikud404CEKKorter())){
maja_korter = StringUtils.defaultString(isik.getTtIsikud404CEKMaja()) +  "-" + StringUtils.defaultString    (isik.getTtIsikud404CEKKorter());
}else{ maja_korter = StringUtils.defaultString(isik.getTtIsikud404CEKMaja());}
 
 
 
filledValues.put(FIELD_ID_CODE,
StringUtils.defaultString(isik.getTtIsikud404CIsikukood()));
filledValues.put(FIELD_FIRST_NAME,
StringUtils.defaultString(isik.getTtIsikud404CEesnimi()));
filledValues.put(FIELD_LAST_NAME,
StringUtils.defaultString(isik.getTtIsikud404CPerenimi()));
 
 
if ((isik.getTtIsikud404CEKTanav()).length()>1){
filledValues.put(FIELD_ADDRESS,
tanav + " " 
+ maja_korter + ", "
+ linn + ", "
+ vald + ", "
+ maakond + ", "
+ indeks);
}
else
{
filledValues.put(FIELD_ADDRESS,
talunimi + ", " 
+ linn + ", "
+ vald + ", "
+ maakond + ", "
+ indeks);
}
 
 
 
filledValues.put(FIELD_PHONE,
StringUtils.defaultString(isik.getTtIsikud404CSideTelefon()));
filledValues.put(FIELD_E_MAIL,
StringUtils.defaultString(isik.getTtIsikud404CSideEpost()));
}
 
 
//Kinnitusraamat prefill
 
if (vastus != null) {
 
 
String p = "";
for (KinnistuRegistriosa k : vastus) {
 
if (k.getKatastriyksused() != null) {
 
for (KinnistuKatastriyksus ky : k.getKatastriyksused().getKinnistuKatastriyksus()) {
 
Aadressobjekt a = ky.getAadressobjekt();
 
for (ObjektiAadressid o : a.getObjektiAadressid()) {
AadressobjektObjektiAadress oa = o.getAadressobjektObjektiAadress();
if (oa.getKorteriNumber() != null && !oa.getKorteriNumber().equals("")) {
p = append(p, oa.getTaisaadress() + "-" + oa.getKorteriNumber());
} else {
p = append(p, oa.getTaisaadress());
}
p = append(p, k.getKinnistuLiikTekst());
p = append(p, "katastritunnus " + ky.getKatastritunnus());
}
 
} // -for (getKatastriyksused)
 
} // -if (getKatastriyksused)
 
p += "\n---\n"; // EOL
 
} // -for
 
filledValues.put(FIELD_KINNITUSRAAMAT,
StringUtils.defaultString( p ));
 
}else{
filledValues.put(FIELD_KINNITUSRAAMAT,
"Kinnistusraamatus puuduvad Teie kohta andmed!");
}
 
return filledValues;
}
 
private String append(String orig, String app) {
return append(orig, app, ", ");
}
 
private String append(String orig, String app, String suffix) {
if (app == null) {
return orig += "N/A" + suffix;
} else {
return orig += app + suffix;
}
}
 
}