import  com.apinizer.common.util.*
 
  try{
    // clear table
    def get = new URL("http://192.168.100.100:30080/apigateway/personel/temizle").openConnection()
    get.setRequestMethod("GET")
    get.setDoOutput(true)
    get.setRequestProperty("Content-Type", "application/json")
    get.setRequestProperty("Username", "")
    get.setRequestProperty("Password", "")
    def getRC = get.getResponseCode()
    if(getRC.equals(400)|| getRC.equals(401)) {
        responseErrorMessageToClient="Yetkilendirme Hatası!"
    }
  }catch(Exception e){
 
  }
 
 
int itemCount = responseBodyTextToClient.count("<item>")
String templateJson = "{"+
"\"sicil_no\":\"#sicil_no\",    "+
"\"adi\"    :\"#adi\","+
"\"soyadi\" :\"#soyadi\","+
"\"isyeri_kodu\"    :\"#isyeri_kodu\","+
"\"calistigi_isyeri\"   :\"#calistigi_isyeri\","+
"\"ik_bilgileri\"   :\"#ik_bilgileri\","+
"\"calistigi_birim\"    :\"#calistigi_birim\","+
"\"unvani\" :\"#unvani\","+
"\"gorevi\" :\"gorevi\","+
"\"dogum_gunu\" :\"#dogum_gunu\","+
"\"ise_giris_tarihi\"   :\"#ise_giris_tarihi\","+
"\"yonetici_adi\"   :\"#yonetici_adi\","+
"\"yonetici_soyadi\"    :\"#yonetici_soyadi\","+
"\"yonetici_sicil\" :\"#yonetici_sicil\","+
"\"eposta\" :\"#eposta\","+
"\"telefon\"    :\"#telefon\","+
"\"tckimlikno\":\"#tckimlikno\""+
"}"
 

String hataliIdStr=""
for(int i=1; i < itemCount+1; i++){
   
    String valueJson = templateJson
     
    String xpathId  = "(/ArrayList/item)["+i+"]/id"
    String valueId  = UtilXmlOperations.extractFromXmlBody( responseBodyTextFromTargetAPI,  xpathId, true)
     
    try{
     
        String xpath  = "(/ArrayList/item)["+i+"]/secondaryNr"
        String value  = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#sicil_no" , value )
         
        xpath = "(/ArrayList/item)["+i+"]/name"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#adi" , value)
         
         
        xpath = "(/ArrayList/item)["+i+"]/surname"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#soyadi" , value)
         
         
        xpath = "(/ArrayList/item)["+i+"]/bizUnit/code"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#isyeri_kodu" , value)
         
         
        xpath = "(/ArrayList/item)["+i+"]/bizUnit/description"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#calistigi_isyeri" , value)
         
         
        xpath = "(/ArrayList/item)["+i+"]/orgUnit/code"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#ik_bilgileri" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/orgUnit/description"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#calistigi_birim" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/profession"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#unvani" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/jobTitle"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#gorevi" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/birthday"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        if(org.apache.commons.lang3.StringUtils.isNotBlank(value) && value.length()>10){
            value=value.substring(0,10)
        }
        valueJson = valueJson.replace("#dogum_gunu" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/entryDate"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        if(org.apache.commons.lang3.StringUtils.isNotBlank(value) && value.length()>10){
            value=value.substring(0,10)
        }
        valueJson = valueJson.replace("#ise_giris_tarihi" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/supervisor/name"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#yonetici_adi" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/supervisor/surname"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#yonetici_soyadi" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/supervisor/secondaryNr"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#yonetici_sicil" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/contactInfo/email"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#eposta" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/contactInfo/mobile1"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#telefon" , value)
         
        xpath = "(/ArrayList/item)["+i+"]/officialId"
        value = UtilXmlOperations.extractFromXmlBody(  responseBodyTextFromTargetAPI,  xpath, true)
        valueJson = valueJson.replace("#tckimlikno" , value)
     
     
        // POST to DB
        def post = new URL("http://192.168.100.100:30080/apigateway/personel/kaydet").openConnection()
        post.setRequestMethod("POST")
        post.setDoOutput(true)
        post.setRequestProperty("Content-Type", "application/json")
        post.setRequestProperty("Username", "")
        post.setRequestProperty("Password", "")
        post.getOutputStream().write(valueJson.getBytes("UTF-8"))
        def postRC = post.getResponseCode()
 
        if(postRC.equals(400)|| postRC.equals(401)) {
            responseErrorMessageToClient="Yetkilendirme Hatası!"
            break
        }
        if(!postRC.equals(200)) {
             hataliIdStr=valueId+","+hataliIdStr
        }
    }catch(Exception e){
        hataliIdStr=valueId+","+hataliIdStr
    }
  
} 
  
 
if(hataliIdStr.endsWith(",")){
    hataliIdStr = hataliIdStr.substring(0,hataliIdStr.length() - 1)
}
 
if(org.apache.commons.lang3.StringUtils.isNotBlank(hataliIdStr)){
    responseErrorMessageToClient=hataliIdStr+" id'li kayıtlar kaydedilemedi!"
}else{
    responseBodyTextToClient=
    "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">"+
        "<soap:Body>"+
        "   <result>OK</result>"+
        "</soap:Body>"+
    "</soap:Envelope>"
}
GROOVY