talonetl.loadpropertyimages_0_1.loadPropertyImages.java Source code

Java tutorial

Introduction

Here is the source code for talonetl.loadpropertyimages_0_1.loadPropertyImages.java

Source

// ============================================================================
//
// Copyright (c) 2005-2012, Talend Inc.
//
// This source code has been automatically generated by_Talend Open Studio for Data Integration
// / JobDesigner (CodeGenerator version 5.2.1.r95165)
// You can find more information about Talend products at www.talend.com.
// You may distribute this code under the terms of the GNU LGPL license
// http://www.gnu.org/licenses/lgpl.html).
//
// ============================================================================
package talonetl.loadpropertyimages_0_1;

import routines.Mathematical;
import routines.DataOperation;
import routines.Relational;
import routines.TalendDate;
import routines.TalendDataGenerator;
import routines.Numeric;
import routines.TalendString;
import routines.StringHandling;
import routines.system.*;
import routines.system.api.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.IOException;
import java.util.Comparator;

//the import part of tJava_3
//import java.util.List;

//the import part of tJava_4
//import java.util.List;

//the import part of tJava_2
//import java.util.List;

@SuppressWarnings("unused")
/**
 * Job: loadPropertyImages Purpose: <br>
 * Description:  <br>
 * @author test@talend.com
 * @version 5.2.1.r95165
 * @status 
 */
public class loadPropertyImages implements TalendJob {

    public final Object obj = new Object();

    // for transmiting parameters purpose
    private Object valueObject = null;

    public Object getValueObject() {
        return this.valueObject;
    }

    public void setValueObject(Object valueObject) {
        this.valueObject = valueObject;
    }

    private final static String defaultCharset = java.nio.charset.Charset.defaultCharset().name();

    private final static String utf8Charset = "UTF-8";

    // create and load default properties
    private java.util.Properties defaultProps = new java.util.Properties();

    // create application properties with default
    public class ContextProperties extends java.util.Properties {

        private static final long serialVersionUID = 1L;

        public ContextProperties(java.util.Properties properties) {
            super(properties);
        }

        public ContextProperties() {
            super();
        }

        public void synchronizeContext() {

            if (propertyUUId != null) {

                this.setProperty("propertyUUId", propertyUUId.toString());

            }

            if (propertySourceUri != null) {

                this.setProperty("propertySourceUri", propertySourceUri.toString());

            }

        }

        public String propertyUUId;

        public String getPropertyUUId() {
            return this.propertyUUId;
        }

        public String propertySourceUri;

        public String getPropertySourceUri() {
            return this.propertySourceUri;
        }
    }

    private ContextProperties context = new ContextProperties();

    public ContextProperties getContext() {
        return this.context;
    }

    private final String jobVersion = "0.1";
    private final String jobName = "loadPropertyImages";
    private final String projectName = "TALONETL";
    public Integer errorCode = null;
    private String currentComponent = "";
    private final java.util.Map<String, Long> start_Hash = new java.util.HashMap<String, Long>();
    private final java.util.Map<String, Long> end_Hash = new java.util.HashMap<String, Long>();
    private final java.util.Map<String, Boolean> ok_Hash = new java.util.HashMap<String, Boolean>();
    private final java.util.Map<String, Object> globalMap = new java.util.HashMap<String, Object>();
    public final java.util.List<String[]> globalBuffer = new java.util.ArrayList<String[]>();

    public boolean isExportedAsOSGI = false;

    // OSGi DataSource
    private final static String KEY_DB_DATASOURCES = "KEY_DB_DATASOURCES";

    public void setDataSources(java.util.Map<String, javax.sql.DataSource> dataSources) {
        java.util.Map<String, routines.system.TalendDataSource> talendDataSources = new java.util.HashMap<String, routines.system.TalendDataSource>();
        for (java.util.Map.Entry<String, javax.sql.DataSource> dataSourceEntry : dataSources.entrySet()) {
            talendDataSources.put(dataSourceEntry.getKey(),
                    new routines.system.TalendDataSource(dataSourceEntry.getValue()));
        }
        globalMap.put(KEY_DB_DATASOURCES, talendDataSources);
    }

    private final java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
    private final java.io.PrintStream errorMessagePS = new java.io.PrintStream(
            new java.io.BufferedOutputStream(baos));

    public String getExceptionStackTrace() {
        if ("failure".equals(this.getStatus())) {
            errorMessagePS.flush();
            return baos.toString();
        }
        return null;
    }

    private Exception exception = null;

    public Exception getException() {
        if ("failure".equals(this.getStatus())) {
            return this.exception;
        }
        return null;
    }

    private class TalendException extends Exception {

        private static final long serialVersionUID = 1L;

        private java.util.Map<String, Object> globalMap = null;
        private Exception e = null;
        private String currentComponent = null;

        private TalendException(Exception e, String errorComponent, final java.util.Map<String, Object> globalMap) {
            this.currentComponent = errorComponent;
            this.globalMap = globalMap;
            this.e = e;
        }

        public Exception getException() {
            return this.e;
        }

        public String getCurrentComponent() {
            return this.currentComponent;
        }

        @Override
        public void printStackTrace() {
            if (!(e instanceof TalendException || e instanceof TDieException)) {
                globalMap.put(currentComponent + "_ERROR_MESSAGE", e.getMessage());
                System.err.println("Exception in component " + currentComponent);
            }
            if (!(e instanceof TDieException)) {
                if (e instanceof TalendException) {
                    e.printStackTrace();
                } else {
                    e.printStackTrace();
                    e.printStackTrace(errorMessagePS);
                    loadPropertyImages.this.exception = e;
                }
            }
            if (!(e instanceof TalendException)) {
                try {
                    for (java.lang.reflect.Method m : this.getClass().getEnclosingClass().getMethods()) {
                        if (m.getName().compareTo(currentComponent + "_error") == 0) {
                            m.invoke(loadPropertyImages.this, new Object[] { e, currentComponent, globalMap });
                            break;
                        }
                    }

                    if (!(e instanceof TDieException)) {
                    }
                } catch (java.lang.SecurityException e) {
                    this.e.printStackTrace();
                } catch (java.lang.IllegalArgumentException e) {
                    this.e.printStackTrace();
                } catch (java.lang.IllegalAccessException e) {
                    this.e.printStackTrace();
                } catch (java.lang.reflect.InvocationTargetException e) {
                    this.e.printStackTrace();
                }
            } else {

                status = "failure";

            }
        }
    }

    public void tJava_3_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tJava_3", System.currentTimeMillis());

        status = "failure";

        tJava_3_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tFileFetch_1_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tFileFetch_1", System.currentTimeMillis());

        status = "failure";

        tFileFetch_1_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tJava_4_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tJava_4", System.currentTimeMillis());

        status = "failure";

        tJava_4_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tFileInputXML_1_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tFileInputXML_1", System.currentTimeMillis());

        status = "failure";

        tFileInputXML_1_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tMap_1_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tMap_1", System.currentTimeMillis());

        status = "failure";

        tFileInputXML_1_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tMap_2_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tMap_2", System.currentTimeMillis());

        status = "failure";

        tFileInputXML_1_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tMysqlOutput_1_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tMysqlOutput_1", System.currentTimeMillis());

        status = "failure";

        tFileInputXML_1_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tJava_2_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tJava_2", System.currentTimeMillis());

        status = "failure";

        tJava_2_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tMysqlInput_3_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tMysqlInput_3", System.currentTimeMillis());

        status = "failure";

        tMysqlInput_3_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tUniqRow_1_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tUniqRow_1", System.currentTimeMillis());

        status = "failure";

        tMysqlInput_3_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tMap_3_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tMap_3", System.currentTimeMillis());

        status = "failure";

        tMysqlInput_3_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tMysqlOutput_2_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tMysqlOutput_2", System.currentTimeMillis());

        status = "failure";

        tMysqlInput_3_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tMysqlInput_2_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tMysqlInput_2", System.currentTimeMillis());

        status = "failure";

        tMysqlInput_2_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tAdvancedHash_row2_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tAdvancedHash_row2", System.currentTimeMillis());

        status = "failure";

