pahma_etl.tmslocation_barcode_5fld_1_1.TMSlocation_barcode_5fld.java Source code

Java tutorial

Introduction

Here is the source code for pahma_etl.tmslocation_barcode_5fld_1_1.TMSlocation_barcode_5fld.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 pahma_etl.tmslocation_barcode_5fld_1_1;

import routines.Mathematical;
import routines.ExtractDisplayName;
import routines.Guid;
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;

@SuppressWarnings("unused")
/**
 * Job: TMSlocation_barcode_5fld Purpose: <br>
 * Description: COPIED FROM TMSlocation_barcode_new (kept version 0.6 & 0.7)
 tracking object locations w/ barcode scanner (1-D for object ID and 2-D for location)
 v 0.2 add matching "location handler" from person_ID file (import into person auth) -- also use" inner join" & capture mismatch on names
 v 0.3 maintain "loc handler", but use "outer join" so ignore mismatched names
 v 0.4 merge the loc_movement & object relationship creation into this job
 v 0.5 calles into Postgres DB directly for the person refName (handler), loc refName (move loc) & obj CSID (move/obj relationship)
 instead of using external delimited file from prior runs
 v 0.6 dump format from barcode reader changed --- new 1st field = "reason for move", person is now on the 2nd field, followed by
 objectNumber, location & timestamp
 v 0.7 put everything in relative path so it can be exported to unix for batch run
 THIS HANDLES RECORDS W/ 5 FIELDS ONLY (THOSE STARTING W/ REASON FOR MOVE="M" or "I", NO CRATE)
 Additional changes --- 1. now write files to one level up (../temp) above the Talend job directory
 2. output files now carries the "time" as well as "date" so job can run multiple times within a day
 w/o overwriting the files
 version 0.8: use external tab-delimieted file (created by "talendinput.sh" in /home/developers/batch_barcode directory) for handler, 
 objectNumber, location & crates
 version 0.9: use external tab-delimited master "LocHandler.txt" file that maps the handler's code to handler's displayname
 so need to add this extra lookup in tMap
 version 1.0: add context variable "infile_min" to be used for composing the input barcode filename & all outputs.  
 Thus, we should be able to run multiple jobs as long as they are not within the *same* minute
 version 1.1: for PAHMA 3.2 migration, need to add collectionspace_core:refname to import payload <br>
 * @author test@talend.com
 * @version 5.2.1.r95165
 * @status 
 */