        tMysqlInput_2_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tJava_3_onSubJobError(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {

        resumeUtil.addLog("SYSTEM_LOG", "NODE:" + errorComponent, "", Thread.currentThread().getId() + "", "FATAL",
                "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception), "");

    }

    public void tFileFetch_1_onSubJobError(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {

        resumeUtil.addLog("SYSTEM_LOG", "NODE:" + errorComponent, "", Thread.currentThread().getId() + "", "FATAL",
                "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception), "");

    }

    public void tJava_4_onSubJobError(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {

        resumeUtil.addLog("SYSTEM_LOG", "NODE:" + errorComponent, "", Thread.currentThread().getId() + "", "FATAL",
                "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception), "");

    }

    public void tFileInputXML_1_onSubJobError(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {

        resumeUtil.addLog("SYSTEM_LOG", "NODE:" + errorComponent, "", Thread.currentThread().getId() + "", "FATAL",
                "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception), "");

    }

    public void tJava_2_onSubJobError(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {

        resumeUtil.addLog("SYSTEM_LOG", "NODE:" + errorComponent, "", Thread.currentThread().getId() + "", "FATAL",
                "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception), "");

    }

    public void tMysqlInput_3_onSubJobError(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {

        resumeUtil.addLog("SYSTEM_LOG", "NODE:" + errorComponent, "", Thread.currentThread().getId() + "", "FATAL",
                "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception), "");

    }

    public void tMysqlInput_2_onSubJobError(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {

        resumeUtil.addLog("SYSTEM_LOG", "NODE:" + errorComponent, "", Thread.currentThread().getId() + "", "FATAL",
                "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception), "");

    }

    private ESBProviderCallback callback = null;

    public void setProviderCallback(ESBProviderCallback callback) {
    }

    public ESBEndpointInfo getEndpoint() {
        return null;
    }

    public void tJava_3Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tJava_3_SUBPROCESS_STATE", 0);

        final boolean execStat = this.execStat;

        String iterateId = "";
        int iterateLoop = 0;
        String currentComponent = "";

        try {

            String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
            boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
            if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
                // the
                // resume
                globalResumeTicket = true;

                /**
                 * [tJava_3 begin ] start
                 */

                ok_Hash.put("tJava_3", false);
                start_Hash.put("tJava_3", System.currentTimeMillis());
                currentComponent = "tJava_3";

                int tos_count_tJava_3 = 0;

                System.out.println("***** Retrive new Property Image Data *****");

                /**
                 * [tJava_3 begin ] stop
                 */
                /**
                 * [tJava_3 main ] start
                 */

                currentComponent = "tJava_3";

                tos_count_tJava_3++;

                /**
                 * [tJava_3 main ] stop
                 */
                /**
                 * [tJava_3 end ] start
                 */

                currentComponent = "tJava_3";

                ok_Hash.put("tJava_3", true);
                end_Hash.put("tJava_3", System.currentTimeMillis());

                tFileFetch_1Process(globalMap);

                /**
                 * [tJava_3 end ] stop
                 */

            } // end the resume

            if (resumeEntryMethodName == null || globalResumeTicket) {
                resumeUtil.addLog("CHECKPOINT", "CONNECTION:SUBJOB_OK:tJava_3:OnSubjobOk", "",
                        Thread.currentThread().getId() + "", "", "", "", "", "");
            }

            tJava_2Process(globalMap);

        } catch (Exception e) {

            throw new TalendException(e, currentComponent, globalMap);

        } catch (java.lang.Error error) {

            throw new java.lang.Error(error);

        }

        globalMap.put("tJava_3_SUBPROCESS_STATE", 1);
    }

    public void tFileFetch_1Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tFileFetch_1_SUBPROCESS_STATE", 0);

        final boolean execStat = this.execStat;

        String iterateId = "";
        int iterateLoop = 0;
        String currentComponent = "";

        try {

            String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
            boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
            if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
                // the
                // resume
                globalResumeTicket = true;

                /**
                 * [tFileFetch_1 begin ] start
                 */

                ok_Hash.put("tFileFetch_1", false);
                start_Hash.put("tFileFetch_1", System.currentTimeMillis());
                currentComponent = "tFileFetch_1";

                int tos_count_tFileFetch_1 = 0;

                /**
                 * [tFileFetch_1 begin ] stop
                 */
                /**
                 * [tFileFetch_1 main ] start
                 */

                currentComponent = "tFileFetch_1";

                java.io.InputStream retIS_tFileFetch_1 = null;

                org.apache.commons.httpclient.HttpClient client_tFileFetch_1 = new org.apache.commons.httpclient.HttpClient();
                client_tFileFetch_1.getHttpConnectionManager().getParams().setConnectionTimeout(1000);
                client_tFileFetch_1.getParams()
                        .setCookiePolicy(org.apache.commons.httpclient.cookie.CookiePolicy.DEFAULT);

                org.apache.commons.httpclient.methods.GetMethod method_tFileFetch_1 = new org.apache.commons.httpclient.methods.GetMethod(
                        context.propertySourceUri);

                boolean isContinue_tFileFetch_1 = true;
                int status_tFileFetch_1;
                String finalURL_tFileFetch_1 = context.propertySourceUri;

                try { // B_01

                    status_tFileFetch_1 = client_tFileFetch_1.executeMethod(method_tFileFetch_1);

                    if (status_tFileFetch_1 != org.apache.commons.httpclient.HttpStatus.SC_OK) {
                        throw new Exception("Method failed: " + method_tFileFetch_1.getStatusLine());
                    }

                } catch (Exception e) {

                    throw (e);

                }

                if (isContinue_tFileFetch_1) {

                    retIS_tFileFetch_1 = method_tFileFetch_1.getResponseBodyAsStream();

                } // B_01
                java.io.InputStream streamtFileFetch_1 = (java.io.InputStream) globalMap
                        .get("tFileFetch_1_INPUT_STREAM");
                if (streamtFileFetch_1 != null) {
                    streamtFileFetch_1.close();
                }
                globalMap.put("tFileFetch_1_INPUT_STREAM", retIS_tFileFetch_1);

                tos_count_tFileFetch_1++;

                /**
                 * [tFileFetch_1 main ] stop
                 */
                /**
                 * [tFileFetch_1 end ] start
                 */

                currentComponent = "tFileFetch_1";

                ok_Hash.put("tFileFetch_1", true);
                end_Hash.put("tFileFetch_1", System.currentTimeMillis());

                tJava_4Process(globalMap);

                /**
                 * [tFileFetch_1 end ] stop
                 */

            } // end the resume

        } catch (Exception e) {

            throw new TalendException(e, currentComponent, globalMap);

        } catch (java.lang.Error error) {

            throw new java.lang.Error(error);

        }

        globalMap.put("tFileFetch_1_SUBPROCESS_STATE", 1);
    }

    public void tJava_4Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tJava_4_SUBPROCESS_STATE", 0);

        final boolean execStat = this.execStat;

        String iterateId = "";
        int iterateLoop = 0;
        String currentComponent = "";

        try {

            String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
            boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
            if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
                // the
                // resume
                globalResumeTicket = true;

                /**
                 * [tJava_4 begin ] start
                 */

                ok_Hash.put("tJava_4", false);
                start_Hash.put("tJava_4", System.currentTimeMillis());
                currentComponent = "tJava_4";

                int tos_count_tJava_4 = 0;

                System.out.println("***** Load new Property Image Data *****");

                /**
                 * [tJava_4 begin ] stop
                 */
                /**
                 * [tJava_4 main ] start
                 */

                currentComponent = "tJava_4";

                tos_count_tJava_4++;

                /**
                 * [tJava_4 main ] stop
                 */
                /**
                 * [tJava_4 end ] start
                 */

                currentComponent = "tJava_4";

                ok_Hash.put("tJava_4", true);
                end_Hash.put("tJava_4", System.currentTimeMillis());

                /**
                 * [tJava_4 end ] stop
                 */

            } // end the resume

            if (resumeEntryMethodName == null || globalResumeTicket) {
                resumeUtil.addLog("CHECKPOINT", "CONNECTION:SUBJOB_OK:tJava_4:OnSubjobOk", "",
                        Thread.currentThread().getId() + "", "", "", "", "", "");
            }

            tFileInputXML_1Process(globalMap);

        } catch (Exception e) {

            throw new TalendException(e, currentComponent, globalMap);

        } catch (java.lang.Error error) {

            throw new java.lang.Error(error);

        }

        globalMap.put("tJava_4_SUBPROCESS_STATE", 1);
    }

    public static class loadImageDataStruct implements routines.system.IPersistableRow<loadImageDataStruct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];
        protected static final int DEFAULT_HASHCODE = 1;
        protected static final int PRIME = 31;
        protected int hashCode = DEFAULT_HASHCODE;
        public boolean hashCodeDirty = true;

        public String loopKey;

        public int ID;

        public int getID() {
            return this.ID;
        }

        public String TITLE;

        public String getTITLE() {
            return this.TITLE;
        }

        public int SIZE;

        public int getSIZE() {
            return this.SIZE;
        }

        public String SRC_URL;

        public String getSRC_URL() {
            return this.SRC_URL;
        }

        public int PROPERTY_DATA_ID;

        public int getPROPERTY_DATA_ID() {
            return this.PROPERTY_DATA_ID;
        }

        @Override
        public int hashCode() {
            if (this.hashCodeDirty) {
                final int prime = PRIME;
                int result = DEFAULT_HASHCODE;

                result = prime * result + (int) this.ID;

                this.hashCode = result;
                this.hashCodeDirty = false;
            }
            return this.hashCode;
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            final loadImageDataStruct other = (loadImageDataStruct) obj;

            if (this.ID != other.ID)
                return false;

            return true;
        }

        public void copyDataTo(loadImageDataStruct other) {

            other.ID = this.ID;
            other.TITLE = this.TITLE;
            other.SIZE = this.SIZE;
            other.SRC_URL = this.SRC_URL;
            other.PROPERTY_DATA_ID = this.PROPERTY_DATA_ID;

        }

        public void copyKeysDataTo(loadImageDataStruct other) {

            other.ID = this.ID;

        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        public void readData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.ID = dis.readInt();

                    this.TITLE = readString(dis);

                    this.SIZE = dis.readInt();

                    this.SRC_URL = readString(dis);

                    this.PROPERTY_DATA_ID = dis.readInt();

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // int

                dos.writeInt(this.ID);

                // String

                writeString(this.TITLE, dos);

                // int

                dos.writeInt(this.SIZE);

                // String

                writeString(this.SRC_URL, dos);

                // int

                dos.writeInt(this.PROPERTY_DATA_ID);

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("ID=" + String.valueOf(ID));
            sb.append(",TITLE=" + TITLE);
            sb.append(",SIZE=" + String.valueOf(SIZE));
            sb.append(",SRC_URL=" + SRC_URL);
            sb.append(",PROPERTY_DATA_ID=" + String.valueOf(PROPERTY_DATA_ID));
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(loadImageDataStruct other) {

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.ID, other.ID);
            if (returnValue != 0) {
                return returnValue;
            }

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public static class imageDataStruct implements routines.system.IPersistableRow<imageDataStruct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];

        public String image_title;

        public String getImage_title() {
            return this.image_title;
        }

        public String image_url;

        public String getImage_url() {
            return this.image_url;
        }

        public String propertyName;

        public String getPropertyName() {
            return this.propertyName;
        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        public void readData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.image_title = readString(dis);

                    this.image_url = readString(dis);

                    this.propertyName = readString(dis);

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.image_title, dos);

                // String

                writeString(this.image_url, dos);

                // String

                writeString(this.propertyName, dos);

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("image_title=" + image_title);
            sb.append(",image_url=" + image_url);
            sb.append(",propertyName=" + propertyName);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(imageDataStruct other) {

            int returnValue = -1;

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public static class row1Struct implements routines.system.IPersistableRow<row1Struct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];

        public String name;

        public String getName() {
            return this.name;
        }

        public String image_url;

        public String getImage_url() {
            return this.image_url;
        }

        public String image_title;

        public String getImage_title() {
            return this.image_title;
        }

        public String pba__propertytype__c;

        public String getPba__propertytype__c() {
            return this.pba__propertytype__c;
        }

        public String rented_status__c;

        public String getRented_status__c() {
            return this.rented_status__c;
        }

        public Integer zipcode__c;

        public Integer getZipcode__c() {
            return this.zipcode__c;
        }

        public String pba__city_pb__c;

        public String getPba__city_pb__c() {
            return this.pba__city_pb__c;
        }

        public String pba__description_pb__c;

        public String getPba__description_pb__c() {
            return this.pba__description_pb__c;
        }

        public String term_2__c;

        public String getTerm_2__c() {
            return this.term_2__c;
        }

        public String term_1__c;

        public String getTerm_1__c() {
            return this.term_1__c;
        }

        public String pba__status__c;

        public String getPba__status__c() {
            return this.pba__status__c;
        }

        public Integer year_built__c;

        public Integer getYear_built__c() {
            return this.year_built__c;
        }

        public String pba__address_pb__c;

        public String getPba__address_pb__c() {
            return this.pba__address_pb__c;
        }

        public Float financed_net_yield_1__c;

        public Float getFinanced_net_yield_1__c() {
            return this.financed_net_yield_1__c;
        }

        public Float monthly_cash_flow_with_financing_2__c;

        public Float getMonthly_cash_flow_with_financing_2__c() {
            return this.monthly_cash_flow_with_financing_2__c;
        }

        public Float financed_net_yield_2__c;

        public Float getFinanced_net_yield_2__c() {
            return this.financed_net_yield_2__c;
        }

        public Float monthly_cash_flow_with_financing_1__c;

        public Float getMonthly_cash_flow_with_financing_1__c() {
            return this.monthly_cash_flow_with_financing_1__c;
        }

        public Float interest_rate_2__c;

        public Float getInterest_rate_2__c() {
            return this.interest_rate_2__c;
        }

        public Float interest_rate_1__c;

        public Float getInterest_rate_1__c() {
            return this.interest_rate_1__c;
        }

        public Float monthly_cash_flow__c;

        public Float getMonthly_cash_flow__c() {
            return this.monthly_cash_flow__c;
        }

        public Float noi__c;

        public Float getNoi__c() {
            return this.noi__c;
        }

        public Float noi_with_financing_2__c;

        public Float getNoi_with_financing_2__c() {
            return this.noi_with_financing_2__c;
        }

        public Float noi_with_financing_1__c;

        public Float getNoi_with_financing_1__c() {
            return this.noi_with_financing_1__c;
        }

        public Float price_per_ft__c;

        public Float getPrice_per_ft__c() {
            return this.price_per_ft__c;
        }

        public Float price__c;

        public Float getPrice__c() {
            return this.price__c;
        }

        public Float yearly_interest_payment_1__c;

        public Float getYearly_interest_payment_1__c() {
            return this.yearly_interest_payment_1__c;
        }

        public Float monthly_interest_payment_2__c;

        public Float getMonthly_interest_payment_2__c() {
            return this.monthly_interest_payment_2__c;
        }

        public Float interest_payment_1__c;

        public Float getInterest_payment_1__c() {
            return this.interest_payment_1__c;
        }

        public Float down_payment_2__c;

        public Float getDown_payment_2__c() {
            return this.down_payment_2__c;
        }

        public Float down_payment_1__c;

        public Float getDown_payment_1__c() {
            return this.down_payment_1__c;
        }

        public Float cash_net_yield__c;

        public Float getCash_net_yield__c() {
            return this.cash_net_yield__c;
        }

        public Float monthly_management__c;

        public Float getMonthly_management__c() {
            return this.monthly_management__c;
        }

        public Float management__c;

        public Float getManagement__c() {
            return this.management__c;
        }

        public Float monthly_insurance__c;

        public Float getMonthly_insurance__c() {
            return this.monthly_insurance__c;
        }

        public Float insurance__c;

        public Float getInsurance__c() {
            return this.insurance__c;
        }

        public Float taxes__c;

        public Float getTaxes__c() {
            return this.taxes__c;
        }

        public Float monthly_taxes__c;

        public Float getMonthly_taxes__c() {
            return this.monthly_taxes__c;
        }

        public Float monthlyrent__c;

        public Float getMonthlyrent__c() {
            return this.monthlyrent__c;
        }

        public Float annual_rents__c;

        public Float getAnnual_rents__c() {
            return this.annual_rents__c;
        }

        public Float est_of_market_value__c;

        public Float getEst_of_market_value__c() {
            return this.est_of_market_value__c;
        }

        public Float est_value_per_rent_multiplier__c;

        public Float getEst_value_per_rent_multiplier__c() {
            return this.est_value_per_rent_multiplier__c;
        }

        public String estimated_value__c;

        public String getEstimated_value__c() {
            return this.estimated_value__c;
        }

        public Float est_replacement_cost_per_sq_ft__c;

        public Float getEst_replacement_cost_per_sq_ft__c() {
            return this.est_replacement_cost_per_sq_ft__c;
        }

        public Float est_replacement_cost__c;

        public Float getEst_replacement_cost__c() {
            return this.est_replacement_cost__c;
        }

        public Float pba__totalarea_pb__c;

        public Float getPba__totalarea_pb__c() {
            return this.pba__totalarea_pb__c;
        }

        public Float bedrooms__c;

        public Float getBedrooms__c() {
            return this.bedrooms__c;
        }

        public Float bathrooms__c;

        public Float getBathrooms__c() {
            return this.bathrooms__c;
        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        private Integer readInteger(ObjectInputStream dis) throws IOException {
            Integer intReturn;
            int length = 0;
            length = dis.readByte();
            if (length == -1) {
                intReturn = null;
            } else {
                intReturn = dis.readInt();
            }
            return intReturn;
        }

        private void writeInteger(Integer intNum, ObjectOutputStream dos) throws IOException {
            if (intNum == null) {
                dos.writeByte(-1);
            } else {
                dos.writeByte(0);
                dos.writeInt(intNum);
            }
        }

        public void readData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.name = readString(dis);

                    this.image_url = readString(dis);

                    this.image_title = readString(dis);

                    this.pba__propertytype__c = readString(dis);

                    this.rented_status__c = readString(dis);

                    this.zipcode__c = readInteger(dis);

                    this.pba__city_pb__c = readString(dis);

                    this.pba__description_pb__c = readString(dis);

                    this.term_2__c = readString(dis);

                    this.term_1__c = readString(dis);

                    this.pba__status__c = readString(dis);

                    this.year_built__c = readInteger(dis);

                    this.pba__address_pb__c = readString(dis);

                    length = dis.readByte();
                    if (length == -1) {
                        this.financed_net_yield_1__c = null;
                    } else {
                        this.financed_net_yield_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_cash_flow_with_financing_2__c = null;
                    } else {
                        this.monthly_cash_flow_with_financing_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.financed_net_yield_2__c = null;
                    } else {
                        this.financed_net_yield_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_cash_flow_with_financing_1__c = null;
                    } else {
                        this.monthly_cash_flow_with_financing_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.interest_rate_2__c = null;
                    } else {
                        this.interest_rate_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.interest_rate_1__c = null;
                    } else {
                        this.interest_rate_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_cash_flow__c = null;
                    } else {
                        this.monthly_cash_flow__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.noi__c = null;
                    } else {
                        this.noi__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.noi_with_financing_2__c = null;
                    } else {
                        this.noi_with_financing_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.noi_with_financing_1__c = null;
                    } else {
                        this.noi_with_financing_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.price_per_ft__c = null;
                    } else {
                        this.price_per_ft__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.price__c = null;
                    } else {
                        this.price__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.yearly_interest_payment_1__c = null;
                    } else {
                        this.yearly_interest_payment_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_interest_payment_2__c = null;
                    } else {
                        this.monthly_interest_payment_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.interest_payment_1__c = null;
                    } else {
                        this.interest_payment_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.down_payment_2__c = null;
                    } else {
                        this.down_payment_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.down_payment_1__c = null;
                    } else {
                        this.down_payment_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.cash_net_yield__c = null;
                    } else {
                        this.cash_net_yield__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_management__c = null;
                    } else {
                        this.monthly_management__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.management__c = null;
                    } else {
                        this.management__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_insurance__c = null;
                    } else {
                        this.monthly_insurance__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.insurance__c = null;
                    } else {
                        this.insurance__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.taxes__c = null;
                    } else {
                        this.taxes__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_taxes__c = null;
                    } else {
                        this.monthly_taxes__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthlyrent__c = null;
                    } else {
                        this.monthlyrent__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.annual_rents__c = null;
                    } else {
                        this.annual_rents__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_of_market_value__c = null;
                    } else {
                        this.est_of_market_value__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_value_per_rent_multiplier__c = null;
                    } else {
                        this.est_value_per_rent_multiplier__c = dis.readFloat();
                    }

                    this.estimated_value__c = readString(dis);

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_replacement_cost_per_sq_ft__c = null;
                    } else {
                        this.est_replacement_cost_per_sq_ft__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_replacement_cost__c = null;
                    } else {
                        this.est_replacement_cost__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.pba__totalarea_pb__c = null;
                    } else {
                        this.pba__totalarea_pb__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.bedrooms__c = null;
                    } else {
                        this.bedrooms__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.bathrooms__c = null;
                    } else {
                        this.bathrooms__c = dis.readFloat();
                    }

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.name, dos);

                // String

                writeString(this.image_url, dos);

                // String

                writeString(this.image_title, dos);

                // String

                writeString(this.pba__propertytype__c, dos);

                // String

                writeString(this.rented_status__c, dos);

                // Integer

                writeInteger(this.zipcode__c, dos);

                // String

                writeString(this.pba__city_pb__c, dos);

                // String

                writeString(this.pba__description_pb__c, dos);

                // String

                writeString(this.term_2__c, dos);

                // String

                writeString(this.term_1__c, dos);

                // String

                writeString(this.pba__status__c, dos);

                // Integer

                writeInteger(this.year_built__c, dos);

                // String

                writeString(this.pba__address_pb__c, dos);

                // Float

                if (this.financed_net_yield_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.financed_net_yield_1__c);
                }

                // Float

                if (this.monthly_cash_flow_with_financing_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_cash_flow_with_financing_2__c);
                }

                // Float

                if (this.financed_net_yield_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.financed_net_yield_2__c);
                }

                // Float

                if (this.monthly_cash_flow_with_financing_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_cash_flow_with_financing_1__c);
                }

                // Float

                if (this.interest_rate_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.interest_rate_2__c);
                }

                // Float

                if (this.interest_rate_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.interest_rate_1__c);
                }

                // Float