public class TMSlocation_barcode_5fld 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 (infile_min != null) {

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

            }

        }

        public String infile_min;

        public String getInfile_min() {
            return this.infile_min;
        }
    }

    private ContextProperties context = new ContextProperties();

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

    private final String jobVersion = "1.1";
    private final String jobName = "TMSlocation_barcode_5fld";
    private final String projectName = "PAHMA_ETL";
    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);
                    TMSlocation_barcode_5fld.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(TMSlocation_barcode_5fld.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 tFileInputDelimited_1_error(Exception exception, String errorComponent,
            final java.util.Map<String, Object> globalMap) throws TalendException {
        end_Hash.put("tFileInputDelimited_1", System.currentTimeMillis());

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_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";

        tFileInputDelimited_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";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_5_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_2_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";

        tFileInputDelimited_2_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_3_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_4_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_5_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_2_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_3_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_4_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_1_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_3_onSubJobError(exception, errorComponent, globalMap);
    }

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

        status = "failure";

        tFileInputDelimited_3_onSubJobError(exception, errorComponent, globalMap);
    }

    public void tFileInputDelimited_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 tFileInputDelimited_5_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 tFileInputDelimited_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 tFileInputDelimited_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 tFileInputDelimited_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), "");

    }

    private ESBProviderCallback callback = null;

    public void setProviderCallback(ESBProviderCallback callback) {
    }

    public ESBEndpointInfo getEndpoint() {
        return null;
    }

    public static class row3Struct implements routines.system.IPersistableRow<row3Struct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String objectNum;

        public String getObjectNum() {
            return this.objectNum;
        }

        public String obj_CSID;

        public String getObj_CSID() {
            return this.obj_CSID;
        }

        public String objectDocType;

        public String getObjectDocType() {
            return this.objectDocType;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public String move_CSID;

        public String getMove_CSID() {
            return this.move_CSID;
        }

        public String move_URI;

        public String getMove_URI() {
            return this.move_URI;
        }

        public String subjectDocType;

        public String getSubjectDocType() {
            return this.subjectDocType;
        }

        public String loc_refName;

        public String getLoc_refName() {
            return this.loc_refName;
        }

        public String move_timestamp;

        public String getMove_timestamp() {
            return this.move_timestamp;
        }

        public String move2obj_CSID;

        public String getMove2obj_CSID() {
            return this.move2obj_CSID;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        public String obj_uri;

        public String getObj_uri() {
            return this.obj_uri;
        }

        public String obj_refname;

        public String getObj_refname() {
            return this.obj_refname;
        }

        public String rel_m2o_uri;

        public String getRel_m2o_uri() {
            return this.rel_m2o_uri;
        }

        public String rel_m2o_refname;

        public String getRel_m2o_refname() {
            return this.rel_m2o_refname;
        }

        public String datetimeTZ;

        public String getDatetimeTZ() {
            return this.datetimeTZ;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.objectNum = readString(dis);

                    this.obj_CSID = readString(dis);

                    this.objectDocType = readString(dis);

                    this.moveID = readString(dis);

                    this.move_CSID = readString(dis);

                    this.move_URI = readString(dis);

                    this.subjectDocType = readString(dis);

                    this.loc_refName = readString(dis);

                    this.move_timestamp = readString(dis);

                    this.move2obj_CSID = readString(dis);

                    this.move_refname = readString(dis);

                    this.obj_uri = readString(dis);

                    this.obj_refname = readString(dis);

                    this.rel_m2o_uri = readString(dis);

                    this.rel_m2o_refname = readString(dis);

                    this.datetimeTZ = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.objectNum, dos);

                // String

                writeString(this.obj_CSID, dos);

                // String

                writeString(this.objectDocType, dos);

                // String

                writeString(this.moveID, dos);

                // String

                writeString(this.move_CSID, dos);

                // String

                writeString(this.move_URI, dos);

                // String

                writeString(this.subjectDocType, dos);

                // String

                writeString(this.loc_refName, dos);

                // String

                writeString(this.move_timestamp, dos);

                // String

                writeString(this.move2obj_CSID, dos);

                // String

                writeString(this.move_refname, dos);

                // String

                writeString(this.obj_uri, dos);

                // String

                writeString(this.obj_refname, dos);

                // String

                writeString(this.rel_m2o_uri, dos);

                // String

                writeString(this.rel_m2o_refname, dos);

                // String

                writeString(this.datetimeTZ, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("objectNum=" + objectNum);
            sb.append(",obj_CSID=" + obj_CSID);
            sb.append(",objectDocType=" + objectDocType);
            sb.append(",moveID=" + moveID);
            sb.append(",move_CSID=" + move_CSID);
            sb.append(",move_URI=" + move_URI);
            sb.append(",subjectDocType=" + subjectDocType);
            sb.append(",loc_refName=" + loc_refName);
            sb.append(",move_timestamp=" + move_timestamp);
            sb.append(",move2obj_CSID=" + move2obj_CSID);
            sb.append(",move_refname=" + move_refname);
            sb.append(",obj_uri=" + obj_uri);
            sb.append(",obj_refname=" + obj_refname);
            sb.append(",rel_m2o_uri=" + rel_m2o_uri);
            sb.append(",rel_m2o_refname=" + rel_m2o_refname);
            sb.append(",datetimeTZ=" + datetimeTZ);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(row3Struct 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 OnRowsEndStructtSortRow_5
            implements routines.system.IPersistableRow<OnRowsEndStructtSortRow_5> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String objectNum;

        public String getObjectNum() {
            return this.objectNum;
        }

        public String obj_CSID;

        public String getObj_CSID() {
            return this.obj_CSID;
        }

        public String objectDocType;

        public String getObjectDocType() {
            return this.objectDocType;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public String move_CSID;

        public String getMove_CSID() {
            return this.move_CSID;
        }

        public String move_URI;

        public String getMove_URI() {
            return this.move_URI;
        }

        public String subjectDocType;

        public String getSubjectDocType() {
            return this.subjectDocType;
        }

        public String loc_refName;

        public String getLoc_refName() {
            return this.loc_refName;
        }

        public String move_timestamp;

        public String getMove_timestamp() {
            return this.move_timestamp;
        }

        public String move2obj_CSID;

        public String getMove2obj_CSID() {
            return this.move2obj_CSID;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        public String obj_uri;

        public String getObj_uri() {
            return this.obj_uri;
        }

        public String obj_refname;

        public String getObj_refname() {
            return this.obj_refname;
        }

        public String rel_m2o_uri;

        public String getRel_m2o_uri() {
            return this.rel_m2o_uri;
        }

        public String rel_m2o_refname;

        public String getRel_m2o_refname() {
            return this.rel_m2o_refname;
        }

        public String datetimeTZ;

        public String getDatetimeTZ() {
            return this.datetimeTZ;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.objectNum = readString(dis);

                    this.obj_CSID = readString(dis);

                    this.objectDocType = readString(dis);

                    this.moveID = readString(dis);

                    this.move_CSID = readString(dis);

                    this.move_URI = readString(dis);

                    this.subjectDocType = readString(dis);

                    this.loc_refName = readString(dis);

                    this.move_timestamp = readString(dis);

                    this.move2obj_CSID = readString(dis);

                    this.move_refname = readString(dis);

                    this.obj_uri = readString(dis);

                    this.obj_refname = readString(dis);

                    this.rel_m2o_uri = readString(dis);

                    this.rel_m2o_refname = readString(dis);

                    this.datetimeTZ = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.objectNum, dos);

                // String

                writeString(this.obj_CSID, dos);

                // String

                writeString(this.objectDocType, dos);

                // String

                writeString(this.moveID, dos);

                // String

                writeString(this.move_CSID, dos);

                // String

                writeString(this.move_URI, dos);

                // String

                writeString(this.subjectDocType, dos);

                // String

                writeString(this.loc_refName, dos);

                // String

                writeString(this.move_timestamp, dos);

                // String

                writeString(this.move2obj_CSID, dos);

                // String

                writeString(this.move_refname, dos);

                // String

                writeString(this.obj_uri, dos);

                // String

                writeString(this.obj_refname, dos);

                // String

                writeString(this.rel_m2o_uri, dos);

                // String

                writeString(this.rel_m2o_refname, dos);

                // String

                writeString(this.datetimeTZ, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("objectNum=" + objectNum);
            sb.append(",obj_CSID=" + obj_CSID);
            sb.append(",objectDocType=" + objectDocType);
            sb.append(",moveID=" + moveID);
            sb.append(",move_CSID=" + move_CSID);
            sb.append(",move_URI=" + move_URI);
            sb.append(",subjectDocType=" + subjectDocType);
            sb.append(",loc_refName=" + loc_refName);
            sb.append(",move_timestamp=" + move_timestamp);
            sb.append(",move2obj_CSID=" + move2obj_CSID);
            sb.append(",move_refname=" + move_refname);
            sb.append(",obj_uri=" + obj_uri);
            sb.append(",obj_refname=" + obj_refname);
            sb.append(",rel_m2o_uri=" + rel_m2o_uri);
            sb.append(",rel_m2o_refname=" + rel_m2o_refname);
            sb.append(",datetimeTZ=" + datetimeTZ);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(OnRowsEndStructtSortRow_5 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_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String objectNum;

        public String getObjectNum() {
            return this.objectNum;
        }

        public String obj_CSID;

        public String getObj_CSID() {
            return this.obj_CSID;
        }

        public String subjectDoctype;

        public String getSubjectDoctype() {
            return this.subjectDoctype;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public String move_CSID;

        public String getMove_CSID() {
            return this.move_CSID;
        }

        public String move_URI;

        public String getMove_URI() {
            return this.move_URI;
        }

        public String objectDoctype;

        public String getObjectDoctype() {
            return this.objectDoctype;
        }

        public String loc_refName;

        public String getLoc_refName() {
            return this.loc_refName;
        }

        public String move_timestamp;

        public String getMove_timestamp() {
            return this.move_timestamp;
        }

        public String obj2move_CSID;

        public String getObj2move_CSID() {
            return this.obj2move_CSID;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        public String obj_uri;

        public String getObj_uri() {
            return this.obj_uri;
        }

        public String obj_refname;

        public String getObj_refname() {
            return this.obj_refname;
        }

        public String rel_o2m_uri;

        public String getRel_o2m_uri() {
            return this.rel_o2m_uri;
        }

        public String rel_o2m_refname;

        public String getRel_o2m_refname() {
            return this.rel_o2m_refname;
        }

        public String datetimeTZ;

        public String getDatetimeTZ() {
            return this.datetimeTZ;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.objectNum = readString(dis);

                    this.obj_CSID = readString(dis);

                    this.subjectDoctype = readString(dis);

                    this.moveID = readString(dis);

                    this.move_CSID = readString(dis);

                    this.move_URI = readString(dis);

                    this.objectDoctype = readString(dis);

                    this.loc_refName = readString(dis);

                    this.move_timestamp = readString(dis);

                    this.obj2move_CSID = readString(dis);

                    this.move_refname = readString(dis);

                    this.obj_uri = readString(dis);

                    this.obj_refname = readString(dis);

                    this.rel_o2m_uri = readString(dis);

                    this.rel_o2m_refname = readString(dis);

                    this.datetimeTZ = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.objectNum, dos);

                // String

                writeString(this.obj_CSID, dos);

                // String

                writeString(this.subjectDoctype, dos);

                // String

                writeString(this.moveID, dos);

                // String

                writeString(this.move_CSID, dos);

                // String

                writeString(this.move_URI, dos);

                // String

                writeString(this.objectDoctype, dos);

                // String

                writeString(this.loc_refName, dos);

                // String

                writeString(this.move_timestamp, dos);

                // String

                writeString(this.obj2move_CSID, dos);

                // String

                writeString(this.move_refname, dos);

                // String

                writeString(this.obj_uri, dos);

                // String

                writeString(this.obj_refname, dos);

                // String

                writeString(this.rel_o2m_uri, dos);

                // String

                writeString(this.rel_o2m_refname, dos);

                // String

                writeString(this.datetimeTZ, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("objectNum=" + objectNum);
            sb.append(",obj_CSID=" + obj_CSID);
            sb.append(",subjectDoctype=" + subjectDoctype);
            sb.append(",moveID=" + moveID);
            sb.append(",move_CSID=" + move_CSID);
            sb.append(",move_URI=" + move_URI);
            sb.append(",objectDoctype=" + objectDoctype);
            sb.append(",loc_refName=" + loc_refName);
            sb.append(",move_timestamp=" + move_timestamp);
            sb.append(",obj2move_CSID=" + obj2move_CSID);
            sb.append(",move_refname=" + move_refname);
            sb.append(",obj_uri=" + obj_uri);
            sb.append(",obj_refname=" + obj_refname);
            sb.append(",rel_o2m_uri=" + rel_o2m_uri);
            sb.append(",rel_o2m_refname=" + rel_o2m_refname);
            sb.append(",datetimeTZ=" + datetimeTZ);
            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 OnRowsEndStructtSortRow_4
            implements routines.system.IPersistableRow<OnRowsEndStructtSortRow_4> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String objectNum;

        public String getObjectNum() {
            return this.objectNum;
        }

        public String obj_CSID;

        public String getObj_CSID() {
            return this.obj_CSID;
        }

        public String subjectDoctype;

        public String getSubjectDoctype() {
            return this.subjectDoctype;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public String move_CSID;

        public String getMove_CSID() {
            return this.move_CSID;
        }

        public String move_URI;

        public String getMove_URI() {
            return this.move_URI;
        }

        public String objectDoctype;

        public String getObjectDoctype() {
            return this.objectDoctype;
        }

        public String loc_refName;

        public String getLoc_refName() {
            return this.loc_refName;
        }

        public String move_timestamp;

        public String getMove_timestamp() {
            return this.move_timestamp;
        }

        public String obj2move_CSID;

        public String getObj2move_CSID() {
            return this.obj2move_CSID;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        public String obj_uri;

        public String getObj_uri() {
            return this.obj_uri;
        }

        public String obj_refname;

        public String getObj_refname() {
            return this.obj_refname;
        }

        public String rel_o2m_uri;

        public String getRel_o2m_uri() {
            return this.rel_o2m_uri;
        }

        public String rel_o2m_refname;

        public String getRel_o2m_refname() {
            return this.rel_o2m_refname;
        }

        public String datetimeTZ;

        public String getDatetimeTZ() {
            return this.datetimeTZ;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.objectNum = readString(dis);

                    this.obj_CSID = readString(dis);

                    this.subjectDoctype = readString(dis);

                    this.moveID = readString(dis);

                    this.move_CSID = readString(dis);

                    this.move_URI = readString(dis);

                    this.objectDoctype = readString(dis);

                    this.loc_refName = readString(dis);

                    this.move_timestamp = readString(dis);

                    this.obj2move_CSID = readString(dis);

                    this.move_refname = readString(dis);

                    this.obj_uri = readString(dis);

                    this.obj_refname = readString(dis);

                    this.rel_o2m_uri = readString(dis);

                    this.rel_o2m_refname = readString(dis);

                    this.datetimeTZ = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.objectNum, dos);

                // String

                writeString(this.obj_CSID, dos);

                // String

                writeString(this.subjectDoctype, dos);

                // String

                writeString(this.moveID, dos);

                // String

                writeString(this.move_CSID, dos);

                // String

                writeString(this.move_URI, dos);

                // String

                writeString(this.objectDoctype, dos);

                // String

                writeString(this.loc_refName, dos);

                // String

                writeString(this.move_timestamp, dos);

                // String

                writeString(this.obj2move_CSID, dos);

                // String

                writeString(this.move_refname, dos);

                // String

                writeString(this.obj_uri, dos);

                // String

                writeString(this.obj_refname, dos);

                // String

                writeString(this.rel_o2m_uri, dos);

                // String

                writeString(this.rel_o2m_refname, dos);

                // String

                writeString(this.datetimeTZ, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("objectNum=" + objectNum);
            sb.append(",obj_CSID=" + obj_CSID);
            sb.append(",subjectDoctype=" + subjectDoctype);
            sb.append(",moveID=" + moveID);
            sb.append(",move_CSID=" + move_CSID);
            sb.append(",move_URI=" + move_URI);
            sb.append(",objectDoctype=" + objectDoctype);
            sb.append(",loc_refName=" + loc_refName);
            sb.append(",move_timestamp=" + move_timestamp);
            sb.append(",obj2move_CSID=" + obj2move_CSID);
            sb.append(",move_refname=" + move_refname);
            sb.append(",obj_uri=" + obj_uri);
            sb.append(",obj_refname=" + obj_refname);
            sb.append(",rel_o2m_uri=" + rel_o2m_uri);
            sb.append(",rel_o2m_refname=" + rel_o2m_refname);
            sb.append(",datetimeTZ=" + datetimeTZ);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(OnRowsEndStructtSortRow_4 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 out_moveXMLStruct implements routines.system.IPersistableRow<out_moveXMLStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String Item_Num;

        public String getItem_Num() {
            return this.Item_Num;
        }

        public String locations_refname;

        public String getLocations_refname() {
            return this.locations_refname;
        }

        public String locations_displayname;

        public String getLocations_displayname() {
            return this.locations_displayname;
        }

        public String loc_handler;

        public String getLoc_handler() {
            return this.loc_handler;
        }

        public String Capture_timestamp;

        public String getCapture_timestamp() {
            return this.Capture_timestamp;
        }

        public String reason4move;

        public String getReason4move() {
            return this.reason4move;
        }

        public String computedSummary;

        public String getComputedSummary() {
            return this.computedSummary;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public String moveCSID;

        public String getMoveCSID() {
            return this.moveCSID;
        }

        public String move_uri;

        public String getMove_uri() {
            return this.move_uri;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.Item_Num = readString(dis);

                    this.locations_refname = readString(dis);

                    this.locations_displayname = readString(dis);

                    this.loc_handler = readString(dis);

                    this.Capture_timestamp = readString(dis);

                    this.reason4move = readString(dis);

                    this.computedSummary = readString(dis);

                    this.moveID = readString(dis);

                    this.moveCSID = readString(dis);

                    this.move_uri = readString(dis);

                    this.move_refname = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.Item_Num, dos);

                // String

                writeString(this.locations_refname, dos);

                // String

                writeString(this.locations_displayname, dos);

                // String

                writeString(this.loc_handler, dos);

                // String

                writeString(this.Capture_timestamp, dos);

                // String

                writeString(this.reason4move, dos);

                // String

                writeString(this.computedSummary, dos);

                // String

                writeString(this.moveID, dos);

                // String

                writeString(this.moveCSID, dos);

                // String

                writeString(this.move_uri, dos);

                // String

                writeString(this.move_refname, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("Item_Num=" + Item_Num);
            sb.append(",locations_refname=" + locations_refname);
            sb.append(",locations_displayname=" + locations_displayname);
            sb.append(",loc_handler=" + loc_handler);
            sb.append(",Capture_timestamp=" + Capture_timestamp);
            sb.append(",reason4move=" + reason4move);
            sb.append(",computedSummary=" + computedSummary);
            sb.append(",moveID=" + moveID);
            sb.append(",moveCSID=" + moveCSID);
            sb.append(",move_uri=" + move_uri);
            sb.append(",move_refname=" + move_refname);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(out_moveXMLStruct 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 moveCSIDStruct implements routines.system.IPersistableRow<moveCSIDStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String moveCSID;

        public String getMoveCSID() {
            return this.moveCSID;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.moveCSID = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.moveCSID, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("moveCSID=" + moveCSID);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(moveCSIDStruct 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 IDStruct implements routines.system.IPersistableRow<IDStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String Item_Num;

        public String getItem_Num() {
            return this.Item_Num;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public Boolean null_loc;

        public Boolean getNull_loc() {
            return this.null_loc;
        }

        public Boolean null_handler;

        public Boolean getNull_handler() {
            return this.null_handler;
        }

        public Boolean null_obj;

        public Boolean getNull_obj() {
            return this.null_obj;
        }

        public String locations_refname;

        public String getLocations_refname() {
            return this.locations_refname;
        }

        public String loc_handler_refname;

        public String getLoc_handler_refname() {
            return this.loc_handler_refname;
        }

        public String capture_datetime;

        public String getCapture_datetime() {
            return this.capture_datetime;
        }

        public String moveCSID;

        public String getMoveCSID() {
            return this.moveCSID;
        }

        public String move2obj_CSID;

        public String getMove2obj_CSID() {
            return this.move2obj_CSID;
        }

        public String obj2move_CSID;

        public String getObj2move_CSID() {
            return this.obj2move_CSID;
        }

        public String move_uri;

        public String getMove_uri() {
            return this.move_uri;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        public String obj_uri;

        public String getObj_uri() {
            return this.obj_uri;
        }

        public String obj_refname;

        public String getObj_refname() {
            return this.obj_refname;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.Item_Num = readString(dis);

                    this.moveID = readString(dis);

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

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

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

                    this.locations_refname = readString(dis);

                    this.loc_handler_refname = readString(dis);

                    this.capture_datetime = readString(dis);

                    this.moveCSID = readString(dis);

                    this.move2obj_CSID = readString(dis);

                    this.obj2move_CSID = readString(dis);

                    this.move_uri = readString(dis);

                    this.move_refname = readString(dis);

                    this.obj_uri = readString(dis);

                    this.obj_refname = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.Item_Num, dos);

                // String

                writeString(this.moveID, dos);

                // Boolean

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

                // Boolean

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

                // Boolean

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

                // String

                writeString(this.locations_refname, dos);

                // String

                writeString(this.loc_handler_refname, dos);

                // String

                writeString(this.capture_datetime, dos);

                // String

                writeString(this.moveCSID, dos);

                // String

                writeString(this.move2obj_CSID, dos);

                // String

                writeString(this.obj2move_CSID, dos);

                // String

                writeString(this.move_uri, dos);

                // String

                writeString(this.move_refname, dos);

                // String

                writeString(this.obj_uri, dos);

                // String

                writeString(this.obj_refname, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("Item_Num=" + Item_Num);
            sb.append(",moveID=" + moveID);
            sb.append(",null_loc=" + String.valueOf(null_loc));
            sb.append(",null_handler=" + String.valueOf(null_handler));
            sb.append(",null_obj=" + String.valueOf(null_obj));
            sb.append(",locations_refname=" + locations_refname);
            sb.append(",loc_handler_refname=" + loc_handler_refname);
            sb.append(",capture_datetime=" + capture_datetime);
            sb.append(",moveCSID=" + moveCSID);
            sb.append(",move2obj_CSID=" + move2obj_CSID);
            sb.append(",obj2move_CSID=" + obj2move_CSID);
            sb.append(",move_uri=" + move_uri);
            sb.append(",move_refname=" + move_refname);
            sb.append(",obj_uri=" + obj_uri);
            sb.append(",obj_refname=" + obj_refname);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(IDStruct 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 unmatch_locStruct implements routines.system.IPersistableRow<unmatch_locStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String Item_Num;

        public String getItem_Num() {
            return this.Item_Num;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public boolean reject_loc;

        public boolean getReject_loc() {
            return this.reject_loc;
        }

        public Boolean reject_handler;

        public Boolean getReject_handler() {
            return this.reject_handler;
        }

        public Boolean reject_obj;

        public Boolean getReject_obj() {
            return this.reject_obj;
        }

        public String Location;

        public String getLocation() {
            return this.Location;
        }

        public String locations_refname;

        public String getLocations_refname() {
            return this.locations_refname;
        }

        public String loc_handler;

        public String getLoc_handler() {
            return this.loc_handler;
        }

        public String loc_handler_refname;

        public String getLoc_handler_refname() {
            return this.loc_handler_refname;
        }

        public String Capture_timestamp;

        public String getCapture_timestamp() {
            return this.Capture_timestamp;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.Item_Num = readString(dis);

                    this.moveID = readString(dis);

                    this.reject_loc = dis.readBoolean();

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

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

                    this.Location = readString(dis);

                    this.locations_refname = readString(dis);

                    this.loc_handler = readString(dis);

                    this.loc_handler_refname = readString(dis);

                    this.Capture_timestamp = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.Item_Num, dos);

                // String

                writeString(this.moveID, dos);

                // boolean

                dos.writeBoolean(this.reject_loc);

                // Boolean

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

                // Boolean

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

                // String

                writeString(this.Location, dos);

                // String

                writeString(this.locations_refname, dos);

                // String

                writeString(this.loc_handler, dos);

                // String

                writeString(this.loc_handler_refname, dos);

                // String

                writeString(this.Capture_timestamp, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("Item_Num=" + Item_Num);
            sb.append(",moveID=" + moveID);
            sb.append(",reject_loc=" + String.valueOf(reject_loc));
            sb.append(",reject_handler=" + String.valueOf(reject_handler));
            sb.append(",reject_obj=" + String.valueOf(reject_obj));
            sb.append(",Location=" + Location);
            sb.append(",locations_refname=" + locations_refname);
            sb.append(",loc_handler=" + loc_handler);
            sb.append(",loc_handler_refname=" + loc_handler_refname);
            sb.append(",Capture_timestamp=" + Capture_timestamp);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(unmatch_locStruct 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 move2obj_XMLStruct implements routines.system.IPersistableRow<move2obj_XMLStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String objectNum;

        public String getObjectNum() {
            return this.objectNum;
        }

        public String obj_CSID;

        public String getObj_CSID() {
            return this.obj_CSID;
        }

        public String objectDocType;

        public String getObjectDocType() {
            return this.objectDocType;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public String move_CSID;

        public String getMove_CSID() {
            return this.move_CSID;
        }

        public String move_URI;

        public String getMove_URI() {
            return this.move_URI;
        }

        public String subjectDocType;

        public String getSubjectDocType() {
            return this.subjectDocType;
        }

        public String loc_refName;

        public String getLoc_refName() {
            return this.loc_refName;
        }

        public String move_timestamp;

        public String getMove_timestamp() {
            return this.move_timestamp;
        }

        public String move2obj_CSID;

        public String getMove2obj_CSID() {
            return this.move2obj_CSID;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        public String obj_uri;

        public String getObj_uri() {
            return this.obj_uri;
        }

        public String obj_refname;

        public String getObj_refname() {
            return this.obj_refname;
        }

        public String rel_m2o_uri;

        public String getRel_m2o_uri() {
            return this.rel_m2o_uri;
        }

        public String rel_m2o_refname;

        public String getRel_m2o_refname() {
            return this.rel_m2o_refname;
        }

        public String datetimeTZ;

        public String getDatetimeTZ() {
            return this.datetimeTZ;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.objectNum = readString(dis);

                    this.obj_CSID = readString(dis);

                    this.objectDocType = readString(dis);

                    this.moveID = readString(dis);

                    this.move_CSID = readString(dis);

                    this.move_URI = readString(dis);

                    this.subjectDocType = readString(dis);

                    this.loc_refName = readString(dis);

                    this.move_timestamp = readString(dis);

                    this.move2obj_CSID = readString(dis);

                    this.move_refname = readString(dis);

                    this.obj_uri = readString(dis);

                    this.obj_refname = readString(dis);

                    this.rel_m2o_uri = readString(dis);

                    this.rel_m2o_refname = readString(dis);

                    this.datetimeTZ = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.objectNum, dos);

                // String

                writeString(this.obj_CSID, dos);

                // String

                writeString(this.objectDocType, dos);

                // String

                writeString(this.moveID, dos);

                // String

                writeString(this.move_CSID, dos);

                // String

                writeString(this.move_URI, dos);

                // String

                writeString(this.subjectDocType, dos);

                // String

                writeString(this.loc_refName, dos);

                // String

                writeString(this.move_timestamp, dos);

                // String

                writeString(this.move2obj_CSID, dos);

                // String

                writeString(this.move_refname, dos);

                // String

                writeString(this.obj_uri, dos);

                // String

                writeString(this.obj_refname, dos);

                // String

                writeString(this.rel_m2o_uri, dos);

                // String

                writeString(this.rel_m2o_refname, dos);

                // String

                writeString(this.datetimeTZ, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("objectNum=" + objectNum);
            sb.append(",obj_CSID=" + obj_CSID);
            sb.append(",objectDocType=" + objectDocType);
            sb.append(",moveID=" + moveID);
            sb.append(",move_CSID=" + move_CSID);
            sb.append(",move_URI=" + move_URI);
            sb.append(",subjectDocType=" + subjectDocType);
            sb.append(",loc_refName=" + loc_refName);
            sb.append(",move_timestamp=" + move_timestamp);
            sb.append(",move2obj_CSID=" + move2obj_CSID);
            sb.append(",move_refname=" + move_refname);
            sb.append(",obj_uri=" + obj_uri);
            sb.append(",obj_refname=" + obj_refname);
            sb.append(",rel_m2o_uri=" + rel_m2o_uri);
            sb.append(",rel_m2o_refname=" + rel_m2o_refname);
            sb.append(",datetimeTZ=" + datetimeTZ);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(move2obj_XMLStruct 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 obj2move_XMLStruct implements routines.system.IPersistableRow<obj2move_XMLStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String objectNum;

        public String getObjectNum() {
            return this.objectNum;
        }

        public String obj_CSID;

        public String getObj_CSID() {
            return this.obj_CSID;
        }

        public String subjectDoctype;

        public String getSubjectDoctype() {
            return this.subjectDoctype;
        }

        public String moveID;

        public String getMoveID() {
            return this.moveID;
        }

        public String move_CSID;

        public String getMove_CSID() {
            return this.move_CSID;
        }

        public String move_URI;

        public String getMove_URI() {
            return this.move_URI;
        }

        public String objectDoctype;

        public String getObjectDoctype() {
            return this.objectDoctype;
        }

        public String loc_refName;

        public String getLoc_refName() {
            return this.loc_refName;
        }

        public String move_timestamp;

        public String getMove_timestamp() {
            return this.move_timestamp;
        }

        public String obj2move_CSID;

        public String getObj2move_CSID() {
            return this.obj2move_CSID;
        }

        public String move_refname;

        public String getMove_refname() {
            return this.move_refname;
        }

        public String obj_uri;

        public String getObj_uri() {
            return this.obj_uri;
        }

        public String obj_refname;

        public String getObj_refname() {
            return this.obj_refname;
        }

        public String rel_o2m_uri;

        public String getRel_o2m_uri() {
            return this.rel_o2m_uri;
        }

        public String rel_o2m_refname;

        public String getRel_o2m_refname() {
            return this.rel_o2m_refname;
        }

        public String datetimeTZ;

        public String getDatetimeTZ() {
            return this.datetimeTZ;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.objectNum = readString(dis);

                    this.obj_CSID = readString(dis);

                    this.subjectDoctype = readString(dis);

                    this.moveID = readString(dis);

                    this.move_CSID = readString(dis);

                    this.move_URI = readString(dis);

                    this.objectDoctype = readString(dis);

                    this.loc_refName = readString(dis);

                    this.move_timestamp = readString(dis);

                    this.obj2move_CSID = readString(dis);

                    this.move_refname = readString(dis);

                    this.obj_uri = readString(dis);

                    this.obj_refname = readString(dis);

                    this.rel_o2m_uri = readString(dis);

                    this.rel_o2m_refname = readString(dis);

                    this.datetimeTZ = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.objectNum, dos);

                // String

                writeString(this.obj_CSID, dos);

                // String

                writeString(this.subjectDoctype, dos);

                // String

                writeString(this.moveID, dos);

                // String

                writeString(this.move_CSID, dos);

                // String

                writeString(this.move_URI, dos);

                // String

                writeString(this.objectDoctype, dos);

                // String

                writeString(this.loc_refName, dos);

                // String

                writeString(this.move_timestamp, dos);

                // String

                writeString(this.obj2move_CSID, dos);

                // String

                writeString(this.move_refname, dos);

                // String

                writeString(this.obj_uri, dos);

                // String

                writeString(this.obj_refname, dos);

                // String

                writeString(this.rel_o2m_uri, dos);

                // String

                writeString(this.rel_o2m_refname, dos);

                // String

                writeString(this.datetimeTZ, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("objectNum=" + objectNum);
            sb.append(",obj_CSID=" + obj_CSID);
            sb.append(",subjectDoctype=" + subjectDoctype);
            sb.append(",moveID=" + moveID);
            sb.append(",move_CSID=" + move_CSID);
            sb.append(",move_URI=" + move_URI);
            sb.append(",objectDoctype=" + objectDoctype);
            sb.append(",loc_refName=" + loc_refName);
            sb.append(",move_timestamp=" + move_timestamp);
            sb.append(",obj2move_CSID=" + obj2move_CSID);
            sb.append(",move_refname=" + move_refname);
            sb.append(",obj_uri=" + obj_uri);
            sb.append(",obj_refname=" + obj_refname);
            sb.append(",rel_o2m_uri=" + rel_o2m_uri);
            sb.append(",rel_o2m_refname=" + rel_o2m_refname);
            sb.append(",datetimeTZ=" + datetimeTZ);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(obj2move_XMLStruct 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 obj_locStruct implements routines.system.IPersistableRow<obj_locStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String reason_for_move;

        public String getReason_for_move() {
            return this.reason_for_move;
        }

        public String person_scanning;

        public String getPerson_scanning() {
            return this.person_scanning;
        }

        public String objectNumber;

        public String getObjectNumber() {
            return this.objectNumber;
        }

        public String location;

        public String getLocation() {
            return this.location;
        }

        public String date_time;

        public String getDate_time() {
            return this.date_time;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.reason_for_move = readString(dis);

                    this.person_scanning = readString(dis);

                    this.objectNumber = readString(dis);

                    this.location = readString(dis);

                    this.date_time = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.reason_for_move, dos);

                // String

                writeString(this.person_scanning, dos);

                // String

                writeString(this.objectNumber, dos);

                // String

                writeString(this.location, dos);

                // String

                writeString(this.date_time, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("reason_for_move=" + reason_for_move);
            sb.append(",person_scanning=" + person_scanning);
            sb.append(",objectNumber=" + objectNumber);
            sb.append(",location=" + location);
            sb.append(",date_time=" + date_time);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(obj_locStruct 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 row2Struct implements routines.system.IPersistableRow<row2Struct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String reason_for_move;

        public String getReason_for_move() {
            return this.reason_for_move;
        }

        public String person_scanning;

        public String getPerson_scanning() {
            return this.person_scanning;
        }

        public String objectNumber;

        public String getObjectNumber() {
            return this.objectNumber;
        }

        public String location;

        public String getLocation() {
            return this.location;
        }

        public String date_time;

        public String getDate_time() {
            return this.date_time;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.reason_for_move = readString(dis);

                    this.person_scanning = readString(dis);

                    this.objectNumber = readString(dis);

                    this.location = readString(dis);

                    this.date_time = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.reason_for_move, dos);

                // String

                writeString(this.person_scanning, dos);

                // String

                writeString(this.objectNumber, dos);

                // String

                writeString(this.location, dos);

                // String

                writeString(this.date_time, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("reason_for_move=" + reason_for_move);
            sb.append(",person_scanning=" + person_scanning);
            sb.append(",objectNumber=" + objectNumber);
            sb.append(",location=" + location);
            sb.append(",date_time=" + date_time);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(row2Struct 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 OnRowsEndStructtSortRow_3
            implements routines.system.IPersistableRow<OnRowsEndStructtSortRow_3> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String reason_for_move;

        public String getReason_for_move() {
            return this.reason_for_move;
        }

        public String person_scanning;

        public String getPerson_scanning() {
            return this.person_scanning;
        }

        public String objectNumber;

        public String getObjectNumber() {
            return this.objectNumber;
        }

        public String location;

        public String getLocation() {
            return this.location;
        }

        public String date_time;

        public String getDate_time() {
            return this.date_time;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.reason_for_move = readString(dis);

                    this.person_scanning = readString(dis);

                    this.objectNumber = readString(dis);

                    this.location = readString(dis);

                    this.date_time = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.reason_for_move, dos);

                // String

                writeString(this.person_scanning, dos);

                // String

                writeString(this.objectNumber, dos);

                // String

                writeString(this.location, dos);

                // String

                writeString(this.date_time, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("reason_for_move=" + reason_for_move);
            sb.append(",person_scanning=" + person_scanning);
            sb.append(",objectNumber=" + objectNumber);
            sb.append(",location=" + location);
            sb.append(",date_time=" + date_time);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(OnRowsEndStructtSortRow_3 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 barcode_wNameStruct implements routines.system.IPersistableRow<barcode_wNameStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String reason_for_move;

        public String getReason_for_move() {
            return this.reason_for_move;
        }

        public String person_scanning;

        public String getPerson_scanning() {
            return this.person_scanning;
        }

        public String objectNumber;

        public String getObjectNumber() {
            return this.objectNumber;
        }

        public String location;

        public String getLocation() {
            return this.location;
        }

        public String date_time;

        public String getDate_time() {
            return this.date_time;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.reason_for_move = readString(dis);

                    this.person_scanning = readString(dis);

                    this.objectNumber = readString(dis);

                    this.location = readString(dis);

                    this.date_time = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.reason_for_move, dos);

                // String

                writeString(this.person_scanning, dos);

                // String

                writeString(this.objectNumber, dos);

                // String

                writeString(this.location, dos);

                // String

                writeString(this.date_time, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("reason_for_move=" + reason_for_move);
            sb.append(",person_scanning=" + person_scanning);
            sb.append(",objectNumber=" + objectNumber);
            sb.append(",location=" + location);
            sb.append(",date_time=" + date_time);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(barcode_wNameStruct 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 barcode_fileStruct implements routines.system.IPersistableRow<barcode_fileStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String reason_for_move;

        public String getReason_for_move() {
            return this.reason_for_move;
        }

        public String person_scanning;

        public String getPerson_scanning() {
            return this.person_scanning;
        }

        public String objectNumber;

        public String getObjectNumber() {
            return this.objectNumber;
        }

        public String location;

        public String getLocation() {
            return this.location;
        }

        public String date_time;

        public String getDate_time() {
            return this.date_time;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.reason_for_move = readString(dis);

                    this.person_scanning = readString(dis);

                    this.objectNumber = readString(dis);

                    this.location = readString(dis);

                    this.date_time = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.reason_for_move, dos);

                // String

                writeString(this.person_scanning, dos);

                // String

                writeString(this.objectNumber, dos);

                // String

                writeString(this.location, dos);

                // String

                writeString(this.date_time, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("reason_for_move=" + reason_for_move);
            sb.append(",person_scanning=" + person_scanning);
            sb.append(",objectNumber=" + objectNumber);
            sb.append(",location=" + location);
            sb.append(",date_time=" + date_time);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(barcode_fileStruct 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_tFileInputDelimited_1Struct
            implements routines.system.IPersistableRow<after_tFileInputDelimited_1Struct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String reason_for_move;

        public String getReason_for_move() {
            return this.reason_for_move;
        }

        public String person_scanning;

        public String getPerson_scanning() {
            return this.person_scanning;
        }

        public String objectNumber;

        public String getObjectNumber() {
            return this.objectNumber;
        }

        public String location;

        public String getLocation() {
            return this.location;
        }

        public String date_time;

        public String getDate_time() {
            return this.date_time;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.reason_for_move = readString(dis);

                    this.person_scanning = readString(dis);

                    this.objectNumber = readString(dis);

                    this.location = readString(dis);

                    this.date_time = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.reason_for_move, dos);

                // String

                writeString(this.person_scanning, dos);

                // String

                writeString(this.objectNumber, dos);

                // String

                writeString(this.location, dos);

                // String

                writeString(this.date_time, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("reason_for_move=" + reason_for_move);
            sb.append(",person_scanning=" + person_scanning);
            sb.append(",objectNumber=" + objectNumber);
            sb.append(",location=" + location);
            sb.append(",date_time=" + date_time);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(after_tFileInputDelimited_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 tFileInputDelimited_1Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tFileInputDelimited_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;

                tFileInputDelimited_5Process(globalMap);
                tFileInputDelimited_2Process(globalMap);
                tFileInputDelimited_3Process(globalMap);
                tFileInputDelimited_4Process(globalMap);

                barcode_fileStruct barcode_file = new barcode_fileStruct();
                barcode_wNameStruct barcode_wName = new barcode_wNameStruct();
                row2Struct row2 = new row2Struct();
                obj_locStruct obj_loc = new obj_locStruct();
                out_moveXMLStruct out_moveXML = new out_moveXMLStruct();
                moveCSIDStruct moveCSID = new moveCSIDStruct();
                IDStruct ID = new IDStruct();
                unmatch_locStruct unmatch_loc = new unmatch_locStruct();
                move2obj_XMLStruct move2obj_XML = new move2obj_XMLStruct();
                row3Struct row3 = new row3Struct();
                obj2move_XMLStruct obj2move_XML = new obj2move_XMLStruct();
                row1Struct row1 = new row1Struct();

                /**
                 * [tSortRow_3_SortOut begin ] start
                 */

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

                int tos_count_tSortRow_3_SortOut = 0;

                class Comparablebarcode_wNameStruct extends barcode_wNameStruct
                        implements Comparable<Comparablebarcode_wNameStruct> {

                    public int compareTo(Comparablebarcode_wNameStruct other) {

                        if (this.date_time == null && other.date_time != null) {
                            return -1;

                        } else if (this.date_time != null && other.date_time == null) {
                            return 1;

                        } else if (this.date_time != null && other.date_time != null) {
                            if (!this.date_time.equals(other.date_time)) {
                                return this.date_time.compareTo(other.date_time);
                            }
                        }
                        if (this.objectNumber == null && other.objectNumber != null) {
                            return -1;

                        } else if (this.objectNumber != null && other.objectNumber == null) {
                            return 1;

                        } else if (this.objectNumber != null && other.objectNumber != null) {
                            if (!this.objectNumber.equals(other.objectNumber)) {
                                return this.objectNumber.compareTo(other.objectNumber);
                            }
                        }
                        if (this.location == null && other.location != null) {
                            return -1;

                        } else if (this.location != null && other.location == null) {
                            return 1;

                        } else if (this.location != null && other.location != null) {
                            if (!this.location.equals(other.location)) {
                                return this.location.compareTo(other.location);
                            }
                        }
                        return 0;
                    }
                }

                java.util.List<Comparablebarcode_wNameStruct> list_tSortRow_3_SortOut = new java.util.ArrayList<Comparablebarcode_wNameStruct>();

                /**
                 * [tSortRow_3_SortOut begin ] stop
                 */

                /**
                 * [tMap_6 begin ] start
                 */

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

                int tos_count_tMap_6 = 0;

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

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

                handler_listStruct handler_listHashKey = new handler_listStruct();
                handler_listStruct handler_listDefault = new handler_listStruct();
                // ###############################

                // ###############################
                // # Vars initialization
                class Var__tMap_6__Struct {
                }
                Var__tMap_6__Struct Var__tMap_6 = new Var__tMap_6__Struct();
                // ###############################

                // ###############################
                // # Outputs initialization
                barcode_wNameStruct barcode_wName_tmp = new barcode_wNameStruct();
                // ###############################

                /**
                 * [tMap_6 begin ] stop
                 */

                /**
                 * [tFileInputDelimited_1 begin ] start
                 */

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

                int tos_count_tFileInputDelimited_1 = 0;

                class RowHelper_tFileInputDelimited_1 {

                    public void valueToConn(String[] row, barcode_fileStruct barcode_file) throws Exception {

                        if (row.length == 1 && ("\015").equals(row[0])) {// empty
                            // line
                            // when
                            // row
                            // separator
                            // is
                            // '\n'

                            barcode_file.reason_for_move = null;

                            barcode_file.person_scanning = null;

                            barcode_file.objectNumber = null;

                            barcode_file.location = null;

                            barcode_file.date_time = null;

                        } else {

                            if (0 < row.length) {

                                barcode_file.reason_for_move = row[0];

                            } else {
                                barcode_file.reason_for_move = null;
                            }

                            if (1 < row.length) {

                                barcode_file.person_scanning = row[1];

                            } else {
                                barcode_file.person_scanning = null;
                            }

                            if (2 < row.length) {

                                barcode_file.objectNumber = row[2];

                            } else {
                                barcode_file.objectNumber = null;
                            }

                            if (3 < row.length) {

                                barcode_file.location = row[3];

                            } else {
                                barcode_file.location = null;
                            }

                            if (4 < row.length) {

                                barcode_file.date_time = row[4];

                            } else {
                                barcode_file.date_time = null;
                            }

                        }

                    }

                }
                RowHelper_tFileInputDelimited_1 rowHelper_tFileInputDelimited_1 = new RowHelper_tFileInputDelimited_1();

                int nb_line_tFileInputDelimited_1 = 0;
                int footer_tFileInputDelimited_1 = 0;
                int totalLinetFileInputDelimited_1 = 0;
                int limittFileInputDelimited_1 = -1;
                int lastLinetFileInputDelimited_1 = -1;

                char fieldSeparator_tFileInputDelimited_1[] = null;

                // support passing value (property: Field Separator) by
                // 'context.fs' or 'globalMap.get("fs")'.
                if (((String) ",").length() > 0) {
                    fieldSeparator_tFileInputDelimited_1 = ((String) ",").toCharArray();
                } else {
                    throw new IllegalArgumentException("Field Separator must be assigned a char.");
                }

                char rowSeparator_tFileInputDelimited_1[] = null;

                // support passing value (property: Row Separator) by
                // 'context.rs' or 'globalMap.get("rs")'.
                if (((String) "\n").length() > 0) {
                    rowSeparator_tFileInputDelimited_1 = ((String) "\n").toCharArray();
                } else {
                    throw new IllegalArgumentException("Row Separator must be assigned a char.");
                }

                Object filename_tFileInputDelimited_1 = /**
                                                        * Start field
                                                        * tFileInputDelimited_1:FILENAME
                                                        */
                        "/tmp/Process5_" + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min
                                + ".barcode"/**
                                            * End field
                                            * tFileInputDelimited_1:FILENAME
                                            */
                ;
                com.talend.csv.CSVReader csvReadertFileInputDelimited_1 = null;

                try {

                    String[] rowtFileInputDelimited_1 = null;
                    int currentLinetFileInputDelimited_1 = 0;
                    int outputLinetFileInputDelimited_1 = 0;
                    try {// TD110 begin
                        if (filename_tFileInputDelimited_1 instanceof java.io.InputStream) {

                            int footer_value_tFileInputDelimited_1 = 0;
                            if (footer_value_tFileInputDelimited_1 > 0) {
                                throw new Exception(
                                        "When the input source is a stream,footer shouldn't be bigger than 0.");
                            }

                            csvReadertFileInputDelimited_1 = new com.talend.csv.CSVReader(
                                    (java.io.InputStream) filename_tFileInputDelimited_1,
                                    fieldSeparator_tFileInputDelimited_1[0], "US-ASCII");
                        } else {
                            csvReadertFileInputDelimited_1 = new com.talend.csv.CSVReader(
                                    new java.io.BufferedReader(
                                            new java.io.InputStreamReader(
                                                    new java.io.FileInputStream(
                                                            String.valueOf(filename_tFileInputDelimited_1)),
                                                    "US-ASCII")),
                                    fieldSeparator_tFileInputDelimited_1[0]);
                        }

                        csvReadertFileInputDelimited_1.setTrimWhitespace(false);
                        if ((rowSeparator_tFileInputDelimited_1[0] != '\n')
                                && (rowSeparator_tFileInputDelimited_1[0] != '\r'))
                            csvReadertFileInputDelimited_1.setLineEnd("" + rowSeparator_tFileInputDelimited_1[0]);

                        csvReadertFileInputDelimited_1.setQuoteChar('\"');

                        // ?????doesn't work for other escapeChar
                        // the default escape mode is double escape
                        csvReadertFileInputDelimited_1.setEscapeChar(csvReadertFileInputDelimited_1.getQuoteChar());

                        if (footer_tFileInputDelimited_1 > 0) {
                            for (totalLinetFileInputDelimited_1 = 0; totalLinetFileInputDelimited_1 < 0; totalLinetFileInputDelimited_1++) {
                                csvReadertFileInputDelimited_1.readNext();
                            }
                            csvReadertFileInputDelimited_1.setSkipEmptyRecords(false);
                            while (csvReadertFileInputDelimited_1.readNext()) {

                                totalLinetFileInputDelimited_1++;

                            }
                            int lastLineTemptFileInputDelimited_1 = totalLinetFileInputDelimited_1
                                    - footer_tFileInputDelimited_1 < 0 ? 0
                                            : totalLinetFileInputDelimited_1 - footer_tFileInputDelimited_1;
                            if (lastLinetFileInputDelimited_1 > 0) {
                                lastLinetFileInputDelimited_1 = lastLinetFileInputDelimited_1 < lastLineTemptFileInputDelimited_1
                                        ? lastLinetFileInputDelimited_1
                                        : lastLineTemptFileInputDelimited_1;
                            } else {
                                lastLinetFileInputDelimited_1 = lastLineTemptFileInputDelimited_1;
                            }

                            csvReadertFileInputDelimited_1.close();
                            if (filename_tFileInputDelimited_1 instanceof java.io.InputStream) {
                                csvReadertFileInputDelimited_1 = new com.talend.csv.CSVReader(
                                        (java.io.InputStream) filename_tFileInputDelimited_1,
                                        fieldSeparator_tFileInputDelimited_1[0], "US-ASCII");
                            } else {
                                csvReadertFileInputDelimited_1 = new com.talend.csv.CSVReader(
                                        new java.io.BufferedReader(new java.io.InputStreamReader(
                                                new java.io.FileInputStream(
                                                        String.valueOf(filename_tFileInputDelimited_1)),
                                                "US-ASCII")),
                                        fieldSeparator_tFileInputDelimited_1[0]);
                            }
                            csvReadertFileInputDelimited_1.setTrimWhitespace(false);
                            if ((rowSeparator_tFileInputDelimited_1[0] != '\n')
                                    && (rowSeparator_tFileInputDelimited_1[0] != '\r'))
                                csvReadertFileInputDelimited_1
                                        .setLineEnd("" + rowSeparator_tFileInputDelimited_1[0]);

                            csvReadertFileInputDelimited_1.setQuoteChar('\"');

                            // ?????doesn't work for other escapeChar
                            // the default escape mode is double escape
                            csvReadertFileInputDelimited_1
                                    .setEscapeChar(csvReadertFileInputDelimited_1.getQuoteChar());

                        }

                        if (limittFileInputDelimited_1 != 0) {
                            for (currentLinetFileInputDelimited_1 = 0; currentLinetFileInputDelimited_1 < 0; currentLinetFileInputDelimited_1++) {
                                csvReadertFileInputDelimited_1.readNext();
                            }
                        }
                        csvReadertFileInputDelimited_1.setSkipEmptyRecords(false);

                    } catch (Exception e) {

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

                    } // TD110 end

                    while (limittFileInputDelimited_1 != 0 && csvReadertFileInputDelimited_1 != null
                            && csvReadertFileInputDelimited_1.readNext()) {

                        rowtFileInputDelimited_1 = csvReadertFileInputDelimited_1.getValues();

                        currentLinetFileInputDelimited_1++;

                        if (lastLinetFileInputDelimited_1 > -1
                                && currentLinetFileInputDelimited_1 > lastLinetFileInputDelimited_1) {
                            break;
                        }
                        outputLinetFileInputDelimited_1++;
                        if (limittFileInputDelimited_1 > 0
                                && outputLinetFileInputDelimited_1 > limittFileInputDelimited_1) {
                            break;
                        }

                        barcode_file = null;

                        boolean whetherReject_tFileInputDelimited_1 = false;
                        barcode_file = new barcode_fileStruct();
                        try {

                            rowHelper_tFileInputDelimited_1.valueToConn(rowtFileInputDelimited_1, barcode_file);

                        } catch (Exception e) {
                            whetherReject_tFileInputDelimited_1 = true;

                            System.err.println(e.getMessage());
                            barcode_file = null;

                        }

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

                        currentComponent = "tFileInputDelimited_1";

                        tos_count_tFileInputDelimited_1++;

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

                            /**
                             * [tMap_6 main ] start
                             */

                            currentComponent = "tMap_6";

                            boolean hasCasePrimitiveKeyWithNull_tMap_6 = false;

                            // ###############################
                            // # Input tables (lookups)
                            boolean rejectedInnerJoin_tMap_6 = false;
                            boolean mainRowRejected_tMap_6 = false;

                            // /////////////////////////////////////////////
                            // Starting Lookup Table "handler_list"
                            // /////////////////////////////////////////////

                            boolean forceLoophandler_list = false;

                            handler_listStruct handler_listObjectFromLookup = null;

                            if (!rejectedInnerJoin_tMap_6) { // G_TM_M_020

                                hasCasePrimitiveKeyWithNull_tMap_6 = false;

                                handler_listHashKey.handler_code = barcode_file.person_scanning;

                                handler_listHashKey.hashCodeDirty = true;

                                tHash_Lookup_handler_list.lookup(handler_listHashKey);

                            } // G_TM_M_020

                            if (tHash_Lookup_handler_list != null
                                    && tHash_Lookup_handler_list.getCount(handler_listHashKey) > 1) { // G
                                // 071

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

                            handler_listStruct handler_list = null;

                            handler_listStruct fromLookup_handler_list = null;
                            handler_list = handler_listDefault;

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

                                fromLookup_handler_list = tHash_Lookup_handler_list.next();

                            } // G 099

                            if (fromLookup_handler_list != null) {
                                handler_list = fromLookup_handler_list;
                            }

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

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

                                Var__tMap_6__Struct Var = Var__tMap_6;// ###############################
                                // ###############################
                                // # Output tables

                                barcode_wName = null;

                                // # Output table : 'barcode_wName'
                                barcode_wName_tmp.reason_for_move = barcode_file.reason_for_move;
                                barcode_wName_tmp.person_scanning = handler_list.handler_displname;
                                barcode_wName_tmp.objectNumber = barcode_file.objectNumber;
                                barcode_wName_tmp.location = barcode_file.location;
                                barcode_wName_tmp.date_time = barcode_file.date_time;
                                barcode_wName = barcode_wName_tmp;
                                // ###############################

                            } // end of Var scope

                            rejectedInnerJoin_tMap_6 = false;

                            tos_count_tMap_6++;

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

                                /**
                                 * [tSortRow_3_SortOut main ] start
                                 */

                                currentComponent = "tSortRow_3_SortOut";

                                Comparablebarcode_wNameStruct arrayRowtSortRow_3_SortOut = new Comparablebarcode_wNameStruct();

                                arrayRowtSortRow_3_SortOut.reason_for_move = barcode_wName.reason_for_move;
                                arrayRowtSortRow_3_SortOut.person_scanning = barcode_wName.person_scanning;
                                arrayRowtSortRow_3_SortOut.objectNumber = barcode_wName.objectNumber;
                                arrayRowtSortRow_3_SortOut.location = barcode_wName.location;
                                arrayRowtSortRow_3_SortOut.date_time = barcode_wName.date_time;
                                list_tSortRow_3_SortOut.add(arrayRowtSortRow_3_SortOut);

                                tos_count_tSortRow_3_SortOut++;

                                /**
                                 * [tSortRow_3_SortOut main ] stop
                                 */

                            } // End of branch "barcode_wName"

                        } // End of branch "barcode_file"

                        /**
                         * [tFileInputDelimited_1 end ] start
                         */

                        currentComponent = "tFileInputDelimited_1";

                        nb_line_tFileInputDelimited_1++;
                    }

                } finally {
                    if (!(filename_tFileInputDelimited_1 instanceof java.io.InputStream)) {
                        if (csvReadertFileInputDelimited_1 != null) {
                            csvReadertFileInputDelimited_1.close();
                        }
                    }
                    if (csvReadertFileInputDelimited_1 != null) {
                        globalMap.put("tFileInputDelimited_1_NB_LINE", nb_line_tFileInputDelimited_1);
                    }
                }

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

                /**
                 * [tFileInputDelimited_1 end ] stop
                 */

                /**
                 * [tMap_6 end ] start
                 */

                currentComponent = "tMap_6";

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

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

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

                /**
                 * [tMap_6 end ] stop
                 */

                /**
                 * [tSortRow_3_SortOut end ] start
                 */

                currentComponent = "tSortRow_3_SortOut";

                barcode_wNameStruct[] array_tSortRow_3_SortOut = list_tSortRow_3_SortOut
                        .toArray(new Comparablebarcode_wNameStruct[0]);

                java.util.Arrays.sort(array_tSortRow_3_SortOut);

                globalMap.put("tSortRow_3", array_tSortRow_3_SortOut);

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

                /**
                 * [tSortRow_3_SortOut end ] stop
                 */

                /**
                 * [tAdvancedFileOutputXML_1 begin ] start
                 */

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

                int tos_count_tAdvancedFileOutputXML_1 = 0;

                int nb_line_tAFOX_1 = 0;

                boolean needRoot_tAFOX_1 = true;

                String fileName_tAFOX_1 = "../temp/location/barcode5." + TalendDate.getDate("CCYY-MM-DD") + "-"
                        + context.infile_min + ".xml";
                Boolean alreadyExistsFile_tAFOX_1 = new java.io.File(fileName_tAFOX_1).exists();
                fileName_tAFOX_1 = new java.io.File(fileName_tAFOX_1).getAbsolutePath().replace("\\", "/");
                String file_tAFOX_1 = "";

                if (fileName_tAFOX_1.indexOf("/") < 0) {
                    throw new IllegalArgumentException("not a correct file name.");
                } else {
                    String tail_tAFOX_1 = fileName_tAFOX_1.substring(fileName_tAFOX_1.lastIndexOf("/"));
                    file_tAFOX_1 = tail_tAFOX_1.lastIndexOf(".") > 0
                            ? fileName_tAFOX_1.substring(0, fileName_tAFOX_1.lastIndexOf("."))
                            : fileName_tAFOX_1;
                }
                java.io.File createFiletAFOX_1 = new java.io.File(fileName_tAFOX_1);

                if (!createFiletAFOX_1.exists()) {
                    (new java.io.File(fileName_tAFOX_1.substring(0, fileName_tAFOX_1.lastIndexOf("/")))).mkdirs();
                    needRoot_tAFOX_1 = true;
                }

                java.util.List<java.util.List<String>> groupbyList_tAFOX_1 = new java.util.ArrayList<java.util.List<String>>();
                java.util.Map<String, String> valueMap_tAFOX_1 = new java.util.HashMap<String, String>();

                class NestXMLTool_tAFOX_1 {
                    public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                        try {
                            org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                    .parseText("<root>" + value + "</root>");
                            nestRoot.setContent(doc4Str.getRootElement().content());
                        } catch (Exception e) {
                            // e.printStackTrace();
                            nestRoot.setText(value);
                        }
                    }

                    public void setText(org.dom4j.Element element, String value) {
                        if (value.startsWith("<![CDATA[") && value.endsWith("]]>")) {
                            String text = value.substring(9, value.length() - 3);
                            element.addCDATA(text);
                        } else {
                            element.setText(value);
                        }
                    }

                    public void replaceDefaultNameSpace(org.dom4j.Element nestRoot) {
                        if (nestRoot != null) {
                            boolean isDefaultNameSpaceAtRoot = ""
                                    .equals(nestRoot.getQName().getNamespace().getPrefix());
                            for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot.elements()) {
                                if (("").equals(tmp.getQName().getNamespace().getURI())
                                        && ("").equals(tmp.getQName().getNamespace().getPrefix())
                                        && isDefaultNameSpaceAtRoot) {
                                    tmp.setQName(org.dom4j.DocumentHelper.createQName(tmp.getName(),
                                            nestRoot.getQName().getNamespace()));
                                }
                                replaceDefaultNameSpace(tmp);
                            }
                        }
                    }

                    public void removeEmptyElement(org.dom4j.Element root) {
                        if (root != null) {
                            for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) root.elements()) {
                                removeEmptyElement(tmp);
                            }
                            if (root.content().size() == 0 && root.attributes().size() == 0
                                    && root.declaredNamespaces().size() == 0) {
                                if (root.getParent() != null) {
                                    root.getParent().remove(root);
                                }
                            }
                        }
                    }

                    /**
                     * remove the whiteSpace Node between the elements when
                     * appending the source file under dom4j
                     * 
                     * @param root
                     */
                    public void removeWhiteSpaceTextNode(org.dom4j.Element root) {
                        if (root != null) {
                            List<org.dom4j.Node> textNodes = new java.util.ArrayList<org.dom4j.Node>();
                            for (int i = 0; i < root.nodeCount(); i++) {
                                if (root.node(i).getNodeType() == org.dom4j.Node.ELEMENT_NODE) {
                                    removeWhiteSpaceTextNode((org.dom4j.Element) root.node(i));
                                } else if (root.node(i).getNodeType() == org.dom4j.Node.TEXT_NODE) {
                                    textNodes.add(root.node(i));
                                }
                            }
                            if (root.nodeCount() > 1) { // when
                                // root.nodeCount==1,
                                // that means the text
                                // node is the content
                                // of the element
                                for (org.dom4j.Node textNode : textNodes) {
                                    if (textNode.getText() == null || "".equals(textNode.getText().trim())) {
                                        root.remove(textNode);
                                    }
                                }
                            }
                        }
                    }
                }

                NestXMLTool_tAFOX_1 nestXMLTool_tAFOX_1 = new NestXMLTool_tAFOX_1();
                // sort group root element for judgement of group
                java.util.List<org.dom4j.Element> groupElementList_tAFOX_1 = new java.util.ArrayList<org.dom4j.Element>();
                org.dom4j.Element root4Group_tAFOX_1 = null;
                org.dom4j.Document doc_tAFOX_1 = null;

                doc_tAFOX_1 = org.dom4j.DocumentHelper.createDocument();

                org.dom4j.io.OutputFormat format_tAFOX_1 = org.dom4j.io.OutputFormat.createPrettyPrint();

                format_tAFOX_1.setTrimText(false);
                format_tAFOX_1.setEncoding("UTF-8");

                int[] orders_tAFOX_1 = new int[1];

                /**
                 * [tAdvancedFileOutputXML_1 begin ] stop
                 */

                /**
                 * [tFileOutputDelimited_1 begin ] start
                 */

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

                int tos_count_tFileOutputDelimited_1 = 0;

                String fileName_tFileOutputDelimited_1 = "";
                fileName_tFileOutputDelimited_1 = (new java.io.File("../temp/location/barcode5_CSID."
                        + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min + ".txt")).getAbsolutePath()
                                .replace("\\", "/");
                String fullName_tFileOutputDelimited_1 = null;
                String extension_tFileOutputDelimited_1 = null;
                String directory_tFileOutputDelimited_1 = null;
                if ((fileName_tFileOutputDelimited_1.indexOf("/") != -1)) {
                    if (fileName_tFileOutputDelimited_1.lastIndexOf(".") < fileName_tFileOutputDelimited_1
                            .lastIndexOf("/")) {
                        fullName_tFileOutputDelimited_1 = fileName_tFileOutputDelimited_1;
                        extension_tFileOutputDelimited_1 = "";
                    } else {
                        fullName_tFileOutputDelimited_1 = fileName_tFileOutputDelimited_1.substring(0,
                                fileName_tFileOutputDelimited_1.lastIndexOf("."));
                        extension_tFileOutputDelimited_1 = fileName_tFileOutputDelimited_1
                                .substring(fileName_tFileOutputDelimited_1.lastIndexOf("."));
                    }
                    directory_tFileOutputDelimited_1 = fileName_tFileOutputDelimited_1.substring(0,
                            fileName_tFileOutputDelimited_1.lastIndexOf("/"));
                } else {
                    if (fileName_tFileOutputDelimited_1.lastIndexOf(".") != -1) {
                        fullName_tFileOutputDelimited_1 = fileName_tFileOutputDelimited_1.substring(0,
                                fileName_tFileOutputDelimited_1.lastIndexOf("."));
                        extension_tFileOutputDelimited_1 = fileName_tFileOutputDelimited_1
                                .substring(fileName_tFileOutputDelimited_1.lastIndexOf("."));
                    } else {
                        fullName_tFileOutputDelimited_1 = fileName_tFileOutputDelimited_1;
                        extension_tFileOutputDelimited_1 = "";
                    }
                    directory_tFileOutputDelimited_1 = "";
                }
                boolean isFileGenerated_tFileOutputDelimited_1 = true;
                java.io.File filetFileOutputDelimited_1 = new java.io.File(fileName_tFileOutputDelimited_1);
                globalMap.put("tFileOutputDelimited_1_FILE_NAME", fileName_tFileOutputDelimited_1);

                int nb_line_tFileOutputDelimited_1 = 0;
                int splitEvery_tFileOutputDelimited_1 = 1000;
                int splitedFileNo_tFileOutputDelimited_1 = 0;
                int currentRow_tFileOutputDelimited_1 = 0;

                final String OUT_DELIM_tFileOutputDelimited_1 = /**
                                                                * Start field
                                                                * tFileOutputDelimited_1:FIELDSEPARATOR
                                                                */
                        ";"/** End field tFileOutputDelimited_1:FIELDSEPARATOR */
                ;

                final String OUT_DELIM_ROWSEP_tFileOutputDelimited_1 = /**
                                                                       * Start
                                                                       * field tFileOutputDelimited_1:ROWSEPARATOR
                                                                       */
                        "\n"/** End field tFileOutputDelimited_1:ROWSEPARATOR */
                ;

                // create directory only if not exists
                if (directory_tFileOutputDelimited_1 != null
                        && directory_tFileOutputDelimited_1.trim().length() != 0) {
                    java.io.File dir_tFileOutputDelimited_1 = new java.io.File(directory_tFileOutputDelimited_1);
                    if (!dir_tFileOutputDelimited_1.exists()) {
                        dir_tFileOutputDelimited_1.mkdirs();
                    }
                }

                // routines.system.Row
                java.io.Writer outtFileOutputDelimited_1 = null;
                try {
                    outtFileOutputDelimited_1 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                            new java.io.FileOutputStream(fileName_tFileOutputDelimited_1, false), "UTF-8"));

                    /**
                     * [tFileOutputDelimited_1 begin ] stop
                     */

                    /**
                     * [tFileOutputDelimited_5 begin ] start
                     */

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

                    int tos_count_tFileOutputDelimited_5 = 0;

                    String fileName_tFileOutputDelimited_5 = "";
                    fileName_tFileOutputDelimited_5 = (new java.io.File("../temp/location/barcode5_ID."
                            + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min + ".txt"))
                                    .getAbsolutePath().replace("\\", "/");
                    String fullName_tFileOutputDelimited_5 = null;
                    String extension_tFileOutputDelimited_5 = null;
                    String directory_tFileOutputDelimited_5 = null;
                    if ((fileName_tFileOutputDelimited_5.indexOf("/") != -1)) {
                        if (fileName_tFileOutputDelimited_5.lastIndexOf(".") < fileName_tFileOutputDelimited_5
                                .lastIndexOf("/")) {
                            fullName_tFileOutputDelimited_5 = fileName_tFileOutputDelimited_5;
                            extension_tFileOutputDelimited_5 = "";
                        } else {
                            fullName_tFileOutputDelimited_5 = fileName_tFileOutputDelimited_5.substring(0,
                                    fileName_tFileOutputDelimited_5.lastIndexOf("."));
                            extension_tFileOutputDelimited_5 = fileName_tFileOutputDelimited_5
                                    .substring(fileName_tFileOutputDelimited_5.lastIndexOf("."));
                        }
                        directory_tFileOutputDelimited_5 = fileName_tFileOutputDelimited_5.substring(0,
                                fileName_tFileOutputDelimited_5.lastIndexOf("/"));
                    } else {
                        if (fileName_tFileOutputDelimited_5.lastIndexOf(".") != -1) {
                            fullName_tFileOutputDelimited_5 = fileName_tFileOutputDelimited_5.substring(0,
                                    fileName_tFileOutputDelimited_5.lastIndexOf("."));
                            extension_tFileOutputDelimited_5 = fileName_tFileOutputDelimited_5
                                    .substring(fileName_tFileOutputDelimited_5.lastIndexOf("."));
                        } else {
                            fullName_tFileOutputDelimited_5 = fileName_tFileOutputDelimited_5;
                            extension_tFileOutputDelimited_5 = "";
                        }
                        directory_tFileOutputDelimited_5 = "";
                    }
                    boolean isFileGenerated_tFileOutputDelimited_5 = true;
                    java.io.File filetFileOutputDelimited_5 = new java.io.File(fileName_tFileOutputDelimited_5);
                    globalMap.put("tFileOutputDelimited_5_FILE_NAME", fileName_tFileOutputDelimited_5);

                    int nb_line_tFileOutputDelimited_5 = 0;
                    int splitEvery_tFileOutputDelimited_5 = 1000;
                    int splitedFileNo_tFileOutputDelimited_5 = 0;
                    int currentRow_tFileOutputDelimited_5 = 0;

                    final String OUT_DELIM_tFileOutputDelimited_5 = /**
                                                                    * Start
                                                                    * field tFileOutputDelimited_5:FIELDSEPARATOR
                                                                    */
                            ";"/** End field tFileOutputDelimited_5:FIELDSEPARATOR */
                    ;

                    final String OUT_DELIM_ROWSEP_tFileOutputDelimited_5 = /**
                                                                           * 
                                                                           * Start field tFileOutputDelimited_5:ROWSEPARATOR
                                                                           */
                            "\n"/** End field tFileOutputDelimited_5:ROWSEPARATOR */
                    ;

                    // create directory only if not exists
                    if (directory_tFileOutputDelimited_5 != null
                            && directory_tFileOutputDelimited_5.trim().length() != 0) {
                        java.io.File dir_tFileOutputDelimited_5 = new java.io.File(
                                directory_tFileOutputDelimited_5);
                        if (!dir_tFileOutputDelimited_5.exists()) {
                            dir_tFileOutputDelimited_5.mkdirs();
                        }
                    }

                    // routines.system.Row
                    java.io.Writer outtFileOutputDelimited_5 = null;
                    try {
                        outtFileOutputDelimited_5 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                                new java.io.FileOutputStream(fileName_tFileOutputDelimited_5, false), "UTF-8"));

                        /**
                         * [tFileOutputDelimited_5 begin ] stop
                         */

                        /**
                         * [tFileOutputDelimited_4 begin ] start
                         */

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

                        int tos_count_tFileOutputDelimited_4 = 0;

                        String fileName_tFileOutputDelimited_4 = "";
                        fileName_tFileOutputDelimited_4 = (new java.io.File("../temp/location/barcode5_unmatched."
                                + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min + ".txt"))
                                        .getAbsolutePath().replace("\\", "/");
                        String fullName_tFileOutputDelimited_4 = null;
                        String extension_tFileOutputDelimited_4 = null;
                        String directory_tFileOutputDelimited_4 = null;
                        if ((fileName_tFileOutputDelimited_4.indexOf("/") != -1)) {
                            if (fileName_tFileOutputDelimited_4.lastIndexOf(".") < fileName_tFileOutputDelimited_4
                                    .lastIndexOf("/")) {
                                fullName_tFileOutputDelimited_4 = fileName_tFileOutputDelimited_4;
                                extension_tFileOutputDelimited_4 = "";
                            } else {
                                fullName_tFileOutputDelimited_4 = fileName_tFileOutputDelimited_4.substring(0,
                                        fileName_tFileOutputDelimited_4.lastIndexOf("."));
                                extension_tFileOutputDelimited_4 = fileName_tFileOutputDelimited_4
                                        .substring(fileName_tFileOutputDelimited_4.lastIndexOf("."));
                            }
                            directory_tFileOutputDelimited_4 = fileName_tFileOutputDelimited_4.substring(0,
                                    fileName_tFileOutputDelimited_4.lastIndexOf("/"));
                        } else {
                            if (fileName_tFileOutputDelimited_4.lastIndexOf(".") != -1) {
                                fullName_tFileOutputDelimited_4 = fileName_tFileOutputDelimited_4.substring(0,
                                        fileName_tFileOutputDelimited_4.lastIndexOf("."));
                                extension_tFileOutputDelimited_4 = fileName_tFileOutputDelimited_4
                                        .substring(fileName_tFileOutputDelimited_4.lastIndexOf("."));
                            } else {
                                fullName_tFileOutputDelimited_4 = fileName_tFileOutputDelimited_4;
                                extension_tFileOutputDelimited_4 = "";
                            }
                            directory_tFileOutputDelimited_4 = "";
                        }
                        boolean isFileGenerated_tFileOutputDelimited_4 = true;
                        java.io.File filetFileOutputDelimited_4 = new java.io.File(fileName_tFileOutputDelimited_4);
                        globalMap.put("tFileOutputDelimited_4_FILE_NAME", fileName_tFileOutputDelimited_4);

                        int nb_line_tFileOutputDelimited_4 = 0;
                        int splitEvery_tFileOutputDelimited_4 = 1000;
                        int splitedFileNo_tFileOutputDelimited_4 = 0;
                        int currentRow_tFileOutputDelimited_4 = 0;

                        final String OUT_DELIM_tFileOutputDelimited_4 = /**
                                                                        * Start
                                                                        * field tFileOutputDelimited_4:FIELDSEPARATOR
                                                                        */
                                ";"/** End field tFileOutputDelimited_4:FIELDSEPARATOR */
                        ;

                        final String OUT_DELIM_ROWSEP_tFileOutputDelimited_4 = /**
                                                                               * 
                                                                               * Start field tFileOutputDelimited_4:ROWSEPARATOR
                                                                               */
                                "\n"/** End field tFileOutputDelimited_4:ROWSEPARATOR */
                        ;

                        // create directory only if not exists
                        if (directory_tFileOutputDelimited_4 != null
                                && directory_tFileOutputDelimited_4.trim().length() != 0) {
                            java.io.File dir_tFileOutputDelimited_4 = new java.io.File(
                                    directory_tFileOutputDelimited_4);
                            if (!dir_tFileOutputDelimited_4.exists()) {
                                dir_tFileOutputDelimited_4.mkdirs();
                            }
                        }

                        // routines.system.Row
                        java.io.Writer outtFileOutputDelimited_4 = null;
                        try {
                            outtFileOutputDelimited_4 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                                    new java.io.FileOutputStream(fileName_tFileOutputDelimited_4, false), "UTF-8"));

                            /**
                             * [tFileOutputDelimited_4 begin ] stop
                             */

                            /**
                             * [tSortRow_5_SortOut begin ] start
                             */

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

                            int tos_count_tSortRow_5_SortOut = 0;

                            class Comparablemove2obj_XMLStruct extends move2obj_XMLStruct
                                    implements Comparable<Comparablemove2obj_XMLStruct> {

                                public int compareTo(Comparablemove2obj_XMLStruct other) {

                                    if (this.datetimeTZ == null && other.datetimeTZ != null) {
                                        return -1;

                                    } else if (this.datetimeTZ != null && other.datetimeTZ == null) {
                                        return 1;

                                    } else if (this.datetimeTZ != null && other.datetimeTZ != null) {
                                        if (!this.datetimeTZ.equals(other.datetimeTZ)) {
                                            return this.datetimeTZ.compareTo(other.datetimeTZ);
                                        }
                                    }
                                    if (this.objectNum == null && other.objectNum != null) {
                                        return -1;

                                    } else if (this.objectNum != null && other.objectNum == null) {
                                        return 1;

                                    } else if (this.objectNum != null && other.objectNum != null) {
                                        if (!this.objectNum.equals(other.objectNum)) {
                                            return this.objectNum.compareTo(other.objectNum);
                                        }
                                    }
                                    return 0;
                                }
                            }

                            java.util.List<Comparablemove2obj_XMLStruct> list_tSortRow_5_SortOut = new java.util.ArrayList<Comparablemove2obj_XMLStruct>();

                            /**
                             * [tSortRow_5_SortOut begin ] stop
                             */

                            /**
                             * [tSortRow_4_SortOut begin ] start
                             */

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

                            int tos_count_tSortRow_4_SortOut = 0;

                            class Comparableobj2move_XMLStruct extends obj2move_XMLStruct
                                    implements Comparable<Comparableobj2move_XMLStruct> {

                                public int compareTo(Comparableobj2move_XMLStruct other) {

                                    if (this.datetimeTZ == null && other.datetimeTZ != null) {
                                        return -1;

                                    } else if (this.datetimeTZ != null && other.datetimeTZ == null) {
                                        return 1;

                                    } else if (this.datetimeTZ != null && other.datetimeTZ != null) {
                                        if (!this.datetimeTZ.equals(other.datetimeTZ)) {
                                            return this.datetimeTZ.compareTo(other.datetimeTZ);
                                        }
                                    }
                                    if (this.objectNum == null && other.objectNum != null) {
                                        return -1;

                                    } else if (this.objectNum != null && other.objectNum == null) {
                                        return 1;

                                    } else if (this.objectNum != null && other.objectNum != null) {
                                        if (!this.objectNum.equals(other.objectNum)) {
                                            return this.objectNum.compareTo(other.objectNum);
                                        }
                                    }
                                    return 0;
                                }
                            }

                            java.util.List<Comparableobj2move_XMLStruct> list_tSortRow_4_SortOut = new java.util.ArrayList<Comparableobj2move_XMLStruct>();

                            /**
                             * [tSortRow_4_SortOut 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

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

                            locinfoStruct locinfoHashKey = new locinfoStruct();
                            locinfoStruct locinfoDefault = new locinfoStruct();

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

                            person_ID_displayNameStruct person_ID_displayNameHashKey = new person_ID_displayNameStruct();
                            person_ID_displayNameStruct person_ID_displayNameDefault = new person_ID_displayNameStruct();

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

                            obj_IDsStruct obj_IDsHashKey = new obj_IDsStruct();
                            obj_IDsStruct obj_IDsDefault = new obj_IDsStruct();
                            // ###############################

                            // ###############################
                            // # Vars initialization
                            class Var__tMap_1__Struct {
                                String moveID;
                                String move_CSID;
                                java.util.Date Talend_date;
                                String date;
                                String datetime;
                                String datetimeTZ;
                                String trim_locrefname;
                                String item_locref;
                                boolean loc_reject;
                                boolean handler_reject;
                                boolean obj_reject;
                                String move2obj_CSID;
                                String obj2move_CSID;
                                String reason4move;
                                String computedSummary;
                                String move_uri;
                                String move_refname;
                                String obj_uri;
                                String obj_refname;
                                String rel_m2o_uri;
                                String rel_m2o_refname;
                                String rel_o2m_uri;
                                String rel_o2m_refname;
                            }
                            Var__tMap_1__Struct Var__tMap_1 = new Var__tMap_1__Struct();
                            // ###############################

                            // ###############################
                            // # Outputs initialization
                            out_moveXMLStruct out_moveXML_tmp = new out_moveXMLStruct();
                            moveCSIDStruct moveCSID_tmp = new moveCSIDStruct();
                            IDStruct ID_tmp = new IDStruct();
                            unmatch_locStruct unmatch_loc_tmp = new unmatch_locStruct();
                            move2obj_XMLStruct move2obj_XML_tmp = new move2obj_XMLStruct();
                            obj2move_XMLStruct obj2move_XML_tmp = new obj2move_XMLStruct();
                            // ###############################

                            /**
                             * [tMap_1 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 reason_for_move;
                                String objectNumber;
                                String location;
                                String date_time;

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

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

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

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

                                        result = prime * result
                                                + ((this.date_time == null) ? 0 : this.date_time.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.reason_for_move == null) {
                                        if (other.reason_for_move != null)
                                            return false;
                                    } else if (!this.reason_for_move.equals(other.reason_for_move))
                                        return false;

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

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

                                    if (this.date_time == null) {
                                        if (other.date_time != null)
                                            return false;
                                    } else if (!this.date_time.equals(other.date_time))
                                        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>();
                            java.util.Set<KeyStruct_tUniqRow_1> keysForDuplicatedtUniqRow_1 = new java.util.HashSet<KeyStruct_tUniqRow_1>();

                            /**
                             * [tUniqRow_1 begin ] stop
                             */

                            /**
                             * [tSortRow_3_SortIn begin ] start
                             */

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

                            int tos_count_tSortRow_3_SortIn = 0;

                            barcode_wNameStruct[] array_tSortRow_3_SortIn = (barcode_wNameStruct[]) globalMap
                                    .get("tSortRow_3");

                            int nb_line_tSortRow_3_SortIn = 0;

                            barcode_wNameStruct current_tSortRow_3_SortIn = null;

                            for (int i_tSortRow_3_SortIn = 0; i_tSortRow_3_SortIn < array_tSortRow_3_SortIn.length; i_tSortRow_3_SortIn++) {
                                current_tSortRow_3_SortIn = array_tSortRow_3_SortIn[i_tSortRow_3_SortIn];
                                row2.reason_for_move = current_tSortRow_3_SortIn.reason_for_move;
                                row2.person_scanning = current_tSortRow_3_SortIn.person_scanning;
                                row2.objectNumber = current_tSortRow_3_SortIn.objectNumber;
                                row2.location = current_tSortRow_3_SortIn.location;
                                row2.date_time = current_tSortRow_3_SortIn.date_time;
                                // increase number of line sorted
                                nb_line_tSortRow_3_SortIn++;

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

                                currentComponent = "tSortRow_3_SortIn";

                                tos_count_tSortRow_3_SortIn++;

                                /**
                                 * [tSortRow_3_SortIn main ] stop
                                 */

                                /**
                                 * [tUniqRow_1 main ] start
                                 */

                                currentComponent = "tUniqRow_1";

                                obj_loc = null;
                                if (row2.reason_for_move == null) {
                                    finder_tUniqRow_1.reason_for_move = null;
                                } else {
                                    finder_tUniqRow_1.reason_for_move = row2.reason_for_move.toLowerCase();
                                }
                                if (row2.objectNumber == null) {
                                    finder_tUniqRow_1.objectNumber = null;
                                } else {
                                    finder_tUniqRow_1.objectNumber = row2.objectNumber.toLowerCase();
                                }
                                if (row2.location == null) {
                                    finder_tUniqRow_1.location = null;
                                } else {
                                    finder_tUniqRow_1.location = row2.location.toLowerCase();
                                }
                                if (row2.date_time == null) {
                                    finder_tUniqRow_1.date_time = null;
                                } else {
                                    finder_tUniqRow_1.date_time = row2.date_time.toLowerCase();
                                }
                                finder_tUniqRow_1.hashCodeDirty = true;
                                if (!keystUniqRow_1.contains(finder_tUniqRow_1)) {
                                    KeyStruct_tUniqRow_1 new_tUniqRow_1 = new KeyStruct_tUniqRow_1();

                                    if (row2.reason_for_move == null) {
                                        new_tUniqRow_1.reason_for_move = null;
                                    } else {
                                        new_tUniqRow_1.reason_for_move = row2.reason_for_move.toLowerCase();
                                    }
                                    if (row2.objectNumber == null) {
                                        new_tUniqRow_1.objectNumber = null;
                                    } else {
                                        new_tUniqRow_1.objectNumber = row2.objectNumber.toLowerCase();
                                    }
                                    if (row2.location == null) {
                                        new_tUniqRow_1.location = null;
                                    } else {
                                        new_tUniqRow_1.location = row2.location.toLowerCase();
                                    }
                                    if (row2.date_time == null) {
                                        new_tUniqRow_1.date_time = null;
                                    } else {
                                        new_tUniqRow_1.date_time = row2.date_time.toLowerCase();
                                    }

                                    keystUniqRow_1.add(new_tUniqRow_1);
                                    if (obj_loc == null) {
                                        obj_loc = new obj_locStruct();
                                    }
                                    obj_loc.reason_for_move = row2.reason_for_move;
                                    obj_loc.person_scanning = row2.person_scanning;
                                    obj_loc.objectNumber = row2.objectNumber;
                                    obj_loc.location = row2.location;
                                    obj_loc.date_time = row2.date_time;
                                    nb_uniques_tUniqRow_1++;
                                } else {
                                    nb_duplicates_tUniqRow_1++;
                                }

                                tos_count_tUniqRow_1++;

                                /**
                                 * [tUniqRow_1 main ] stop
                                 */
                                // Start of branch "obj_loc"
                                if (obj_loc != 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;

                                    // /////////////////////////////////////////////
                                    // Starting Lookup Table "locinfo"
                                    // /////////////////////////////////////////////

                                    boolean forceLooplocinfo = false;

                                    locinfoStruct locinfoObjectFromLookup = null;

                                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

                                        locinfoHashKey.loc_displayname = StringHandling.TRIM(obj_loc.location);

                                        locinfoHashKey.hashCodeDirty = true;

                                        tHash_Lookup_locinfo.lookup(locinfoHashKey);

                                    } // G_TM_M_020

                                    if (tHash_Lookup_locinfo != null
                                            && tHash_Lookup_locinfo.getCount(locinfoHashKey) > 1) { // G
                                        // 071

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

                                    locinfoStruct locinfo = null;

                                    locinfoStruct fromLookup_locinfo = null;
                                    locinfo = locinfoDefault;

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

                                        fromLookup_locinfo = tHash_Lookup_locinfo.next();

                                    } // G 099

                                    if (fromLookup_locinfo != null) {
                                        locinfo = fromLookup_locinfo;
                                    }

                                    // /////////////////////////////////////////////
                                    // Starting Lookup Table
                                    // "person_ID_displayName"
                                    // /////////////////////////////////////////////

                                    boolean forceLoopperson_ID_displayName = false;

                                    person_ID_displayNameStruct person_ID_displayNameObjectFromLookup = null;

                                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

                                        person_ID_displayNameHashKey.displayName = obj_loc.person_scanning;

                                        person_ID_displayNameHashKey.hashCodeDirty = true;

                                        tHash_Lookup_person_ID_displayName.lookup(person_ID_displayNameHashKey);

                                    } // G_TM_M_020

                                    if (tHash_Lookup_person_ID_displayName != null
                                            && tHash_Lookup_person_ID_displayName
                                                    .getCount(person_ID_displayNameHashKey) > 1) { // G
                                        // 071

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

                                    person_ID_displayNameStruct person_ID_displayName = null;

                                    person_ID_displayNameStruct fromLookup_person_ID_displayName = null;
                                    person_ID_displayName = person_ID_displayNameDefault;

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

                                        fromLookup_person_ID_displayName = tHash_Lookup_person_ID_displayName
                                                .next();

                                    } // G 099

                                    if (fromLookup_person_ID_displayName != null) {
                                        person_ID_displayName = fromLookup_person_ID_displayName;
                                    }

                                    // /////////////////////////////////////////////
                                    // Starting Lookup Table "obj_IDs"
                                    // /////////////////////////////////////////////

                                    boolean forceLoopobj_IDs = false;

                                    obj_IDsStruct obj_IDsObjectFromLookup = null;

                                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

                                        obj_IDsHashKey.objectNumber = StringHandling.TRIM(obj_loc.objectNumber);

                                        obj_IDsHashKey.hashCodeDirty = true;

                                        tHash_Lookup_obj_IDs.lookup(obj_IDsHashKey);

                                    } // G_TM_M_020

                                    if (tHash_Lookup_obj_IDs != null
                                            && tHash_Lookup_obj_IDs.getCount(obj_IDsHashKey) > 1) { // G
                                        // 071

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

                                    obj_IDsStruct obj_IDs = null;

                                    obj_IDsStruct fromLookup_obj_IDs = null;
                                    obj_IDs = obj_IDsDefault;

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

                                        fromLookup_obj_IDs = tHash_Lookup_obj_IDs.next();

                                    } // G 099

                                    if (fromLookup_obj_IDs != null) {
                                        obj_IDs = fromLookup_obj_IDs;
                                    }

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

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

                                        Var__tMap_1__Struct Var = Var__tMap_1;
                                        Var.moveID = "Barcode." + TalendDate.getDate("CCYYMMDD-hhmm") + "-"
                                                + StringHandling.TRIM(obj_loc.reason_for_move) + "."
                                                + Numeric.sequence("", 1, 1);
                                        Var.move_CSID = Guid.getUUID();
                                        Var.Talend_date = (obj_loc.date_time == null
                                                || obj_loc.date_time.equals("")) ? null
                                                        : (TalendDate.addDate(TalendDate.parseDate(
                                                                "MM/dd/yyyy HH:mm", obj_loc.date_time), 0, "HH"));
                                        Var.date = Relational.ISNULL(Var.Talend_date) ? ""
                                                : TalendDate.formatDate("yyyy-MM-dd", Var.Talend_date);
                                        Var.datetime = Relational.ISNULL(Var.Talend_date) ? ""
                                                : TalendDate.formatDate("yyyy-MM-dd HH:mm:ss", Var.Talend_date);
                                        Var.datetimeTZ = Var.datetime.equals("") ? ""
                                                : Var.datetime.substring(0, 10) + "T" + Var.datetime.substring(11)
                                                        + "Z";
                                        Var.trim_locrefname = StringHandling.TRIM(locinfo.loc_refname);
                                        Var.item_locref = StringHandling.TRIM(obj_loc.objectNumber) + "->"
                                                + StringHandling.TRIM(locinfo.loc_refname);
                                        Var.loc_reject = Relational.ISNULL(locinfo.loc_refname);
                                        Var.handler_reject = Relational.ISNULL(person_ID_displayName.displayName);
                                        Var.obj_reject = Relational.ISNULL(obj_IDs.obj_CSID);
                                        Var.move2obj_CSID = Guid.getUUID();
                                        Var.obj2move_CSID = Guid.getUUID();
                                        Var.reason4move = StringHandling.UPCASE(obj_loc.reason_for_move).equals("I")
                                                ? "Inventory"
                                                : (StringHandling.UPCASE(obj_loc.reason_for_move).equals("M")
                                                        ? "Object relocation"
                                                        : "");
                                        Var.computedSummary = Relational.NOT(Relational.ISNULL(Var.reason4move))
                                                ? (Var.reason4move == "(not entered)"
                                                        || Var.reason4move.equals("(not entered)"))
                                                                ? (Var.date + " " + Var.reason4move)
                                                                : (Var.date + " (" + Var.reason4move + ")")
                                                : null

                                        ;
                                        Var.move_uri = "/movements/" + Var.move_CSID;
                                        Var.move_refname = "urn:cspace:pahma.cspace.berkeley.edu:movements:id("
                                                + Var.move_CSID + ")";
                                        Var.obj_uri = "/collectionobjects/" + obj_IDs.obj_CSID;
                                        Var.obj_refname = "urn:cspace:pahma.cspace.berkeley.edu:collectionobjects:id("
                                                + obj_IDs.obj_CSID + ")'" + obj_IDs.objectNumber + "'";
                                        Var.rel_m2o_uri = "/relations/" + Var.move2obj_CSID;
                                        Var.rel_m2o_refname = "urn:cspace:pahma.cspace.berkeley.edu:collectionobjects:id("
                                                + Var.move2obj_CSID + ")";
                                        Var.rel_o2m_uri = "/relations/" + Var.obj2move_CSID;
                                        Var.rel_o2m_refname = "urn:cspace:pahma.cspace.berkeley.edu:collectionobjects:id("
                                                + Var.obj2move_CSID + ")";// ###############################
                                        // ###############################
                                        // # Output tables

                                        out_moveXML = null;
                                        moveCSID = null;
                                        ID = null;
                                        unmatch_loc = null;
                                        move2obj_XML = null;
                                        obj2move_XML = null;

                                        // # Output table : 'out_moveXML'
                                        out_moveXML_tmp.Item_Num = StringHandling.TRIM(obj_loc.objectNumber);
                                        out_moveXML_tmp.locations_refname = locinfo.loc_refname;
                                        out_moveXML_tmp.locations_displayname = StringHandling
                                                .TRIM(obj_loc.location);
                                        out_moveXML_tmp.loc_handler = person_ID_displayName.person_refname;
                                        out_moveXML_tmp.Capture_timestamp = Var.datetimeTZ;
                                        out_moveXML_tmp.reason4move = Var.reason4move;
                                        out_moveXML_tmp.computedSummary = Var.computedSummary;
                                        out_moveXML_tmp.moveID = Var.moveID;
                                        out_moveXML_tmp.moveCSID = Var.move_CSID;
                                        out_moveXML_tmp.move_uri = Var.move_uri;
                                        out_moveXML_tmp.move_refname = Var.move_refname;
                                        out_moveXML = out_moveXML_tmp;

                                        // # Output table : 'moveCSID'
                                        moveCSID_tmp.moveCSID = Var.move_CSID;
                                        moveCSID = moveCSID_tmp;

                                        // # Output table : 'ID'
                                        ID_tmp.Item_Num = StringHandling.TRIM(obj_loc.objectNumber);
                                        ID_tmp.moveID = Var.moveID;
                                        ID_tmp.null_loc = Var.loc_reject;
                                        ID_tmp.null_handler = Var.handler_reject;
                                        ID_tmp.null_obj = Var.obj_reject;
                                        ID_tmp.locations_refname = locinfo.loc_refname;
                                        ID_tmp.loc_handler_refname = person_ID_displayName.person_refname;
                                        ID_tmp.capture_datetime = Var.datetimeTZ;
                                        ID_tmp.moveCSID = Var.move_CSID;
                                        ID_tmp.move2obj_CSID = Var.move2obj_CSID;
                                        ID_tmp.obj2move_CSID = Var.obj2move_CSID;
                                        ID_tmp.move_uri = Var.move_uri;
                                        ID_tmp.move_refname = Var.move_refname;
                                        ID_tmp.obj_uri = Var.obj_uri;
                                        ID_tmp.obj_refname = Var.obj_refname;
                                        ID = ID_tmp;

                                        // # Output table : 'unmatch_loc'
                                        // # Filter conditions
                                        if (

                                        Var.loc_reject || Var.obj_reject || Var.handler_reject

                                        ) {
                                            unmatch_loc_tmp.Item_Num = StringHandling.TRIM(obj_loc.objectNumber);
                                            unmatch_loc_tmp.moveID = Var.moveID;
                                            unmatch_loc_tmp.reject_loc = Var.loc_reject;
                                            unmatch_loc_tmp.reject_handler = Var.handler_reject;
                                            unmatch_loc_tmp.reject_obj = Var.obj_reject;
                                            unmatch_loc_tmp.Location = obj_loc.location;
                                            unmatch_loc_tmp.locations_refname = locinfo.loc_refname;
                                            unmatch_loc_tmp.loc_handler = obj_loc.person_scanning;
                                            unmatch_loc_tmp.loc_handler_refname = person_ID_displayName.person_refname;
                                            unmatch_loc_tmp.Capture_timestamp = obj_loc.date_time;
                                            unmatch_loc = unmatch_loc_tmp;
                                        } // closing filter/reject

                                        // # Output table : 'move2obj_XML'
                                        move2obj_XML_tmp.objectNum = StringHandling.TRIM(obj_loc.objectNumber);
                                        move2obj_XML_tmp.obj_CSID = obj_IDs.obj_CSID;
                                        move2obj_XML_tmp.objectDocType = "CollectionObject";
                                        move2obj_XML_tmp.moveID = Var.moveID;
                                        move2obj_XML_tmp.move_CSID = Var.move_CSID;
                                        move2obj_XML_tmp.move_URI = "/movements/" + Var.move_CSID;
                                        move2obj_XML_tmp.subjectDocType = "Movement";
                                        move2obj_XML_tmp.loc_refName = Var.trim_locrefname;
                                        move2obj_XML_tmp.move_timestamp = Var.datetimeTZ;
                                        move2obj_XML_tmp.move2obj_CSID = Var.move2obj_CSID;
                                        move2obj_XML_tmp.move_refname = Var.move_refname;
                                        move2obj_XML_tmp.obj_uri = Var.obj_uri;
                                        move2obj_XML_tmp.obj_refname = Var.obj_refname;
                                        move2obj_XML_tmp.rel_m2o_uri = Var.rel_m2o_uri;
                                        move2obj_XML_tmp.rel_m2o_refname = Var.rel_m2o_refname;
                                        move2obj_XML_tmp.datetimeTZ = Var.datetimeTZ;
                                        move2obj_XML = move2obj_XML_tmp;

                                        // # Output table : 'obj2move_XML'
                                        obj2move_XML_tmp.objectNum = StringHandling.TRIM(obj_loc.objectNumber);
                                        obj2move_XML_tmp.obj_CSID = obj_IDs.obj_CSID;
                                        obj2move_XML_tmp.subjectDoctype = "CollectionObject";
                                        obj2move_XML_tmp.moveID = Var.moveID;
                                        obj2move_XML_tmp.move_CSID = Var.move_CSID;
                                        obj2move_XML_tmp.move_URI = "/movements/" + Var.move_CSID;
                                        obj2move_XML_tmp.objectDoctype = "Movement";
                                        obj2move_XML_tmp.loc_refName = Var.trim_locrefname;
                                        obj2move_XML_tmp.move_timestamp = Var.datetimeTZ;
                                        obj2move_XML_tmp.obj2move_CSID = Var.obj2move_CSID;
                                        obj2move_XML_tmp.move_refname = Var.move_refname;
                                        obj2move_XML_tmp.obj_uri = Var.obj_uri;
                                        obj2move_XML_tmp.obj_refname = Var.obj_refname;
                                        obj2move_XML_tmp.rel_o2m_uri = Var.rel_o2m_uri;
                                        obj2move_XML_tmp.rel_o2m_refname = Var.rel_o2m_refname;
                                        obj2move_XML_tmp.datetimeTZ = Var.datetimeTZ;
                                        obj2move_XML = obj2move_XML_tmp;
                                        // ###############################

                                    } // end of Var scope

                                    rejectedInnerJoin_tMap_1 = false;

                                    tos_count_tMap_1++;

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

                                        /**
                                         * [tAdvancedFileOutputXML_1 main ]
                                         * start
                                         */

                                        currentComponent = "tAdvancedFileOutputXML_1";

                                        nb_line_tAFOX_1++;
                                        valueMap_tAFOX_1.clear();
                                        valueMap_tAFOX_1.put("Item_Num", (out_moveXML.Item_Num.toString()));
                                        valueMap_tAFOX_1.put("locations_refname",
                                                (out_moveXML.locations_refname != null
                                                        ? out_moveXML.locations_refname.toString()
                                                        : null));
                                        valueMap_tAFOX_1.put("locations_displayname",
                                                (out_moveXML.locations_displayname.toString()));
                                        valueMap_tAFOX_1.put("loc_handler",
                                                (out_moveXML.loc_handler != null
                                                        ? out_moveXML.loc_handler.toString()
                                                        : null));
                                        valueMap_tAFOX_1.put("Capture_timestamp",
                                                (out_moveXML.Capture_timestamp != null
                                                        ? out_moveXML.Capture_timestamp.toString()
                                                        : null));
                                        valueMap_tAFOX_1.put("reason4move",
                                                (out_moveXML.reason4move != null
                                                        ? out_moveXML.reason4move.toString()
                                                        : null));
                                        valueMap_tAFOX_1.put("computedSummary",
                                                (out_moveXML.computedSummary.toString()));
                                        valueMap_tAFOX_1.put("moveID", (out_moveXML.moveID.toString()));
                                        valueMap_tAFOX_1.put("moveCSID", (out_moveXML.moveCSID.toString()));
                                        valueMap_tAFOX_1.put("move_uri", (out_moveXML.move_uri.toString()));
                                        valueMap_tAFOX_1.put("move_refname", (out_moveXML.move_refname.toString()));
                                        org.dom4j.Element subTreeRootParent_tAFOX_1 = null;

                                        // build root xml tree
                                        if (needRoot_tAFOX_1) {
                                            needRoot_tAFOX_1 = false;
                                            if (orders_tAFOX_1.length > 0) {
                                                orders_tAFOX_1[0] = 0;
                                            }
                                            org.dom4j.Element root_tAFOX_1 = doc_tAFOX_1.addElement("imports");
                                            subTreeRootParent_tAFOX_1 = root_tAFOX_1;
                                            root4Group_tAFOX_1 = subTreeRootParent_tAFOX_1;
                                        } else {
                                            subTreeRootParent_tAFOX_1 = root4Group_tAFOX_1;
                                        }
                                        // build group xml tree
                                        // build loop xml tree
                                        org.dom4j.Element loop_tAFOX_1 = org.dom4j.DocumentHelper
                                                .createElement("import");
                                        if (orders_tAFOX_1[0] == 0) {
                                            orders_tAFOX_1[0] = 0;
                                        }
                                        if (1 < orders_tAFOX_1.length) {
                                            orders_tAFOX_1[1] = 0;
                                        }
                                        subTreeRootParent_tAFOX_1.elements().add(orders_tAFOX_1[0]++, loop_tAFOX_1);
                                        loop_tAFOX_1.addAttribute("service", "Movements");
                                        loop_tAFOX_1.addAttribute("type", "Movement");
                                        if (valueMap_tAFOX_1.get("moveCSID") != null) {
                                            loop_tAFOX_1.addAttribute("CSID", valueMap_tAFOX_1.get("moveCSID"));
                                        }
                                        org.dom4j.Element loop_0_tAFOX_1 = loop_tAFOX_1.addElement("schema");
                                        loop_0_tAFOX_1.addNamespace("movements_common", TalendString
                                                .replaceSpecialCharForXML("http://collectionspace.org/movement/"));
                                        loop_0_tAFOX_1.addAttribute("name", "movements_common");
                                        org.dom4j.Element loop_0_0_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_0_tAFOX_1 = loop_0_tAFOX_1.addElement("movementNote");
                                        } else {
                                            loop_0_0_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:movementNote");
                                        }
                                        loop_0_0_tAFOX_1.setName("movements_common:movementNote");
                                        org.dom4j.Element loop_0_1_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_1_tAFOX_1 = loop_0_tAFOX_1.addElement("removalDate");
                                        } else {
                                            loop_0_1_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:removalDate");
                                        }
                                        loop_0_1_tAFOX_1.setName("movements_common:removalDate");
                                        org.dom4j.Element loop_0_2_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_2_tAFOX_1 = loop_0_tAFOX_1.addElement("reasonForMove");
                                        } else {
                                            loop_0_2_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:reasonForMove");
                                        }
                                        if (valueMap_tAFOX_1.get("reason4move") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_0_2_tAFOX_1,
                                                    valueMap_tAFOX_1.get("reason4move"));
                                        }
                                        loop_0_2_tAFOX_1.setName("movements_common:reasonForMove");
                                        org.dom4j.Element loop_0_3_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_3_tAFOX_1 = loop_0_tAFOX_1.addElement("movementMethods");
                                        } else {
                                            loop_0_3_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:movementMethods");
                                        }
                                        loop_0_3_tAFOX_1.setName("movements_common:movementMethods");
                                        org.dom4j.Element loop_0_3_0_tAFOX_1 = loop_0_3_tAFOX_1
                                                .addElement("movementMethod");
                                        org.dom4j.Element loop_0_4_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_4_tAFOX_1 = loop_0_tAFOX_1.addElement("plannedRemovalDate");
                                        } else {
                                            loop_0_4_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:plannedRemovalDate");
                                        }
                                        loop_0_4_tAFOX_1.setName("movements_common:plannedRemovalDate");
                                        org.dom4j.Element loop_0_5_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_5_tAFOX_1 = loop_0_tAFOX_1.addElement("movementContact");
                                        } else {
                                            loop_0_5_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:movementContact");
                                        }
                                        loop_0_5_tAFOX_1.setName("movements_common:movementContact");
                                        org.dom4j.Element loop_0_6_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_6_tAFOX_1 = loop_0_tAFOX_1.addElement("normalLocation");
                                        } else {
                                            loop_0_6_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:normalLocation");
                                        }
                                        loop_0_6_tAFOX_1.setName("movements_common:normalLocation");
                                        org.dom4j.Element loop_0_7_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_7_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocationFitness");
                                        } else {
                                            loop_0_7_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:currentLocationFitness");
                                        }
                                        loop_0_7_tAFOX_1.setName("movements_common:currentLocationFitness");
                                        org.dom4j.Element loop_0_8_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_8_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocation");
                                        } else {
                                            loop_0_8_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:currentLocation");
                                        }
                                        if (valueMap_tAFOX_1.get("locations_refname") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_0_8_tAFOX_1,
                                                    valueMap_tAFOX_1.get("locations_refname"));
                                        }
                                        loop_0_8_tAFOX_1.setName("movements_common:currentLocation");
                                        org.dom4j.Element loop_0_9_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_9_tAFOX_1 = loop_0_tAFOX_1.addElement("locationDate");
                                        } else {
                                            loop_0_9_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:locationDate");
                                        }
                                        if (valueMap_tAFOX_1.get("Capture_timestamp") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_0_9_tAFOX_1,
                                                    valueMap_tAFOX_1.get("Capture_timestamp"));
                                        }
                                        loop_0_9_tAFOX_1.setName("movements_common:locationDate");
                                        org.dom4j.Element loop_0_10_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_10_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocationNote");
                                        } else {
                                            loop_0_10_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:currentLocationNote");
                                        }
                                        if (valueMap_tAFOX_1.get("Item_Num") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_0_10_tAFOX_1,
                                                    valueMap_tAFOX_1.get("Item_Num"));
                                        }
                                        loop_0_10_tAFOX_1.setName("movements_common:currentLocationNote");
                                        org.dom4j.Element loop_0_11_tAFOX_1;
                                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                                            loop_0_11_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movementReferenceNumber");
                                        } else {
                                            loop_0_11_tAFOX_1 = loop_0_tAFOX_1
                                                    .addElement("movements_common:movementReferenceNumber");
                                        }
                                        if (valueMap_tAFOX_1.get("moveID") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_0_11_tAFOX_1,
                                                    valueMap_tAFOX_1.get("moveID"));
                                        }
                                        loop_0_11_tAFOX_1.setName("movements_common:movementReferenceNumber");
                                        org.dom4j.Element loop_1_tAFOX_1 = loop_tAFOX_1.addElement("schema2");
                                        loop_1_tAFOX_1.addNamespace("movements_anthropology",
                                                TalendString.replaceSpecialCharForXML(
                                                        "http://collectionspace.org/services/movement/domain/anthropology"));
                                        loop_1_tAFOX_1.addAttribute("name", "movements_anthropology");
                                        org.dom4j.Element loop_1_0_tAFOX_1;
                                        if (loop_1_tAFOX_1
                                                .getNamespaceForPrefix("movements_anthropology") == null) {
                                            loop_1_0_tAFOX_1 = loop_1_tAFOX_1.addElement("locationHandlers");
                                        } else {
                                            loop_1_0_tAFOX_1 = loop_1_tAFOX_1
                                                    .addElement("movements_anthropology:locationHandlers");
                                        }
                                        loop_1_0_tAFOX_1.setName("movements_anthropology:locationHandlers");
                                        org.dom4j.Element loop_1_0_0_tAFOX_1 = loop_1_0_tAFOX_1
                                                .addElement("locationHandler");
                                        if (valueMap_tAFOX_1.get("loc_handler") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_1_0_0_tAFOX_1,
                                                    valueMap_tAFOX_1.get("loc_handler"));
                                        }
                                        org.dom4j.Element loop_1_1_tAFOX_1;
                                        if (loop_1_tAFOX_1
                                                .getNamespaceForPrefix("movements_anthropology") == null) {
                                            loop_1_1_tAFOX_1 = loop_1_tAFOX_1.addElement("computedSummary");
                                        } else {
                                            loop_1_1_tAFOX_1 = loop_1_tAFOX_1
                                                    .addElement("movements_anthropology:computedSummary");
                                        }
                                        if (valueMap_tAFOX_1.get("computedSummary") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_1_1_tAFOX_1,
                                                    valueMap_tAFOX_1.get("computedSummary"));
                                        }
                                        loop_1_1_tAFOX_1.setName("movements_anthropology:computedSummary");
                                        org.dom4j.Element loop_2_tAFOX_1 = loop_tAFOX_1.addElement("schema0");
                                        loop_2_tAFOX_1.addNamespace("collectionspace_core",
                                                TalendString.replaceSpecialCharForXML(
                                                        "http://collectionspace.org/collectionspace_core/"));
                                        loop_2_tAFOX_1.addAttribute("name", "collectionspace_core");
                                        org.dom4j.Element loop_2_0_tAFOX_1 = loop_2_tAFOX_1.addElement("uri");
                                        if (valueMap_tAFOX_1.get("move_uri") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_2_0_tAFOX_1,
                                                    valueMap_tAFOX_1.get("move_uri"));
                                        }
                                        org.dom4j.Element loop_2_1_tAFOX_1 = loop_2_tAFOX_1.addElement("refName");
                                        if (valueMap_tAFOX_1.get("move_refname") != null) {
                                            nestXMLTool_tAFOX_1.setText(loop_2_1_tAFOX_1,
                                                    valueMap_tAFOX_1.get("move_refname"));
                                        }

                                        tos_count_tAdvancedFileOutputXML_1++;

                                        /**
                                         * [tAdvancedFileOutputXML_1 main ] stop
                                         */

                                    } // End of branch "out_moveXML"

                                    // Start of branch "moveCSID"
                                    if (moveCSID != null) {

                                        /**
                                         * [tFileOutputDelimited_1 main ] start
                                         */

                                        currentComponent = "tFileOutputDelimited_1";

                                        StringBuilder sb_tFileOutputDelimited_1 = new StringBuilder();

                                        if (moveCSID.moveCSID != null) {

                                            sb_tFileOutputDelimited_1.append(

                                                    moveCSID.moveCSID

                                            );

                                        }

                                        sb_tFileOutputDelimited_1.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_1);

                                        nb_line_tFileOutputDelimited_1++;

                                        outtFileOutputDelimited_1.write(sb_tFileOutputDelimited_1.toString());

                                        tos_count_tFileOutputDelimited_1++;

                                        /**
                                         * [tFileOutputDelimited_1 main ] stop
                                         */

                                    } // End of branch "moveCSID"

                                    // Start of branch "ID"
                                    if (ID != null) {

                                        /**
                                         * [tFileOutputDelimited_5 main ] start
                                         */

                                        currentComponent = "tFileOutputDelimited_5";

                                        StringBuilder sb_tFileOutputDelimited_5 = new StringBuilder();

                                        if (ID.Item_Num != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.Item_Num

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.moveID != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.moveID

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.null_loc != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.null_loc

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.null_handler != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.null_handler

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.null_obj != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.null_obj

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.locations_refname != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.locations_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.loc_handler_refname != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.loc_handler_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.capture_datetime != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.capture_datetime

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.moveCSID != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.moveCSID

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.move2obj_CSID != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.move2obj_CSID

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.obj2move_CSID != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.obj2move_CSID

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.move_uri != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.move_uri

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.move_refname != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.move_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.obj_uri != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.obj_uri

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.obj_refname != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.obj_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_5);

                                        nb_line_tFileOutputDelimited_5++;

                                        outtFileOutputDelimited_5.write(sb_tFileOutputDelimited_5.toString());

                                        tos_count_tFileOutputDelimited_5++;

                                        /**
                                         * [tFileOutputDelimited_5 main ] stop
                                         */

                                    } // End of branch "ID"

                                    // Start of branch "unmatch_loc"
                                    if (unmatch_loc != null) {

                                        /**
                                         * [tFileOutputDelimited_4 main ] start
                                         */

                                        currentComponent = "tFileOutputDelimited_4";

                                        StringBuilder sb_tFileOutputDelimited_4 = new StringBuilder();

                                        if (unmatch_loc.Item_Num != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.Item_Num

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.moveID != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.moveID

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        sb_tFileOutputDelimited_4.append(

                                                unmatch_loc.reject_loc

                                        );

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.reject_handler != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.reject_handler

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.reject_obj != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.reject_obj

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.Location != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.Location

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.locations_refname != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.locations_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.loc_handler != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.loc_handler

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.loc_handler_refname != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.loc_handler_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.Capture_timestamp != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.Capture_timestamp

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_4);

                                        nb_line_tFileOutputDelimited_4++;

                                        outtFileOutputDelimited_4.write(sb_tFileOutputDelimited_4.toString());

                                        tos_count_tFileOutputDelimited_4++;

                                        /**
                                         * [tFileOutputDelimited_4 main ] stop
                                         */

                                    } // End of branch "unmatch_loc"

                                    // Start of branch "move2obj_XML"
                                    if (move2obj_XML != null) {

                                        /**
                                         * [tSortRow_5_SortOut main ] start
                                         */

                                        currentComponent = "tSortRow_5_SortOut";

                                        Comparablemove2obj_XMLStruct arrayRowtSortRow_5_SortOut = new Comparablemove2obj_XMLStruct();

                                        arrayRowtSortRow_5_SortOut.objectNum = move2obj_XML.objectNum;
                                        arrayRowtSortRow_5_SortOut.obj_CSID = move2obj_XML.obj_CSID;
                                        arrayRowtSortRow_5_SortOut.objectDocType = move2obj_XML.objectDocType;
                                        arrayRowtSortRow_5_SortOut.moveID = move2obj_XML.moveID;
                                        arrayRowtSortRow_5_SortOut.move_CSID = move2obj_XML.move_CSID;
                                        arrayRowtSortRow_5_SortOut.move_URI = move2obj_XML.move_URI;
                                        arrayRowtSortRow_5_SortOut.subjectDocType = move2obj_XML.subjectDocType;
                                        arrayRowtSortRow_5_SortOut.loc_refName = move2obj_XML.loc_refName;
                                        arrayRowtSortRow_5_SortOut.move_timestamp = move2obj_XML.move_timestamp;
                                        arrayRowtSortRow_5_SortOut.move2obj_CSID = move2obj_XML.move2obj_CSID;
                                        arrayRowtSortRow_5_SortOut.move_refname = move2obj_XML.move_refname;
                                        arrayRowtSortRow_5_SortOut.obj_uri = move2obj_XML.obj_uri;
                                        arrayRowtSortRow_5_SortOut.obj_refname = move2obj_XML.obj_refname;
                                        arrayRowtSortRow_5_SortOut.rel_m2o_uri = move2obj_XML.rel_m2o_uri;
                                        arrayRowtSortRow_5_SortOut.rel_m2o_refname = move2obj_XML.rel_m2o_refname;
                                        arrayRowtSortRow_5_SortOut.datetimeTZ = move2obj_XML.datetimeTZ;
                                        list_tSortRow_5_SortOut.add(arrayRowtSortRow_5_SortOut);

                                        tos_count_tSortRow_5_SortOut++;

                                        /**
                                         * [tSortRow_5_SortOut main ] stop
                                         */

                                    } // End of branch "move2obj_XML"

                                    // Start of branch "obj2move_XML"
                                    if (obj2move_XML != null) {

                                        /**
                                         * [tSortRow_4_SortOut main ] start
                                         */

                                        currentComponent = "tSortRow_4_SortOut";

                                        Comparableobj2move_XMLStruct arrayRowtSortRow_4_SortOut = new Comparableobj2move_XMLStruct();

                                        arrayRowtSortRow_4_SortOut.objectNum = obj2move_XML.objectNum;
                                        arrayRowtSortRow_4_SortOut.obj_CSID = obj2move_XML.obj_CSID;
                                        arrayRowtSortRow_4_SortOut.subjectDoctype = obj2move_XML.subjectDoctype;
                                        arrayRowtSortRow_4_SortOut.moveID = obj2move_XML.moveID;
                                        arrayRowtSortRow_4_SortOut.move_CSID = obj2move_XML.move_CSID;
                                        arrayRowtSortRow_4_SortOut.move_URI = obj2move_XML.move_URI;
                                        arrayRowtSortRow_4_SortOut.objectDoctype = obj2move_XML.objectDoctype;
                                        arrayRowtSortRow_4_SortOut.loc_refName = obj2move_XML.loc_refName;
                                        arrayRowtSortRow_4_SortOut.move_timestamp = obj2move_XML.move_timestamp;
                                        arrayRowtSortRow_4_SortOut.obj2move_CSID = obj2move_XML.obj2move_CSID;
                                        arrayRowtSortRow_4_SortOut.move_refname = obj2move_XML.move_refname;
                                        arrayRowtSortRow_4_SortOut.obj_uri = obj2move_XML.obj_uri;
                                        arrayRowtSortRow_4_SortOut.obj_refname = obj2move_XML.obj_refname;
                                        arrayRowtSortRow_4_SortOut.rel_o2m_uri = obj2move_XML.rel_o2m_uri;
                                        arrayRowtSortRow_4_SortOut.rel_o2m_refname = obj2move_XML.rel_o2m_refname;
                                        arrayRowtSortRow_4_SortOut.datetimeTZ = obj2move_XML.datetimeTZ;
                                        list_tSortRow_4_SortOut.add(arrayRowtSortRow_4_SortOut);

                                        tos_count_tSortRow_4_SortOut++;

                                        /**
                                         * [tSortRow_4_SortOut main ] stop
                                         */

                                    } // End of branch "obj2move_XML"

                                } // End of branch "obj_loc"

                                /**
                                 * [tSortRow_3_SortIn end ] start
                                 */

                                currentComponent = "tSortRow_3_SortIn";

                            }

                            globalMap.put("tSortRow_3_SortIn_NB_LINE", nb_line_tSortRow_3_SortIn);

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

                            /**
                             * [tSortRow_3_SortIn 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_1 end ] start
                             */

                            currentComponent = "tMap_1";

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

                            if (tHash_Lookup_person_ID_displayName != null) {
                                tHash_Lookup_person_ID_displayName.endGet();
                            }
                            globalMap.remove("tHash_Lookup_person_ID_displayName");

                            if (tHash_Lookup_obj_IDs != null) {
                                tHash_Lookup_obj_IDs.endGet();
                            }
                            globalMap.remove("tHash_Lookup_obj_IDs");

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

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

                            /**
                             * [tMap_1 end ] stop
                             */

                            /**
                             * [tSortRow_4_SortOut end ] start
                             */

                            currentComponent = "tSortRow_4_SortOut";

                            obj2move_XMLStruct[] array_tSortRow_4_SortOut = list_tSortRow_4_SortOut
                                    .toArray(new Comparableobj2move_XMLStruct[0]);

                            java.util.Arrays.sort(array_tSortRow_4_SortOut);

                            globalMap.put("tSortRow_4", array_tSortRow_4_SortOut);

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

                            /**
                             * [tSortRow_4_SortOut end ] stop
                             */

                            /**
                             * [tAdvancedFileOutputXML_3 begin ] start
                             */

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

                            int tos_count_tAdvancedFileOutputXML_3 = 0;

                            int nb_line_tAFOX_3 = 0;

                            boolean needRoot_tAFOX_3 = true;

                            String fileName_tAFOX_3 = "../temp/relation/barcode5_obj2move."
                                    + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min + ".xml";
                            Boolean alreadyExistsFile_tAFOX_3 = new java.io.File(fileName_tAFOX_3).exists();
                            fileName_tAFOX_3 = new java.io.File(fileName_tAFOX_3).getAbsolutePath().replace("\\",
                                    "/");
                            String file_tAFOX_3 = "";

                            if (fileName_tAFOX_3.indexOf("/") < 0) {
                                throw new IllegalArgumentException("not a correct file name.");
                            } else {
                                String tail_tAFOX_3 = fileName_tAFOX_3.substring(fileName_tAFOX_3.lastIndexOf("/"));
                                file_tAFOX_3 = tail_tAFOX_3.lastIndexOf(".") > 0
                                        ? fileName_tAFOX_3.substring(0, fileName_tAFOX_3.lastIndexOf("."))
                                        : fileName_tAFOX_3;
                            }
                            java.io.File createFiletAFOX_3 = new java.io.File(fileName_tAFOX_3);

                            if (!createFiletAFOX_3.exists()) {
                                (new java.io.File(fileName_tAFOX_3.substring(0, fileName_tAFOX_3.lastIndexOf("/"))))
                                        .mkdirs();
                                needRoot_tAFOX_3 = true;
                            }

                            java.util.List<java.util.List<String>> groupbyList_tAFOX_3 = new java.util.ArrayList<java.util.List<String>>();
                            java.util.Map<String, String> valueMap_tAFOX_3 = new java.util.HashMap<String, String>();

                            class NestXMLTool_tAFOX_3 {
                                public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                                    try {
                                        org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                                .parseText("<root>" + value + "</root>");
                                        nestRoot.setContent(doc4Str.getRootElement().content());
                                    } catch (Exception e) {
                                        // e.printStackTrace();
                                        nestRoot.setText(value);
                                    }
                                }

                                public void setText(org.dom4j.Element element, String value) {
                                    if (value.startsWith("<![CDATA[") && value.endsWith("]]>")) {
                                        String text = value.substring(9, value.length() - 3);
                                        element.addCDATA(text);
                                    } else {
                                        element.setText(value);
                                    }
                                }

                                public void replaceDefaultNameSpace(org.dom4j.Element nestRoot) {
                                    if (nestRoot != null) {
                                        boolean isDefaultNameSpaceAtRoot = ""
                                                .equals(nestRoot.getQName().getNamespace().getPrefix());
                                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot
                                                .elements()) {
                                            if (("").equals(tmp.getQName().getNamespace().getURI())
                                                    && ("").equals(tmp.getQName().getNamespace().getPrefix())
                                                    && isDefaultNameSpaceAtRoot) {
                                                tmp.setQName(org.dom4j.DocumentHelper.createQName(tmp.getName(),
                                                        nestRoot.getQName().getNamespace()));
                                            }
                                            replaceDefaultNameSpace(tmp);
                                        }
                                    }
                                }

                                public void removeEmptyElement(org.dom4j.Element root) {
                                    if (root != null) {
                                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) root
                                                .elements()) {
                                            removeEmptyElement(tmp);
                                        }
                                        if (root.content().size() == 0 && root.attributes().size() == 0
                                                && root.declaredNamespaces().size() == 0) {
                                            if (root.getParent() != null) {
                                                root.getParent().remove(root);
                                            }
                                        }
                                    }
                                }

                                /**
                                 * remove the whiteSpace Node between the
                                 * elements when appending the source file under
                                 * dom4j
                                 * 
                                 * @param root
                                 */
                                public void removeWhiteSpaceTextNode(org.dom4j.Element root) {
                                    if (root != null) {
                                        List<org.dom4j.Node> textNodes = new java.util.ArrayList<org.dom4j.Node>();
                                        for (int i = 0; i < root.nodeCount(); i++) {
                                            if (root.node(i).getNodeType() == org.dom4j.Node.ELEMENT_NODE) {
                                                removeWhiteSpaceTextNode((org.dom4j.Element) root.node(i));
                                            } else if (root.node(i).getNodeType() == org.dom4j.Node.TEXT_NODE) {
                                                textNodes.add(root.node(i));
                                            }
                                        }
                                        if (root.nodeCount() > 1) { // when
                                            // root.nodeCount==1,
                                            // that
                                            // means the
                                            // text node
                                            // is the
                                            // content
                                            // of the
                                            // element
                                            for (org.dom4j.Node textNode : textNodes) {
                                                if (textNode.getText() == null
                                                        || "".equals(textNode.getText().trim())) {
                                                    root.remove(textNode);
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            NestXMLTool_tAFOX_3 nestXMLTool_tAFOX_3 = new NestXMLTool_tAFOX_3();
                            // sort group root element for judgement of group
                            java.util.List<org.dom4j.Element> groupElementList_tAFOX_3 = new java.util.ArrayList<org.dom4j.Element>();
                            org.dom4j.Element root4Group_tAFOX_3 = null;
                            org.dom4j.Document doc_tAFOX_3 = null;

                            doc_tAFOX_3 = org.dom4j.DocumentHelper.createDocument();

                            org.dom4j.io.OutputFormat format_tAFOX_3 = org.dom4j.io.OutputFormat
                                    .createPrettyPrint();

                            format_tAFOX_3.setTrimText(false);
                            format_tAFOX_3.setEncoding("UTF-8");

                            int[] orders_tAFOX_3 = new int[1];

                            /**
                             * [tAdvancedFileOutputXML_3 begin ] stop
                             */

                            /**
                             * [tSortRow_4_SortIn begin ] start
                             */

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

                            int tos_count_tSortRow_4_SortIn = 0;

                            obj2move_XMLStruct[] array_tSortRow_4_SortIn = (obj2move_XMLStruct[]) globalMap
                                    .get("tSortRow_4");

                            int nb_line_tSortRow_4_SortIn = 0;

                            obj2move_XMLStruct current_tSortRow_4_SortIn = null;

                            for (int i_tSortRow_4_SortIn = 0; i_tSortRow_4_SortIn < array_tSortRow_4_SortIn.length; i_tSortRow_4_SortIn++) {
                                current_tSortRow_4_SortIn = array_tSortRow_4_SortIn[i_tSortRow_4_SortIn];
                                row1.objectNum = current_tSortRow_4_SortIn.objectNum;
                                row1.obj_CSID = current_tSortRow_4_SortIn.obj_CSID;
                                row1.subjectDoctype = current_tSortRow_4_SortIn.subjectDoctype;
                                row1.moveID = current_tSortRow_4_SortIn.moveID;
                                row1.move_CSID = current_tSortRow_4_SortIn.move_CSID;
                                row1.move_URI = current_tSortRow_4_SortIn.move_URI;
                                row1.objectDoctype = current_tSortRow_4_SortIn.objectDoctype;
                                row1.loc_refName = current_tSortRow_4_SortIn.loc_refName;
                                row1.move_timestamp = current_tSortRow_4_SortIn.move_timestamp;
                                row1.obj2move_CSID = current_tSortRow_4_SortIn.obj2move_CSID;
                                row1.move_refname = current_tSortRow_4_SortIn.move_refname;
                                row1.obj_uri = current_tSortRow_4_SortIn.obj_uri;
                                row1.obj_refname = current_tSortRow_4_SortIn.obj_refname;
                                row1.rel_o2m_uri = current_tSortRow_4_SortIn.rel_o2m_uri;
                                row1.rel_o2m_refname = current_tSortRow_4_SortIn.rel_o2m_refname;
                                row1.datetimeTZ = current_tSortRow_4_SortIn.datetimeTZ;
                                // increase number of line sorted
                                nb_line_tSortRow_4_SortIn++;

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

                                currentComponent = "tSortRow_4_SortIn";

                                tos_count_tSortRow_4_SortIn++;

                                /**
                                 * [tSortRow_4_SortIn main ] stop
                                 */

                                /**
                                 * [tAdvancedFileOutputXML_3 main ] start
                                 */

                                currentComponent = "tAdvancedFileOutputXML_3";

                                nb_line_tAFOX_3++;
                                valueMap_tAFOX_3.clear();
                                valueMap_tAFOX_3.put("objectNum",
                                        (row1.objectNum != null ? row1.objectNum.toString() : null));
                                valueMap_tAFOX_3.put("obj_CSID",
                                        (row1.obj_CSID != null ? row1.obj_CSID.toString() : null));
                                valueMap_tAFOX_3.put("subjectDoctype",
                                        (row1.subjectDoctype != null ? row1.subjectDoctype.toString() : null));
                                valueMap_tAFOX_3.put("moveID",
                                        (row1.moveID != null ? row1.moveID.toString() : null));
                                valueMap_tAFOX_3.put("move_CSID",
                                        (row1.move_CSID != null ? row1.move_CSID.toString() : null));
                                valueMap_tAFOX_3.put("move_URI",
                                        (row1.move_URI != null ? row1.move_URI.toString() : null));
                                valueMap_tAFOX_3.put("objectDoctype",
                                        (row1.objectDoctype != null ? row1.objectDoctype.toString() : null));
                                valueMap_tAFOX_3.put("loc_refName",
                                        (row1.loc_refName != null ? row1.loc_refName.toString() : null));
                                valueMap_tAFOX_3.put("move_timestamp",
                                        (row1.move_timestamp != null ? row1.move_timestamp.toString() : null));
                                valueMap_tAFOX_3.put("obj2move_CSID", (row1.obj2move_CSID.toString()));
                                valueMap_tAFOX_3.put("move_refname", (row1.move_refname.toString()));
                                valueMap_tAFOX_3.put("obj_uri", (row1.obj_uri.toString()));
                                valueMap_tAFOX_3.put("obj_refname", (row1.obj_refname.toString()));
                                valueMap_tAFOX_3.put("rel_o2m_uri", (row1.rel_o2m_uri.toString()));
                                valueMap_tAFOX_3.put("rel_o2m_refname", (row1.rel_o2m_refname.toString()));
                                valueMap_tAFOX_3.put("datetimeTZ", (row1.datetimeTZ.toString()));
                                org.dom4j.Element subTreeRootParent_tAFOX_3 = null;

                                // build root xml tree
                                if (needRoot_tAFOX_3) {
                                    needRoot_tAFOX_3 = false;
                                    if (orders_tAFOX_3.length > 0) {
                                        orders_tAFOX_3[0] = 0;
                                    }
                                    org.dom4j.Element root_tAFOX_3 = doc_tAFOX_3.addElement("imports");
                                    subTreeRootParent_tAFOX_3 = root_tAFOX_3;
                                    root4Group_tAFOX_3 = subTreeRootParent_tAFOX_3;
                                } else {
                                    subTreeRootParent_tAFOX_3 = root4Group_tAFOX_3;
                                }
                                // build group xml tree
                                // build loop xml tree
                                org.dom4j.Element loop_tAFOX_3 = org.dom4j.DocumentHelper.createElement("import");
                                if (orders_tAFOX_3[0] == 0) {
                                    orders_tAFOX_3[0] = 0;
                                }
                                if (1 < orders_tAFOX_3.length) {
                                    orders_tAFOX_3[1] = 0;
                                }
                                subTreeRootParent_tAFOX_3.elements().add(orders_tAFOX_3[0]++, loop_tAFOX_3);
                                loop_tAFOX_3.addAttribute("service", "Relations");
                                loop_tAFOX_3.addAttribute("type", "Relation");
                                if (valueMap_tAFOX_3.get("obj2move_CSID") != null) {
                                    loop_tAFOX_3.addAttribute("CSID", valueMap_tAFOX_3.get("obj2move_CSID"));
                                }
                                org.dom4j.Element loop_0_tAFOX_3 = loop_tAFOX_3.addElement("schema");
                                loop_0_tAFOX_3.addNamespace("relations_common", TalendString
                                        .replaceSpecialCharForXML("http://collectionspace.org/relation"));
                                loop_0_tAFOX_3.addAttribute("name", "relations_common");
                                org.dom4j.Element loop_0_0_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_0_tAFOX_3 = loop_0_tAFOX_3.addElement("relationshipType");
                                } else {
                                    loop_0_0_tAFOX_3 = loop_0_tAFOX_3
                                            .addElement("relations_common:relationshipType");
                                }
                                nestXMLTool_tAFOX_3.parseAndAdd(loop_0_0_tAFOX_3, "affects");

                                loop_0_0_tAFOX_3.setName("relations_common:relationshipType");
                                org.dom4j.Element loop_0_1_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_1_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectCsid");
                                } else {
                                    loop_0_1_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectCsid");
                                }
                                if (valueMap_tAFOX_3.get("obj_CSID") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_1_tAFOX_3, valueMap_tAFOX_3.get("obj_CSID"));
                                }
                                loop_0_1_tAFOX_3.setName("relations_common:subjectCsid");
                                org.dom4j.Element loop_0_2_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_2_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectDocumentType");
                                } else {
                                    loop_0_2_tAFOX_3 = loop_0_tAFOX_3
                                            .addElement("relations_common:subjectDocumentType");
                                }
                                if (valueMap_tAFOX_3.get("subjectDoctype") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_2_tAFOX_3,
                                            valueMap_tAFOX_3.get("subjectDoctype"));
                                }
                                loop_0_2_tAFOX_3.setName("relations_common:subjectDocumentType");
                                org.dom4j.Element loop_0_3_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_3_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectUri");
                                } else {
                                    loop_0_3_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectUri");
                                }
                                if (valueMap_tAFOX_3.get("obj_uri") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_3_tAFOX_3, valueMap_tAFOX_3.get("obj_uri"));
                                }
                                loop_0_3_tAFOX_3.setName("relations_common:subjectUri");
                                org.dom4j.Element loop_0_4_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_4_tAFOX_3 = loop_0_tAFOX_3.addElement("predicateDisplayName");
                                } else {
                                    loop_0_4_tAFOX_3 = loop_0_tAFOX_3
                                            .addElement("relations_common:predicateDisplayName");
                                }
                                loop_0_4_tAFOX_3.setName("relations_common:predicateDisplayName");
                                org.dom4j.Element loop_0_5_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_5_tAFOX_3 = loop_0_tAFOX_3.addElement("predicate");
                                } else {
                                    loop_0_5_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:predicate");
                                }
                                loop_0_5_tAFOX_3.setName("relations_common:predicate");
                                org.dom4j.Element loop_0_6_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_6_tAFOX_3 = loop_0_tAFOX_3.addElement("objectCsid");
                                } else {
                                    loop_0_6_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectCsid");
                                }
                                if (valueMap_tAFOX_3.get("move_CSID") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_6_tAFOX_3,
                                            valueMap_tAFOX_3.get("move_CSID"));
                                }
                                loop_0_6_tAFOX_3.setName("relations_common:objectCsid");
                                org.dom4j.Element loop_0_7_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_7_tAFOX_3 = loop_0_tAFOX_3.addElement("objectUri");
                                } else {
                                    loop_0_7_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectUri");
                                }
                                if (valueMap_tAFOX_3.get("move_URI") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_7_tAFOX_3, valueMap_tAFOX_3.get("move_URI"));
                                }
                                loop_0_7_tAFOX_3.setName("relations_common:objectUri");
                                org.dom4j.Element loop_0_8_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_8_tAFOX_3 = loop_0_tAFOX_3.addElement("objectRefName");
                                } else {
                                    loop_0_8_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectRefName");
                                }
                                if (valueMap_tAFOX_3.get("move_refname") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_8_tAFOX_3,
                                            valueMap_tAFOX_3.get("move_refname"));
                                }
                                loop_0_8_tAFOX_3.setName("relations_common:objectRefName");
                                org.dom4j.Element loop_0_9_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_9_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectRefName");
                                } else {
                                    loop_0_9_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectRefName");
                                }
                                if (valueMap_tAFOX_3.get("obj_refname") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_9_tAFOX_3,
                                            valueMap_tAFOX_3.get("obj_refname"));
                                }
                                loop_0_9_tAFOX_3.setName("relations_common:subjectRefName");
                                org.dom4j.Element loop_0_10_tAFOX_3;
                                if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_10_tAFOX_3 = loop_0_tAFOX_3.addElement("objectDocumentType");
                                } else {
                                    loop_0_10_tAFOX_3 = loop_0_tAFOX_3
                                            .addElement("relations_common:objectDocumentType");
                                }
                                if (valueMap_tAFOX_3.get("objectDoctype") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_0_10_tAFOX_3,
                                            valueMap_tAFOX_3.get("objectDoctype"));
                                }
                                loop_0_10_tAFOX_3.setName("relations_common:objectDocumentType");
                                org.dom4j.Element loop_1_tAFOX_3 = loop_tAFOX_3.addElement("schema0");
                                loop_1_tAFOX_3.addNamespace("collectionspace_core",
                                        TalendString.replaceSpecialCharForXML(
                                                "http://collectionspace.org/collectionspace_core/"));
                                loop_1_tAFOX_3.addAttribute("name", "collectionspace_core");
                                org.dom4j.Element loop_1_0_tAFOX_3 = loop_1_tAFOX_3.addElement("uri");
                                if (valueMap_tAFOX_3.get("rel_o2m_uri") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_1_0_tAFOX_3,
                                            valueMap_tAFOX_3.get("rel_o2m_uri"));
                                }
                                org.dom4j.Element loop_1_1_tAFOX_3 = loop_1_tAFOX_3.addElement("refName");
                                if (valueMap_tAFOX_3.get("rel_o2m_refname") != null) {
                                    nestXMLTool_tAFOX_3.setText(loop_1_1_tAFOX_3,
                                            valueMap_tAFOX_3.get("rel_o2m_refname"));
                                }

                                tos_count_tAdvancedFileOutputXML_3++;

                                /**
                                 * [tAdvancedFileOutputXML_3 main ] stop
                                 */

                                /**
                                 * [tSortRow_4_SortIn end ] start
                                 */

                                currentComponent = "tSortRow_4_SortIn";

                            }

                            globalMap.put("tSortRow_4_SortIn_NB_LINE", nb_line_tSortRow_4_SortIn);

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

                            /**
                             * [tSortRow_4_SortIn end ] stop
                             */

                            /**
                             * [tAdvancedFileOutputXML_3 end ] start
                             */

                            currentComponent = "tAdvancedFileOutputXML_3";

                            java.io.FileOutputStream stream_tAFOX_3 = new java.io.FileOutputStream(
                                    fileName_tAFOX_3);
                            org.dom4j.io.XMLWriter output_tAFOX_3 = new org.dom4j.io.XMLWriter(stream_tAFOX_3,
                                    format_tAFOX_3);
                            if (doc_tAFOX_3.getRootElement() != null) {
                                nestXMLTool_tAFOX_3.replaceDefaultNameSpace(doc_tAFOX_3.getRootElement());
                                output_tAFOX_3.write(doc_tAFOX_3);
                            }
                            output_tAFOX_3.close();
                            globalMap.put("tAdvancedFileOutputXML_3_NB_LINE", nb_line_tAFOX_3);

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

                            /**
                             * [tAdvancedFileOutputXML_3 end ] stop
                             */

                            /**
                             * [tSortRow_5_SortOut end ] start
                             */

                            currentComponent = "tSortRow_5_SortOut";

                            move2obj_XMLStruct[] array_tSortRow_5_SortOut = list_tSortRow_5_SortOut
                                    .toArray(new Comparablemove2obj_XMLStruct[0]);

                            java.util.Arrays.sort(array_tSortRow_5_SortOut);

                            globalMap.put("tSortRow_5", array_tSortRow_5_SortOut);

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

                            /**
                             * [tSortRow_5_SortOut end ] stop
                             */

                            /**
                             * [tAdvancedFileOutputXML_2 begin ] start
                             */

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

                            int tos_count_tAdvancedFileOutputXML_2 = 0;

                            int nb_line_tAFOX_2 = 0;

                            boolean needRoot_tAFOX_2 = true;

                            String fileName_tAFOX_2 = "../temp/relation/barcode5_move2obj."
                                    + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min + ".xml";
                            Boolean alreadyExistsFile_tAFOX_2 = new java.io.File(fileName_tAFOX_2).exists();
                            fileName_tAFOX_2 = new java.io.File(fileName_tAFOX_2).getAbsolutePath().replace("\\",
                                    "/");
                            String file_tAFOX_2 = "";

                            if (fileName_tAFOX_2.indexOf("/") < 0) {
                                throw new IllegalArgumentException("not a correct file name.");
                            } else {
                                String tail_tAFOX_2 = fileName_tAFOX_2.substring(fileName_tAFOX_2.lastIndexOf("/"));
                                file_tAFOX_2 = tail_tAFOX_2.lastIndexOf(".") > 0
                                        ? fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("."))
                                        : fileName_tAFOX_2;
                            }
                            java.io.File createFiletAFOX_2 = new java.io.File(fileName_tAFOX_2);

                            if (!createFiletAFOX_2.exists()) {
                                (new java.io.File(fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("/"))))
                                        .mkdirs();
                                needRoot_tAFOX_2 = true;
                            }

                            java.util.List<java.util.List<String>> groupbyList_tAFOX_2 = new java.util.ArrayList<java.util.List<String>>();
                            java.util.Map<String, String> valueMap_tAFOX_2 = new java.util.HashMap<String, String>();

                            class NestXMLTool_tAFOX_2 {
                                public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                                    try {
                                        org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                                .parseText("<root>" + value + "</root>");
                                        nestRoot.setContent(doc4Str.getRootElement().content());
                                    } catch (Exception e) {
                                        // e.printStackTrace();
                                        nestRoot.setText(value);
                                    }
                                }

                                public void setText(org.dom4j.Element element, String value) {
                                    if (value.startsWith("<![CDATA[") && value.endsWith("]]>")) {
                                        String text = value.substring(9, value.length() - 3);
                                        element.addCDATA(text);
                                    } else {
                                        element.setText(value);
                                    }
                                }

                                public void replaceDefaultNameSpace(org.dom4j.Element nestRoot) {
                                    if (nestRoot != null) {
                                        boolean isDefaultNameSpaceAtRoot = ""
                                                .equals(nestRoot.getQName().getNamespace().getPrefix());
                                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot
                                                .elements()) {
                                            if (("").equals(tmp.getQName().getNamespace().getURI())
                                                    && ("").equals(tmp.getQName().getNamespace().getPrefix())
                                                    && isDefaultNameSpaceAtRoot) {
                                                tmp.setQName(org.dom4j.DocumentHelper.createQName(tmp.getName(),
                                                        nestRoot.getQName().getNamespace()));
                                            }
                                            replaceDefaultNameSpace(tmp);
                                        }
                                    }
                                }

                                public void removeEmptyElement(org.dom4j.Element root) {
                                    if (root != null) {
                                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) root
                                                .elements()) {
                                            removeEmptyElement(tmp);
                                        }
                                        if (root.content().size() == 0 && root.attributes().size() == 0
                                                && root.declaredNamespaces().size() == 0) {
                                            if (root.getParent() != null) {
                                                root.getParent().remove(root);
                                            }
                                        }
                                    }
                                }

                                /**
                                 * remove the whiteSpace Node between the
                                 * elements when appending the source file under
                                 * dom4j
                                 * 
                                 * @param root
                                 */
                                public void removeWhiteSpaceTextNode(org.dom4j.Element root) {
                                    if (root != null) {
                                        List<org.dom4j.Node> textNodes = new java.util.ArrayList<org.dom4j.Node>();
                                        for (int i = 0; i < root.nodeCount(); i++) {
                                            if (root.node(i).getNodeType() == org.dom4j.Node.ELEMENT_NODE) {
                                                removeWhiteSpaceTextNode((org.dom4j.Element) root.node(i));
                                            } else if (root.node(i).getNodeType() == org.dom4j.Node.TEXT_NODE) {
                                                textNodes.add(root.node(i));
                                            }
                                        }
                                        if (root.nodeCount() > 1) { // when
                                            // root.nodeCount==1,
                                            // that
                                            // means the
                                            // text node
                                            // is the
                                            // content
                                            // of the
                                            // element
                                            for (org.dom4j.Node textNode : textNodes) {
                                                if (textNode.getText() == null
                                                        || "".equals(textNode.getText().trim())) {
                                                    root.remove(textNode);
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            NestXMLTool_tAFOX_2 nestXMLTool_tAFOX_2 = new NestXMLTool_tAFOX_2();
                            // sort group root element for judgement of group
                            java.util.List<org.dom4j.Element> groupElementList_tAFOX_2 = new java.util.ArrayList<org.dom4j.Element>();
                            org.dom4j.Element root4Group_tAFOX_2 = null;
                            org.dom4j.Document doc_tAFOX_2 = null;

                            doc_tAFOX_2 = org.dom4j.DocumentHelper.createDocument();

                            org.dom4j.io.OutputFormat format_tAFOX_2 = org.dom4j.io.OutputFormat
                                    .createPrettyPrint();

                            format_tAFOX_2.setTrimText(false);
                            format_tAFOX_2.setEncoding("UTF-8");

                            int[] orders_tAFOX_2 = new int[1];

                            /**
                             * [tAdvancedFileOutputXML_2 begin ] stop
                             */

                            /**
                             * [tSortRow_5_SortIn begin ] start
                             */

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

                            int tos_count_tSortRow_5_SortIn = 0;

                            move2obj_XMLStruct[] array_tSortRow_5_SortIn = (move2obj_XMLStruct[]) globalMap
                                    .get("tSortRow_5");

                            int nb_line_tSortRow_5_SortIn = 0;

                            move2obj_XMLStruct current_tSortRow_5_SortIn = null;

                            for (int i_tSortRow_5_SortIn = 0; i_tSortRow_5_SortIn < array_tSortRow_5_SortIn.length; i_tSortRow_5_SortIn++) {
                                current_tSortRow_5_SortIn = array_tSortRow_5_SortIn[i_tSortRow_5_SortIn];
                                row3.objectNum = current_tSortRow_5_SortIn.objectNum;
                                row3.obj_CSID = current_tSortRow_5_SortIn.obj_CSID;
                                row3.objectDocType = current_tSortRow_5_SortIn.objectDocType;
                                row3.moveID = current_tSortRow_5_SortIn.moveID;
                                row3.move_CSID = current_tSortRow_5_SortIn.move_CSID;
                                row3.move_URI = current_tSortRow_5_SortIn.move_URI;
                                row3.subjectDocType = current_tSortRow_5_SortIn.subjectDocType;
                                row3.loc_refName = current_tSortRow_5_SortIn.loc_refName;
                                row3.move_timestamp = current_tSortRow_5_SortIn.move_timestamp;
                                row3.move2obj_CSID = current_tSortRow_5_SortIn.move2obj_CSID;
                                row3.move_refname = current_tSortRow_5_SortIn.move_refname;
                                row3.obj_uri = current_tSortRow_5_SortIn.obj_uri;
                                row3.obj_refname = current_tSortRow_5_SortIn.obj_refname;
                                row3.rel_m2o_uri = current_tSortRow_5_SortIn.rel_m2o_uri;
                                row3.rel_m2o_refname = current_tSortRow_5_SortIn.rel_m2o_refname;
                                row3.datetimeTZ = current_tSortRow_5_SortIn.datetimeTZ;
                                // increase number of line sorted
                                nb_line_tSortRow_5_SortIn++;

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

                                currentComponent = "tSortRow_5_SortIn";

                                tos_count_tSortRow_5_SortIn++;

                                /**
                                 * [tSortRow_5_SortIn main ] stop
                                 */

                                /**
                                 * [tAdvancedFileOutputXML_2 main ] start
                                 */

                                currentComponent = "tAdvancedFileOutputXML_2";

                                nb_line_tAFOX_2++;
                                valueMap_tAFOX_2.clear();
                                valueMap_tAFOX_2.put("objectNum",
                                        (row3.objectNum != null ? row3.objectNum.toString() : null));
                                valueMap_tAFOX_2.put("obj_CSID",
                                        (row3.obj_CSID != null ? row3.obj_CSID.toString() : null));
                                valueMap_tAFOX_2.put("objectDocType",
                                        (row3.objectDocType != null ? row3.objectDocType.toString() : null));
                                valueMap_tAFOX_2.put("moveID",
                                        (row3.moveID != null ? row3.moveID.toString() : null));
                                valueMap_tAFOX_2.put("move_CSID",
                                        (row3.move_CSID != null ? row3.move_CSID.toString() : null));
                                valueMap_tAFOX_2.put("move_URI",
                                        (row3.move_URI != null ? row3.move_URI.toString() : null));
                                valueMap_tAFOX_2.put("subjectDocType",
                                        (row3.subjectDocType != null ? row3.subjectDocType.toString() : null));
                                valueMap_tAFOX_2.put("loc_refName",
                                        (row3.loc_refName != null ? row3.loc_refName.toString() : null));
                                valueMap_tAFOX_2.put("move_timestamp",
                                        (row3.move_timestamp != null ? row3.move_timestamp.toString() : null));
                                valueMap_tAFOX_2.put("move2obj_CSID", (row3.move2obj_CSID.toString()));
                                valueMap_tAFOX_2.put("move_refname", (row3.move_refname.toString()));
                                valueMap_tAFOX_2.put("obj_uri", (row3.obj_uri.toString()));
                                valueMap_tAFOX_2.put("obj_refname", (row3.obj_refname.toString()));
                                valueMap_tAFOX_2.put("rel_m2o_uri", (row3.rel_m2o_uri.toString()));
                                valueMap_tAFOX_2.put("rel_m2o_refname", (row3.rel_m2o_refname.toString()));
                                valueMap_tAFOX_2.put("datetimeTZ", (row3.datetimeTZ.toString()));
                                org.dom4j.Element subTreeRootParent_tAFOX_2 = null;

                                // build root xml tree
                                if (needRoot_tAFOX_2) {
                                    needRoot_tAFOX_2 = false;
                                    if (orders_tAFOX_2.length > 0) {
                                        orders_tAFOX_2[0] = 0;
                                    }
                                    org.dom4j.Element root_tAFOX_2 = doc_tAFOX_2.addElement("imports");
                                    subTreeRootParent_tAFOX_2 = root_tAFOX_2;
                                    root4Group_tAFOX_2 = subTreeRootParent_tAFOX_2;
                                } else {
                                    subTreeRootParent_tAFOX_2 = root4Group_tAFOX_2;
                                }
                                // build group xml tree
                                // build loop xml tree
                                org.dom4j.Element loop_tAFOX_2 = org.dom4j.DocumentHelper.createElement("import");
                                if (orders_tAFOX_2[0] == 0) {
                                    orders_tAFOX_2[0] = 0;
                                }
                                if (1 < orders_tAFOX_2.length) {
                                    orders_tAFOX_2[1] = 0;
                                }
                                subTreeRootParent_tAFOX_2.elements().add(orders_tAFOX_2[0]++, loop_tAFOX_2);
                                loop_tAFOX_2.addAttribute("service", "Relations");
                                loop_tAFOX_2.addAttribute("type", "Relation");
                                if (valueMap_tAFOX_2.get("move2obj_CSID") != null) {
                                    loop_tAFOX_2.addAttribute("CSID", valueMap_tAFOX_2.get("move2obj_CSID"));
                                }
                                org.dom4j.Element loop_0_tAFOX_2 = loop_tAFOX_2.addElement("schema");
                                loop_0_tAFOX_2.addNamespace("relations_common", TalendString
                                        .replaceSpecialCharForXML("http://collectionspace.org/relation"));
                                loop_0_tAFOX_2.addAttribute("name", "relations_common");
                                org.dom4j.Element loop_0_0_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_0_tAFOX_2 = loop_0_tAFOX_2.addElement("relationshipType");
                                } else {
                                    loop_0_0_tAFOX_2 = loop_0_tAFOX_2
                                            .addElement("relations_common:relationshipType");
                                }
                                nestXMLTool_tAFOX_2.parseAndAdd(loop_0_0_tAFOX_2, "affects");

                                loop_0_0_tAFOX_2.setName("relations_common:relationshipType");
                                org.dom4j.Element loop_0_1_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_1_tAFOX_2 = loop_0_tAFOX_2.addElement("subjectCsid");
                                } else {
                                    loop_0_1_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:subjectCsid");
                                }
                                if (valueMap_tAFOX_2.get("move_CSID") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_1_tAFOX_2,
                                            valueMap_tAFOX_2.get("move_CSID"));
                                }
                                loop_0_1_tAFOX_2.setName("relations_common:subjectCsid");
                                org.dom4j.Element loop_0_2_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_2_tAFOX_2 = loop_0_tAFOX_2.addElement("subjectDocumentType");
                                } else {
                                    loop_0_2_tAFOX_2 = loop_0_tAFOX_2
                                            .addElement("relations_common:subjectDocumentType");
                                }
                                if (valueMap_tAFOX_2.get("subjectDocType") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_2_tAFOX_2,
                                            valueMap_tAFOX_2.get("subjectDocType"));
                                }
                                loop_0_2_tAFOX_2.setName("relations_common:subjectDocumentType");
                                org.dom4j.Element loop_0_3_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_3_tAFOX_2 = loop_0_tAFOX_2.addElement("subjectUri");
                                } else {
                                    loop_0_3_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:subjectUri");
                                }
                                if (valueMap_tAFOX_2.get("move_URI") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_3_tAFOX_2, valueMap_tAFOX_2.get("move_URI"));
                                }
                                loop_0_3_tAFOX_2.setName("relations_common:subjectUri");
                                org.dom4j.Element loop_0_4_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_4_tAFOX_2 = loop_0_tAFOX_2.addElement("predicateDisplayName");
                                } else {
                                    loop_0_4_tAFOX_2 = loop_0_tAFOX_2
                                            .addElement("relations_common:predicateDisplayName");
                                }
                                loop_0_4_tAFOX_2.setName("relations_common:predicateDisplayName");
                                org.dom4j.Element loop_0_5_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_5_tAFOX_2 = loop_0_tAFOX_2.addElement("predicate");
                                } else {
                                    loop_0_5_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:predicate");
                                }
                                loop_0_5_tAFOX_2.setName("relations_common:predicate");
                                org.dom4j.Element loop_0_6_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("objectCsid");
                                } else {
                                    loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectCsid");
                                }
                                if (valueMap_tAFOX_2.get("obj_CSID") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_6_tAFOX_2, valueMap_tAFOX_2.get("obj_CSID"));
                                }
                                loop_0_6_tAFOX_2.setName("relations_common:objectCsid");
                                org.dom4j.Element loop_0_7_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_7_tAFOX_2 = loop_0_tAFOX_2.addElement("objectUri");
                                } else {
                                    loop_0_7_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectUri");
                                }
                                if (valueMap_tAFOX_2.get("obj_uri") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_7_tAFOX_2, valueMap_tAFOX_2.get("obj_uri"));
                                }
                                loop_0_7_tAFOX_2.setName("relations_common:objectUri");
                                org.dom4j.Element loop_0_8_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_8_tAFOX_2 = loop_0_tAFOX_2.addElement("objectRefName");
                                } else {
                                    loop_0_8_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectRefName");
                                }
                                if (valueMap_tAFOX_2.get("obj_refname") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_8_tAFOX_2,
                                            valueMap_tAFOX_2.get("obj_refname"));
                                }
                                loop_0_8_tAFOX_2.setName("relations_common:objectRefName");
                                org.dom4j.Element loop_0_9_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_9_tAFOX_2 = loop_0_tAFOX_2.addElement("subjectRefName");
                                } else {
                                    loop_0_9_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:subjectRefName");
                                }
                                if (valueMap_tAFOX_2.get("move_refname") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_9_tAFOX_2,
                                            valueMap_tAFOX_2.get("move_refname"));
                                }
                                loop_0_9_tAFOX_2.setName("relations_common:subjectRefName");
                                org.dom4j.Element loop_0_10_tAFOX_2;
                                if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                                    loop_0_10_tAFOX_2 = loop_0_tAFOX_2.addElement("objectDocumentType");
                                } else {
                                    loop_0_10_tAFOX_2 = loop_0_tAFOX_2
                                            .addElement("relations_common:objectDocumentType");
                                }
                                if (valueMap_tAFOX_2.get("objectDocType") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_0_10_tAFOX_2,
                                            valueMap_tAFOX_2.get("objectDocType"));
                                }
                                loop_0_10_tAFOX_2.setName("relations_common:objectDocumentType");
                                org.dom4j.Element loop_1_tAFOX_2 = loop_tAFOX_2.addElement("schema0");
                                loop_1_tAFOX_2.addNamespace("collectionspace_core",
                                        TalendString.replaceSpecialCharForXML(
                                                "http://collectionspace.org/collectionspace_core/"));
                                loop_1_tAFOX_2.addAttribute("name", "collectionspace_core");
                                org.dom4j.Element loop_1_0_tAFOX_2 = loop_1_tAFOX_2.addElement("uri");
                                if (valueMap_tAFOX_2.get("rel_m2o_uri") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_1_0_tAFOX_2,
                                            valueMap_tAFOX_2.get("rel_m2o_uri"));
                                }
                                org.dom4j.Element loop_1_1_tAFOX_2 = loop_1_tAFOX_2.addElement("refName");
                                if (valueMap_tAFOX_2.get("rel_m2o_refname") != null) {
                                    nestXMLTool_tAFOX_2.setText(loop_1_1_tAFOX_2,
                                            valueMap_tAFOX_2.get("rel_m2o_refname"));
                                }

                                tos_count_tAdvancedFileOutputXML_2++;

                                /**
                                 * [tAdvancedFileOutputXML_2 main ] stop
                                 */

                                /**
                                 * [tSortRow_5_SortIn end ] start
                                 */

                                currentComponent = "tSortRow_5_SortIn";

                            }

                            globalMap.put("tSortRow_5_SortIn_NB_LINE", nb_line_tSortRow_5_SortIn);

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

                            /**
                             * [tSortRow_5_SortIn end ] stop
                             */

                            /**
                             * [tAdvancedFileOutputXML_2 end ] start
                             */

                            currentComponent = "tAdvancedFileOutputXML_2";

                            java.io.FileOutputStream stream_tAFOX_2 = new java.io.FileOutputStream(
                                    fileName_tAFOX_2);
                            org.dom4j.io.XMLWriter output_tAFOX_2 = new org.dom4j.io.XMLWriter(stream_tAFOX_2,
                                    format_tAFOX_2);
                            if (doc_tAFOX_2.getRootElement() != null) {
                                nestXMLTool_tAFOX_2.replaceDefaultNameSpace(doc_tAFOX_2.getRootElement());
                                output_tAFOX_2.write(doc_tAFOX_2);
                            }
                            output_tAFOX_2.close();
                            globalMap.put("tAdvancedFileOutputXML_2_NB_LINE", nb_line_tAFOX_2);

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

                            /**
                             * [tAdvancedFileOutputXML_2 end ] stop
                             */

                            /**
                             * [tFileOutputDelimited_4 end ] start
                             */

                            currentComponent = "tFileOutputDelimited_4";

                        } finally {
                            if (outtFileOutputDelimited_4 != null) {
                                outtFileOutputDelimited_4.flush();
                                outtFileOutputDelimited_4.close();
                            }
                            globalMap.put("tFileOutputDelimited_4_NB_LINE", nb_line_tFileOutputDelimited_4);
                            globalMap.put("tFileOutputDelimited_4_FILE_NAME", fileName_tFileOutputDelimited_4);
                        } // finally

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

                        /**
                         * [tFileOutputDelimited_4 end ] stop
                         */

                        /**
                         * [tFileOutputDelimited_5 end ] start
                         */

                        currentComponent = "tFileOutputDelimited_5";

                    } finally {
                        if (outtFileOutputDelimited_5 != null) {
                            outtFileOutputDelimited_5.flush();
                            outtFileOutputDelimited_5.close();
                        }
                        globalMap.put("tFileOutputDelimited_5_NB_LINE", nb_line_tFileOutputDelimited_5);
                        globalMap.put("tFileOutputDelimited_5_FILE_NAME", fileName_tFileOutputDelimited_5);
                    } // finally

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

                    /**
                     * [tFileOutputDelimited_5 end ] stop
                     */

                    /**
                     * [tFileOutputDelimited_1 end ] start
                     */

                    currentComponent = "tFileOutputDelimited_1";

                } finally {
                    if (outtFileOutputDelimited_1 != null) {
                        outtFileOutputDelimited_1.flush();
                        outtFileOutputDelimited_1.close();
                    }
                    globalMap.put("tFileOutputDelimited_1_NB_LINE", nb_line_tFileOutputDelimited_1);
                    globalMap.put("tFileOutputDelimited_1_FILE_NAME", fileName_tFileOutputDelimited_1);
                } // finally

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

                /**
                 * [tFileOutputDelimited_1 end ] stop
                 */

                /**
                 * [tAdvancedFileOutputXML_1 end ] start
                 */

                currentComponent = "tAdvancedFileOutputXML_1";

                java.io.FileOutputStream stream_tAFOX_1 = new java.io.FileOutputStream(fileName_tAFOX_1);
                org.dom4j.io.XMLWriter output_tAFOX_1 = new org.dom4j.io.XMLWriter(stream_tAFOX_1, format_tAFOX_1);
                if (doc_tAFOX_1.getRootElement() != null) {
                    nestXMLTool_tAFOX_1.replaceDefaultNameSpace(doc_tAFOX_1.getRootElement());
                    output_tAFOX_1.write(doc_tAFOX_1);
                }
                output_tAFOX_1.close();
                globalMap.put("tAdvancedFileOutputXML_1_NB_LINE", nb_line_tAFOX_1);

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

                /**
                 * [tAdvancedFileOutputXML_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 "tSortRow_5_SortIn"
            globalMap.put("tSortRow_5", null);

            // free memory for "tSortRow_4_SortIn"
            globalMap.put("tSortRow_4", null);

            // free memory for "tMap_1"
            globalMap.put("tHash_Lookup_person_ID_displayName", null);

            // free memory for "tMap_1"
            globalMap.put("tHash_Lookup_locinfo", null);

            // free memory for "tMap_1"
            globalMap.put("tHash_Lookup_obj_IDs", null);

            // free memory for "tSortRow_3_SortIn"
            globalMap.put("tSortRow_3", null);

            // free memory for "tMap_6"
            globalMap.put("tHash_Lookup_handler_list", null);

        }

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

    public static class handler_listStruct
            implements routines.system.IPersistableComparableLookupRow<handler_listStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = 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 String handler_code;

        public String getHandler_code() {
            return this.handler_code;
        }

        public String handler_displname;

        public String getHandler_displname() {
            return this.handler_displname;
        }

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

                result = prime * result + ((this.handler_code == null) ? 0 : this.handler_code.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 handler_listStruct other = (handler_listStruct) obj;

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

            return true;
        }

        public void copyDataTo(handler_listStruct other) {

            other.handler_code = this.handler_code;
            other.handler_displname = this.handler_displname;

        }

        public void copyKeysDataTo(handler_listStruct other) {

            other.handler_code = this.handler_code;

        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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 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);
            }
        }

        public void readKeysData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.handler_code = readString(dis);

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

                }

            }

        }

        public void writeKeysData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.handler_code, 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.handler_displname = readString(dis, ois);

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

            }

        }

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

                writeString(this.handler_displname, dos, oos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("handler_code=" + handler_code);
            sb.append(",handler_displname=" + handler_displname);
            sb.append("]");

            return sb.toString();
        }

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

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.handler_code, other.handler_code);
            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 tFileInputDelimited_5Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tFileInputDelimited_5_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;

                handler_listStruct handler_list = new handler_listStruct();

                /**
                 * [tAdvancedHash_handler_list begin ] start
                 */

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

                int tos_count_tAdvancedHash_handler_list = 0;

                // connection name:handler_list
                // source node:tFileInputDelimited_5 -
                // inputs:(after_tFileInputDelimited_1)
                // outputs:(handler_list,handler_list) | target
                // node:tAdvancedHash_handler_list - inputs:(handler_list)
                // outputs:()
                // linked node: tMap_6 - inputs:(barcode_file,handler_list)
                // outputs:(barcode_wName)

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

                org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<handler_listStruct> tHash_Lookup_handler_list = org.talend.designer.components.lookup.memory.AdvancedMemoryLookup
                        .<handler_listStruct>getLookup(matchingModeEnum_handler_list);

                globalMap.put("tHash_Lookup_handler_list", tHash_Lookup_handler_list);

                /**
                 * [tAdvancedHash_handler_list begin ] stop
                 */

                /**
                 * [tFileInputDelimited_5 begin ] start
                 */

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

                int tos_count_tFileInputDelimited_5 = 0;

                class RowHelper_tFileInputDelimited_5 {

                    public void valueToConn(org.talend.fileprocess.FileInputDelimited fid,
                            handler_listStruct handler_list) throws Exception {

                        handler_list.handler_code = fid.get(0);

                        handler_list.handler_displname = fid.get(1);

                    }

                }
                RowHelper_tFileInputDelimited_5 rowHelper_tFileInputDelimited_5 = new RowHelper_tFileInputDelimited_5();

                int nb_line_tFileInputDelimited_5 = 0;
                org.talend.fileprocess.FileInputDelimited fid_tFileInputDelimited_5 = null;
                try {

                    Object filename_tFileInputDelimited_5 = "../LocHandlers.txt";
                    if (filename_tFileInputDelimited_5 instanceof java.io.InputStream) {

                        int footer_value_tFileInputDelimited_5 = 0, random_value_tFileInputDelimited_5 = -1;
                        if (footer_value_tFileInputDelimited_5 > 0 || random_value_tFileInputDelimited_5 > 0) {
                            throw new Exception(
                                    "When the input source is a stream,footer and random shouldn't be bigger than 0.");
                        }

                    }
                    try {
                        fid_tFileInputDelimited_5 = new org.talend.fileprocess.FileInputDelimited(
                                "../LocHandlers.txt", "US-ASCII", "\t", "\n", false, 0, 0, -1, -1, false);
                    } catch (Exception e) {

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

                    }

                    while (fid_tFileInputDelimited_5 != null && fid_tFileInputDelimited_5.nextRecord()) {

                        handler_list = null;

                        handler_list = null;

                        boolean whetherReject_tFileInputDelimited_5 = false;
                        handler_list = new handler_listStruct();
                        try {

                            rowHelper_tFileInputDelimited_5.valueToConn(fid_tFileInputDelimited_5, handler_list);

                        } catch (Exception e) {
                            whetherReject_tFileInputDelimited_5 = true;

                            System.err.println(e.getMessage());
                            handler_list = null;

                        }

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

                        currentComponent = "tFileInputDelimited_5";

                        tos_count_tFileInputDelimited_5++;

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

                            /**
                             * [tAdvancedHash_handler_list main ] start
                             */

                            currentComponent = "tAdvancedHash_handler_list";

                            handler_listStruct handler_list_HashRow = new handler_listStruct();

                            handler_list_HashRow.handler_code = handler_list.handler_code;

                            handler_list_HashRow.handler_displname = handler_list.handler_displname;

                            tHash_Lookup_handler_list.put(handler_list_HashRow);

                            tos_count_tAdvancedHash_handler_list++;

                            /**
                             * [tAdvancedHash_handler_list main ] stop
                             */

                        } // End of branch "handler_list"

                        /**
                         * [tFileInputDelimited_5 end ] start
                         */

                        currentComponent = "tFileInputDelimited_5";

                    }
                } finally {
                    if (!((Object) ("../LocHandlers.txt") instanceof java.io.InputStream)) {
                        if (fid_tFileInputDelimited_5 != null) {
                            fid_tFileInputDelimited_5.close();
                        }
                    }
                    if (fid_tFileInputDelimited_5 != null) {
                        globalMap.put("tFileInputDelimited_5_NB_LINE", fid_tFileInputDelimited_5.getRowNumber());
                    }
                }

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

                /**
                 * [tFileInputDelimited_5 end ] stop
                 */

                /**
                 * [tAdvancedHash_handler_list end ] start
                 */

                currentComponent = "tAdvancedHash_handler_list";

                tHash_Lookup_handler_list.endPut();

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

                /**
                 * [tAdvancedHash_handler_list 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("tFileInputDelimited_5_SUBPROCESS_STATE", 1);
    }

    public static class person_ID_displayNameStruct
            implements routines.system.IPersistableComparableLookupRow<person_ID_displayNameStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = 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 String person_shortID;

        public String getPerson_shortID() {
            return this.person_shortID;
        }

        public String person_CSID;

        public String getPerson_CSID() {
            return this.person_CSID;
        }

        public String person_refname;

        public String getPerson_refname() {
            return this.person_refname;
        }

        public String displayName;

        public String getDisplayName() {
            return this.displayName;
        }

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

                result = prime * result + ((this.displayName == null) ? 0 : this.displayName.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 person_ID_displayNameStruct other = (person_ID_displayNameStruct) obj;

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

            return true;
        }

        public void copyDataTo(person_ID_displayNameStruct other) {

            other.person_shortID = this.person_shortID;
            other.person_CSID = this.person_CSID;
            other.person_refname = this.person_refname;
            other.displayName = this.displayName;

        }

        public void copyKeysDataTo(person_ID_displayNameStruct other) {

            other.displayName = this.displayName;

        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.displayName = readString(dis);

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

                }

            }

        }

        public void writeKeysData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.displayName, 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.person_shortID = readString(dis, ois);

                this.person_CSID = readString(dis, ois);

                this.person_refname = readString(dis, ois);

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

            }

        }

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

                writeString(this.person_shortID, dos, oos);

                writeString(this.person_CSID, dos, oos);

                writeString(this.person_refname, dos, oos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("person_shortID=" + person_shortID);
            sb.append(",person_CSID=" + person_CSID);
            sb.append(",person_refname=" + person_refname);
            sb.append(",displayName=" + displayName);
            sb.append("]");

            return sb.toString();
        }

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

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.displayName, other.displayName);
            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 person_IDsStruct implements routines.system.IPersistableRow<person_IDsStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String person_shortID;

        public String getPerson_shortID() {
            return this.person_shortID;
        }

        public String person_CSID;

        public String getPerson_CSID() {
            return this.person_CSID;
        }

        public String person_refname;

        public String getPerson_refname() {
            return this.person_refname;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.person_shortID = readString(dis);

                    this.person_CSID = readString(dis);

                    this.person_refname = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.person_shortID, dos);

                // String

                writeString(this.person_CSID, dos);

                // String

                writeString(this.person_refname, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("person_shortID=" + person_shortID);
            sb.append(",person_CSID=" + person_CSID);
            sb.append(",person_refname=" + person_refname);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(person_IDsStruct 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 tFileInputDelimited_2Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tFileInputDelimited_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;

                person_IDsStruct person_IDs = new person_IDsStruct();
                person_ID_displayNameStruct person_ID_displayName = new person_ID_displayNameStruct();

                /**
                 * [tAdvancedHash_person_ID_displayName begin ] start
                 */

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

                int tos_count_tAdvancedHash_person_ID_displayName = 0;

                // connection name:person_ID_displayName
                // source node:tMap_2 - inputs:(person_IDs)
                // outputs:(person_ID_displayName,person_ID_displayName) |
                // target node:tAdvancedHash_person_ID_displayName -
                // inputs:(person_ID_displayName) outputs:()
                // linked node: tMap_1 -
                // inputs:(obj_loc,person_ID_displayName,locinfo,obj_IDs)
                // outputs:(out_moveXML,moveCSID,ID,unmatch_loc,move2obj_XML,obj2move_XML)

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

                org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<person_ID_displayNameStruct> tHash_Lookup_person_ID_displayName = org.talend.designer.components.lookup.memory.AdvancedMemoryLookup
                        .<person_ID_displayNameStruct>getLookup(matchingModeEnum_person_ID_displayName);

                globalMap.put("tHash_Lookup_person_ID_displayName", tHash_Lookup_person_ID_displayName);

                /**
                 * [tAdvancedHash_person_ID_displayName 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
                // ###############################

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

                // ###############################
                // # Outputs initialization
                person_ID_displayNameStruct person_ID_displayName_tmp = new person_ID_displayNameStruct();
                // ###############################

                /**
                 * [tMap_2 begin ] stop
                 */

                /**
                 * [tFileInputDelimited_2 begin ] start
                 */

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

                int tos_count_tFileInputDelimited_2 = 0;

                class RowHelper_tFileInputDelimited_2 {

                    public void valueToConn(org.talend.fileprocess.FileInputDelimited fid,
                            person_IDsStruct person_IDs) throws Exception {

                        person_IDs.person_shortID = fid.get(0);

                        person_IDs.person_CSID = fid.get(1);

                        person_IDs.person_refname = fid.get(2);

                    }

                }
                RowHelper_tFileInputDelimited_2 rowHelper_tFileInputDelimited_2 = new RowHelper_tFileInputDelimited_2();

                int nb_line_tFileInputDelimited_2 = 0;
                org.talend.fileprocess.FileInputDelimited fid_tFileInputDelimited_2 = null;
                try {

                    Object filename_tFileInputDelimited_2 = "/tmp/all_handler.tab."
                            + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min;
                    if (filename_tFileInputDelimited_2 instanceof java.io.InputStream) {

                        int footer_value_tFileInputDelimited_2 = 0, random_value_tFileInputDelimited_2 = -1;
                        if (footer_value_tFileInputDelimited_2 > 0 || random_value_tFileInputDelimited_2 > 0) {
                            throw new Exception(
                                    "When the input source is a stream,footer and random shouldn't be bigger than 0.");
                        }

                    }
                    try {
                        fid_tFileInputDelimited_2 = new org.talend.fileprocess.FileInputDelimited(
                                "/tmp/all_handler.tab." + TalendDate.getDate("CCYY-MM-DD") + "-"
                                        + context.infile_min,
                                "US-ASCII", "\t", "\n", false, 0, 0, -1, -1, false);
                    } catch (Exception e) {

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

                    }

                    while (fid_tFileInputDelimited_2 != null && fid_tFileInputDelimited_2.nextRecord()) {

                        person_IDs = null;

                        boolean whetherReject_tFileInputDelimited_2 = false;
                        person_IDs = new person_IDsStruct();
                        try {

                            rowHelper_tFileInputDelimited_2.valueToConn(fid_tFileInputDelimited_2, person_IDs);

                        } catch (Exception e) {
                            whetherReject_tFileInputDelimited_2 = true;

                            System.err.println(e.getMessage());
                            person_IDs = null;

                        }

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

                        currentComponent = "tFileInputDelimited_2";

                        tos_count_tFileInputDelimited_2++;

                        /**
                         * [tFileInputDelimited_2 main ] stop
                         */
                        // Start of branch "person_IDs"
                        if (person_IDs != 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;

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

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

                                Var__tMap_2__Struct Var = Var__tMap_2;
                                Var.displayName = ExtractDisplayName.extractDispName(person_IDs.person_refname);// ###############################
                                // ###############################
                                // # Output tables

                                person_ID_displayName = null;

                                // # Output table : 'person_ID_displayName'
                                person_ID_displayName_tmp.person_shortID = person_IDs.person_shortID;
                                person_ID_displayName_tmp.person_CSID = person_IDs.person_CSID;
                                person_ID_displayName_tmp.person_refname = person_IDs.person_refname;
                                person_ID_displayName_tmp.displayName = Var.displayName;
                                person_ID_displayName = person_ID_displayName_tmp;
                                // ###############################

                            } // end of Var scope

                            rejectedInnerJoin_tMap_2 = false;

                            tos_count_tMap_2++;

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

                                /**
                                 * [tAdvancedHash_person_ID_displayName main ]
                                 * start
                                 */

                                currentComponent = "tAdvancedHash_person_ID_displayName";

                                person_ID_displayNameStruct person_ID_displayName_HashRow = new person_ID_displayNameStruct();

                                person_ID_displayName_HashRow.person_shortID = person_ID_displayName.person_shortID;

                                person_ID_displayName_HashRow.person_CSID = person_ID_displayName.person_CSID;

                                person_ID_displayName_HashRow.person_refname = person_ID_displayName.person_refname;

                                person_ID_displayName_HashRow.displayName = person_ID_displayName.displayName;

                                tHash_Lookup_person_ID_displayName.put(person_ID_displayName_HashRow);

                                tos_count_tAdvancedHash_person_ID_displayName++;

                                /**
                                 * [tAdvancedHash_person_ID_displayName main ]
                                 * stop
                                 */

                            } // End of branch "person_ID_displayName"

                        } // End of branch "person_IDs"

                        /**
                         * [tFileInputDelimited_2 end ] start
                         */

                        currentComponent = "tFileInputDelimited_2";

                    }
                } finally {
                    if (!((Object) ("/tmp/all_handler.tab." + TalendDate.getDate("CCYY-MM-DD") + "-"
                            + context.infile_min) instanceof java.io.InputStream)) {
                        if (fid_tFileInputDelimited_2 != null) {
                            fid_tFileInputDelimited_2.close();
                        }
                    }
                    if (fid_tFileInputDelimited_2 != null) {
                        globalMap.put("tFileInputDelimited_2_NB_LINE", fid_tFileInputDelimited_2.getRowNumber());
                    }
                }

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

                /**
                 * [tFileInputDelimited_2 end ] stop
                 */

                /**
                 * [tMap_2 end ] start
                 */

                currentComponent = "tMap_2";

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

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

                /**
                 * [tMap_2 end ] stop
                 */

                /**
                 * [tAdvancedHash_person_ID_displayName end ] start
                 */

                currentComponent = "tAdvancedHash_person_ID_displayName";

                tHash_Lookup_person_ID_displayName.endPut();

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

                /**
                 * [tAdvancedHash_person_ID_displayName 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("tFileInputDelimited_2_SUBPROCESS_STATE", 1);
    }

    public static class locinfoStruct implements routines.system.IPersistableComparableLookupRow<locinfoStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = 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 String loc_displayname;

        public String getLoc_displayname() {
            return this.loc_displayname;
        }

        public String loc_termname;

        public String getLoc_termname() {
            return this.loc_termname;
        }

        public String loc_termstatus;

        public String getLoc_termstatus() {
            return this.loc_termstatus;
        }

        public String loc_shortID;

        public String getLoc_shortID() {
            return this.loc_shortID;
        }

        public String loc_refname;

        public String getLoc_refname() {
            return this.loc_refname;
        }

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

                result = prime * result + ((this.loc_displayname == null) ? 0 : this.loc_displayname.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 locinfoStruct other = (locinfoStruct) obj;

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

            return true;
        }

        public void copyDataTo(locinfoStruct other) {

            other.loc_displayname = this.loc_displayname;
            other.loc_termname = this.loc_termname;
            other.loc_termstatus = this.loc_termstatus;
            other.loc_shortID = this.loc_shortID;
            other.loc_refname = this.loc_refname;

        }

        public void copyKeysDataTo(locinfoStruct other) {

            other.loc_displayname = this.loc_displayname;

        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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 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);
            }
        }

        public void readKeysData(ObjectInputStream dis) {

            synchronized (commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.loc_displayname = readString(dis);

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

                }

            }

        }

        public void writeKeysData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.loc_displayname, 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.loc_termname = readString(dis, ois);

                this.loc_termstatus = readString(dis, ois);

                this.loc_shortID = readString(dis, ois);

                this.loc_refname = readString(dis, ois);

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

            }

        }

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

                writeString(this.loc_termname, dos, oos);

                writeString(this.loc_termstatus, dos, oos);

                writeString(this.loc_shortID, dos, oos);

                writeString(this.loc_refname, dos, oos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("loc_displayname=" + loc_displayname);
            sb.append(",loc_termname=" + loc_termname);
            sb.append(",loc_termstatus=" + loc_termstatus);
            sb.append(",loc_shortID=" + loc_shortID);
            sb.append(",loc_refname=" + loc_refname);
            sb.append("]");

            return sb.toString();
        }

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

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.loc_displayname, other.loc_displayname);
            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 OnRowsEndStructtSortRow_7
            implements routines.system.IPersistableRow<OnRowsEndStructtSortRow_7> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String loc_displayname;

        public String getLoc_displayname() {
            return this.loc_displayname;
        }

        public String loc_termname;

        public String getLoc_termname() {
            return this.loc_termname;
        }

        public String loc_termstatus;

        public String getLoc_termstatus() {
            return this.loc_termstatus;
        }

        public String loc_shortID;

        public String getLoc_shortID() {
            return this.loc_shortID;
        }

        public String loc_refname;

        public String getLoc_refname() {
            return this.loc_refname;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.loc_displayname = readString(dis);

                    this.loc_termname = readString(dis);

                    this.loc_termstatus = readString(dis);

                    this.loc_shortID = readString(dis);

                    this.loc_refname = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.loc_displayname, dos);

                // String

                writeString(this.loc_termname, dos);

                // String

                writeString(this.loc_termstatus, dos);

                // String

                writeString(this.loc_shortID, dos);

                // String

                writeString(this.loc_refname, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("loc_displayname=" + loc_displayname);
            sb.append(",loc_termname=" + loc_termname);
            sb.append(",loc_termstatus=" + loc_termstatus);
            sb.append(",loc_shortID=" + loc_shortID);
            sb.append(",loc_refname=" + loc_refname);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(OnRowsEndStructtSortRow_7 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 loc_IDsStruct implements routines.system.IPersistableRow<loc_IDsStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];

        public String loc_displayname;

        public String getLoc_displayname() {
            return this.loc_displayname;
        }

        public String loc_termname;

        public String getLoc_termname() {
            return this.loc_termname;
        }

        public String loc_termstatus;

        public String getLoc_termstatus() {
            return this.loc_termstatus;
        }

        public String loc_shortID;

        public String getLoc_shortID() {
            return this.loc_shortID;
        }

        public String loc_refname;

        public String getLoc_refname() {
            return this.loc_refname;
        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.loc_displayname = readString(dis);

                    this.loc_termname = readString(dis);

                    this.loc_termstatus = readString(dis);

                    this.loc_shortID = readString(dis);

                    this.loc_refname = readString(dis);

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

                }

            }

        }

        public void writeData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.loc_displayname, dos);

                // String

                writeString(this.loc_termname, dos);

                // String

                writeString(this.loc_termstatus, dos);

                // String

                writeString(this.loc_shortID, dos);

                // String

                writeString(this.loc_refname, dos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("loc_displayname=" + loc_displayname);
            sb.append(",loc_termname=" + loc_termname);
            sb.append(",loc_termstatus=" + loc_termstatus);
            sb.append(",loc_shortID=" + loc_shortID);
            sb.append(",loc_refname=" + loc_refname);
            sb.append("]");

            return sb.toString();
        }

        /**
         * Compare keys
         */
        public int compareTo(loc_IDsStruct 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 tFileInputDelimited_3Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tFileInputDelimited_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;

                loc_IDsStruct loc_IDs = new loc_IDsStruct();
                locinfoStruct locinfo = new locinfoStruct();

                /**
                 * [tSortRow_7_SortOut begin ] start
                 */

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

                int tos_count_tSortRow_7_SortOut = 0;

                class Comparableloc_IDsStruct extends loc_IDsStruct implements Comparable<Comparableloc_IDsStruct> {

                    public int compareTo(Comparableloc_IDsStruct other) {

                        if (this.loc_displayname == null && other.loc_displayname != null) {
                            return -1;

                        } else if (this.loc_displayname != null && other.loc_displayname == null) {
                            return 1;

                        } else if (this.loc_displayname != null && other.loc_displayname != null) {
                            if (!this.loc_displayname.equals(other.loc_displayname)) {
                                return this.loc_displayname.compareTo(other.loc_displayname);
                            }
                        }
                        return 0;
                    }
                }

                java.util.List<Comparableloc_IDsStruct> list_tSortRow_7_SortOut = new java.util.ArrayList<Comparableloc_IDsStruct>();

                /**
                 * [tSortRow_7_SortOut begin ] stop
                 */

                /**
                 * [tFileInputDelimited_3 begin ] start
                 */

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

                int tos_count_tFileInputDelimited_3 = 0;

                class RowHelper_tFileInputDelimited_3 {

                    public void valueToConn(org.talend.fileprocess.FileInputDelimited fid, loc_IDsStruct loc_IDs)
                            throws Exception {

                        loc_IDs.loc_displayname = fid.get(0);

                        loc_IDs.loc_termname = fid.get(1);

                        loc_IDs.loc_termstatus = fid.get(2);

                        loc_IDs.loc_shortID = fid.get(3);

                        loc_IDs.loc_refname = fid.get(4);

                    }

                }
                RowHelper_tFileInputDelimited_3 rowHelper_tFileInputDelimited_3 = new RowHelper_tFileInputDelimited_3();

                int nb_line_tFileInputDelimited_3 = 0;
                org.talend.fileprocess.FileInputDelimited fid_tFileInputDelimited_3 = null;
                try {

                    Object filename_tFileInputDelimited_3 = "/tmp/all_loc.tab." + TalendDate.getDate("CCYY-MM-DD")
                            + "-" + context.infile_min;
                    if (filename_tFileInputDelimited_3 instanceof java.io.InputStream) {

                        int footer_value_tFileInputDelimited_3 = 0, random_value_tFileInputDelimited_3 = -1;
                        if (footer_value_tFileInputDelimited_3 > 0 || random_value_tFileInputDelimited_3 > 0) {
                            throw new Exception(
                                    "When the input source is a stream,footer and random shouldn't be bigger than 0.");
                        }

                    }
                    try {
                        fid_tFileInputDelimited_3 = new org.talend.fileprocess.FileInputDelimited(
                                "/tmp/all_loc.tab." + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min,
                                "US-ASCII", "\t", "\n", false, 0, 0, -1, -1, false);
                    } catch (Exception e) {

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

                    }

                    while (fid_tFileInputDelimited_3 != null && fid_tFileInputDelimited_3.nextRecord()) {

                        loc_IDs = null;

                        boolean whetherReject_tFileInputDelimited_3 = false;
                        loc_IDs = new loc_IDsStruct();
                        try {

                            rowHelper_tFileInputDelimited_3.valueToConn(fid_tFileInputDelimited_3, loc_IDs);

                        } catch (Exception e) {
                            whetherReject_tFileInputDelimited_3 = true;

                            System.err.println(e.getMessage());
                            loc_IDs = null;

                        }

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

                        currentComponent = "tFileInputDelimited_3";

                        tos_count_tFileInputDelimited_3++;

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

                            /**
                             * [tSortRow_7_SortOut main ] start
                             */

                            currentComponent = "tSortRow_7_SortOut";

                            Comparableloc_IDsStruct arrayRowtSortRow_7_SortOut = new Comparableloc_IDsStruct();

                            arrayRowtSortRow_7_SortOut.loc_displayname = loc_IDs.loc_displayname;
                            arrayRowtSortRow_7_SortOut.loc_termname = loc_IDs.loc_termname;
                            arrayRowtSortRow_7_SortOut.loc_termstatus = loc_IDs.loc_termstatus;
                            arrayRowtSortRow_7_SortOut.loc_shortID = loc_IDs.loc_shortID;
                            arrayRowtSortRow_7_SortOut.loc_refname = loc_IDs.loc_refname;
                            list_tSortRow_7_SortOut.add(arrayRowtSortRow_7_SortOut);

                            tos_count_tSortRow_7_SortOut++;

                            /**
                             * [tSortRow_7_SortOut main ] stop
                             */

                        } // End of branch "loc_IDs"

                        /**
                         * [tFileInputDelimited_3 end ] start
                         */

                        currentComponent = "tFileInputDelimited_3";

                    }
                } finally {
                    if (!((Object) ("/tmp/all_loc.tab." + TalendDate.getDate("CCYY-MM-DD") + "-"
                            + context.infile_min) instanceof java.io.InputStream)) {
                        if (fid_tFileInputDelimited_3 != null) {
                            fid_tFileInputDelimited_3.close();
                        }
                    }
                    if (fid_tFileInputDelimited_3 != null) {
                        globalMap.put("tFileInputDelimited_3_NB_LINE", fid_tFileInputDelimited_3.getRowNumber());
                    }
                }

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

                /**
                 * [tFileInputDelimited_3 end ] stop
                 */

                /**
                 * [tSortRow_7_SortOut end ] start
                 */

                currentComponent = "tSortRow_7_SortOut";

                loc_IDsStruct[] array_tSortRow_7_SortOut = list_tSortRow_7_SortOut
                        .toArray(new Comparableloc_IDsStruct[0]);

                java.util.Arrays.sort(array_tSortRow_7_SortOut);

                globalMap.put("tSortRow_7", array_tSortRow_7_SortOut);

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

                /**
                 * [tSortRow_7_SortOut end ] stop
                 */

                /**
                 * [tAdvancedHash_locinfo begin ] start
                 */

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

                int tos_count_tAdvancedHash_locinfo = 0;

                // connection name:locinfo
                // source node:tSortRow_7_SortIn - inputs:(OnRowsEnd)
                // outputs:(locinfo,locinfo) | target node:tAdvancedHash_locinfo
                // - inputs:(locinfo) outputs:()
                // linked node: tMap_1 -
                // inputs:(obj_loc,person_ID_displayName,locinfo,obj_IDs)
                // outputs:(out_moveXML,moveCSID,ID,unmatch_loc,move2obj_XML,obj2move_XML)

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

                org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<locinfoStruct> tHash_Lookup_locinfo = org.talend.designer.components.lookup.memory.AdvancedMemoryLookup
                        .<locinfoStruct>getLookup(matchingModeEnum_locinfo);

                globalMap.put("tHash_Lookup_locinfo", tHash_Lookup_locinfo);

                /**
                 * [tAdvancedHash_locinfo begin ] stop
                 */

                /**
                 * [tSortRow_7_SortIn begin ] start
                 */

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

                int tos_count_tSortRow_7_SortIn = 0;

                loc_IDsStruct[] array_tSortRow_7_SortIn = (loc_IDsStruct[]) globalMap.get("tSortRow_7");

                int nb_line_tSortRow_7_SortIn = 0;

                loc_IDsStruct current_tSortRow_7_SortIn = null;

                for (int i_tSortRow_7_SortIn = 0; i_tSortRow_7_SortIn < array_tSortRow_7_SortIn.length; i_tSortRow_7_SortIn++) {
                    current_tSortRow_7_SortIn = array_tSortRow_7_SortIn[i_tSortRow_7_SortIn];
                    locinfo.loc_displayname = current_tSortRow_7_SortIn.loc_displayname;
                    locinfo.loc_termname = current_tSortRow_7_SortIn.loc_termname;
                    locinfo.loc_termstatus = current_tSortRow_7_SortIn.loc_termstatus;
                    locinfo.loc_shortID = current_tSortRow_7_SortIn.loc_shortID;
                    locinfo.loc_refname = current_tSortRow_7_SortIn.loc_refname;
                    // increase number of line sorted
                    nb_line_tSortRow_7_SortIn++;

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

                    currentComponent = "tSortRow_7_SortIn";

                    tos_count_tSortRow_7_SortIn++;

                    /**
                     * [tSortRow_7_SortIn main ] stop
                     */

                    /**
                     * [tAdvancedHash_locinfo main ] start
                     */

                    currentComponent = "tAdvancedHash_locinfo";

                    locinfoStruct locinfo_HashRow = new locinfoStruct();

                    locinfo_HashRow.loc_displayname = locinfo.loc_displayname;

                    locinfo_HashRow.loc_termname = locinfo.loc_termname;

                    locinfo_HashRow.loc_termstatus = locinfo.loc_termstatus;

                    locinfo_HashRow.loc_shortID = locinfo.loc_shortID;

                    locinfo_HashRow.loc_refname = locinfo.loc_refname;

                    tHash_Lookup_locinfo.put(locinfo_HashRow);

                    tos_count_tAdvancedHash_locinfo++;

                    /**
                     * [tAdvancedHash_locinfo main ] stop
                     */

                    /**
                     * [tSortRow_7_SortIn end ] start
                     */

                    currentComponent = "tSortRow_7_SortIn";

                }

                globalMap.put("tSortRow_7_SortIn_NB_LINE", nb_line_tSortRow_7_SortIn);

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

                /**
                 * [tSortRow_7_SortIn end ] stop
                 */

                /**
                 * [tAdvancedHash_locinfo end ] start
                 */

                currentComponent = "tAdvancedHash_locinfo";

                tHash_Lookup_locinfo.endPut();

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

                /**
                 * [tAdvancedHash_locinfo 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 "tSortRow_7_SortIn"
            globalMap.put("tSortRow_7", null);

        }

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

    public static class obj_IDsStruct implements routines.system.IPersistableComparableLookupRow<obj_IDsStruct> {
        final static byte[] commonByteArrayLock_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[0];
        static byte[] commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = 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 String obj_nuxeoID;

        public String getObj_nuxeoID() {
            return this.obj_nuxeoID;
        }

        public String obj_CSID;

        public String getObj_CSID() {
            return this.obj_CSID;
        }

        public String objectNumber;

        public String getObjectNumber() {
            return this.objectNumber;
        }

        public String objectID;

        public String getObjectID() {
            return this.objectID;
        }

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

                result = prime * result + ((this.objectNumber == null) ? 0 : this.objectNumber.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 obj_IDsStruct other = (obj_IDsStruct) obj;

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

            return true;
        }

        public void copyDataTo(obj_IDsStruct other) {

            other.obj_nuxeoID = this.obj_nuxeoID;
            other.obj_CSID = this.obj_CSID;
            other.objectNumber = this.objectNumber;
            other.objectID = this.objectID;

        }

        public void copyKeysDataTo(obj_IDsStruct other) {

            other.objectNumber = this.objectNumber;

        }

        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_PAHMA_ETL_TMSlocation_barcode_5fld.length) {
                    if (length < 1024 && commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld.length == 0) {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[1024];
                    } else {
                        commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld = new byte[2 * length];
                    }
                }
                dis.readFully(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 0, length);
                strReturn = new String(commonByteArray_PAHMA_ETL_TMSlocation_barcode_5fld, 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_PAHMA_ETL_TMSlocation_barcode_5fld) {

                try {

                    int length = 0;

                    this.objectNumber = readString(dis);

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

                }

            }

        }

        public void writeKeysData(ObjectOutputStream dos) {
            try {

                // String

                writeString(this.objectNumber, 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.obj_nuxeoID = readString(dis, ois);

                this.obj_CSID = readString(dis, ois);

                this.objectID = readString(dis, ois);

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

            }

        }

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

                writeString(this.obj_nuxeoID, dos, oos);

                writeString(this.obj_CSID, dos, oos);

                writeString(this.objectID, dos, oos);

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

        }

        public String toString() {

            StringBuilder sb = new StringBuilder();
            sb.append(super.toString());
            sb.append("[");
            sb.append("obj_nuxeoID=" + obj_nuxeoID);
            sb.append(",obj_CSID=" + obj_CSID);
            sb.append(",objectNumber=" + objectNumber);
            sb.append(",objectID=" + objectID);
            sb.append("]");

            return sb.toString();
        }

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

            int returnValue = -1;

            returnValue = checkNullsAndCompare(this.objectNumber, other.objectNumber);
            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 tFileInputDelimited_4Process(final java.util.Map<String, Object> globalMap) throws TalendException {
        globalMap.put("tFileInputDelimited_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;

                obj_IDsStruct obj_IDs = new obj_IDsStruct();

                /**
                 * [tAdvancedHash_obj_IDs begin ] start
                 */

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

                int tos_count_tAdvancedHash_obj_IDs = 0;

                // connection name:obj_IDs
                // source node:tFileInputDelimited_4 -
                // inputs:(after_tFileInputDelimited_1)
                // outputs:(obj_IDs,obj_IDs) | target node:tAdvancedHash_obj_IDs
                // - inputs:(obj_IDs) outputs:()
                // linked node: tMap_1 -
                // inputs:(obj_loc,person_ID_displayName,locinfo,obj_IDs)
                // outputs:(out_moveXML,moveCSID,ID,unmatch_loc,move2obj_XML,obj2move_XML)

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

                org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<obj_IDsStruct> tHash_Lookup_obj_IDs = org.talend.designer.components.lookup.memory.AdvancedMemoryLookup
                        .<obj_IDsStruct>getLookup(matchingModeEnum_obj_IDs);

                globalMap.put("tHash_Lookup_obj_IDs", tHash_Lookup_obj_IDs);

                /**
                 * [tAdvancedHash_obj_IDs begin ] stop
                 */

                /**
                 * [tFileInputDelimited_4 begin ] start
                 */

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

                int tos_count_tFileInputDelimited_4 = 0;

                class RowHelper_tFileInputDelimited_4 {

                    public void valueToConn(org.talend.fileprocess.FileInputDelimited fid, obj_IDsStruct obj_IDs)
                            throws Exception {

                        obj_IDs.obj_nuxeoID = fid.get(0);

                        obj_IDs.obj_CSID = fid.get(1);

                        obj_IDs.objectNumber = fid.get(2);

                        obj_IDs.objectID = fid.get(3);

                    }

                }
                RowHelper_tFileInputDelimited_4 rowHelper_tFileInputDelimited_4 = new RowHelper_tFileInputDelimited_4();

                int nb_line_tFileInputDelimited_4 = 0;
                org.talend.fileprocess.FileInputDelimited fid_tFileInputDelimited_4 = null;
                try {

                    Object filename_tFileInputDelimited_4 = "/tmp/all_obj.tab." + TalendDate.getDate("CCYY-MM-DD")
                            + "-" + context.infile_min;
                    if (filename_tFileInputDelimited_4 instanceof java.io.InputStream) {

                        int footer_value_tFileInputDelimited_4 = 0, random_value_tFileInputDelimited_4 = -1;
                        if (footer_value_tFileInputDelimited_4 > 0 || random_value_tFileInputDelimited_4 > 0) {
                            throw new Exception(
                                    "When the input source is a stream,footer and random shouldn't be bigger than 0.");
                        }

                    }
                    try {
                        fid_tFileInputDelimited_4 = new org.talend.fileprocess.FileInputDelimited(
                                "/tmp/all_obj.tab." + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min,
                                "US-ASCII", "\t", "\n", false, 0, 0, -1, -1, false);
                    } catch (Exception e) {

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

                    }

                    while (fid_tFileInputDelimited_4 != null && fid_tFileInputDelimited_4.nextRecord()) {

                        obj_IDs = null;

                        obj_IDs = null;

                        boolean whetherReject_tFileInputDelimited_4 = false;
                        obj_IDs = new obj_IDsStruct();
                        try {

                            rowHelper_tFileInputDelimited_4.valueToConn(fid_tFileInputDelimited_4, obj_IDs);

                        } catch (Exception e) {
                            whetherReject_tFileInputDelimited_4 = true;

                            System.err.println(e.getMessage());
                            obj_IDs = null;

                        }

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

                        currentComponent = "tFileInputDelimited_4";

                        tos_count_tFileInputDelimited_4++;

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

                            /**
                             * [tAdvancedHash_obj_IDs main ] start
                             */

                            currentComponent = "tAdvancedHash_obj_IDs";

                            obj_IDsStruct obj_IDs_HashRow = new obj_IDsStruct();

                            obj_IDs_HashRow.obj_nuxeoID = obj_IDs.obj_nuxeoID;

                            obj_IDs_HashRow.obj_CSID = obj_IDs.obj_CSID;

                            obj_IDs_HashRow.objectNumber = obj_IDs.objectNumber;

                            obj_IDs_HashRow.objectID = obj_IDs.objectID;

                            tHash_Lookup_obj_IDs.put(obj_IDs_HashRow);

                            tos_count_tAdvancedHash_obj_IDs++;

                            /**
                             * [tAdvancedHash_obj_IDs main ] stop
                             */

                        } // End of branch "obj_IDs"

                        /**
                         * [tFileInputDelimited_4 end ] start
                         */

                        currentComponent = "tFileInputDelimited_4";

                    }
                } finally {
                    if (!((Object) ("/tmp/all_obj.tab." + TalendDate.getDate("CCYY-MM-DD") + "-"
                            + context.infile_min) instanceof java.io.InputStream)) {
                        if (fid_tFileInputDelimited_4 != null) {
                            fid_tFileInputDelimited_4.close();
                        }
                    }
                    if (fid_tFileInputDelimited_4 != null) {
                        globalMap.put("tFileInputDelimited_4_NB_LINE", fid_tFileInputDelimited_4.getRowNumber());
                    }
                }

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

                /**
                 * [tFileInputDelimited_4 end ] stop
                 */

                /**
                 * [tAdvancedHash_obj_IDs end ] start
                 */

                currentComponent = "tAdvancedHash_obj_IDs";

                tHash_Lookup_obj_IDs.endPut();

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

                /**
                 * [tAdvancedHash_obj_IDs 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("tFileInputDelimited_4_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 TMSlocation_barcode_5fld TMSlocation_barcode_5fldClass = new TMSlocation_barcode_5fld();

        int exitCode = TMSlocation_barcode_5fldClass.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 = TMSlocation_barcode_5fld.class.getClassLoader().getResourceAsStream(
                    "pahma_etl/tmslocation_barcode_5fld_1_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.infile_min = (String) context.getProperty("infile_min");
        } 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("infile_min")) {
                context.infile_min = (String) parentContextMap.get("infile_min");
            }
        }

        // 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;
            tFileInputDelimited_1Process(globalMap);
            if (!"failure".equals(status)) {
                status = "end";
            }
        } catch (TalendException e_tFileInputDelimited_1) {

            e_tFileInputDelimited_1.printStackTrace();
            globalMap.put("tFileInputDelimited_1_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 : TMSlocation_barcode_5fld");
        }

        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;
}
/************************************************************************************************
 * 331111 characters generated by Talend Open Studio for Data Integration on the
 * October 26, 2013 1:01:38 PM PDT
 ************************************************************************************************/