                if (this.monthly_cash_flow__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_cash_flow__c);
                }

                // Float

                if (this.noi__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.noi__c);
                }

                // Float

                if (this.noi_with_financing_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.noi_with_financing_2__c);
                }

                // Float

                if (this.noi_with_financing_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.noi_with_financing_1__c);
                }

                // Float

                if (this.price_per_ft__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.price_per_ft__c);
                }

                // Float

                if (this.price__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.price__c);
                }

                // Float

                if (this.yearly_interest_payment_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.yearly_interest_payment_1__c);
                }

                // Float

                if (this.monthly_interest_payment_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_interest_payment_2__c);
                }

                // Float

                if (this.interest_payment_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.interest_payment_1__c);
                }

                // Float

                if (this.down_payment_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.down_payment_2__c);
                }

                // Float

                if (this.down_payment_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.down_payment_1__c);
                }

                // Float

                if (this.cash_net_yield__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.cash_net_yield__c);
                }

                // Float

                if (this.monthly_management__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_management__c);
                }

                // Float

                if (this.management__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.management__c);
                }

                // Float

                if (this.monthly_insurance__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_insurance__c);
                }

                // Float

                if (this.insurance__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.insurance__c);
                }

                // Float

                if (this.taxes__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.taxes__c);
                }

                // Float

                if (this.monthly_taxes__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_taxes__c);
                }

                // Float

                if (this.monthlyrent__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthlyrent__c);
                }

                // Float

                if (this.annual_rents__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.annual_rents__c);
                }

                // Float

                if (this.est_of_market_value__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_of_market_value__c);
                }

                // Float

                if (this.est_value_per_rent_multiplier__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_value_per_rent_multiplier__c);
                }

                // String

                writeString(this.estimated_value__c, dos);

                // Float

                if (this.est_replacement_cost_per_sq_ft__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_replacement_cost_per_sq_ft__c);
                }

                // Float

                if (this.est_replacement_cost__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_replacement_cost__c);
                }

                // Float

                if (this.pba__totalarea_pb__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.pba__totalarea_pb__c);
                }

                // Float

                if (this.bedrooms__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.bedrooms__c);
                }

                // Float

                if (this.bathrooms__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.bathrooms__c);
                }

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("name=" + name);
            sb.append(",image_url=" + image_url);
            sb.append(",image_title=" + image_title);
            sb.append(",pba__propertytype__c=" + pba__propertytype__c);
            sb.append(",rented_status__c=" + rented_status__c);
            sb.append(",zipcode__c=" + String.valueOf(zipcode__c));
            sb.append(",pba__city_pb__c=" + pba__city_pb__c);
            sb.append(",pba__description_pb__c=" + pba__description_pb__c);
            sb.append(",term_2__c=" + term_2__c);
            sb.append(",term_1__c=" + term_1__c);
            sb.append(",pba__status__c=" + pba__status__c);
            sb.append(",year_built__c=" + String.valueOf(year_built__c));
            sb.append(",pba__address_pb__c=" + pba__address_pb__c);
            sb.append(",financed_net_yield_1__c=" + String.valueOf(financed_net_yield_1__c));
            sb.append(",monthly_cash_flow_with_financing_2__c="
                    + String.valueOf(monthly_cash_flow_with_financing_2__c));
            sb.append(",financed_net_yield_2__c=" + String.valueOf(financed_net_yield_2__c));
            sb.append(",monthly_cash_flow_with_financing_1__c="
                    + String.valueOf(monthly_cash_flow_with_financing_1__c));
            sb.append(",interest_rate_2__c=" + String.valueOf(interest_rate_2__c));
            sb.append(",interest_rate_1__c=" + String.valueOf(interest_rate_1__c));
            sb.append(",monthly_cash_flow__c=" + String.valueOf(monthly_cash_flow__c));
            sb.append(",noi__c=" + String.valueOf(noi__c));
            sb.append(",noi_with_financing_2__c=" + String.valueOf(noi_with_financing_2__c));
            sb.append(",noi_with_financing_1__c=" + String.valueOf(noi_with_financing_1__c));
            sb.append(",price_per_ft__c=" + String.valueOf(price_per_ft__c));
            sb.append(",price__c=" + String.valueOf(price__c));
            sb.append(",yearly_interest_payment_1__c=" + String.valueOf(yearly_interest_payment_1__c));
            sb.append(",monthly_interest_payment_2__c=" + String.valueOf(monthly_interest_payment_2__c));
            sb.append(",interest_payment_1__c=" + String.valueOf(interest_payment_1__c));
            sb.append(",down_payment_2__c=" + String.valueOf(down_payment_2__c));
            sb.append(",down_payment_1__c=" + String.valueOf(down_payment_1__c));
            sb.append(",cash_net_yield__c=" + String.valueOf(cash_net_yield__c));
            sb.append(",monthly_management__c=" + String.valueOf(monthly_management__c));
            sb.append(",management__c=" + String.valueOf(management__c));
            sb.append(",monthly_insurance__c=" + String.valueOf(monthly_insurance__c));
            sb.append(",insurance__c=" + String.valueOf(insurance__c));
            sb.append(",taxes__c=" + String.valueOf(taxes__c));
            sb.append(",monthly_taxes__c=" + String.valueOf(monthly_taxes__c));
            sb.append(",monthlyrent__c=" + String.valueOf(monthlyrent__c));
            sb.append(",annual_rents__c=" + String.valueOf(annual_rents__c));
            sb.append(",est_of_market_value__c=" + String.valueOf(est_of_market_value__c));
            sb.append(",est_value_per_rent_multiplier__c=" + String.valueOf(est_value_per_rent_multiplier__c));
            sb.append(",estimated_value__c=" + estimated_value__c);
            sb.append(",est_replacement_cost_per_sq_ft__c=" + String.valueOf(est_replacement_cost_per_sq_ft__c));
            sb.append(",est_replacement_cost__c=" + String.valueOf(est_replacement_cost__c));
            sb.append(",pba__totalarea_pb__c=" + String.valueOf(pba__totalarea_pb__c));
            sb.append(",bedrooms__c=" + String.valueOf(bedrooms__c));
            sb.append(",bathrooms__c=" + String.valueOf(bathrooms__c));
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(row1Struct other) {

            int returnValue = -1;

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public static class after_tFileInputXML_1Struct
            implements routines.system.IPersistableRow<after_tFileInputXML_1Struct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];

        public String name;

        public String getName() {
            return this.name;
        }

        public String image_url;

        public String getImage_url() {
            return this.image_url;
        }

        public String image_title;

        public String getImage_title() {
            return this.image_title;
        }

        public String pba__propertytype__c;

        public String getPba__propertytype__c() {
            return this.pba__propertytype__c;
        }

        public String rented_status__c;

        public String getRented_status__c() {
            return this.rented_status__c;
        }

        public Integer zipcode__c;

        public Integer getZipcode__c() {
            return this.zipcode__c;
        }

        public String pba__city_pb__c;

        public String getPba__city_pb__c() {
            return this.pba__city_pb__c;
        }

        public String pba__description_pb__c;

        public String getPba__description_pb__c() {
            return this.pba__description_pb__c;
        }

        public String term_2__c;

        public String getTerm_2__c() {
            return this.term_2__c;
        }

        public String term_1__c;

        public String getTerm_1__c() {
            return this.term_1__c;
        }

        public String pba__status__c;

        public String getPba__status__c() {
            return this.pba__status__c;
        }

        public Integer year_built__c;

        public Integer getYear_built__c() {
            return this.year_built__c;
        }

        public String pba__address_pb__c;

        public String getPba__address_pb__c() {
            return this.pba__address_pb__c;
        }

        public Float financed_net_yield_1__c;

        public Float getFinanced_net_yield_1__c() {
            return this.financed_net_yield_1__c;
        }

        public Float monthly_cash_flow_with_financing_2__c;

        public Float getMonthly_cash_flow_with_financing_2__c() {
            return this.monthly_cash_flow_with_financing_2__c;
        }

        public Float financed_net_yield_2__c;

        public Float getFinanced_net_yield_2__c() {
            return this.financed_net_yield_2__c;
        }

        public Float monthly_cash_flow_with_financing_1__c;

        public Float getMonthly_cash_flow_with_financing_1__c() {
            return this.monthly_cash_flow_with_financing_1__c;
        }

        public Float interest_rate_2__c;

        public Float getInterest_rate_2__c() {
            return this.interest_rate_2__c;
        }

        public Float interest_rate_1__c;

        public Float getInterest_rate_1__c() {
            return this.interest_rate_1__c;
        }

        public Float monthly_cash_flow__c;

        public Float getMonthly_cash_flow__c() {
            return this.monthly_cash_flow__c;
        }

        public Float noi__c;

        public Float getNoi__c() {
            return this.noi__c;
        }

        public Float noi_with_financing_2__c;

        public Float getNoi_with_financing_2__c() {
            return this.noi_with_financing_2__c;
        }

        public Float noi_with_financing_1__c;

        public Float getNoi_with_financing_1__c() {
            return this.noi_with_financing_1__c;
        }

        public Float price_per_ft__c;

        public Float getPrice_per_ft__c() {
            return this.price_per_ft__c;
        }

        public Float price__c;

        public Float getPrice__c() {
            return this.price__c;
        }

        public Float yearly_interest_payment_1__c;

        public Float getYearly_interest_payment_1__c() {
            return this.yearly_interest_payment_1__c;
        }

        public Float monthly_interest_payment_2__c;

        public Float getMonthly_interest_payment_2__c() {
            return this.monthly_interest_payment_2__c;
        }

        public Float interest_payment_1__c;

        public Float getInterest_payment_1__c() {
            return this.interest_payment_1__c;
        }

        public Float down_payment_2__c;

        public Float getDown_payment_2__c() {
            return this.down_payment_2__c;
        }

        public Float down_payment_1__c;

        public Float getDown_payment_1__c() {
            return this.down_payment_1__c;
        }

        public Float cash_net_yield__c;

        public Float getCash_net_yield__c() {
            return this.cash_net_yield__c;
        }

        public Float monthly_management__c;

        public Float getMonthly_management__c() {
            return this.monthly_management__c;
        }

        public Float management__c;

        public Float getManagement__c() {
            return this.management__c;
        }

        public Float monthly_insurance__c;

        public Float getMonthly_insurance__c() {
            return this.monthly_insurance__c;
        }

        public Float insurance__c;

        public Float getInsurance__c() {
            return this.insurance__c;
        }

        public Float taxes__c;

        public Float getTaxes__c() {
            return this.taxes__c;
        }

        public Float monthly_taxes__c;

        public Float getMonthly_taxes__c() {
            return this.monthly_taxes__c;
        }

        public Float monthlyrent__c;

        public Float getMonthlyrent__c() {
            return this.monthlyrent__c;
        }

        public Float annual_rents__c;

        public Float getAnnual_rents__c() {
            return this.annual_rents__c;
        }

        public Float est_of_market_value__c;

        public Float getEst_of_market_value__c() {
            return this.est_of_market_value__c;
        }

        public Float est_value_per_rent_multiplier__c;

        public Float getEst_value_per_rent_multiplier__c() {
            return this.est_value_per_rent_multiplier__c;
        }

        public String estimated_value__c;

        public String getEstimated_value__c() {
            return this.estimated_value__c;
        }

        public Float est_replacement_cost_per_sq_ft__c;

        public Float getEst_replacement_cost_per_sq_ft__c() {
            return this.est_replacement_cost_per_sq_ft__c;
        }

        public Float est_replacement_cost__c;

        public Float getEst_replacement_cost__c() {
            return this.est_replacement_cost__c;
        }

        public Float pba__totalarea_pb__c;

        public Float getPba__totalarea_pb__c() {
            return this.pba__totalarea_pb__c;
        }

        public Float bedrooms__c;

        public Float getBedrooms__c() {
            return this.bedrooms__c;
        }

        public Float bathrooms__c;

        public Float getBathrooms__c() {
            return this.bathrooms__c;
        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        private Integer readInteger(ObjectInputStream dis) throws IOException {
            Integer intReturn;
            int length = 0;
            length = dis.readByte();
            if (length == -1) {
                intReturn = null;
            } else {
                intReturn = dis.readInt();
            }
            return intReturn;
        }

        private void writeInteger(Integer intNum, ObjectOutputStream dos) throws IOException {
            if (intNum == null) {
                dos.writeByte(-1);
            } else {
                dos.writeByte(0);
                dos.writeInt(intNum);
            }
        }

        public void readData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.name = readString(dis);

                    this.image_url = readString(dis);

                    this.image_title = readString(dis);

                    this.pba__propertytype__c = readString(dis);

                    this.rented_status__c = readString(dis);

                    this.zipcode__c = readInteger(dis);

                    this.pba__city_pb__c = readString(dis);

                    this.pba__description_pb__c = readString(dis);

                    this.term_2__c = readString(dis);

                    this.term_1__c = readString(dis);

                    this.pba__status__c = readString(dis);

                    this.year_built__c = readInteger(dis);

                    this.pba__address_pb__c = readString(dis);

                    length = dis.readByte();
                    if (length == -1) {
                        this.financed_net_yield_1__c = null;
                    } else {
                        this.financed_net_yield_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_cash_flow_with_financing_2__c = null;
                    } else {
                        this.monthly_cash_flow_with_financing_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.financed_net_yield_2__c = null;
                    } else {
                        this.financed_net_yield_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_cash_flow_with_financing_1__c = null;
                    } else {
                        this.monthly_cash_flow_with_financing_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.interest_rate_2__c = null;
                    } else {
                        this.interest_rate_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.interest_rate_1__c = null;
                    } else {
                        this.interest_rate_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_cash_flow__c = null;
                    } else {
                        this.monthly_cash_flow__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.noi__c = null;
                    } else {
                        this.noi__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.noi_with_financing_2__c = null;
                    } else {
                        this.noi_with_financing_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.noi_with_financing_1__c = null;
                    } else {
                        this.noi_with_financing_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.price_per_ft__c = null;
                    } else {
                        this.price_per_ft__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.price__c = null;
                    } else {
                        this.price__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.yearly_interest_payment_1__c = null;
                    } else {
                        this.yearly_interest_payment_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_interest_payment_2__c = null;
                    } else {
                        this.monthly_interest_payment_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.interest_payment_1__c = null;
                    } else {
                        this.interest_payment_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.down_payment_2__c = null;
                    } else {
                        this.down_payment_2__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.down_payment_1__c = null;
                    } else {
                        this.down_payment_1__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.cash_net_yield__c = null;
                    } else {
                        this.cash_net_yield__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_management__c = null;
                    } else {
                        this.monthly_management__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.management__c = null;
                    } else {
                        this.management__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_insurance__c = null;
                    } else {
                        this.monthly_insurance__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.insurance__c = null;
                    } else {
                        this.insurance__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.taxes__c = null;
                    } else {
                        this.taxes__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthly_taxes__c = null;
                    } else {
                        this.monthly_taxes__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.monthlyrent__c = null;
                    } else {
                        this.monthlyrent__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.annual_rents__c = null;
                    } else {
                        this.annual_rents__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_of_market_value__c = null;
                    } else {
                        this.est_of_market_value__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_value_per_rent_multiplier__c = null;
                    } else {
                        this.est_value_per_rent_multiplier__c = dis.readFloat();
                    }

                    this.estimated_value__c = readString(dis);

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_replacement_cost_per_sq_ft__c = null;
                    } else {
                        this.est_replacement_cost_per_sq_ft__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.est_replacement_cost__c = null;
                    } else {
                        this.est_replacement_cost__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.pba__totalarea_pb__c = null;
                    } else {
                        this.pba__totalarea_pb__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.bedrooms__c = null;
                    } else {
                        this.bedrooms__c = dis.readFloat();
                    }

                    length = dis.readByte();
                    if (length == -1) {
                        this.bathrooms__c = null;
                    } else {
                        this.bathrooms__c = dis.readFloat();
                    }

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.name, dos);

                // String

                writeString(this.image_url, dos);

                // String

                writeString(this.image_title, dos);

                // String

                writeString(this.pba__propertytype__c, dos);

                // String

                writeString(this.rented_status__c, dos);

                // Integer

                writeInteger(this.zipcode__c, dos);

                // String

                writeString(this.pba__city_pb__c, dos);

                // String

                writeString(this.pba__description_pb__c, dos);

                // String

                writeString(this.term_2__c, dos);

                // String

                writeString(this.term_1__c, dos);

                // String

                writeString(this.pba__status__c, dos);

                // Integer

                writeInteger(this.year_built__c, dos);

                // String

                writeString(this.pba__address_pb__c, dos);

                // Float

                if (this.financed_net_yield_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.financed_net_yield_1__c);
                }

                // Float

                if (this.monthly_cash_flow_with_financing_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_cash_flow_with_financing_2__c);
                }

                // Float

                if (this.financed_net_yield_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.financed_net_yield_2__c);
                }

                // Float

                if (this.monthly_cash_flow_with_financing_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_cash_flow_with_financing_1__c);
                }

                // Float

                if (this.interest_rate_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.interest_rate_2__c);
                }

                // Float

                if (this.interest_rate_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.interest_rate_1__c);
                }

                // Float

                if (this.monthly_cash_flow__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_cash_flow__c);
                }

                // Float

                if (this.noi__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.noi__c);
                }

                // Float

                if (this.noi_with_financing_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.noi_with_financing_2__c);
                }

                // Float

                if (this.noi_with_financing_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.noi_with_financing_1__c);
                }

                // Float

                if (this.price_per_ft__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.price_per_ft__c);
                }

                // Float

                if (this.price__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.price__c);
                }

                // Float

                if (this.yearly_interest_payment_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.yearly_interest_payment_1__c);
                }

                // Float

                if (this.monthly_interest_payment_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_interest_payment_2__c);
                }

                // Float

                if (this.interest_payment_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.interest_payment_1__c);
                }

                // Float

                if (this.down_payment_2__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.down_payment_2__c);
                }

                // Float

                if (this.down_payment_1__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.down_payment_1__c);
                }

                // Float

                if (this.cash_net_yield__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.cash_net_yield__c);
                }

                // Float

                if (this.monthly_management__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_management__c);
                }

                // Float

                if (this.management__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.management__c);
                }

                // Float

                if (this.monthly_insurance__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_insurance__c);
                }

                // Float

                if (this.insurance__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.insurance__c);
                }

                // Float

                if (this.taxes__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.taxes__c);
                }

                // Float

                if (this.monthly_taxes__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthly_taxes__c);
                }

                // Float

                if (this.monthlyrent__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.monthlyrent__c);
                }

                // Float

                if (this.annual_rents__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.annual_rents__c);
                }

                // Float

                if (this.est_of_market_value__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_of_market_value__c);
                }

                // Float

                if (this.est_value_per_rent_multiplier__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_value_per_rent_multiplier__c);
                }

                // String

                writeString(this.estimated_value__c, dos);

                // Float

                if (this.est_replacement_cost_per_sq_ft__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_replacement_cost_per_sq_ft__c);
                }

                // Float

                if (this.est_replacement_cost__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.est_replacement_cost__c);
                }

                // Float

                if (this.pba__totalarea_pb__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.pba__totalarea_pb__c);
                }

                // Float

                if (this.bedrooms__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.bedrooms__c);
                }

                // Float

                if (this.bathrooms__c == null) {
                    dos.writeByte(-1);
                } else {
                    dos.writeByte(0);
                    dos.writeFloat(this.bathrooms__c);
                }

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("name=" + name);
            sb.append(",image_url=" + image_url);
            sb.append(",image_title=" + image_title);
            sb.append(",pba__propertytype__c=" + pba__propertytype__c);
            sb.append(",rented_status__c=" + rented_status__c);
            sb.append(",zipcode__c=" + String.valueOf(zipcode__c));
            sb.append(",pba__city_pb__c=" + pba__city_pb__c);
            sb.append(",pba__description_pb__c=" + pba__description_pb__c);
            sb.append(",term_2__c=" + term_2__c);
            sb.append(",term_1__c=" + term_1__c);
            sb.append(",pba__status__c=" + pba__status__c);
            sb.append(",year_built__c=" + String.valueOf(year_built__c));
            sb.append(",pba__address_pb__c=" + pba__address_pb__c);
            sb.append(",financed_net_yield_1__c=" + String.valueOf(financed_net_yield_1__c));
            sb.append(",monthly_cash_flow_with_financing_2__c="
                    + String.valueOf(monthly_cash_flow_with_financing_2__c));
            sb.append(",financed_net_yield_2__c=" + String.valueOf(financed_net_yield_2__c));
            sb.append(",monthly_cash_flow_with_financing_1__c="
                    + String.valueOf(monthly_cash_flow_with_financing_1__c));
            sb.append(",interest_rate_2__c=" + String.valueOf(interest_rate_2__c));
            sb.append(",interest_rate_1__c=" + String.valueOf(interest_rate_1__c));
            sb.append(",monthly_cash_flow__c=" + String.valueOf(monthly_cash_flow__c));
            sb.append(",noi__c=" + String.valueOf(noi__c));
            sb.append(",noi_with_financing_2__c=" + String.valueOf(noi_with_financing_2__c));
            sb.append(",noi_with_financing_1__c=" + String.valueOf(noi_with_financing_1__c));
            sb.append(",price_per_ft__c=" + String.valueOf(price_per_ft__c));
            sb.append(",price__c=" + String.valueOf(price__c));
            sb.append(",yearly_interest_payment_1__c=" + String.valueOf(yearly_interest_payment_1__c));
            sb.append(",monthly_interest_payment_2__c=" + String.valueOf(monthly_interest_payment_2__c));
            sb.append(",interest_payment_1__c=" + String.valueOf(interest_payment_1__c));
            sb.append(",down_payment_2__c=" + String.valueOf(down_payment_2__c));
            sb.append(",down_payment_1__c=" + String.valueOf(down_payment_1__c));
            sb.append(",cash_net_yield__c=" + String.valueOf(cash_net_yield__c));
            sb.append(",monthly_management__c=" + String.valueOf(monthly_management__c));
            sb.append(",management__c=" + String.valueOf(management__c));
            sb.append(",monthly_insurance__c=" + String.valueOf(monthly_insurance__c));
            sb.append(",insurance__c=" + String.valueOf(insurance__c));
            sb.append(",taxes__c=" + String.valueOf(taxes__c));
            sb.append(",monthly_taxes__c=" + String.valueOf(monthly_taxes__c));
            sb.append(",monthlyrent__c=" + String.valueOf(monthlyrent__c));
            sb.append(",annual_rents__c=" + String.valueOf(annual_rents__c));
            sb.append(",est_of_market_value__c=" + String.valueOf(est_of_market_value__c));
            sb.append(",est_value_per_rent_multiplier__c=" + String.valueOf(est_value_per_rent_multiplier__c));
            sb.append(",estimated_value__c=" + estimated_value__c);
            sb.append(",est_replacement_cost_per_sq_ft__c=" + String.valueOf(est_replacement_cost_per_sq_ft__c));
            sb.append(",est_replacement_cost__c=" + String.valueOf(est_replacement_cost__c));
            sb.append(",pba__totalarea_pb__c=" + String.valueOf(pba__totalarea_pb__c));
            sb.append(",bedrooms__c=" + String.valueOf(bedrooms__c));
            sb.append(",bathrooms__c=" + String.valueOf(bathrooms__c));
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(after_tFileInputXML_1Struct other) {

            int returnValue = -1;

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public void tFileInputXML_1Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tFileInputXML_1_SUBPROCESS_STATE", 0);

        final boolean execStat = this.execStat;

        String iterateId = "";
        int iterateLoop = 0;
        String currentComponent = "";

        try {

            String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
            boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
            if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
                // the
                // resume
                globalResumeTicket = true;

                tMysqlInput_2Process(globalMap);

                row1Struct row1 = new row1Struct();
                imageDataStruct imageData = new imageDataStruct();
                loadImageDataStruct loadImageData = new loadImageDataStruct();

                /**
                 * [tMysqlOutput_1 begin ] start
                 */

                ok_Hash.put("tMysqlOutput_1", false);
                start_Hash.put("tMysqlOutput_1", System.currentTimeMillis());
                currentComponent = "tMysqlOutput_1";

                int tos_count_tMysqlOutput_1 = 0;

                int nb_line_tMysqlOutput_1 = 0;
                int nb_line_update_tMysqlOutput_1 = 0;
                int nb_line_inserted_tMysqlOutput_1 = 0;
                int nb_line_deleted_tMysqlOutput_1 = 0;
                int nb_line_rejected_tMysqlOutput_1 = 0;

                int deletedCount_tMysqlOutput_1 = 0;
                int updatedCount_tMysqlOutput_1 = 0;
                int insertedCount_tMysqlOutput_1 = 0;

                int rejectedCount_tMysqlOutput_1 = 0;

                String tableName_tMysqlOutput_1 = "PROPERTY_IMAGES";
                boolean whetherReject_tMysqlOutput_1 = false;

                java.util.Calendar calendar_tMysqlOutput_1 = java.util.Calendar.getInstance();
                calendar_tMysqlOutput_1.set(1, 0, 1, 0, 0, 0);
                long year1_tMysqlOutput_1 = calendar_tMysqlOutput_1.getTime().getTime();
                calendar_tMysqlOutput_1.set(10000, 0, 1, 0, 0, 0);
                long year10000_tMysqlOutput_1 = calendar_tMysqlOutput_1.getTime().getTime();
                long date_tMysqlOutput_1;

                java.sql.Connection conn_tMysqlOutput_1 = null;
                java.util.Map<String, routines.system.TalendDataSource> dataSources_tMysqlOutput_1 = (java.util.Map<String, routines.system.TalendDataSource>) globalMap
                        .get(KEY_DB_DATASOURCES);
                if (null != dataSources_tMysqlOutput_1) {
                    conn_tMysqlOutput_1 = dataSources_tMysqlOutput_1.get("").getConnection();
                } else {
                    String dbProperties_tMysqlOutput_1 = "noDatetimeStringSync=true";
                    String url_tMysqlOutput_1 = null;
                    if (dbProperties_tMysqlOutput_1 == null || dbProperties_tMysqlOutput_1.trim().length() == 0) {
                        url_tMysqlOutput_1 = "jdbc:mysql://" + "192.168.1.254" + ":" + "3306" + "/" + "TALONDB"
                                + "?" + "rewriteBatchedStatements=true";
                    } else {
                        String properties_tMysqlOutput_1 = "noDatetimeStringSync=true";
                        if (!properties_tMysqlOutput_1.contains("rewriteBatchedStatements")) {
                            properties_tMysqlOutput_1 += "&rewriteBatchedStatements=true";
                        }

                        url_tMysqlOutput_1 = "jdbc:mysql://" + "192.168.1.254" + ":" + "3306" + "/" + "TALONDB"
                                + "?" + properties_tMysqlOutput_1;
                    }
                    String dbUser_tMysqlOutput_1 = "dbAdmin";
                    String dbPwd_tMysqlOutput_1 = "1nn0s2013";
                    java.lang.Class.forName("org.gjt.mm.mysql.Driver");
                    conn_tMysqlOutput_1 = java.sql.DriverManager.getConnection(url_tMysqlOutput_1,
                            dbUser_tMysqlOutput_1, dbPwd_tMysqlOutput_1);
                }

                conn_tMysqlOutput_1.setAutoCommit(false);
                int commitEvery_tMysqlOutput_1 = 10;
                int commitCounter_tMysqlOutput_1 = 0;

                int count_tMysqlOutput_1 = 0;

                String insert_tMysqlOutput_1 = "INSERT INTO `" + "PROPERTY_IMAGES"
                        + "` (`ID`,`TITLE`,`SIZE`,`SRC_URL`,`PROPERTY_DATA_ID`) VALUES (?,?,?,?,?)";
                int batchSize_tMysqlOutput_1 = 10;
                int batchSizeCounter_tMysqlOutput_1 = 0;

                java.sql.PreparedStatement pstmt_tMysqlOutput_1 = conn_tMysqlOutput_1
                        .prepareStatement(insert_tMysqlOutput_1);

                /**
                 * [tMysqlOutput_1 begin ] stop
                 */

                /**
                 * [tMap_2 begin ] start
                 */

                ok_Hash.put("tMap_2", false);
                start_Hash.put("tMap_2", System.currentTimeMillis());
                currentComponent = "tMap_2";

                int tos_count_tMap_2 = 0;

                // ###############################
                // # Lookup's keys initialization

                org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row2Struct> tHash_Lookup_row2 = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row2Struct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row2Struct>) globalMap
                        .get("tHash_Lookup_row2"));

                row2Struct row2HashKey = new row2Struct();
                row2Struct row2Default = new row2Struct();
                // ###############################

                // ###############################
                // # Vars initialization
                class Var__tMap_2__Struct {
                }
                Var__tMap_2__Struct Var__tMap_2 = new Var__tMap_2__Struct();
                // ###############################

                // ###############################
                // # Outputs initialization
                loadImageDataStruct loadImageData_tmp = new loadImageDataStruct();
                // ###############################

                /**
                 * [tMap_2 begin ] stop
                 */

                /**
                 * [tMap_1 begin ] start
                 */

                ok_Hash.put("tMap_1", false);
                start_Hash.put("tMap_1", System.currentTimeMillis());
                currentComponent = "tMap_1";

                int tos_count_tMap_1 = 0;

                // ###############################
                // # Lookup's keys initialization
                // ###############################

                // ###############################
                // # Vars initialization
                class Var__tMap_1__Struct {
                }
                Var__tMap_1__Struct Var__tMap_1 = new Var__tMap_1__Struct();
                // ###############################

                // ###############################
                // # Outputs initialization
                imageDataStruct imageData_tmp = new imageDataStruct();
                // ###############################

                /**
                 * [tMap_1 begin ] stop
                 */

                /**
                 * [tFileInputXML_1 begin ] start
                 */

                ok_Hash.put("tFileInputXML_1", false);
                start_Hash.put("tFileInputXML_1", System.currentTimeMillis());
                currentComponent = "tFileInputXML_1";

                int tos_count_tFileInputXML_1 = 0;

                int nb_line_tFileInputXML_1 = 0;

                String os_tFileInputXML_1 = System.getProperty("os.name").toLowerCase();
                boolean isWindows_tFileInputXML_1 = false;
                if (os_tFileInputXML_1.indexOf("windows") > -1 || os_tFileInputXML_1.indexOf("nt") > -1) {
                    isWindows_tFileInputXML_1 = true;
                }
                class XML_API_tFileInputXML_1 {
                    public boolean isDefNull(String[] node) throws javax.xml.transform.TransformerException {
                        if (node[0] != null && node[1] != null && ("true").equals(node[1])) {
                            return true;
                        }
                        return false;
                    }

                    public boolean isMissing(String[] node) throws javax.xml.transform.TransformerException {
                        return node[0] == null ? true : false;
                    }

                    public boolean isEmpty(String[] node) throws javax.xml.transform.TransformerException {
                        if (node[0] != null) {
                            return node[0].length() == 0;
                        }
                        return false;
                    }
                }
                XML_API_tFileInputXML_1 xml_api_tFileInputXML_1 = new XML_API_tFileInputXML_1();

                String[] queryPaths_tFileInputXML_1 = new String[] { "name", "name" + "/@xsi:nil",
                        "../media/images/image/url", "../media/images/image/url" + "/@xsi:nil",
                        "../media/images/image/title", "../media/images/image/title" + "/@xsi:nil",
                        "pba__propertytype__c", "pba__propertytype__c" + "/@xsi:nil", "rented_status__c",
                        "rented_status__c" + "/@xsi:nil", "zipcode__c", "zipcode__c" + "/@xsi:nil",
                        "pba__city_pb__c", "pba__city_pb__c" + "/@xsi:nil", "pba__description_pb__c",
                        "pba__description_pb__c" + "/@xsi:nil", "term_2__c", "term_2__c" + "/@xsi:nil", "term_1__c",
                        "term_1__c" + "/@xsi:nil", "pba__status__c", "pba__status__c" + "/@xsi:nil",
                        "year_built__c", "year_built__c" + "/@xsi:nil", "pba__address_pb__c",
                        "pba__address_pb__c" + "/@xsi:nil", "financed_net_yield_1__c",
                        "financed_net_yield_1__c" + "/@xsi:nil", "monthly_cash_flow_with_financing_2__c",
                        "monthly_cash_flow_with_financing_2__c" + "/@xsi:nil", "financed_net_yield_2__c",
                        "financed_net_yield_2__c" + "/@xsi:nil", "monthly_cash_flow_with_financing_1__c",
                        "monthly_cash_flow_with_financing_1__c" + "/@xsi:nil", "interest_rate_2__c",
                        "interest_rate_2__c" + "/@xsi:nil", "interest_rate_1__c",
                        "interest_rate_1__c" + "/@xsi:nil", "monthly_cash_flow__c",
                        "monthly_cash_flow__c" + "/@xsi:nil", "noi__c", "noi__c" + "/@xsi:nil",
                        "noi_with_financing_2__c", "noi_with_financing_2__c" + "/@xsi:nil",
                        "noi_with_financing_1__c", "noi_with_financing_1__c" + "/@xsi:nil", "price_per_ft__c",
                        "price_per_ft__c" + "/@xsi:nil", "price__c", "price__c" + "/@xsi:nil",
                        "yearly_interest_payment_1__c", "yearly_interest_payment_1__c" + "/@xsi:nil",
                        "monthly_interest_payment_2__c", "monthly_interest_payment_2__c" + "/@xsi:nil",
                        "interest_payment_1__c", "interest_payment_1__c" + "/@xsi:nil", "down_payment_2__c",
                        "down_payment_2__c" + "/@xsi:nil", "down_payment_1__c", "down_payment_1__c" + "/@xsi:nil",
                        "cash_net_yield__c", "cash_net_yield__c" + "/@xsi:nil", "monthly_management__c",
                        "monthly_management__c" + "/@xsi:nil", "management__c", "management__c" + "/@xsi:nil",
                        "monthly_insurance__c", "monthly_insurance__c" + "/@xsi:nil", "insurance__c",
                        "insurance__c" + "/@xsi:nil", "taxes__c", "taxes__c" + "/@xsi:nil", "monthly_taxes__c",
                        "monthly_taxes__c" + "/@xsi:nil", "monthlyrent__c", "monthlyrent__c" + "/@xsi:nil",
                        "annual_rents__c", "annual_rents__c" + "/@xsi:nil", "est_of_market_value__c",
                        "est_of_market_value__c" + "/@xsi:nil", "est_value_per_rent_multiplier__c",
                        "est_value_per_rent_multiplier__c" + "/@xsi:nil", "estimated_value__c",
                        "estimated_value__c" + "/@xsi:nil", "est_replacement_cost_per_sq_ft__c",
                        "est_replacement_cost_per_sq_ft__c" + "/@xsi:nil", "est_replacement_cost__c",
                        "est_replacement_cost__c" + "/@xsi:nil", "pba__totalarea_pb__c",
                        "pba__totalarea_pb__c" + "/@xsi:nil", "bedrooms__c", "bedrooms__c" + "/@xsi:nil",
                        "bathrooms__c", "bathrooms__c" + "/@xsi:nil" };

                boolean[] asXMLs_tFileInputXML_1 = new boolean[] { false, false, false, false, false, false, false,
                        false, false, false, false, false, false, false, false, false, false, false, false, false,
                        false, false, false, false, false, false, false, false, false, false, false, false, false,
                        false, false, false, false, false, false, false, false, false, false, false, false, false,
                        false, false, false, false, false, false, false, false, false, false, false, false, false,
                        false, false, false, false, false, false, false, false, false, false, false, false, false,
                        false, false, false, false, false, false, false, false, false, false, false, false, false,
                        false, false, false, false, false, false, false, false, false };

                String str_tFileInputXML_1 = "";
                String[] node_tFileInputXML_1 = null;
                org.talend.xml.sax.SAXLooper looper_tFileInputXML_1 = new org.talend.xml.sax.SAXLooper(
                        "/result/listings/listing/data", queryPaths_tFileInputXML_1, asXMLs_tFileInputXML_1);
                looper_tFileInputXML_1.setEncoding("UTF-8");
                Object filename_tFileInputXML_1 = null;
                try {
                    filename_tFileInputXML_1 = ((java.io.InputStream) globalMap.get("tFileFetch_1_INPUT_STREAM"));
                } catch (Exception e) {

                    System.err.println(e.getMessage());

                }
                if (filename_tFileInputXML_1 != null && filename_tFileInputXML_1 instanceof String
                        && filename_tFileInputXML_1.toString().startsWith("//")) {
                    if (!isWindows_tFileInputXML_1) {
                        filename_tFileInputXML_1 = filename_tFileInputXML_1.toString().replaceFirst("//", "/");
                    }
                }
                if (filename_tFileInputXML_1 instanceof java.io.InputStream) {
                    looper_tFileInputXML_1.parse((java.io.InputStream) filename_tFileInputXML_1);
                } else {
                    looper_tFileInputXML_1.parse(String.valueOf(filename_tFileInputXML_1));
                }
                java.util.Iterator<java.util.Map<String, String>> it_tFileInputXML_1 = looper_tFileInputXML_1
                        .iterator();
                while (it_tFileInputXML_1.hasNext()) {
                    java.util.Map<String, String> row_tFileInputXML_1 = it_tFileInputXML_1.next();
                    nb_line_tFileInputXML_1++;
                    row1 = null;
                    boolean whetherReject_tFileInputXML_1 = false;
                    row1 = new row1Struct();
                    try {
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("name");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("name" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.name = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.name = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.name = null;
                        } else {
                            row1.name = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("../media/images/image/url");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("../media/images/image/url" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.image_url = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.image_url = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.image_url = null;
                        } else {
                            row1.image_url = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("../media/images/image/title");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("../media/images/image/title" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.image_title = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.image_title = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.image_title = null;
                        } else {
                            row1.image_title = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("pba__propertytype__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("pba__propertytype__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.pba__propertytype__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.pba__propertytype__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.pba__propertytype__c = null;
                        } else {
                            row1.pba__propertytype__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("rented_status__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("rented_status__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.rented_status__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.rented_status__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.rented_status__c = null;
                        } else {
                            row1.rented_status__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("zipcode__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("zipcode__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.zipcode__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.zipcode__c = null;
                        } else {
                            row1.zipcode__c = ParserUtils.parseTo_Integer(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("pba__city_pb__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("pba__city_pb__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.pba__city_pb__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.pba__city_pb__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.pba__city_pb__c = null;
                        } else {
                            row1.pba__city_pb__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("pba__description_pb__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("pba__description_pb__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.pba__description_pb__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.pba__description_pb__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.pba__description_pb__c = null;
                        } else {
                            row1.pba__description_pb__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("term_2__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("term_2__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.term_2__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.term_2__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.term_2__c = null;
                        } else {
                            row1.term_2__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("term_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("term_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.term_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.term_1__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.term_1__c = null;
                        } else {
                            row1.term_1__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("pba__status__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("pba__status__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.pba__status__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.pba__status__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.pba__status__c = null;
                        } else {
                            row1.pba__status__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("year_built__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("year_built__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.year_built__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.year_built__c = null;
                        } else {
                            row1.year_built__c = ParserUtils.parseTo_Integer(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("pba__address_pb__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("pba__address_pb__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.pba__address_pb__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.pba__address_pb__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.pba__address_pb__c = null;
                        } else {
                            row1.pba__address_pb__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("financed_net_yield_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("financed_net_yield_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.financed_net_yield_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.financed_net_yield_1__c = null;
                        } else {
                            row1.financed_net_yield_1__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthly_cash_flow_with_financing_2__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthly_cash_flow_with_financing_2__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthly_cash_flow_with_financing_2__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthly_cash_flow_with_financing_2__c = null;
                        } else {
                            row1.monthly_cash_flow_with_financing_2__c = ParserUtils
                                    .parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("financed_net_yield_2__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("financed_net_yield_2__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.financed_net_yield_2__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.financed_net_yield_2__c = null;
                        } else {
                            row1.financed_net_yield_2__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthly_cash_flow_with_financing_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthly_cash_flow_with_financing_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthly_cash_flow_with_financing_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthly_cash_flow_with_financing_1__c = null;
                        } else {
                            row1.monthly_cash_flow_with_financing_1__c = ParserUtils
                                    .parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("interest_rate_2__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("interest_rate_2__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.interest_rate_2__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.interest_rate_2__c = null;
                        } else {
                            row1.interest_rate_2__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("interest_rate_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("interest_rate_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.interest_rate_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.interest_rate_1__c = null;
                        } else {
                            row1.interest_rate_1__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthly_cash_flow__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthly_cash_flow__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthly_cash_flow__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthly_cash_flow__c = null;
                        } else {
                            row1.monthly_cash_flow__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("noi__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("noi__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.noi__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.noi__c = null;
                        } else {
                            row1.noi__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("noi_with_financing_2__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("noi_with_financing_2__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.noi_with_financing_2__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.noi_with_financing_2__c = null;
                        } else {
                            row1.noi_with_financing_2__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("noi_with_financing_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("noi_with_financing_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.noi_with_financing_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.noi_with_financing_1__c = null;
                        } else {
                            row1.noi_with_financing_1__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("price_per_ft__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("price_per_ft__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.price_per_ft__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.price_per_ft__c = null;
                        } else {
                            row1.price_per_ft__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("price__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("price__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.price__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.price__c = null;
                        } else {
                            row1.price__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("yearly_interest_payment_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("yearly_interest_payment_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.yearly_interest_payment_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.yearly_interest_payment_1__c = null;
                        } else {
                            row1.yearly_interest_payment_1__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthly_interest_payment_2__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthly_interest_payment_2__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthly_interest_payment_2__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthly_interest_payment_2__c = null;
                        } else {
                            row1.monthly_interest_payment_2__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("interest_payment_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("interest_payment_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.interest_payment_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.interest_payment_1__c = null;
                        } else {
                            row1.interest_payment_1__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("down_payment_2__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("down_payment_2__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.down_payment_2__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.down_payment_2__c = null;
                        } else {
                            row1.down_payment_2__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("down_payment_1__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("down_payment_1__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.down_payment_1__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.down_payment_1__c = null;
                        } else {
                            row1.down_payment_1__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("cash_net_yield__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("cash_net_yield__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.cash_net_yield__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.cash_net_yield__c = null;
                        } else {
                            row1.cash_net_yield__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthly_management__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthly_management__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthly_management__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthly_management__c = null;
                        } else {
                            row1.monthly_management__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("management__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("management__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.management__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.management__c = null;
                        } else {
                            row1.management__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthly_insurance__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthly_insurance__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthly_insurance__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthly_insurance__c = null;
                        } else {
                            row1.monthly_insurance__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("insurance__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("insurance__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.insurance__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.insurance__c = null;
                        } else {
                            row1.insurance__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("taxes__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("taxes__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.taxes__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.taxes__c = null;
                        } else {
                            row1.taxes__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthly_taxes__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthly_taxes__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthly_taxes__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthly_taxes__c = null;
                        } else {
                            row1.monthly_taxes__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("monthlyrent__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("monthlyrent__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.monthlyrent__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.monthlyrent__c = null;
                        } else {
                            row1.monthlyrent__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("annual_rents__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("annual_rents__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.annual_rents__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.annual_rents__c = null;
                        } else {
                            row1.annual_rents__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("est_of_market_value__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("est_of_market_value__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.est_of_market_value__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.est_of_market_value__c = null;
                        } else {
                            row1.est_of_market_value__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("est_value_per_rent_multiplier__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("est_value_per_rent_multiplier__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.est_value_per_rent_multiplier__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.est_value_per_rent_multiplier__c = null;
                        } else {
                            row1.est_value_per_rent_multiplier__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("estimated_value__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("estimated_value__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.estimated_value__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row1.estimated_value__c = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.estimated_value__c = null;
                        } else {
                            row1.estimated_value__c = str_tFileInputXML_1;
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("est_replacement_cost_per_sq_ft__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("est_replacement_cost_per_sq_ft__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.est_replacement_cost_per_sq_ft__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.est_replacement_cost_per_sq_ft__c = null;
                        } else {
                            row1.est_replacement_cost_per_sq_ft__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("est_replacement_cost__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("est_replacement_cost__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.est_replacement_cost__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.est_replacement_cost__c = null;
                        } else {
                            row1.est_replacement_cost__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("pba__totalarea_pb__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("pba__totalarea_pb__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.pba__totalarea_pb__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.pba__totalarea_pb__c = null;
                        } else {
                            row1.pba__totalarea_pb__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("bedrooms__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("bedrooms__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.bedrooms__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.bedrooms__c = null;
                        } else {
                            row1.bedrooms__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }
                        str_tFileInputXML_1 = row_tFileInputXML_1.get("bathrooms__c");
                        node_tFileInputXML_1 = new String[] { str_tFileInputXML_1,
                                row_tFileInputXML_1.get("bathrooms__c" + "/@xsi:nil") };
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row1.bathrooms__c = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)
                                || xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row1.bathrooms__c = null;
                        } else {
                            row1.bathrooms__c = ParserUtils.parseTo_Float(str_tFileInputXML_1);
                        }

                    } catch (Exception e) {
                        whetherReject_tFileInputXML_1 = true;
                        System.err.println(e.getMessage());
                        row1 = null;
                    }

                    /**
                     * [tFileInputXML_1 begin ] stop
                     */
                    /**
                     * [tFileInputXML_1 main ] start
                     */

                    currentComponent = "tFileInputXML_1";

                    tos_count_tFileInputXML_1++;

                    /**
                     * [tFileInputXML_1 main ] stop
                     */
                    // Start of branch "row1"
                    if (row1 != null) {

                        /**
                         * [tMap_1 main ] start
                         */

                        currentComponent = "tMap_1";

                        boolean hasCasePrimitiveKeyWithNull_tMap_1 = false;

                        // ###############################
                        // # Input tables (lookups)
                        boolean rejectedInnerJoin_tMap_1 = false;
                        boolean mainRowRejected_tMap_1 = false;

                        // ###############################
                        { // start of Var scope

                            // ###############################
                            // # Vars tables

                            Var__tMap_1__Struct Var = Var__tMap_1;// ###############################
                            // ###############################
                            // # Output tables

                            imageData = null;

                            // # Output table : 'imageData'
                            imageData_tmp.image_title = row1.image_title;
                            imageData_tmp.image_url = row1.image_url;
                            imageData_tmp.propertyName = row1.name;
                            imageData = imageData_tmp;
                            // ###############################

                        } // end of Var scope

                        rejectedInnerJoin_tMap_1 = false;

                        tos_count_tMap_1++;

                        /**
                         * [tMap_1 main ] stop
                         */
                        // Start of branch "imageData"
                        if (imageData != null) {

                            /**
                             * [tMap_2 main ] start
                             */

                            currentComponent = "tMap_2";

                            boolean hasCasePrimitiveKeyWithNull_tMap_2 = false;

                            // ###############################
                            // # Input tables (lookups)
                            boolean rejectedInnerJoin_tMap_2 = false;
                            boolean mainRowRejected_tMap_2 = false;

                            // /////////////////////////////////////////////
                            // Starting Lookup Table "row2"
                            // /////////////////////////////////////////////

                            boolean forceLooprow2 = false;

                            row2Struct row2ObjectFromLookup = null;

                            if (!rejectedInnerJoin_tMap_2) { // G_TM_M_020

                                hasCasePrimitiveKeyWithNull_tMap_2 = false;

                                row2HashKey.PROP_NAME = imageData.propertyName;

                                row2HashKey.hashCodeDirty = true;

                                tHash_Lookup_row2.lookup(row2HashKey);

                                if (!tHash_Lookup_row2.hasNext()) { // G_TM_M_090

                                    rejectedInnerJoin_tMap_2 = true;

                                } // G_TM_M_090

                            } // G_TM_M_020

                            if (tHash_Lookup_row2 != null && tHash_Lookup_row2.getCount(row2HashKey) > 1) { // G
                                // 071

                                // System.out.println("WARNING: UNIQUE MATCH is configured for the lookup 'row2' and it contains more one result from keys :  row2.PROP_NAME = '"
                                // + row2HashKey.PROP_NAME + "'");
                            } // G 071

                            row2Struct row2 = null;

                            row2Struct fromLookup_row2 = null;
                            row2 = row2Default;

                            if (tHash_Lookup_row2 != null && tHash_Lookup_row2.hasNext()) { // G 099

                                fromLookup_row2 = tHash_Lookup_row2.next();

                            } // G 099

                            if (fromLookup_row2 != null) {
                                row2 = fromLookup_row2;
                            }

                            // ###############################
                            { // start of Var scope

                                // ###############################
                                // # Vars tables

                                Var__tMap_2__Struct Var = Var__tMap_2;// ###############################
                                // ###############################
                                // # Output tables

                                loadImageData = null;

                                if (!rejectedInnerJoin_tMap_2) {

                                    // # Output table : 'loadImageData'
                                    loadImageData_tmp.ID = 0;
                                    loadImageData_tmp.TITLE = imageData.image_title;
                                    loadImageData_tmp.SIZE = 0;
                                    loadImageData_tmp.SRC_URL = imageData.image_url;
                                    loadImageData_tmp.PROPERTY_DATA_ID = row2.ID;
                                    loadImageData = loadImageData_tmp;
                                } // closing inner join bracket (2)
                                  // ###############################

                            } // end of Var scope

                            rejectedInnerJoin_tMap_2 = false;

                            tos_count_tMap_2++;

                            /**
                             * [tMap_2 main ] stop
                             */
                            // Start of branch "loadImageData"
                            if (loadImageData != null) {

                                /**
                                 * [tMysqlOutput_1 main ] start
                                 */

                                currentComponent = "tMysqlOutput_1";

                                whetherReject_tMysqlOutput_1 = false;
                                pstmt_tMysqlOutput_1.setInt(1, loadImageData.ID);

                                if (loadImageData.TITLE == null) {
                                    pstmt_tMysqlOutput_1.setNull(2, java.sql.Types.VARCHAR);
                                } else {
                                    pstmt_tMysqlOutput_1.setString(2, loadImageData.TITLE);
                                }

                                pstmt_tMysqlOutput_1.setInt(3, loadImageData.SIZE);

                                if (loadImageData.SRC_URL == null) {
                                    pstmt_tMysqlOutput_1.setNull(4, java.sql.Types.VARCHAR);
                                } else {
                                    pstmt_tMysqlOutput_1.setString(4, loadImageData.SRC_URL);
                                }

                                pstmt_tMysqlOutput_1.setInt(5, loadImageData.PROPERTY_DATA_ID);

                                pstmt_tMysqlOutput_1.addBatch();
                                nb_line_tMysqlOutput_1++;

                                batchSizeCounter_tMysqlOutput_1++;

                                if (batchSize_tMysqlOutput_1 <= batchSizeCounter_tMysqlOutput_1) {
                                    try {
                                        int countSum_tMysqlOutput_1 = 0;
                                        for (int countEach_tMysqlOutput_1 : pstmt_tMysqlOutput_1.executeBatch()) {
                                            countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0
                                                    : countEach_tMysqlOutput_1);
                                        }

                                        insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                                    } catch (java.sql.BatchUpdateException e) {

                                        int countSum_tMysqlOutput_1 = 0;
                                        for (int countEach_tMysqlOutput_1 : e.getUpdateCounts()) {
                                            countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0
                                                    : countEach_tMysqlOutput_1);
                                        }

                                        insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                                        System.err.println(e.getMessage());

                                    }

                                    batchSizeCounter_tMysqlOutput_1 = 0;
                                }

                                commitCounter_tMysqlOutput_1++;

                                if (commitEvery_tMysqlOutput_1 <= commitCounter_tMysqlOutput_1) {

                                    try {
                                        int countSum_tMysqlOutput_1 = 0;
                                        for (int countEach_tMysqlOutput_1 : pstmt_tMysqlOutput_1.executeBatch()) {
                                            countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0
                                                    : countEach_tMysqlOutput_1);
                                        }

                                        insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                                    } catch (java.sql.BatchUpdateException e) {

                                        int countSum_tMysqlOutput_1 = 0;
                                        for (int countEach_tMysqlOutput_1 : e.getUpdateCounts()) {
                                            countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0
                                                    : countEach_tMysqlOutput_1);
                                        }

                                        insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                                        System.out.println(e.getMessage());

                                    }
                                    conn_tMysqlOutput_1.commit();

                                    commitCounter_tMysqlOutput_1 = 0;

                                }

                                tos_count_tMysqlOutput_1++;

                                /**
                                 * [tMysqlOutput_1 main ] stop
                                 */

                            } // End of branch "loadImageData"

                        } // End of branch "imageData"

                    } // End of branch "row1"

                    /**
                     * [tFileInputXML_1 end ] start
                     */

                    currentComponent = "tFileInputXML_1";

                }
                try {
                    looper_tFileInputXML_1.handleTaskResponse();
                } catch (Exception e) {

                    System.err.println(e.getMessage());

                }
                globalMap.put("tFileInputXML_1_NB_LINE", nb_line_tFileInputXML_1);

                ok_Hash.put("tFileInputXML_1", true);
                end_Hash.put("tFileInputXML_1", System.currentTimeMillis());

                /**
                 * [tFileInputXML_1 end ] stop
                 */

                /**
                 * [tMap_1 end ] start
                 */

                currentComponent = "tMap_1";

                // ###############################
                // # Lookup hashes releasing
                // ###############################

                ok_Hash.put("tMap_1", true);
                end_Hash.put("tMap_1", System.currentTimeMillis());

                /**
                 * [tMap_1 end ] stop
                 */

                /**
                 * [tMap_2 end ] start
                 */

                currentComponent = "tMap_2";

                // ###############################
                // # Lookup hashes releasing
                if (tHash_Lookup_row2 != null) {
                    tHash_Lookup_row2.endGet();
                }
                globalMap.remove("tHash_Lookup_row2");

                // ###############################

                ok_Hash.put("tMap_2", true);
                end_Hash.put("tMap_2", System.currentTimeMillis());

                /**
                 * [tMap_2 end ] stop
                 */

                /**
                 * [tMysqlOutput_1 end ] start
                 */

                currentComponent = "tMysqlOutput_1";

                try {
                    if (batchSizeCounter_tMysqlOutput_1 != 0) {
                        int countSum_tMysqlOutput_1 = 0;
                        for (int countEach_tMysqlOutput_1 : pstmt_tMysqlOutput_1.executeBatch()) {
                            countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0
                                    : countEach_tMysqlOutput_1);
                        }

                        insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                    }

                } catch (java.sql.BatchUpdateException e) {

                    int countSum_tMysqlOutput_1 = 0;
                    for (int countEach_tMysqlOutput_1 : e.getUpdateCounts()) {
                        countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0 : countEach_tMysqlOutput_1);
                    }

                    insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                    System.err.println(e.getMessage());

                }
                batchSizeCounter_tMysqlOutput_1 = 0;

                try {
                    if (pstmt_tMysqlOutput_1 != null) {
                        int countSum_tMysqlOutput_1 = 0;
                        for (int countEach_tMysqlOutput_1 : pstmt_tMysqlOutput_1.executeBatch()) {
                            countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0
                                    : countEach_tMysqlOutput_1);
                        }

                        insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                    }
                } catch (java.sql.BatchUpdateException e) {

                    int countSum_tMysqlOutput_1 = 0;
                    for (int countEach_tMysqlOutput_1 : e.getUpdateCounts()) {
                        countSum_tMysqlOutput_1 += (countEach_tMysqlOutput_1 < 0 ? 0 : countEach_tMysqlOutput_1);
                    }

                    insertedCount_tMysqlOutput_1 += countSum_tMysqlOutput_1;

                    System.out.println(e.getMessage());

                }

                if (pstmt_tMysqlOutput_1 != null) {

                    pstmt_tMysqlOutput_1.close();

                }

                conn_tMysqlOutput_1.commit();

                conn_tMysqlOutput_1.close();

                nb_line_deleted_tMysqlOutput_1 = nb_line_deleted_tMysqlOutput_1 + deletedCount_tMysqlOutput_1;
                nb_line_update_tMysqlOutput_1 = nb_line_update_tMysqlOutput_1 + updatedCount_tMysqlOutput_1;
                nb_line_inserted_tMysqlOutput_1 = nb_line_inserted_tMysqlOutput_1 + insertedCount_tMysqlOutput_1;
                nb_line_rejected_tMysqlOutput_1 = nb_line_rejected_tMysqlOutput_1 + rejectedCount_tMysqlOutput_1;

                globalMap.put("tMysqlOutput_1_NB_LINE", nb_line_tMysqlOutput_1);
                globalMap.put("tMysqlOutput_1_NB_LINE_UPDATED", nb_line_update_tMysqlOutput_1);
                globalMap.put("tMysqlOutput_1_NB_LINE_INSERTED", nb_line_inserted_tMysqlOutput_1);
                globalMap.put("tMysqlOutput_1_NB_LINE_DELETED", nb_line_deleted_tMysqlOutput_1);
                globalMap.put("tMysqlOutput_1_NB_LINE_REJECTED", nb_line_rejected_tMysqlOutput_1);

                ok_Hash.put("tMysqlOutput_1", true);
                end_Hash.put("tMysqlOutput_1", System.currentTimeMillis());

                /**
                 * [tMysqlOutput_1 end ] stop
                 */

            } // end the resume

        } catch (Exception e) {

            throw new TalendException(e, currentComponent, globalMap);

        } catch (java.lang.Error error) {

            throw new java.lang.Error(error);

        } finally {
            // free memory for "tMap_2"
            globalMap.put("tHash_Lookup_row2", null);

        }

        globalMap.put("tFileInputXML_1_SUBPROCESS_STATE", 1);
    }

    public void tJava_2Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tJava_2_SUBPROCESS_STATE", 0);

        final boolean execStat = this.execStat;

        String iterateId = "";
        int iterateLoop = 0;
        String currentComponent = "";

        try {

            String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
            boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
            if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
                // the
                // resume
                globalResumeTicket = true;

                /**
                 * [tJava_2 begin ] start
                 */

                ok_Hash.put("tJava_2", false);
                start_Hash.put("tJava_2", System.currentTimeMillis());
                currentComponent = "tJava_2";

                int tos_count_tJava_2 = 0;

                System.out.println("***** Remove any Duplicate Image Data *****");

                /**
                 * [tJava_2 begin ] stop
                 */
                /**
                 * [tJava_2 main ] start
                 */

                currentComponent = "tJava_2";

                tos_count_tJava_2++;

                /**
                 * [tJava_2 main ] stop
                 */
                /**
                 * [tJava_2 end ] start
                 */

                currentComponent = "tJava_2";

                ok_Hash.put("tJava_2", true);
                end_Hash.put("tJava_2", System.currentTimeMillis());

                tMysqlInput_3Process(globalMap);

                /**
                 * [tJava_2 end ] stop
                 */

            } // end the resume

        } catch (Exception e) {

            throw new TalendException(e, currentComponent, globalMap);

        } catch (java.lang.Error error) {

            throw new java.lang.Error(error);

        }

        globalMap.put("tJava_2_SUBPROCESS_STATE", 1);
    }

    public static class removeDeplicateImageDataStruct
            implements routines.system.IPersistableRow<removeDeplicateImageDataStruct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];
        protected static final int DEFAULT_HASHCODE = 1;
        protected static final int PRIME = 31;
        protected int hashCode = DEFAULT_HASHCODE;
        public boolean hashCodeDirty = true;

        public String loopKey;

        public int ID;

        public int getID() {
            return this.ID;
        }

        public String TITLE;

        public String getTITLE() {
            return this.TITLE;
        }

        public int SIZE;

        public int getSIZE() {
            return this.SIZE;
        }

        public String SRC_URL;

        public String getSRC_URL() {
            return this.SRC_URL;
        }

        public int PROPERTY_DATA_ID;

        public int getPROPERTY_DATA_ID() {
            return this.PROPERTY_DATA_ID;
        }

        @Override
        public int hashCode() {
            if (this.hashCodeDirty) {
                final int prime = PRIME;
                int result = DEFAULT_HASHCODE;

                result = prime * result + (int) this.ID;

                this.hashCode = result;
                this.hashCodeDirty = false;
            }
            return this.hashCode;
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            final removeDeplicateImageDataStruct other = (removeDeplicateImageDataStruct) obj;

            if (this.ID != other.ID)
                return false;

            return true;
        }

        public void copyDataTo(removeDeplicateImageDataStruct other) {

            other.ID = this.ID;
            other.TITLE = this.TITLE;
            other.SIZE = this.SIZE;
            other.SRC_URL = this.SRC_URL;
            other.PROPERTY_DATA_ID = this.PROPERTY_DATA_ID;

        }

        public void copyKeysDataTo(removeDeplicateImageDataStruct other) {

            other.ID = this.ID;

        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        public void readData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.ID = dis.readInt();

                    this.TITLE = readString(dis);

                    this.SIZE = dis.readInt();

                    this.SRC_URL = readString(dis);

                    this.PROPERTY_DATA_ID = dis.readInt();

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // int

                dos.writeInt(this.ID);

                // String

                writeString(this.TITLE, dos);

                // int

                dos.writeInt(this.SIZE);

                // String

                writeString(this.SRC_URL, dos);

                // int

                dos.writeInt(this.PROPERTY_DATA_ID);

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("ID=" + String.valueOf(ID));
            sb.append(",TITLE=" + TITLE);
            sb.append(",SIZE=" + String.valueOf(SIZE));
            sb.append(",SRC_URL=" + SRC_URL);
            sb.append(",PROPERTY_DATA_ID=" + String.valueOf(PROPERTY_DATA_ID));
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(removeDeplicateImageDataStruct other) {

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.ID, other.ID);
            if (returnValue != 0) {
                return returnValue;
            }

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public static class row4Struct implements routines.system.IPersistableRow<row4Struct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];

        public int ID;

        public int getID() {
            return this.ID;
        }

        public String TITLE;

        public String getTITLE() {
            return this.TITLE;
        }

        public int SIZE;

        public int getSIZE() {
            return this.SIZE;
        }

        public String SRC_URL;

        public String getSRC_URL() {
            return this.SRC_URL;
        }

        public int PROPERTY_DATA_ID;

        public int getPROPERTY_DATA_ID() {
            return this.PROPERTY_DATA_ID;
        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        public void readData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.ID = dis.readInt();

                    this.TITLE = readString(dis);

                    this.SIZE = dis.readInt();

                    this.SRC_URL = readString(dis);

                    this.PROPERTY_DATA_ID = dis.readInt();

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // int

                dos.writeInt(this.ID);

                // String

                writeString(this.TITLE, dos);

                // int

                dos.writeInt(this.SIZE);

                // String

                writeString(this.SRC_URL, dos);

                // int

                dos.writeInt(this.PROPERTY_DATA_ID);

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("ID=" + String.valueOf(ID));
            sb.append(",TITLE=" + TITLE);
            sb.append(",SIZE=" + String.valueOf(SIZE));
            sb.append(",SRC_URL=" + SRC_URL);
            sb.append(",PROPERTY_DATA_ID=" + String.valueOf(PROPERTY_DATA_ID));
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(row4Struct other) {

            int returnValue = -1;

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public static class row3Struct implements routines.system.IPersistableRow<row3Struct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];
        protected static final int DEFAULT_HASHCODE = 1;
        protected static final int PRIME = 31;
        protected int hashCode = DEFAULT_HASHCODE;
        public boolean hashCodeDirty = true;

        public String loopKey;

        public int ID;

        public int getID() {
            return this.ID;
        }

        public String TITLE;

        public String getTITLE() {
            return this.TITLE;
        }

        public int SIZE;

        public int getSIZE() {
            return this.SIZE;
        }

        public String SRC_URL;

        public String getSRC_URL() {
            return this.SRC_URL;
        }

        public int PROPERTY_DATA_ID;

        public int getPROPERTY_DATA_ID() {
            return this.PROPERTY_DATA_ID;
        }

        @Override
        public int hashCode() {
            if (this.hashCodeDirty) {
                final int prime = PRIME;
                int result = DEFAULT_HASHCODE;

                result = prime * result + (int) this.ID;

                this.hashCode = result;
                this.hashCodeDirty = false;
            }
            return this.hashCode;
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            final row3Struct other = (row3Struct) obj;

            if (this.ID != other.ID)
                return false;

            return true;
        }

        public void copyDataTo(row3Struct other) {

            other.ID = this.ID;
            other.TITLE = this.TITLE;
            other.SIZE = this.SIZE;
            other.SRC_URL = this.SRC_URL;
            other.PROPERTY_DATA_ID = this.PROPERTY_DATA_ID;

        }

        public void copyKeysDataTo(row3Struct other) {

            other.ID = this.ID;

        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        public void readData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.ID = dis.readInt();

                    this.TITLE = readString(dis);

                    this.SIZE = dis.readInt();

                    this.SRC_URL = readString(dis);

                    this.PROPERTY_DATA_ID = dis.readInt();

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // int

                dos.writeInt(this.ID);

                // String

                writeString(this.TITLE, dos);

                // int

                dos.writeInt(this.SIZE);

                // String

                writeString(this.SRC_URL, dos);

                // int

                dos.writeInt(this.PROPERTY_DATA_ID);

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("ID=" + String.valueOf(ID));
            sb.append(",TITLE=" + TITLE);
            sb.append(",SIZE=" + String.valueOf(SIZE));
            sb.append(",SRC_URL=" + SRC_URL);
            sb.append(",PROPERTY_DATA_ID=" + String.valueOf(PROPERTY_DATA_ID));
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(row3Struct other) {

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.ID, other.ID);
            if (returnValue != 0) {
                return returnValue;
            }

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public void tMysqlInput_3Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tMysqlInput_3_SUBPROCESS_STATE", 0);

        final boolean execStat = this.execStat;

        String iterateId = "";
        int iterateLoop = 0;
        String currentComponent = "";

        try {

            String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
            boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
            if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
                // the
                // resume
                globalResumeTicket = true;

                row3Struct row3 = new row3Struct();
                row4Struct row4 = new row4Struct();
                removeDeplicateImageDataStruct removeDeplicateImageData = new removeDeplicateImageDataStruct();

                /**
                 * [tMysqlOutput_2 begin ] start
                 */

                ok_Hash.put("tMysqlOutput_2", false);
                start_Hash.put("tMysqlOutput_2", System.currentTimeMillis());
                currentComponent = "tMysqlOutput_2";

                int tos_count_tMysqlOutput_2 = 0;

                int deleteKeyCount_tMysqlOutput_2 = 1;
                if (deleteKeyCount_tMysqlOutput_2 < 1) {
                    throw new RuntimeException("For delete, Schema must have a key");
                }

                int nb_line_tMysqlOutput_2 = 0;
                int nb_line_update_tMysqlOutput_2 = 0;
                int nb_line_inserted_tMysqlOutput_2 = 0;
                int nb_line_deleted_tMysqlOutput_2 = 0;
                int nb_line_rejected_tMysqlOutput_2 = 0;

                int deletedCount_tMysqlOutput_2 = 0;
                int updatedCount_tMysqlOutput_2 = 0;
                int insertedCount_tMysqlOutput_2 = 0;

                int rejectedCount_tMysqlOutput_2 = 0;

                String tableName_tMysqlOutput_2 = "PROPERTY_IMAGES";
                boolean whetherReject_tMysqlOutput_2 = false;

                java.util.Calendar calendar_tMysqlOutput_2 = java.util.Calendar.getInstance();
                calendar_tMysqlOutput_2.set(1, 0, 1, 0, 0, 0);
                long year1_tMysqlOutput_2 = calendar_tMysqlOutput_2.getTime().getTime();
                calendar_tMysqlOutput_2.set(10000, 0, 1, 0, 0, 0);
                long year10000_tMysqlOutput_2 = calendar_tMysqlOutput_2.getTime().getTime();
                long date_tMysqlOutput_2;

                java.sql.Connection conn_tMysqlOutput_2 = null;
                java.util.Map<String, routines.system.TalendDataSource> dataSources_tMysqlOutput_2 = (java.util.Map<String, routines.system.TalendDataSource>) globalMap
                        .get(KEY_DB_DATASOURCES);
                if (null != dataSources_tMysqlOutput_2) {
                    conn_tMysqlOutput_2 = dataSources_tMysqlOutput_2.get("").getConnection();
                } else {
                    String dbProperties_tMysqlOutput_2 = "noDatetimeStringSync=true";
                    String url_tMysqlOutput_2 = null;
                    if (dbProperties_tMysqlOutput_2 == null || dbProperties_tMysqlOutput_2.trim().length() == 0) {
                        url_tMysqlOutput_2 = "jdbc:mysql://" + "192.168.1.254" + ":" + "3306" + "/" + "TALONDB"
                                + "?" + "rewriteBatchedStatements=true";
                    } else {
                        String properties_tMysqlOutput_2 = "noDatetimeStringSync=true";
                        if (!properties_tMysqlOutput_2.contains("rewriteBatchedStatements")) {
                            properties_tMysqlOutput_2 += "&rewriteBatchedStatements=true";
                        }

                        url_tMysqlOutput_2 = "jdbc:mysql://" + "192.168.1.254" + ":" + "3306" + "/" + "TALONDB"
                                + "?" + properties_tMysqlOutput_2;
                    }
                    String dbUser_tMysqlOutput_2 = "dbAdmin";
                    String dbPwd_tMysqlOutput_2 = "1nn0s2013";
                    java.lang.Class.forName("org.gjt.mm.mysql.Driver");
                    conn_tMysqlOutput_2 = java.sql.DriverManager.getConnection(url_tMysqlOutput_2,
                            dbUser_tMysqlOutput_2, dbPwd_tMysqlOutput_2);
                }

                conn_tMysqlOutput_2.setAutoCommit(false);
                int commitEvery_tMysqlOutput_2 = 1;
                int commitCounter_tMysqlOutput_2 = 0;
                int batchSize_tMysqlOutput_2 = 10000;
                int batchSizeCounter_tMysqlOutput_2 = 0;

                int count_tMysqlOutput_2 = 0;

                String delete_tMysqlOutput_2 = "DELETE  FROM `" + "PROPERTY_IMAGES" + "` WHERE `ID` = ?";

                java.sql.PreparedStatement pstmt_tMysqlOutput_2 = conn_tMysqlOutput_2
                        .prepareStatement(delete_tMysqlOutput_2);

                /**
                 * [tMysqlOutput_2 begin ] stop
                 */

                /**
                 * [tMap_3 begin ] start
                 */

                ok_Hash.put("tMap_3", false);
                start_Hash.put("tMap_3", System.currentTimeMillis());
                currentComponent = "tMap_3";

                int tos_count_tMap_3 = 0;

                // ###############################
                // # Lookup's keys initialization
                // ###############################

                // ###############################
                // # Vars initialization
                class Var__tMap_3__Struct {
                }
                Var__tMap_3__Struct Var__tMap_3 = new Var__tMap_3__Struct();
                // ###############################

                // ###############################
                // # Outputs initialization
                removeDeplicateImageDataStruct removeDeplicateImageData_tmp = new removeDeplicateImageDataStruct();
                // ###############################

                /**
                 * [tMap_3 begin ] stop
                 */

                /**
                 * [tUniqRow_1 begin ] start
                 */

                ok_Hash.put("tUniqRow_1", false);
                start_Hash.put("tUniqRow_1", System.currentTimeMillis());
                currentComponent = "tUniqRow_1";

                int tos_count_tUniqRow_1 = 0;

                class KeyStruct_tUniqRow_1 {

                    private static final int DEFAULT_HASHCODE = 1;
                    private static final int PRIME = 31;
                    private int hashCode = DEFAULT_HASHCODE;
                    public boolean hashCodeDirty = true;

                    String TITLE;
                    String SRC_URL;

                    @Override
                    public int hashCode() {
                        if (this.hashCodeDirty) {
                            final int prime = PRIME;
                            int result = DEFAULT_HASHCODE;

                            result = prime * result + ((this.TITLE == null) ? 0 : this.TITLE.hashCode());

                            result = prime * result + ((this.SRC_URL == null) ? 0 : this.SRC_URL.hashCode());

                            this.hashCode = result;
                            this.hashCodeDirty = false;
                        }
                        return this.hashCode;
                    }

                    @Override
                    public boolean equals(Object obj) {
                        if (this == obj)
                            return true;
                        if (obj == null)
                            return false;
                        if (getClass() != obj.getClass())
                            return false;
                        final KeyStruct_tUniqRow_1 other = (KeyStruct_tUniqRow_1) obj;

                        if (this.TITLE == null) {
                            if (other.TITLE != null)
                                return false;
                        } else if (!this.TITLE.equals(other.TITLE))
                            return false;

                        if (this.SRC_URL == null) {
                            if (other.SRC_URL != null)
                                return false;
                        } else if (!this.SRC_URL.equals(other.SRC_URL))
                            return false;

                        return true;
                    }

                }

                int nb_uniques_tUniqRow_1 = 0;
                int nb_duplicates_tUniqRow_1 = 0;
                KeyStruct_tUniqRow_1 finder_tUniqRow_1 = new KeyStruct_tUniqRow_1();
                java.util.Set<KeyStruct_tUniqRow_1> keystUniqRow_1 = new java.util.HashSet<KeyStruct_tUniqRow_1>();

                /**
                 * [tUniqRow_1 begin ] stop
                 */

                /**
                 * [tMysqlInput_3 begin ] start
                 */

                ok_Hash.put("tMysqlInput_3", false);
                start_Hash.put("tMysqlInput_3", System.currentTimeMillis());
                currentComponent = "tMysqlInput_3";

                int tos_count_tMysqlInput_3 = 0;

                java.util.Calendar calendar_tMysqlInput_3 = java.util.Calendar.getInstance();
                calendar_tMysqlInput_3.set(0, 0, 0, 0, 0, 0);
                java.util.Date year0_tMysqlInput_3 = calendar_tMysqlInput_3.getTime();
                int nb_line_tMysqlInput_3 = 0;
                java.sql.Connection conn_tMysqlInput_3 = null;
                java.util.Map<String, routines.system.TalendDataSource> dataSources_tMysqlInput_3 = (java.util.Map<String, routines.system.TalendDataSource>) globalMap
                        .get(KEY_DB_DATASOURCES);
                if (null != dataSources_tMysqlInput_3) {
                    conn_tMysqlInput_3 = dataSources_tMysqlInput_3.get("").getConnection();
                } else {
                    java.lang.Class.forName("org.gjt.mm.mysql.Driver");

                    String url_tMysqlInput_3 = "jdbc:mysql://" + "192.168.1.254" + ":" + "3306" + "/" + "TALONDB"
                            + "?" + "noDatetimeStringSync=true";
                    String dbUser_tMysqlInput_3 = "dbAdmin";
                    String dbPwd_tMysqlInput_3 = "1nn0s2013";
                    conn_tMysqlInput_3 = java.sql.DriverManager.getConnection(url_tMysqlInput_3,
                            dbUser_tMysqlInput_3, dbPwd_tMysqlInput_3);
                }

                java.sql.Statement stmt_tMysqlInput_3 = conn_tMysqlInput_3.createStatement();

                String dbquery_tMysqlInput_3 = "SELECT    `PROPERTY_IMAGES`.`ID`,    `PROPERTY_IMAGES`.`TITLE`,    `PROPERTY_IMAGES`.`SIZE`,    `PROPERTY_IMAGES`.`SRC_URL`,    `PROPERTY_IMAGES`.`PROPERTY_DATA_ID` FROM `PROPERTY_IMAGES`";

                globalMap.put("tMysqlInput_3_QUERY", dbquery_tMysqlInput_3);

                java.sql.ResultSet rs_tMysqlInput_3 = stmt_tMysqlInput_3.executeQuery(dbquery_tMysqlInput_3);
                java.sql.ResultSetMetaData rsmd_tMysqlInput_3 = rs_tMysqlInput_3.getMetaData();
                int colQtyInRs_tMysqlInput_3 = rsmd_tMysqlInput_3.getColumnCount();

                String tmpContent_tMysqlInput_3 = null;
                while (rs_tMysqlInput_3.next()) {
                    nb_line_tMysqlInput_3++;

                    if (colQtyInRs_tMysqlInput_3 < 1) {
                        row3.ID = 0;
                    } else {

                        if (rs_tMysqlInput_3.getObject(1) != null) {
                            row3.ID = rs_tMysqlInput_3.getInt(1);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }
                    if (colQtyInRs_tMysqlInput_3 < 2) {
                        row3.TITLE = null;
                    } else {

                        tmpContent_tMysqlInput_3 = rs_tMysqlInput_3.getString(2);
                        if (tmpContent_tMysqlInput_3 != null) {
                            row3.TITLE = tmpContent_tMysqlInput_3;
                        } else {
                            row3.TITLE = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_3 < 3) {
                        row3.SIZE = 0;
                    } else {

                        if (rs_tMysqlInput_3.getObject(3) != null) {
                            row3.SIZE = rs_tMysqlInput_3.getInt(3);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }
                    if (colQtyInRs_tMysqlInput_3 < 4) {
                        row3.SRC_URL = null;
                    } else {

                        tmpContent_tMysqlInput_3 = rs_tMysqlInput_3.getString(4);
                        if (tmpContent_tMysqlInput_3 != null) {
                            row3.SRC_URL = tmpContent_tMysqlInput_3;
                        } else {
                            row3.SRC_URL = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_3 < 5) {
                        row3.PROPERTY_DATA_ID = 0;
                    } else {

                        if (rs_tMysqlInput_3.getObject(5) != null) {
                            row3.PROPERTY_DATA_ID = rs_tMysqlInput_3.getInt(5);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }

                    /**
                     * [tMysqlInput_3 begin ] stop
                     */
                    /**
                     * [tMysqlInput_3 main ] start
                     */

                    currentComponent = "tMysqlInput_3";

                    tos_count_tMysqlInput_3++;

                    /**
                     * [tMysqlInput_3 main ] stop
                     */

                    /**
                     * [tUniqRow_1 main ] start
                     */

                    currentComponent = "tUniqRow_1";

                    row4 = null;
                    if (row3.TITLE == null) {
                        finder_tUniqRow_1.TITLE = null;
                    } else {
                        finder_tUniqRow_1.TITLE = row3.TITLE.toLowerCase();
                    }
                    if (row3.SRC_URL == null) {
                        finder_tUniqRow_1.SRC_URL = null;
                    } else {
                        finder_tUniqRow_1.SRC_URL = row3.SRC_URL.toLowerCase();
                    }
                    finder_tUniqRow_1.hashCodeDirty = true;
                    if (!keystUniqRow_1.contains(finder_tUniqRow_1)) {
                        KeyStruct_tUniqRow_1 new_tUniqRow_1 = new KeyStruct_tUniqRow_1();

                        if (row3.TITLE == null) {
                            new_tUniqRow_1.TITLE = null;
                        } else {
                            new_tUniqRow_1.TITLE = row3.TITLE.toLowerCase();
                        }
                        if (row3.SRC_URL == null) {
                            new_tUniqRow_1.SRC_URL = null;
                        } else {
                            new_tUniqRow_1.SRC_URL = row3.SRC_URL.toLowerCase();
                        }

                        keystUniqRow_1.add(new_tUniqRow_1);
                        nb_uniques_tUniqRow_1++;
                    } else {
                        if (row4 == null) {
                            row4 = new row4Struct();
                        }
                        row4.ID = row3.ID;
                        row4.TITLE = row3.TITLE;
                        row4.SIZE = row3.SIZE;
                        row4.SRC_URL = row3.SRC_URL;
                        row4.PROPERTY_DATA_ID = row3.PROPERTY_DATA_ID;
                        nb_duplicates_tUniqRow_1++;
                    }

                    tos_count_tUniqRow_1++;

                    /**
                     * [tUniqRow_1 main ] stop
                     */
                    // Start of branch "row4"
                    if (row4 != null) {

                        /**
                         * [tMap_3 main ] start
                         */

                        currentComponent = "tMap_3";

                        boolean hasCasePrimitiveKeyWithNull_tMap_3 = false;

                        // ###############################
                        // # Input tables (lookups)
                        boolean rejectedInnerJoin_tMap_3 = false;
                        boolean mainRowRejected_tMap_3 = false;

                        // ###############################
                        { // start of Var scope

                            // ###############################
                            // # Vars tables

                            Var__tMap_3__Struct Var = Var__tMap_3;// ###############################
                            // ###############################
                            // # Output tables

                            removeDeplicateImageData = null;

                            // # Output table : 'removeDeplicateImageData'
                            removeDeplicateImageData_tmp.ID = row4.ID;
                            removeDeplicateImageData_tmp.TITLE = row4.TITLE;
                            removeDeplicateImageData_tmp.SIZE = row4.SIZE;
                            removeDeplicateImageData_tmp.SRC_URL = row4.SRC_URL;
                            removeDeplicateImageData_tmp.PROPERTY_DATA_ID = row4.PROPERTY_DATA_ID;
                            removeDeplicateImageData = removeDeplicateImageData_tmp;
                            // ###############################

                        } // end of Var scope

                        rejectedInnerJoin_tMap_3 = false;

                        tos_count_tMap_3++;

                        /**
                         * [tMap_3 main ] stop
                         */
                        // Start of branch "removeDeplicateImageData"
                        if (removeDeplicateImageData != null) {

                            /**
                             * [tMysqlOutput_2 main ] start
                             */

                            currentComponent = "tMysqlOutput_2";

                            whetherReject_tMysqlOutput_2 = false;

                            pstmt_tMysqlOutput_2.setInt(1, removeDeplicateImageData.ID);

                            pstmt_tMysqlOutput_2.addBatch();
                            nb_line_tMysqlOutput_2++;

                            batchSizeCounter_tMysqlOutput_2++;

                            nb_line_tMysqlOutput_2++;

                            if (batchSize_tMysqlOutput_2 <= batchSizeCounter_tMysqlOutput_2) {
                                try {
                                    int countSum_tMysqlOutput_2 = 0;
                                    for (int countEach_tMysqlOutput_2 : pstmt_tMysqlOutput_2.executeBatch()) {
                                        countSum_tMysqlOutput_2 += (countEach_tMysqlOutput_2 < 0 ? 0
                                                : countEach_tMysqlOutput_2);
                                    }

                                    deletedCount_tMysqlOutput_2 += countSum_tMysqlOutput_2;

                                    batchSizeCounter_tMysqlOutput_2 = 0;
                                } catch (java.sql.BatchUpdateException e) {

                                    int countSum_tMysqlOutput_2 = 0;
                                    for (int countEach_tMysqlOutput_2 : e.getUpdateCounts()) {
                                        countSum_tMysqlOutput_2 += (countEach_tMysqlOutput_2 < 0 ? 0
                                                : countEach_tMysqlOutput_2);
                                    }

                                    deletedCount_tMysqlOutput_2 += countSum_tMysqlOutput_2;

                                    System.err.println(e.getMessage());

                                }

                            }

                            commitCounter_tMysqlOutput_2++;

                            if (commitEvery_tMysqlOutput_2 <= commitCounter_tMysqlOutput_2) {

                                try {
                                    int countSum_tMysqlOutput_2 = 0;
                                    for (int countEach_tMysqlOutput_2 : pstmt_tMysqlOutput_2.executeBatch()) {
                                        countSum_tMysqlOutput_2 += (countEach_tMysqlOutput_2 < 0 ? 0
                                                : countEach_tMysqlOutput_2);
                                    }

                                    deletedCount_tMysqlOutput_2 += countSum_tMysqlOutput_2;

                                } catch (java.sql.BatchUpdateException e) {

                                    int countSum_tMysqlOutput_2 = 0;
                                    for (int countEach_tMysqlOutput_2 : e.getUpdateCounts()) {
                                        countSum_tMysqlOutput_2 += (countEach_tMysqlOutput_2 < 0 ? 0
                                                : countEach_tMysqlOutput_2);
                                    }

                                    deletedCount_tMysqlOutput_2 += countSum_tMysqlOutput_2;

                                    System.out.println(e.getMessage());

                                }
                                conn_tMysqlOutput_2.commit();

                                commitCounter_tMysqlOutput_2 = 0;

                            }

                            tos_count_tMysqlOutput_2++;

                            /**
                             * [tMysqlOutput_2 main ] stop
                             */

                        } // End of branch "removeDeplicateImageData"

                    } // End of branch "row4"

                    /**
                     * [tMysqlInput_3 end ] start
                     */

                    currentComponent = "tMysqlInput_3";

                }
                rs_tMysqlInput_3.close();
                stmt_tMysqlInput_3.close();
                conn_tMysqlInput_3.close();

                globalMap.put("tMysqlInput_3_NB_LINE", nb_line_tMysqlInput_3);

                ok_Hash.put("tMysqlInput_3", true);
                end_Hash.put("tMysqlInput_3", System.currentTimeMillis());

                /**
                 * [tMysqlInput_3 end ] stop
                 */

                /**
                 * [tUniqRow_1 end ] start
                 */

                currentComponent = "tUniqRow_1";

                globalMap.put("tUniqRow_1_NB_UNIQUES", nb_uniques_tUniqRow_1);
                globalMap.put("tUniqRow_1_NB_DUPLICATES", nb_duplicates_tUniqRow_1);

                ok_Hash.put("tUniqRow_1", true);
                end_Hash.put("tUniqRow_1", System.currentTimeMillis());

                /**
                 * [tUniqRow_1 end ] stop
                 */

                /**
                 * [tMap_3 end ] start
                 */

                currentComponent = "tMap_3";

                // ###############################
                // # Lookup hashes releasing
                // ###############################

                ok_Hash.put("tMap_3", true);
                end_Hash.put("tMap_3", System.currentTimeMillis());

                /**
                 * [tMap_3 end ] stop
                 */

                /**
                 * [tMysqlOutput_2 end ] start
                 */

                currentComponent = "tMysqlOutput_2";

                try {
                    if (pstmt_tMysqlOutput_2 != null) {
                        int countSum_tMysqlOutput_2 = 0;
                        for (int countEach_tMysqlOutput_2 : pstmt_tMysqlOutput_2.executeBatch()) {
                            countSum_tMysqlOutput_2 += (countEach_tMysqlOutput_2 < 0 ? 0
                                    : countEach_tMysqlOutput_2);
                        }

                        deletedCount_tMysqlOutput_2 += countSum_tMysqlOutput_2;

                    }
                } catch (java.sql.BatchUpdateException e) {

                    int countSum_tMysqlOutput_2 = 0;
                    for (int countEach_tMysqlOutput_2 : e.getUpdateCounts()) {
                        countSum_tMysqlOutput_2 += (countEach_tMysqlOutput_2 < 0 ? 0 : countEach_tMysqlOutput_2);
                    }

                    deletedCount_tMysqlOutput_2 += countSum_tMysqlOutput_2;

                    System.out.println(e.getMessage());

                }

                if (pstmt_tMysqlOutput_2 != null) {

                    pstmt_tMysqlOutput_2.close();

                }

                conn_tMysqlOutput_2.commit();

                conn_tMysqlOutput_2.close();

                nb_line_deleted_tMysqlOutput_2 = nb_line_deleted_tMysqlOutput_2 + deletedCount_tMysqlOutput_2;
                nb_line_update_tMysqlOutput_2 = nb_line_update_tMysqlOutput_2 + updatedCount_tMysqlOutput_2;
                nb_line_inserted_tMysqlOutput_2 = nb_line_inserted_tMysqlOutput_2 + insertedCount_tMysqlOutput_2;
                nb_line_rejected_tMysqlOutput_2 = nb_line_rejected_tMysqlOutput_2 + rejectedCount_tMysqlOutput_2;

                globalMap.put("tMysqlOutput_2_NB_LINE", nb_line_tMysqlOutput_2);
                globalMap.put("tMysqlOutput_2_NB_LINE_UPDATED", nb_line_update_tMysqlOutput_2);
                globalMap.put("tMysqlOutput_2_NB_LINE_INSERTED", nb_line_inserted_tMysqlOutput_2);
                globalMap.put("tMysqlOutput_2_NB_LINE_DELETED", nb_line_deleted_tMysqlOutput_2);
                globalMap.put("tMysqlOutput_2_NB_LINE_REJECTED", nb_line_rejected_tMysqlOutput_2);

                ok_Hash.put("tMysqlOutput_2", true);
                end_Hash.put("tMysqlOutput_2", System.currentTimeMillis());

                /**
                 * [tMysqlOutput_2 end ] stop
                 */

            } // end the resume

        } catch (Exception e) {

            throw new TalendException(e, currentComponent, globalMap);

        } catch (java.lang.Error error) {

            throw new java.lang.Error(error);

        }

        globalMap.put("tMysqlInput_3_SUBPROCESS_STATE", 1);
    }

    public static class row2Struct implements routines.system.IPersistableComparableLookupRow<row2Struct> {
        final static byte[] commonByteArrayLock_TALONETL_loadPropertyImages = new byte[0];
        static byte[] commonByteArray_TALONETL_loadPropertyImages = new byte[0];
        protected static final int DEFAULT_HASHCODE = 1;
        protected static final int PRIME = 31;
        protected int hashCode = DEFAULT_HASHCODE;
        public boolean hashCodeDirty = true;

        public String loopKey;

        public int ID;

        public int getID() {
            return this.ID;
        }

        public String UUID;

        public String getUUID() {
            return this.UUID;
        }

        public String PROP_NAME;

        public String getPROP_NAME() {
            return this.PROP_NAME;
        }

        public float PRICE;

        public float getPRICE() {
            return this.PRICE;
        }

        public String SQFT;

        public String getSQFT() {
            return this.SQFT;
        }

        public String DESCRIPTION;

        public String getDESCRIPTION() {
            return this.DESCRIPTION;
        }

        public float NUM_BEDS;

        public float getNUM_BEDS() {
            return this.NUM_BEDS;
        }

        public float NUM_BATHS;

        public float getNUM_BATHS() {
            return this.NUM_BATHS;
        }

        public String TYPE;

        public String getTYPE() {
            return this.TYPE;
        }

        public String STATUS;

        public String getSTATUS() {
            return this.STATUS;
        }

        public int STATE_INFO_ID;

        public int getSTATE_INFO_ID() {
            return this.STATE_INFO_ID;
        }

        public int DATA_SOURCE_ID;

        public int getDATA_SOURCE_ID() {
            return this.DATA_SOURCE_ID;
        }

        @Override
        public int hashCode() {
            if (this.hashCodeDirty) {
                final int prime = PRIME;
                int result = DEFAULT_HASHCODE;

                result = prime * result + ((this.PROP_NAME == null) ? 0 : this.PROP_NAME.hashCode());

                this.hashCode = result;
                this.hashCodeDirty = false;
            }
            return this.hashCode;
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj)
                return true;
            if (obj == null)
                return false;
            if (getClass() != obj.getClass())
                return false;
            final row2Struct other = (row2Struct) obj;

            if (this.PROP_NAME == null) {
                if (other.PROP_NAME != null)
                    return false;
            } else if (!this.PROP_NAME.equals(other.PROP_NAME))
                return false;

            return true;
        }

        public void copyDataTo(row2Struct other) {

            other.ID = this.ID;
            other.UUID = this.UUID;
            other.PROP_NAME = this.PROP_NAME;
            other.PRICE = this.PRICE;
            other.SQFT = this.SQFT;
            other.DESCRIPTION = this.DESCRIPTION;
            other.NUM_BEDS = this.NUM_BEDS;
            other.NUM_BATHS = this.NUM_BATHS;
            other.TYPE = this.TYPE;
            other.STATUS = this.STATUS;
            other.STATE_INFO_ID = this.STATE_INFO_ID;
            other.DATA_SOURCE_ID = this.DATA_SOURCE_ID;

        }

        public void copyKeysDataTo(row2Struct other) {

            other.PROP_NAME = this.PROP_NAME;

        }

        private String readString(DataInputStream dis, ObjectInputStream ois) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                byte[] byteArray = new byte[length];
                dis.read(byteArray);
                strReturn = new String(byteArray, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, DataOutputStream dos, ObjectOutputStream oos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        private String readString(ObjectInputStream dis) throws IOException {
            String strReturn = null;
            int length = 0;
            length = dis.readInt();
            if (length == -1) {
                strReturn = null;
            } else {
                if (length > commonByteArray_TALONETL_loadPropertyImages.length) {
                    if (length < 1024 && commonByteArray_TALONETL_loadPropertyImages.length == 0) {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[1024];
                    } else {
                        commonByteArray_TALONETL_loadPropertyImages = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_TALONETL_loadPropertyImages, 0, length);
                strReturn = new String(commonByteArray_TALONETL_loadPropertyImages, 0, length, utf8Charset);
            }
            return strReturn;
        }

        private void writeString(String str, ObjectOutputStream dos) throws IOException {
            if (str == null) {
                dos.writeInt(-1);
            } else {
                byte[] byteArray = str.getBytes(utf8Charset);
                dos.writeInt(byteArray.length);
                dos.write(byteArray);
            }
        }

        public void readKeysData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_TALONETL_loadPropertyImages) {

                try {

                    int length = 0;

                    this.PROP_NAME = readString(dis);

                } catch (IOException e) {
                    throw new RuntimeException(e);

                }

            }

        }

        public void writeKeysData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.PROP_NAME, dos);

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        /**
         * Fill Values data by reading ObjectInputStream.
         */
        public void readValuesData(DataInputStream dis, ObjectInputStream ois) {
            try {

                int length = 0;

                this.ID = dis.readInt();

                this.UUID = readString(dis, ois);

                this.PRICE = dis.readFloat();

                this.SQFT = readString(dis, ois);

                this.DESCRIPTION = readString(dis, ois);

                this.NUM_BEDS = dis.readFloat();

                this.NUM_BATHS = dis.readFloat();

                this.TYPE = readString(dis, ois);

                this.STATUS = readString(dis, ois);

                this.STATE_INFO_ID = dis.readInt();

                this.DATA_SOURCE_ID = dis.readInt();

            } catch (IOException e) {
                throw new RuntimeException(e);

            }

        }

        /**
         * Return a byte array which represents Values data.
         */
        public void writeValuesData(DataOutputStream dos, ObjectOutputStream oos) {
            try {

                dos.writeInt(this.ID);

                writeString(this.UUID, dos, oos);

                dos.writeFloat(this.PRICE);

                writeString(this.SQFT, dos, oos);

                writeString(this.DESCRIPTION, dos, oos);

                dos.writeFloat(this.NUM_BEDS);

                dos.writeFloat(this.NUM_BATHS);

                writeString(this.TYPE, dos, oos);

                writeString(this.STATUS, dos, oos);

                dos.writeInt(this.STATE_INFO_ID);

                dos.writeInt(this.DATA_SOURCE_ID);

            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("ID=" + String.valueOf(ID));
            sb.append(",UUID=" + UUID);
            sb.append(",PROP_NAME=" + PROP_NAME);
            sb.append(",PRICE=" + String.valueOf(PRICE));
            sb.append(",SQFT=" + SQFT);
            sb.append(",DESCRIPTION=" + DESCRIPTION);
            sb.append(",NUM_BEDS=" + String.valueOf(NUM_BEDS));
            sb.append(",NUM_BATHS=" + String.valueOf(NUM_BATHS));
            sb.append(",TYPE=" + TYPE);
            sb.append(",STATUS=" + STATUS);
            sb.append(",STATE_INFO_ID=" + String.valueOf(STATE_INFO_ID));
            sb.append(",DATA_SOURCE_ID=" + String.valueOf(DATA_SOURCE_ID));
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(row2Struct other) {

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.PROP_NAME, other.PROP_NAME);
            if (returnValue != 0) {
                return returnValue;
            }

            return returnValue;
        }

        private int checkNullsAndCompare(Object object1, Object object2) {
            int returnValue = 0;
            if (object1 instanceof Comparable && object2 instanceof Comparable) {
                returnValue = ((Comparable) object1).compareTo(object2);
            } else if (object1 != null && object2 != null) {
                returnValue = compareStrings(object1.toString(), object2.toString());
            } else if (object1 == null && object2 != null) {
                returnValue = 1;
            } else if (object1 != null && object2 == null) {
                returnValue = -1;
            } else {
                returnValue = 0;
            }

            return returnValue;
        }

        private int compareStrings(String string1, String string2) {
            return string1.compareTo(string2);
        }

    }

    public void tMysqlInput_2Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tMysqlInput_2_SUBPROCESS_STATE", 0);

        final boolean execStat = this.execStat;

        String iterateId = "";
        int iterateLoop = 0;
        String currentComponent = "";

        try {

            String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
            boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
            if (resumeEntryMethodName == null || resumeIt || globalResumeTicket) {// start
                // the
                // resume
                globalResumeTicket = true;

                row2Struct row2 = new row2Struct();

                /**
                 * [tAdvancedHash_row2 begin ] start
                 */

                ok_Hash.put("tAdvancedHash_row2", false);
                start_Hash.put("tAdvancedHash_row2", System.currentTimeMillis());
                currentComponent = "tAdvancedHash_row2";

                int tos_count_tAdvancedHash_row2 = 0;

                // connection name:row2
                // source node:tMysqlInput_2 - inputs:(after_tFileInputXML_1)
                // outputs:(row2,row2) | target node:tAdvancedHash_row2 -
                // inputs:(row2) outputs:()
                // linked node: tMap_2 - inputs:(imageData,row2)
                // outputs:(loadImageData)

                org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE matchingModeEnum_row2 = org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE.UNIQUE_MATCH;

                org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<row2Struct> tHash_Lookup_row2 = org.talend.designer.components.lookup.memory.AdvancedMemoryLookup
                        .<row2Struct>getLookup(matchingModeEnum_row2);

                globalMap.put("tHash_Lookup_row2", tHash_Lookup_row2);

                /**
                 * [tAdvancedHash_row2 begin ] stop
                 */

                /**
                 * [tMysqlInput_2 begin ] start
                 */

                ok_Hash.put("tMysqlInput_2", false);
                start_Hash.put("tMysqlInput_2", System.currentTimeMillis());
                currentComponent = "tMysqlInput_2";

                int tos_count_tMysqlInput_2 = 0;

                java.util.Calendar calendar_tMysqlInput_2 = java.util.Calendar.getInstance();
                calendar_tMysqlInput_2.set(0, 0, 0, 0, 0, 0);
                java.util.Date year0_tMysqlInput_2 = calendar_tMysqlInput_2.getTime();
                int nb_line_tMysqlInput_2 = 0;
                java.sql.Connection conn_tMysqlInput_2 = null;
                java.util.Map<String, routines.system.TalendDataSource> dataSources_tMysqlInput_2 = (java.util.Map<String, routines.system.TalendDataSource>) globalMap
                        .get(KEY_DB_DATASOURCES);
                if (null != dataSources_tMysqlInput_2) {
                    conn_tMysqlInput_2 = dataSources_tMysqlInput_2.get("").getConnection();
                } else {
                    java.lang.Class.forName("org.gjt.mm.mysql.Driver");

                    String url_tMysqlInput_2 = "jdbc:mysql://" + "192.168.1.254" + ":" + "3306" + "/" + "TALONDB"
                            + "?" + "noDatetimeStringSync=true";
                    String dbUser_tMysqlInput_2 = "dbAdmin";
                    String dbPwd_tMysqlInput_2 = "1nn0s2013";
                    conn_tMysqlInput_2 = java.sql.DriverManager.getConnection(url_tMysqlInput_2,
                            dbUser_tMysqlInput_2, dbPwd_tMysqlInput_2);
                }

                java.sql.Statement stmt_tMysqlInput_2 = conn_tMysqlInput_2.createStatement();

                String dbquery_tMysqlInput_2 = "SELECT    `PROPERTY_DATA`.`ID`,    `PROPERTY_DATA`.`UUID`,    `PROPERTY_DATA`.`PROP_NAME`,    `PROPERTY_DATA`.`PRICE`,    `PROPERTY_DATA`.`SQFT`,    `PROPERTY_DATA`.`DESCRIPTION`,    `PROPERTY_DATA`.`NUM_BEDS`,    `PROPERTY_DATA`.`NUM_BATHS`,    `PROPERTY_DATA`.`TYPE`,    `PROPERTY_DATA`.`STATUS`,    `PROPERTY_DATA`.`STATE_INFO_ID`,    `PROPERTY_DATA`.`DATA_SOURCE_ID` FROM `PROPERTY_DATA`";

                globalMap.put("tMysqlInput_2_QUERY", dbquery_tMysqlInput_2);

                java.sql.ResultSet rs_tMysqlInput_2 = stmt_tMysqlInput_2.executeQuery(dbquery_tMysqlInput_2);
                java.sql.ResultSetMetaData rsmd_tMysqlInput_2 = rs_tMysqlInput_2.getMetaData();
                int colQtyInRs_tMysqlInput_2 = rsmd_tMysqlInput_2.getColumnCount();

                String tmpContent_tMysqlInput_2 = null;
                while (rs_tMysqlInput_2.next()) {
                    nb_line_tMysqlInput_2++;

                    if (colQtyInRs_tMysqlInput_2 < 1) {
                        row2.ID = 0;
                    } else {

                        if (rs_tMysqlInput_2.getObject(1) != null) {
                            row2.ID = rs_tMysqlInput_2.getInt(1);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 2) {
                        row2.UUID = null;
                    } else {

                        tmpContent_tMysqlInput_2 = rs_tMysqlInput_2.getString(2);
                        if (tmpContent_tMysqlInput_2 != null) {
                            row2.UUID = tmpContent_tMysqlInput_2;
                        } else {
                            row2.UUID = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 3) {
                        row2.PROP_NAME = null;
                    } else {

                        tmpContent_tMysqlInput_2 = rs_tMysqlInput_2.getString(3);
                        if (tmpContent_tMysqlInput_2 != null) {
                            row2.PROP_NAME = tmpContent_tMysqlInput_2;
                        } else {
                            row2.PROP_NAME = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 4) {
                        row2.PRICE = 0;
                    } else {

                        if (rs_tMysqlInput_2.getObject(4) != null) {
                            row2.PRICE = rs_tMysqlInput_2.getFloat(4);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 5) {
                        row2.SQFT = null;
                    } else {

                        tmpContent_tMysqlInput_2 = rs_tMysqlInput_2.getString(5);
                        if (tmpContent_tMysqlInput_2 != null) {
                            row2.SQFT = tmpContent_tMysqlInput_2;
                        } else {
                            row2.SQFT = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 6) {
                        row2.DESCRIPTION = null;
                    } else {

                        tmpContent_tMysqlInput_2 = rs_tMysqlInput_2.getString(6);
                        if (tmpContent_tMysqlInput_2 != null) {
                            row2.DESCRIPTION = tmpContent_tMysqlInput_2;
                        } else {
                            row2.DESCRIPTION = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 7) {
                        row2.NUM_BEDS = 0;
                    } else {

                        if (rs_tMysqlInput_2.getObject(7) != null) {
                            row2.NUM_BEDS = rs_tMysqlInput_2.getFloat(7);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 8) {
                        row2.NUM_BATHS = 0;
                    } else {

                        if (rs_tMysqlInput_2.getObject(8) != null) {
                            row2.NUM_BATHS = rs_tMysqlInput_2.getFloat(8);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 9) {
                        row2.TYPE = null;
                    } else {

                        tmpContent_tMysqlInput_2 = rs_tMysqlInput_2.getString(9);
                        if (tmpContent_tMysqlInput_2 != null) {
                            row2.TYPE = tmpContent_tMysqlInput_2;
                        } else {
                            row2.TYPE = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 10) {
                        row2.STATUS = null;
                    } else {

                        tmpContent_tMysqlInput_2 = rs_tMysqlInput_2.getString(10);
                        if (tmpContent_tMysqlInput_2 != null) {
                            row2.STATUS = tmpContent_tMysqlInput_2;
                        } else {
                            row2.STATUS = null;
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 11) {
                        row2.STATE_INFO_ID = 0;
                    } else {

                        if (rs_tMysqlInput_2.getObject(11) != null) {
                            row2.STATE_INFO_ID = rs_tMysqlInput_2.getInt(11);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }
                    if (colQtyInRs_tMysqlInput_2 < 12) {
                        row2.DATA_SOURCE_ID = 0;
                    } else {

                        if (rs_tMysqlInput_2.getObject(12) != null) {
                            row2.DATA_SOURCE_ID = rs_tMysqlInput_2.getInt(12);
                        } else {
                            throw new RuntimeException("Null value in non-Nullable column");
                        }

                    }

                    /**
                     * [tMysqlInput_2 begin ] stop
                     */
                    /**
                     * [tMysqlInput_2 main ] start
                     */

                    currentComponent = "tMysqlInput_2";

                    tos_count_tMysqlInput_2++;

                    /**
                     * [tMysqlInput_2 main ] stop
                     */

                    /**
                     * [tAdvancedHash_row2 main ] start
                     */

                    currentComponent = "tAdvancedHash_row2";

                    row2Struct row2_HashRow = new row2Struct();

                    row2_HashRow.ID = row2.ID;

                    row2_HashRow.UUID = row2.UUID;

                    row2_HashRow.PROP_NAME = row2.PROP_NAME;

                    row2_HashRow.PRICE = row2.PRICE;

                    row2_HashRow.SQFT = row2.SQFT;

                    row2_HashRow.DESCRIPTION = row2.DESCRIPTION;

                    row2_HashRow.NUM_BEDS = row2.NUM_BEDS;

                    row2_HashRow.NUM_BATHS = row2.NUM_BATHS;

                    row2_HashRow.TYPE = row2.TYPE;

                    row2_HashRow.STATUS = row2.STATUS;

                    row2_HashRow.STATE_INFO_ID = row2.STATE_INFO_ID;

                    row2_HashRow.DATA_SOURCE_ID = row2.DATA_SOURCE_ID;

                    tHash_Lookup_row2.put(row2_HashRow);

                    tos_count_tAdvancedHash_row2++;

                    /**
                     * [tAdvancedHash_row2 main ] stop
                     */

                    /**
                     * [tMysqlInput_2 end ] start
                     */

                    currentComponent = "tMysqlInput_2";

                }
                rs_tMysqlInput_2.close();
                stmt_tMysqlInput_2.close();
                conn_tMysqlInput_2.close();

                globalMap.put("tMysqlInput_2_NB_LINE", nb_line_tMysqlInput_2);

                ok_Hash.put("tMysqlInput_2", true);
                end_Hash.put("tMysqlInput_2", System.currentTimeMillis());

                /**
                 * [tMysqlInput_2 end ] stop
                 */

                /**
                 * [tAdvancedHash_row2 end ] start
                 */

                currentComponent = "tAdvancedHash_row2";

                tHash_Lookup_row2.endPut();

                ok_Hash.put("tAdvancedHash_row2", true);
                end_Hash.put("tAdvancedHash_row2", System.currentTimeMillis());

                /**
                 * [tAdvancedHash_row2 end ] stop
                 */

            } // end the resume

        } catch (Exception e) {

            throw new TalendException(e, currentComponent, globalMap);

        } catch (java.lang.Error error) {

            throw new java.lang.Error(error);

        }

        globalMap.put("tMysqlInput_2_SUBPROCESS_STATE", 1);
    }

    public String resuming_logs_dir_path = null;
    public String resuming_checkpoint_path = null;
    public String parent_part_launcher = null;
    private String resumeEntryMethodName = null;
    private boolean globalResumeTicket = false;

    public boolean watch = false;
    // portStats is null, it means don't execute the statistics
    public Integer portStats = null;
    public int portTraces = 4334;
    public String clientHost;
    public String defaultClientHost = "localhost";
    public String contextStr = "Default";
    public boolean isDefaultContext = true;
    public String pid = "0";
    public String rootPid = null;
    public String fatherPid = null;
    public String fatherNode = null;
    public long startTime = 0;
    public boolean isChildJob = false;

    private boolean execStat = true;

    private ThreadLocal<java.util.Map<String, String>> threadLocal = new ThreadLocal<java.util.Map<String, String>>() {
        protected java.util.Map<String, String> initialValue() {
            java.util.Map<String, String> threadRunResultMap = new java.util.HashMap<String, String>();
            threadRunResultMap.put("errorCode", null);
            threadRunResultMap.put("status", "");
            return threadRunResultMap;
        };
    };

    private java.util.Properties context_param = new java.util.Properties();
    public java.util.Map<String, Object> parentContextMap = new java.util.HashMap<String, Object>();

    public String status = "";

    public static void main(String[] args) {
        final loadPropertyImages loadPropertyImagesClass = new loadPropertyImages();

        int exitCode = loadPropertyImagesClass.runJobInTOS(args);
        System.exit(exitCode);
    }

    public String[][] runJob(String[] args) {

        int exitCode = runJobInTOS(args);
        String[][] bufferValue = new String[][] { { Integer.toString(exitCode) } };

        return bufferValue;
    }

    public int runJobInTOS(String[] args) {

        String lastStr = "";
        for (String arg : args) {
            if (arg.equalsIgnoreCase("--context_param")) {
                lastStr = arg;
            } else if (lastStr.equals("")) {
                evalParam(arg);
            } else {
                evalParam(lastStr + " " + arg);
                lastStr = "";
            }
        }

        if (clientHost == null) {
            clientHost = defaultClientHost;
        }

        if (pid == null || "0".equals(pid)) {
            pid = TalendString.getAsciiRandomString(6);
        }

        if (rootPid == null) {
            rootPid = pid;
        }
        if (fatherPid == null) {
            fatherPid = pid;
        } else {
            isChildJob = true;
        }

        try {
            // call job/subjob with an existing context, like:
            // --context=production. if without this parameter, there will use
            // the default context instead.
            java.io.InputStream inContext = loadPropertyImages.class.getClassLoader()
                    .getResourceAsStream("talonetl/loadpropertyimages_0_1/contexts/" + contextStr + ".properties");
            if (isDefaultContext && inContext == null) {

            } else {
                if (inContext != null) {
                    // defaultProps is in order to keep the original context
                    // value
                    defaultProps.load(inContext);
                    inContext.close();
                    context = new ContextProperties(defaultProps);
                } else {
                    // print info and job continue to run, for case:
                    // context_param is not empty.
                    System.err.println("Could not find the context " + contextStr);
                }
            }

            if (!context_param.isEmpty()) {
                context.putAll(context_param);
            }
            context.propertyUUId = (String) context.getProperty("propertyUUId");
            context.propertySourceUri = (String) context.getProperty("propertySourceUri");
        } catch (java.io.IOException ie) {
            System.err.println("Could not load context " + contextStr);
            ie.printStackTrace();
        }

        // get context value from parent directly
        if (parentContextMap != null && !parentContextMap.isEmpty()) {
            if (parentContextMap.containsKey("propertyUUId")) {
                context.propertyUUId = (String) parentContextMap.get("propertyUUId");
            }
            if (parentContextMap.containsKey("propertySourceUri")) {
                context.propertySourceUri = (String) parentContextMap.get("propertySourceUri");
            }
        }

        // Resume: init the resumeUtil
        resumeEntryMethodName = ResumeUtil.getResumeEntryMethodName(resuming_checkpoint_path);
        resumeUtil = new ResumeUtil(resuming_logs_dir_path, isChildJob, rootPid);
        resumeUtil.initCommonInfo(pid, rootPid, fatherPid, projectName, jobName, contextStr, jobVersion);

        // Resume: jobStart
        resumeUtil.addLog("JOB_STARTED", "JOB:" + jobName, parent_part_launcher,
                Thread.currentThread().getId() + "", "", "", "", "", resumeUtil.convertToJsonText(context));

        java.util.concurrent.ConcurrentHashMap<Object, Object> concurrentHashMap = new java.util.concurrent.ConcurrentHashMap<Object, Object>();
        globalMap.put("concurrentHashMap", concurrentHashMap);

        long startUsedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
        long endUsedMemory = 0;
        long end = 0;

        startTime = System.currentTimeMillis();

        this.globalResumeTicket = true;// to run tPreJob

        this.globalResumeTicket = false;// to run others jobs

        try {
            errorCode = null;
            tJava_3Process(globalMap);
            if (!"failure".equals(status)) {
                status = "end";
            }
        } catch (TalendException e_tJava_3) {

            e_tJava_3.printStackTrace();
            globalMap.put("tJava_3_SUBPROCESS_STATE", -1);

        }

        this.globalResumeTicket = true;// to run tPostJob

        end = System.currentTimeMillis();

        if (watch) {
            System.out.println((end - startTime) + " milliseconds");
        }

        endUsedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
        if (false) {
            System.out.println(
                    (endUsedMemory - startUsedMemory) + " bytes memory increase when running : loadPropertyImages");
        }

        int returnCode = 0;
        if (errorCode == null) {
            returnCode = status != null && status.equals("failure") ? 1 : 0;
        } else {
            returnCode = errorCode.intValue();
        }
        resumeUtil.addLog("JOB_ENDED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "",
                "", "" + returnCode, "", "", "");

        return returnCode;

    }

    public void destroy() {
    }

    private void evalParam(String arg) {
        if (arg.startsWith("--resuming_logs_dir_path")) {
            resuming_logs_dir_path = arg.substring(25);
        } else if (arg.startsWith("--resuming_checkpoint_path")) {
            resuming_checkpoint_path = arg.substring(27);
        } else if (arg.startsWith("--parent_part_launcher")) {
            parent_part_launcher = arg.substring(23);
        } else if (arg.startsWith("--watch")) {
            watch = true;
        } else if (arg.startsWith("--stat_port=")) {
            String portStatsStr = arg.substring(12);
            if (portStatsStr != null && !portStatsStr.equals("null")) {
                portStats = Integer.parseInt(portStatsStr);
            }
        } else if (arg.startsWith("--trace_port=")) {
            portTraces = Integer.parseInt(arg.substring(13));
        } else if (arg.startsWith("--client_host=")) {
            clientHost = arg.substring(14);
        } else if (arg.startsWith("--context=")) {
            contextStr = arg.substring(10);
            isDefaultContext = false;
        } else if (arg.startsWith("--father_pid=")) {
            fatherPid = arg.substring(13);
        } else if (arg.startsWith("--root_pid=")) {
            rootPid = arg.substring(11);
        } else if (arg.startsWith("--father_node=")) {
            fatherNode = arg.substring(14);
        } else if (arg.startsWith("--pid=")) {
            pid = arg.substring(6);
        } else if (arg.startsWith("--context_param")) {
            String keyValue = arg.substring(16);
            int index = -1;
            if (keyValue != null && (index = keyValue.indexOf('=')) > -1) {
                if (fatherPid == null) {
                    context_param.put(keyValue.substring(0, index),
                            replaceEscapeChars(keyValue.substring(index + 1)));
                } else { // the subjob won't escape the especial chars
                    context_param.put(keyValue.substring(0, index), keyValue.substring(index + 1));
                }
            }
        }

    }

    private final String[][] escapeChars = { { "\\n", "\n" }, { "\\'", "\'" }, { "\\r", "\r" }, { "\\f", "\f" },
            { "\\b", "\b" }, { "\\t", "\t" }, { "\\\\", "\\" } };

    private String replaceEscapeChars(String keyValue) {
        if (keyValue == null || ("").equals(keyValue.trim())) {
            return keyValue;
        }
        for (String[] strArray : escapeChars) {
            keyValue = keyValue.replace(strArray[0], strArray[1]);
        }
        return keyValue;
    }

    public Integer getErrorCode() {
        return errorCode;
    }

    public String getStatus() {
        return status;
    }

    ResumeUtil resumeUtil = null;
}
/************************************************************************************************
 * 215786 characters generated by Talend Open Studio for Data Integration on the
 * April 22, 2013 5:51:01 AM MDT
 ************************************************************************************************/