Example usage for org.dom4j Element addCDATA

List of usage examples for org.dom4j Element addCDATA

Introduction

In this page you can find the example usage for org.dom4j Element addCDATA.

Prototype

Element addCDATA(String cdata);

Source Link

Document

Adds a new CDATA node with the given text to this element.

Usage

From source file:pahma_etl.tmslocation_barcode_mvcrate_1_1.TMSlocation_barcode_mvCrate.java

License:LGPL

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

    final boolean execStat = this.execStat;

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

    try {//  w  w  w .j a va2s .  c om

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

            tFileInputDelimited_1Process(globalMap);

            obj_IDsStruct obj_IDs = new obj_IDsStruct();
            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();

            /**
             * [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/barcodeMvCrate_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"));

                if (filetFileOutputDelimited_5.length() == 0) {

                    outtFileOutputDelimited_5.write("Item_Num");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("moveID");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("loc_reject");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("handler_reject");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("obj_reject");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("loc_refname");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("crate_refname");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("loc_handler_refname");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("capture_datetime");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("moveCSID");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("move2obj_CSID");

                    outtFileOutputDelimited_5.write(OUT_DELIM_tFileOutputDelimited_5);

                    outtFileOutputDelimited_5.write("obj2move_CSID");

                    outtFileOutputDelimited_5.write(OUT_DELIM_ROWSEP_tFileOutputDelimited_5);
                    outtFileOutputDelimited_5.flush();
                }

                /**
                 * [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/barcodeMvCrate_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"));

                    if (filetFileOutputDelimited_4.length() == 0) {

                        outtFileOutputDelimited_4.write("Item_Num");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("moveID");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("reject_loc");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("reject_handler");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("reject_obj");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("newLocation");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("currCrate");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("loc_refname");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("crate_refname");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("loc_handler");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("loc_handler_refname");

                        outtFileOutputDelimited_4.write(OUT_DELIM_tFileOutputDelimited_4);

                        outtFileOutputDelimited_4.write("Capture_timestamp");

                        outtFileOutputDelimited_4.write(OUT_DELIM_ROWSEP_tFileOutputDelimited_4);
                        outtFileOutputDelimited_4.flush();
                    }

                    /**
                     * [tFileOutputDelimited_4 begin ] stop
                     */

                    /**
                     * [tSortRow_8_SortOut begin ] start
                     */

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

                    int tos_count_tSortRow_8_SortOut = 0;

                    class Comparablemove2obj_XMLStruct extends move2obj_XMLStruct
                            implements Comparable<Comparablemove2obj_XMLStruct> {

                        public int compareTo(Comparablemove2obj_XMLStruct other) {

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

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

                            } else if (this.moveID != null && other.moveID != null) {
                                if (!this.moveID.equals(other.moveID)) {
                                    return this.moveID.compareTo(other.moveID);
                                }
                            }
                            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_8_SortOut = new java.util.ArrayList<Comparablemove2obj_XMLStruct>();

                    /**
                     * [tSortRow_8_SortOut begin ] stop
                     */

                    /**
                     * [tSortRow_6_SortOut begin ] start
                     */

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

                    int tos_count_tSortRow_6_SortOut = 0;

                    class Comparableobj2move_XMLStruct extends obj2move_XMLStruct
                            implements Comparable<Comparableobj2move_XMLStruct> {

                        public int compareTo(Comparableobj2move_XMLStruct other) {

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

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

                            } else if (this.moveID != null && other.moveID != null) {
                                if (!this.moveID.equals(other.moveID)) {
                                    return this.moveID.compareTo(other.moveID);
                                }
                            }
                            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_6_SortOut = new java.util.ArrayList<Comparableobj2move_XMLStruct>();

                    /**
                     * [tSortRow_6_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<barcode_no_obj_yetStruct> tHash_Lookup_barcode_no_obj_yet = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<barcode_no_obj_yetStruct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<barcode_no_obj_yetStruct>) globalMap
                            .get("tHash_Lookup_barcode_no_obj_yet"));

                    barcode_no_obj_yetStruct barcode_no_obj_yetHashKey = new barcode_no_obj_yetStruct();
                    barcode_no_obj_yetStruct barcode_no_obj_yetDefault = new barcode_no_obj_yetStruct();
                    // ###############################

                    // ###############################
                    // # Vars initialization
                    class Var__tMap_1__Struct {
                        String trim_locrefname;
                        String item_locref;
                        String trim_craterefname;
                        boolean loc_reject;
                        boolean handler_reject;
                        boolean obj_reject;
                        String move2obj_CSID;
                        String obj2move_CSID;
                        String obj_uri;
                        String obj_refname;
                        String move_uri;
                        String move_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
                    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
                     */

                    /**
                     * [tFileInputDelimited_10 begin ] start
                     */

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

                    int tos_count_tFileInputDelimited_10 = 0;

                    class RowHelper_tFileInputDelimited_10 {

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

                            obj_IDs.obj_nuxeoID = fid.get(0).trim();

                            obj_IDs.obj_CSID = fid.get(1).trim();

                            obj_IDs.objectNumber = fid.get(2).trim();

                            obj_IDs.objectID = fid.get(3).trim();

                            obj_IDs.currCrate_refname = fid.get(4).trim();

                            obj_IDs.currLoc_refname = fid.get(5).trim();

                        }

                    }
                    RowHelper_tFileInputDelimited_10 rowHelper_tFileInputDelimited_10 = new RowHelper_tFileInputDelimited_10();

                    int nb_line_tFileInputDelimited_10 = 0;
                    org.talend.fileprocess.FileInputDelimited fid_tFileInputDelimited_10 = null;
                    try {

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

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

                        }
                        try {
                            fid_tFileInputDelimited_10 = new org.talend.fileprocess.FileInputDelimited(
                                    "/tmp/all_crateObj.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_10 != null && fid_tFileInputDelimited_10.nextRecord()) {

                            obj_IDs = null;

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

                                rowHelper_tFileInputDelimited_10.valueToConn(fid_tFileInputDelimited_10,
                                        obj_IDs);

                            } catch (Exception e) {
                                whetherReject_tFileInputDelimited_10 = true;

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

                            }

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

                            currentComponent = "tFileInputDelimited_10";

                            tos_count_tFileInputDelimited_10++;

                            /**
                             * [tFileInputDelimited_10 main ] stop
                             */
                            // Start of branch "obj_IDs"
                            if (obj_IDs != 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
                                // "barcode_no_obj_yet"
                                // /////////////////////////////////////////////

                                boolean forceLoopbarcode_no_obj_yet = false;

                                barcode_no_obj_yetStruct barcode_no_obj_yetObjectFromLookup = null;

                                if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                                    hasCasePrimitiveKeyWithNull_tMap_1 = false;

                                    barcode_no_obj_yetHashKey.crate_refname = obj_IDs.currCrate_refname;

                                    barcode_no_obj_yetHashKey.hashCodeDirty = true;

                                    tHash_Lookup_barcode_no_obj_yet.lookup(barcode_no_obj_yetHashKey);

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

                                        forceLoopbarcode_no_obj_yet = true;

                                    } // G_TM_M_090

                                } // G_TM_M_020

                                else { // G 20 - G 21
                                    forceLoopbarcode_no_obj_yet = true;
                                } // G 21

                                barcode_no_obj_yetStruct barcode_no_obj_yet = null;

                                while ((tHash_Lookup_barcode_no_obj_yet != null
                                        && tHash_Lookup_barcode_no_obj_yet.hasNext())
                                        || forceLoopbarcode_no_obj_yet) { // G_TM_M_043

                                    // CALL close loop of lookup
                                    // 'barcode_no_obj_yet'

                                    barcode_no_obj_yetStruct fromLookup_barcode_no_obj_yet = null;
                                    barcode_no_obj_yet = barcode_no_obj_yetDefault;

                                    if (!forceLoopbarcode_no_obj_yet) { // G
                                        // 46

                                        fromLookup_barcode_no_obj_yet = tHash_Lookup_barcode_no_obj_yet.next();

                                        if (fromLookup_barcode_no_obj_yet != null) {
                                            barcode_no_obj_yet = fromLookup_barcode_no_obj_yet;
                                        }

                                    } // G 46

                                    forceLoopbarcode_no_obj_yet = false;

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

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

                                        Var__tMap_1__Struct Var = Var__tMap_1;
                                        Var.trim_locrefname = StringHandling
                                                .TRIM(barcode_no_obj_yet.loc_refname);
                                        Var.item_locref = StringHandling.TRIM(obj_IDs.objectNumber) + "->"
                                                + StringHandling.TRIM(barcode_no_obj_yet.loc_refname) + " : "
                                                + barcode_no_obj_yet.crate_refname;
                                        Var.trim_craterefname = StringHandling
                                                .TRIM(barcode_no_obj_yet.crate_refname);
                                        Var.loc_reject = Relational.ISNULL(barcode_no_obj_yet.loc_refname)
                                                || Relational.ISNULL(barcode_no_obj_yet.crate_refname);
                                        Var.handler_reject = Relational
                                                .ISNULL(barcode_no_obj_yet.person_scanning);
                                        Var.obj_reject = Relational.ISNULL(obj_IDs.obj_CSID);
                                        Var.move2obj_CSID = Guid.getUUID();
                                        Var.obj2move_CSID = Guid.getUUID();
                                        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.move_uri = "/movements/" + barcode_no_obj_yet.move_CSID;
                                        Var.move_refname = "urn:cspace:pahma.cspace.berkeley.edu:movements:id("
                                                + barcode_no_obj_yet.move_CSID + ")";
                                        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

                                        ID = null;
                                        unmatch_loc = null;
                                        move2obj_XML = null;
                                        obj2move_XML = null;

                                        // # Output table : 'ID'
                                        ID_tmp.Item_Num = StringHandling.TRIM(obj_IDs.objectNumber);
                                        ID_tmp.moveID = barcode_no_obj_yet.moveID;
                                        ID_tmp.loc_reject = Var.loc_reject;
                                        ID_tmp.handler_reject = Var.handler_reject;
                                        ID_tmp.obj_reject = Var.obj_reject;
                                        ID_tmp.loc_refname = barcode_no_obj_yet.loc_refname;
                                        ID_tmp.crate_refname = barcode_no_obj_yet.crate_refname;
                                        ID_tmp.loc_handler_refname = barcode_no_obj_yet.person_refname;
                                        ID_tmp.capture_datetime = barcode_no_obj_yet.datetimeTZ;
                                        ID_tmp.moveCSID = barcode_no_obj_yet.move_CSID;
                                        ID_tmp.move2obj_CSID = Var.move2obj_CSID;
                                        ID_tmp.obj2move_CSID = Var.obj2move_CSID;
                                        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_IDs.objectNumber);
                                            unmatch_loc_tmp.moveID = barcode_no_obj_yet.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.newLocation = barcode_no_obj_yet.new_location;
                                            unmatch_loc_tmp.currCrate = barcode_no_obj_yet.current_crate;
                                            unmatch_loc_tmp.loc_refname = barcode_no_obj_yet.loc_refname;
                                            unmatch_loc_tmp.crate_refname = barcode_no_obj_yet.crate_refname;
                                            unmatch_loc_tmp.loc_handler = barcode_no_obj_yet.person_scanning;
                                            unmatch_loc_tmp.loc_handler_refname = barcode_no_obj_yet.person_refname;
                                            unmatch_loc_tmp.Capture_timestamp = barcode_no_obj_yet.date_time;
                                            unmatch_loc = unmatch_loc_tmp;
                                        } // closing filter/reject

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

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

                                    } // end of Var scope

                                    rejectedInnerJoin_tMap_1 = false;

                                    tos_count_tMap_1++;

                                    /**
                                     * [tMap_1 main ] stop
                                     */
                                    // 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.loc_reject != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.loc_reject

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.handler_reject != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.handler_reject

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.obj_reject != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.obj_reject

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.loc_refname != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.loc_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                                        if (ID.crate_refname != null) {

                                            sb_tFileOutputDelimited_5.append(

                                                    ID.crate_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_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.newLocation != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.newLocation

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.currCrate != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.currCrate

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.loc_refname != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.loc_refname

                                            );

                                        }

                                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                                        if (unmatch_loc.crate_refname != null) {

                                            sb_tFileOutputDelimited_4.append(

                                                    unmatch_loc.crate_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_8_SortOut main ] start
                                         */

                                        currentComponent = "tSortRow_8_SortOut";

                                        Comparablemove2obj_XMLStruct arrayRowtSortRow_8_SortOut = new Comparablemove2obj_XMLStruct();

                                        arrayRowtSortRow_8_SortOut.objectNum = move2obj_XML.objectNum;
                                        arrayRowtSortRow_8_SortOut.obj_CSID = move2obj_XML.obj_CSID;
                                        arrayRowtSortRow_8_SortOut.obj_uri = move2obj_XML.obj_uri;
                                        arrayRowtSortRow_8_SortOut.obj_refname = move2obj_XML.obj_refname;
                                        arrayRowtSortRow_8_SortOut.objectDocType = move2obj_XML.objectDocType;
                                        arrayRowtSortRow_8_SortOut.moveID = move2obj_XML.moveID;
                                        arrayRowtSortRow_8_SortOut.move_CSID = move2obj_XML.move_CSID;
                                        arrayRowtSortRow_8_SortOut.move_URI = move2obj_XML.move_URI;
                                        arrayRowtSortRow_8_SortOut.move_refname = move2obj_XML.move_refname;
                                        arrayRowtSortRow_8_SortOut.subjectDocType = move2obj_XML.subjectDocType;
                                        arrayRowtSortRow_8_SortOut.loc_refName = move2obj_XML.loc_refName;
                                        arrayRowtSortRow_8_SortOut.move_timestamp = move2obj_XML.move_timestamp;
                                        arrayRowtSortRow_8_SortOut.move2obj_CSID = move2obj_XML.move2obj_CSID;
                                        list_tSortRow_8_SortOut.add(arrayRowtSortRow_8_SortOut);

                                        tos_count_tSortRow_8_SortOut++;

                                        /**
                                         * [tSortRow_8_SortOut main ] stop
                                         */

                                    } // End of branch "move2obj_XML"

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

                                        /**
                                         * [tSortRow_6_SortOut main ] start
                                         */

                                        currentComponent = "tSortRow_6_SortOut";

                                        Comparableobj2move_XMLStruct arrayRowtSortRow_6_SortOut = new Comparableobj2move_XMLStruct();

                                        arrayRowtSortRow_6_SortOut.objectNum = obj2move_XML.objectNum;
                                        arrayRowtSortRow_6_SortOut.obj_CSID = obj2move_XML.obj_CSID;
                                        arrayRowtSortRow_6_SortOut.obj_uri = obj2move_XML.obj_uri;
                                        arrayRowtSortRow_6_SortOut.obj_refname = obj2move_XML.obj_refname;
                                        arrayRowtSortRow_6_SortOut.subjectDoctype = obj2move_XML.subjectDoctype;
                                        arrayRowtSortRow_6_SortOut.moveID = obj2move_XML.moveID;
                                        arrayRowtSortRow_6_SortOut.move_CSID = obj2move_XML.move_CSID;
                                        arrayRowtSortRow_6_SortOut.move_URI = obj2move_XML.move_URI;
                                        arrayRowtSortRow_6_SortOut.move_refname = obj2move_XML.move_refname;
                                        arrayRowtSortRow_6_SortOut.objectDoctype = obj2move_XML.objectDoctype;
                                        arrayRowtSortRow_6_SortOut.loc_refName = obj2move_XML.loc_refName;
                                        arrayRowtSortRow_6_SortOut.move_timestamp = obj2move_XML.move_timestamp;
                                        arrayRowtSortRow_6_SortOut.obj2move_CSID = obj2move_XML.obj2move_CSID;
                                        list_tSortRow_6_SortOut.add(arrayRowtSortRow_6_SortOut);

                                        tos_count_tSortRow_6_SortOut++;

                                        /**
                                         * [tSortRow_6_SortOut main ] stop
                                         */

                                    } // End of branch "obj2move_XML"

                                } // close loop of lookup
                                  // 'barcode_no_obj_yet' // G_TM_M_043

                            } // End of branch "obj_IDs"

                            /**
                             * [tFileInputDelimited_10 end ] start
                             */

                            currentComponent = "tFileInputDelimited_10";

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

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

                    /**
                     * [tFileInputDelimited_10 end ] stop
                     */

                    /**
                     * [tMap_1 end ] start
                     */

                    currentComponent = "tMap_1";

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

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

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

                    /**
                     * [tMap_1 end ] stop
                     */

                    /**
                     * [tSortRow_6_SortOut end ] start
                     */

                    currentComponent = "tSortRow_6_SortOut";

                    obj2move_XMLStruct[] array_tSortRow_6_SortOut = list_tSortRow_6_SortOut
                            .toArray(new Comparableobj2move_XMLStruct[0]);

                    java.util.Arrays.sort(array_tSortRow_6_SortOut);

                    globalMap.put("tSortRow_6", array_tSortRow_6_SortOut);

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

                    /**
                     * [tSortRow_6_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/barcodeMvCrate_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;
                    }

                    int currentRowCount_tAFOX_3 = 0;
                    int currentFileCount_tAFOX_3 = 0;
                    String suffix_tAFOX_3 = "";

                    if (fileName_tAFOX_3.substring(fileName_tAFOX_3.lastIndexOf("/")).lastIndexOf(".") > 0) {
                        suffix_tAFOX_3 = fileName_tAFOX_3.substring(fileName_tAFOX_3.lastIndexOf("."));
                    }
                    fileName_tAFOX_3 = file_tAFOX_3 + "0" + suffix_tAFOX_3;

                    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_6_SortIn begin ] start
                     */

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

                    int tos_count_tSortRow_6_SortIn = 0;

                    obj2move_XMLStruct[] array_tSortRow_6_SortIn = (obj2move_XMLStruct[]) globalMap
                            .get("tSortRow_6");

                    int nb_line_tSortRow_6_SortIn = 0;

                    obj2move_XMLStruct current_tSortRow_6_SortIn = null;

                    for (int i_tSortRow_6_SortIn = 0; i_tSortRow_6_SortIn < array_tSortRow_6_SortIn.length; i_tSortRow_6_SortIn++) {
                        current_tSortRow_6_SortIn = array_tSortRow_6_SortIn[i_tSortRow_6_SortIn];
                        row1.objectNum = current_tSortRow_6_SortIn.objectNum;
                        row1.obj_CSID = current_tSortRow_6_SortIn.obj_CSID;
                        row1.obj_uri = current_tSortRow_6_SortIn.obj_uri;
                        row1.obj_refname = current_tSortRow_6_SortIn.obj_refname;
                        row1.subjectDoctype = current_tSortRow_6_SortIn.subjectDoctype;
                        row1.moveID = current_tSortRow_6_SortIn.moveID;
                        row1.move_CSID = current_tSortRow_6_SortIn.move_CSID;
                        row1.move_URI = current_tSortRow_6_SortIn.move_URI;
                        row1.move_refname = current_tSortRow_6_SortIn.move_refname;
                        row1.objectDoctype = current_tSortRow_6_SortIn.objectDoctype;
                        row1.loc_refName = current_tSortRow_6_SortIn.loc_refName;
                        row1.move_timestamp = current_tSortRow_6_SortIn.move_timestamp;
                        row1.obj2move_CSID = current_tSortRow_6_SortIn.obj2move_CSID;
                        // increase number of line sorted
                        nb_line_tSortRow_6_SortIn++;

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

                        currentComponent = "tSortRow_6_SortIn";

                        tos_count_tSortRow_6_SortIn++;

                        /**
                         * [tSortRow_6_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("obj_uri", (row1.obj_uri.toString()));
                        valueMap_tAFOX_3.put("obj_refname", (row1.obj_refname.toString()));
                        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("move_refname", (row1.move_refname.toString()));
                        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()));
                        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("subjectDocumentType");
                        } else {
                            loop_0_1_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:subjectDocumentType");
                        }
                        if (valueMap_tAFOX_3.get("subjectDoctype") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_1_tAFOX_3,
                                    valueMap_tAFOX_3.get("subjectDoctype"));
                        }
                        loop_0_1_tAFOX_3.setName("relations_common:subjectDocumentType");
                        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("predicateDisplayName");
                        } else {
                            loop_0_2_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:predicateDisplayName");
                        }
                        loop_0_2_tAFOX_3.setName("relations_common:predicateDisplayName");
                        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("predicate");
                        } else {
                            loop_0_3_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:predicate");
                        }
                        loop_0_3_tAFOX_3.setName("relations_common:predicate");
                        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("objectCsid");
                        } else {
                            loop_0_4_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectCsid");
                        }
                        if (valueMap_tAFOX_3.get("move_CSID") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_4_tAFOX_3, valueMap_tAFOX_3.get("move_CSID"));
                        }
                        loop_0_4_tAFOX_3.setName("relations_common:objectCsid");
                        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("objectUri");
                        } else {
                            loop_0_5_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectUri");
                        }
                        if (valueMap_tAFOX_3.get("move_URI") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_5_tAFOX_3, valueMap_tAFOX_3.get("move_URI"));
                        }
                        loop_0_5_tAFOX_3.setName("relations_common:objectUri");
                        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("objectRefName");
                        } else {
                            loop_0_6_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectRefName");
                        }
                        if (valueMap_tAFOX_3.get("move_refname") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_6_tAFOX_3, valueMap_tAFOX_3.get("move_refname"));
                        }
                        loop_0_6_tAFOX_3.setName("relations_common:objectRefName");
                        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("subjectCsid");
                        } else {
                            loop_0_7_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectCsid");
                        }
                        if (valueMap_tAFOX_3.get("obj_CSID") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_7_tAFOX_3, valueMap_tAFOX_3.get("obj_CSID"));
                        }
                        loop_0_7_tAFOX_3.setName("relations_common:subjectCsid");
                        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("subjectUri");
                        } else {
                            loop_0_8_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectUri");
                        }
                        if (valueMap_tAFOX_3.get("obj_uri") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_8_tAFOX_3, valueMap_tAFOX_3.get("obj_uri"));
                        }
                        loop_0_8_tAFOX_3.setName("relations_common:subjectUri");
                        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");
                        currentRowCount_tAFOX_3++;
                        if (currentRowCount_tAFOX_3 == 1000) {
                            needRoot_tAFOX_3 = true;
                            fileName_tAFOX_3 = file_tAFOX_3 + currentFileCount_tAFOX_3 + suffix_tAFOX_3;
                            currentRowCount_tAFOX_3 = 0;
                            currentFileCount_tAFOX_3++;
                            groupbyList_tAFOX_3.clear();

                            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);
                            nestXMLTool_tAFOX_3.replaceDefaultNameSpace(doc_tAFOX_3.getRootElement());
                            output_tAFOX_3.write(doc_tAFOX_3);
                            output_tAFOX_3.close();
                            doc_tAFOX_3 = org.dom4j.DocumentHelper.createDocument();
                            groupElementList_tAFOX_3.clear();
                        }

                        tos_count_tAdvancedFileOutputXML_3++;

                        /**
                         * [tAdvancedFileOutputXML_3 main ] stop
                         */

                        /**
                         * [tSortRow_6_SortIn end ] start
                         */

                        currentComponent = "tSortRow_6_SortIn";

                    }

                    globalMap.put("tSortRow_6_SortIn_NB_LINE", nb_line_tSortRow_6_SortIn);

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

                    /**
                     * [tSortRow_6_SortIn end ] stop
                     */

                    /**
                     * [tAdvancedFileOutputXML_3 end ] start
                     */

                    currentComponent = "tAdvancedFileOutputXML_3";

                    if (currentRowCount_tAFOX_3 > 0) {
                        java.io.FileOutputStream stream_tAFOX_3 = new java.io.FileOutputStream(
                                file_tAFOX_3 + currentFileCount_tAFOX_3 + suffix_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_8_SortOut end ] start
                     */

                    currentComponent = "tSortRow_8_SortOut";

                    move2obj_XMLStruct[] array_tSortRow_8_SortOut = list_tSortRow_8_SortOut
                            .toArray(new Comparablemove2obj_XMLStruct[0]);

                    java.util.Arrays.sort(array_tSortRow_8_SortOut);

                    globalMap.put("tSortRow_8", array_tSortRow_8_SortOut);

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

                    /**
                     * [tSortRow_8_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/barcodeMvCrate_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;
                    }

                    int currentRowCount_tAFOX_2 = 0;
                    int currentFileCount_tAFOX_2 = 0;
                    String suffix_tAFOX_2 = "";

                    if (fileName_tAFOX_2.substring(fileName_tAFOX_2.lastIndexOf("/")).lastIndexOf(".") > 0) {
                        suffix_tAFOX_2 = fileName_tAFOX_2.substring(fileName_tAFOX_2.lastIndexOf("."));
                    }
                    fileName_tAFOX_2 = file_tAFOX_2 + "0" + suffix_tAFOX_2;

                    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_8_SortIn begin ] start
                     */

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

                    int tos_count_tSortRow_8_SortIn = 0;

                    move2obj_XMLStruct[] array_tSortRow_8_SortIn = (move2obj_XMLStruct[]) globalMap
                            .get("tSortRow_8");

                    int nb_line_tSortRow_8_SortIn = 0;

                    move2obj_XMLStruct current_tSortRow_8_SortIn = null;

                    for (int i_tSortRow_8_SortIn = 0; i_tSortRow_8_SortIn < array_tSortRow_8_SortIn.length; i_tSortRow_8_SortIn++) {
                        current_tSortRow_8_SortIn = array_tSortRow_8_SortIn[i_tSortRow_8_SortIn];
                        row3.objectNum = current_tSortRow_8_SortIn.objectNum;
                        row3.obj_CSID = current_tSortRow_8_SortIn.obj_CSID;
                        row3.obj_uri = current_tSortRow_8_SortIn.obj_uri;
                        row3.obj_refname = current_tSortRow_8_SortIn.obj_refname;
                        row3.objectDocType = current_tSortRow_8_SortIn.objectDocType;
                        row3.moveID = current_tSortRow_8_SortIn.moveID;
                        row3.move_CSID = current_tSortRow_8_SortIn.move_CSID;
                        row3.move_URI = current_tSortRow_8_SortIn.move_URI;
                        row3.move_refname = current_tSortRow_8_SortIn.move_refname;
                        row3.subjectDocType = current_tSortRow_8_SortIn.subjectDocType;
                        row3.loc_refName = current_tSortRow_8_SortIn.loc_refName;
                        row3.move_timestamp = current_tSortRow_8_SortIn.move_timestamp;
                        row3.move2obj_CSID = current_tSortRow_8_SortIn.move2obj_CSID;
                        // increase number of line sorted
                        nb_line_tSortRow_8_SortIn++;

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

                        currentComponent = "tSortRow_8_SortIn";

                        tos_count_tSortRow_8_SortIn++;

                        /**
                         * [tSortRow_8_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("obj_uri", (row3.obj_uri.toString()));
                        valueMap_tAFOX_2.put("obj_refname", (row3.obj_refname.toString()));
                        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("move_refname", (row3.move_refname.toString()));
                        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()));
                        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("subjectRefName");
                        } else {
                            loop_0_4_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:subjectRefName");
                        }
                        if (valueMap_tAFOX_2.get("move_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_4_tAFOX_2, valueMap_tAFOX_2.get("move_refname"));
                        }
                        loop_0_4_tAFOX_2.setName("relations_common:subjectRefName");
                        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("predicateDisplayName");
                        } else {
                            loop_0_5_tAFOX_2 = loop_0_tAFOX_2
                                    .addElement("relations_common:predicateDisplayName");
                        }
                        loop_0_5_tAFOX_2.setName("relations_common:predicateDisplayName");
                        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("predicate");
                        } else {
                            loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:predicate");
                        }
                        loop_0_6_tAFOX_2.setName("relations_common:predicate");
                        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("objectCsid");
                        } else {
                            loop_0_7_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectCsid");
                        }
                        if (valueMap_tAFOX_2.get("obj_CSID") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_7_tAFOX_2, valueMap_tAFOX_2.get("obj_CSID"));
                        }
                        loop_0_7_tAFOX_2.setName("relations_common:objectCsid");
                        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("objectUri");
                        } else {
                            loop_0_8_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectUri");
                        }
                        if (valueMap_tAFOX_2.get("obj_uri") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_8_tAFOX_2, valueMap_tAFOX_2.get("obj_uri"));
                        }
                        loop_0_8_tAFOX_2.setName("relations_common:objectUri");
                        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("objectRefName");
                        } else {
                            loop_0_9_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectRefName");
                        }
                        if (valueMap_tAFOX_2.get("obj_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_9_tAFOX_2, valueMap_tAFOX_2.get("obj_refname"));
                        }
                        loop_0_9_tAFOX_2.setName("relations_common:objectRefName");
                        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");
                        currentRowCount_tAFOX_2++;
                        if (currentRowCount_tAFOX_2 == 1000) {
                            needRoot_tAFOX_2 = true;
                            fileName_tAFOX_2 = file_tAFOX_2 + currentFileCount_tAFOX_2 + suffix_tAFOX_2;
                            currentRowCount_tAFOX_2 = 0;
                            currentFileCount_tAFOX_2++;
                            groupbyList_tAFOX_2.clear();

                            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);
                            nestXMLTool_tAFOX_2.replaceDefaultNameSpace(doc_tAFOX_2.getRootElement());
                            output_tAFOX_2.write(doc_tAFOX_2);
                            output_tAFOX_2.close();
                            doc_tAFOX_2 = org.dom4j.DocumentHelper.createDocument();
                            groupElementList_tAFOX_2.clear();
                        }

                        tos_count_tAdvancedFileOutputXML_2++;

                        /**
                         * [tAdvancedFileOutputXML_2 main ] stop
                         */

                        /**
                         * [tSortRow_8_SortIn end ] start
                         */

                        currentComponent = "tSortRow_8_SortIn";

                    }

                    globalMap.put("tSortRow_8_SortIn_NB_LINE", nb_line_tSortRow_8_SortIn);

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

                    /**
                     * [tSortRow_8_SortIn end ] stop
                     */

                    /**
                     * [tAdvancedFileOutputXML_2 end ] start
                     */

                    currentComponent = "tAdvancedFileOutputXML_2";

                    if (currentRowCount_tAFOX_2 > 0) {
                        java.io.FileOutputStream stream_tAFOX_2 = new java.io.FileOutputStream(
                                file_tAFOX_2 + currentFileCount_tAFOX_2 + suffix_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
             */

        } // 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_8_SortIn"
        globalMap.put("tSortRow_8", null);

        // free memory for "tSortRow_6_SortIn"
        globalMap.put("tSortRow_6", null);

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

    }

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

From source file:pahma_etl.tmslocation_barcode_mvcrate_1_1.TMSlocation_barcode_mvCrate.java

License:LGPL

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 {/*from   w  ww.j av  a  2 s  .c o m*/

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

            tFileInputDelimited_8Process(globalMap);
            tFileInputDelimited_2Process(globalMap);
            tFileInputDelimited_6Process(globalMap);
            tFileInputDelimited_5Process(globalMap);

            batcode_fileStruct batcode_file = new batcode_fileStruct();
            barcode_wNameStruct barcode_wName = new barcode_wNameStruct();
            row2Struct row2 = new row2Struct();
            barcodeStruct barcode = new barcodeStruct();
            barcode_no_obj_yet_txtStruct barcode_no_obj_yet_txt = new barcode_no_obj_yet_txtStruct();
            mvCrate_XMLStruct mvCrate_XML = new mvCrate_XMLStruct();
            mvCrate_CSIDStruct mvCrate_CSID = new mvCrate_CSIDStruct();
            barcode_no_obj_yetStruct barcode_no_obj_yet = new barcode_no_obj_yetStruct();

            /**
             * [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.reason_for_move == null && other.reason_for_move != null) {
                        return -1;

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

                    } else if (this.reason_for_move != null && other.reason_for_move != null) {
                        if (!this.reason_for_move.equals(other.reason_for_move)) {
                            return this.reason_for_move.compareTo(other.reason_for_move);
                        }
                    }
                    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.current_crate == null && other.current_crate != null) {
                        return -1;

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

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

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

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

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

            /**
             * [tSortRow_3_SortOut begin ] stop
             */

            /**
             * [tMap_3 begin ] start
             */

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

            int tos_count_tMap_3 = 0;

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

            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_3__Struct {
            }
            Var__tMap_3__Struct Var__tMap_3 = new Var__tMap_3__Struct();
            // ###############################

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

            /**
             * [tMap_3 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, batcode_fileStruct batcode_file) throws Exception {

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

                        batcode_file.reason_for_move = null;

                        batcode_file.person_scanning = null;

                        batcode_file.date_time = null;

                        batcode_file.current_crate = null;

                        batcode_file.new_location = null;

                    } else {

                        if (0 < row.length) {

                            batcode_file.reason_for_move = row[0].trim();

                        } else {
                            batcode_file.reason_for_move = null;
                        }

                        if (1 < row.length) {

                            batcode_file.person_scanning = row[1].trim();

                        } else {
                            batcode_file.person_scanning = null;
                        }

                        if (2 < row.length) {

                            batcode_file.date_time = row[2].trim();

                        } else {
                            batcode_file.date_time = null;
                        }

                        if (3 < row.length) {

                            batcode_file.current_crate = row[3].trim();

                        } else {
                            batcode_file.current_crate = null;
                        }

                        if (4 < row.length) {

                            batcode_file.new_location = row[4].trim();

                        } else {
                            batcode_file.new_location = 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/ProcessMvCrate_" + 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;
                    }

                    batcode_file = null;

                    boolean whetherReject_tFileInputDelimited_1 = false;
                    batcode_file = new batcode_fileStruct();
                    try {

                        rowHelper_tFileInputDelimited_1.valueToConn(rowtFileInputDelimited_1, batcode_file);

                    } catch (Exception e) {
                        whetherReject_tFileInputDelimited_1 = true;

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

                    }

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

                    currentComponent = "tFileInputDelimited_1";

                    tos_count_tFileInputDelimited_1++;

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

                        /**
                         * [tMap_3 main ] start
                         */

                        currentComponent = "tMap_3";

                        boolean hasCasePrimitiveKeyWithNull_tMap_3 = false;

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

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

                        boolean forceLoophandler_list = false;

                        handler_listStruct handler_listObjectFromLookup = null;

                        if (!rejectedInnerJoin_tMap_3) { // G_TM_M_020

                            hasCasePrimitiveKeyWithNull_tMap_3 = false;

                            handler_listHashKey.handler_code = batcode_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_3__Struct Var = Var__tMap_3;// ###############################
                            // ###############################
                            // # Output tables

                            barcode_wName = null;

                            // # Output table : 'barcode_wName'
                            barcode_wName_tmp.reason_for_move = batcode_file.reason_for_move;
                            barcode_wName_tmp.person_scanning = handler_list.handler_displname;
                            barcode_wName_tmp.date_time = batcode_file.date_time;
                            barcode_wName_tmp.current_crate = batcode_file.current_crate;
                            barcode_wName_tmp.new_location = batcode_file.new_location;
                            barcode_wName = barcode_wName_tmp;
                            // ###############################

                        } // end of Var scope

                        rejectedInnerJoin_tMap_3 = false;

                        tos_count_tMap_3++;

                        /**
                         * [tMap_3 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.date_time = barcode_wName.date_time;
                            arrayRowtSortRow_3_SortOut.current_crate = barcode_wName.current_crate;
                            arrayRowtSortRow_3_SortOut.new_location = barcode_wName.new_location;
                            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 "batcode_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_3 end ] start
             */

            currentComponent = "tMap_3";

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

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

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

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

            /**
             * [tFileOutputDelimited_7 begin ] start
             */

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

            int tos_count_tFileOutputDelimited_7 = 0;

            String fileName_tFileOutputDelimited_7 = "";
            fileName_tFileOutputDelimited_7 = (new java.io.File("../temp/location/barcode_no_obj_yet_txt."
                    + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min + ".txt")).getAbsolutePath()
                            .replace("\\", "/");
            String fullName_tFileOutputDelimited_7 = null;
            String extension_tFileOutputDelimited_7 = null;
            String directory_tFileOutputDelimited_7 = null;
            if ((fileName_tFileOutputDelimited_7.indexOf("/") != -1)) {
                if (fileName_tFileOutputDelimited_7.lastIndexOf(".") < fileName_tFileOutputDelimited_7
                        .lastIndexOf("/")) {
                    fullName_tFileOutputDelimited_7 = fileName_tFileOutputDelimited_7;
                    extension_tFileOutputDelimited_7 = "";
                } else {
                    fullName_tFileOutputDelimited_7 = fileName_tFileOutputDelimited_7.substring(0,
                            fileName_tFileOutputDelimited_7.lastIndexOf("."));
                    extension_tFileOutputDelimited_7 = fileName_tFileOutputDelimited_7
                            .substring(fileName_tFileOutputDelimited_7.lastIndexOf("."));
                }
                directory_tFileOutputDelimited_7 = fileName_tFileOutputDelimited_7.substring(0,
                        fileName_tFileOutputDelimited_7.lastIndexOf("/"));
            } else {
                if (fileName_tFileOutputDelimited_7.lastIndexOf(".") != -1) {
                    fullName_tFileOutputDelimited_7 = fileName_tFileOutputDelimited_7.substring(0,
                            fileName_tFileOutputDelimited_7.lastIndexOf("."));
                    extension_tFileOutputDelimited_7 = fileName_tFileOutputDelimited_7
                            .substring(fileName_tFileOutputDelimited_7.lastIndexOf("."));
                } else {
                    fullName_tFileOutputDelimited_7 = fileName_tFileOutputDelimited_7;
                    extension_tFileOutputDelimited_7 = "";
                }
                directory_tFileOutputDelimited_7 = "";
            }
            boolean isFileGenerated_tFileOutputDelimited_7 = true;
            java.io.File filetFileOutputDelimited_7 = new java.io.File(fileName_tFileOutputDelimited_7);
            globalMap.put("tFileOutputDelimited_7_FILE_NAME", fileName_tFileOutputDelimited_7);

            int nb_line_tFileOutputDelimited_7 = 0;
            int splitEvery_tFileOutputDelimited_7 = 1000;
            int splitedFileNo_tFileOutputDelimited_7 = 0;
            int currentRow_tFileOutputDelimited_7 = 0;

            final String OUT_DELIM_tFileOutputDelimited_7 = /**
                                                            * Start field
                                                            * tFileOutputDelimited_7:FIELDSEPARATOR
                                                            */
                    ";"/** End field tFileOutputDelimited_7:FIELDSEPARATOR */
            ;

            final String OUT_DELIM_ROWSEP_tFileOutputDelimited_7 = /**
                                                                   * Start
                                                                   * field tFileOutputDelimited_7:ROWSEPARATOR
                                                                   */
                    "\n"/** End field tFileOutputDelimited_7:ROWSEPARATOR */
            ;

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

            // routines.system.Row
            java.io.Writer outtFileOutputDelimited_7 = null;
            try {
                outtFileOutputDelimited_7 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                        new java.io.FileOutputStream(fileName_tFileOutputDelimited_7, false), "ISO-8859-15"));

                if (filetFileOutputDelimited_7.length() == 0) {

                    outtFileOutputDelimited_7.write("reason_for_move");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("person_scanning");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("date_time");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("current_crate");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("new_location");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("person_refname");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("crate_refname");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("loc_refname");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("moveID");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("move_CSID");

                    outtFileOutputDelimited_7.write(OUT_DELIM_tFileOutputDelimited_7);

                    outtFileOutputDelimited_7.write("datetimeTZ");

                    outtFileOutputDelimited_7.write(OUT_DELIM_ROWSEP_tFileOutputDelimited_7);
                    outtFileOutputDelimited_7.flush();
                }

                /**
                 * [tFileOutputDelimited_7 begin ] stop
                 */

                /**
                 * [tAdvancedFileOutputXML_4 begin ] start
                 */

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

                int tos_count_tAdvancedFileOutputXML_4 = 0;

                int nb_line_tAFOX_4 = 0;

                boolean needRoot_tAFOX_4 = true;

                String fileName_tAFOX_4 = "../temp/location/barcodeMvCrate." + TalendDate.getDate("CCYY-MM-DD")
                        + "-" + context.infile_min + ".xml";
                Boolean alreadyExistsFile_tAFOX_4 = new java.io.File(fileName_tAFOX_4).exists();
                fileName_tAFOX_4 = new java.io.File(fileName_tAFOX_4).getAbsolutePath().replace("\\", "/");
                String file_tAFOX_4 = "";

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

                if (!createFiletAFOX_4.exists()) {
                    (new java.io.File(fileName_tAFOX_4.substring(0, fileName_tAFOX_4.lastIndexOf("/"))))
                            .mkdirs();
                    needRoot_tAFOX_4 = true;
                }

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

                class NestXMLTool_tAFOX_4 {
                    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_4 nestXMLTool_tAFOX_4 = new NestXMLTool_tAFOX_4();
                // sort group root element for judgement of group
                java.util.List<org.dom4j.Element> groupElementList_tAFOX_4 = new java.util.ArrayList<org.dom4j.Element>();
                org.dom4j.Element root4Group_tAFOX_4 = null;
                org.dom4j.Document doc_tAFOX_4 = null;

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

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

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

                int[] orders_tAFOX_4 = new int[1];

                /**
                 * [tAdvancedFileOutputXML_4 begin ] stop
                 */

                /**
                 * [tFileOutputDelimited_8 begin ] start
                 */

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

                int tos_count_tFileOutputDelimited_8 = 0;

                String fileName_tFileOutputDelimited_8 = "";
                fileName_tFileOutputDelimited_8 = (new java.io.File("../temp/location/barcodeMvCrate_CSID."
                        + TalendDate.getDate("CCYY-MM-DD") + "-" + context.infile_min + ".txt"))
                                .getAbsolutePath().replace("\\", "/");
                String fullName_tFileOutputDelimited_8 = null;
                String extension_tFileOutputDelimited_8 = null;
                String directory_tFileOutputDelimited_8 = null;
                if ((fileName_tFileOutputDelimited_8.indexOf("/") != -1)) {
                    if (fileName_tFileOutputDelimited_8.lastIndexOf(".") < fileName_tFileOutputDelimited_8
                            .lastIndexOf("/")) {
                        fullName_tFileOutputDelimited_8 = fileName_tFileOutputDelimited_8;
                        extension_tFileOutputDelimited_8 = "";
                    } else {
                        fullName_tFileOutputDelimited_8 = fileName_tFileOutputDelimited_8.substring(0,
                                fileName_tFileOutputDelimited_8.lastIndexOf("."));
                        extension_tFileOutputDelimited_8 = fileName_tFileOutputDelimited_8
                                .substring(fileName_tFileOutputDelimited_8.lastIndexOf("."));
                    }
                    directory_tFileOutputDelimited_8 = fileName_tFileOutputDelimited_8.substring(0,
                            fileName_tFileOutputDelimited_8.lastIndexOf("/"));
                } else {
                    if (fileName_tFileOutputDelimited_8.lastIndexOf(".") != -1) {
                        fullName_tFileOutputDelimited_8 = fileName_tFileOutputDelimited_8.substring(0,
                                fileName_tFileOutputDelimited_8.lastIndexOf("."));
                        extension_tFileOutputDelimited_8 = fileName_tFileOutputDelimited_8
                                .substring(fileName_tFileOutputDelimited_8.lastIndexOf("."));
                    } else {
                        fullName_tFileOutputDelimited_8 = fileName_tFileOutputDelimited_8;
                        extension_tFileOutputDelimited_8 = "";
                    }
                    directory_tFileOutputDelimited_8 = "";
                }
                boolean isFileGenerated_tFileOutputDelimited_8 = true;
                java.io.File filetFileOutputDelimited_8 = new java.io.File(fileName_tFileOutputDelimited_8);
                globalMap.put("tFileOutputDelimited_8_FILE_NAME", fileName_tFileOutputDelimited_8);

                int nb_line_tFileOutputDelimited_8 = 0;
                int splitEvery_tFileOutputDelimited_8 = 1000;
                int splitedFileNo_tFileOutputDelimited_8 = 0;
                int currentRow_tFileOutputDelimited_8 = 0;

                final String OUT_DELIM_tFileOutputDelimited_8 = /**
                                                                * Start
                                                                * field tFileOutputDelimited_8:FIELDSEPARATOR
                                                                */
                        ";"/** End field tFileOutputDelimited_8:FIELDSEPARATOR */
                ;

                final String OUT_DELIM_ROWSEP_tFileOutputDelimited_8 = /**
                                                                       * 
                                                                       * Start field tFileOutputDelimited_8:ROWSEPARATOR
                                                                       */
                        "\n"/** End field tFileOutputDelimited_8:ROWSEPARATOR */
                ;

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

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

                    /**
                     * [tFileOutputDelimited_8 begin ] stop
                     */

                    /**
                     * [tAdvancedHash_barcode_no_obj_yet begin ] start
                     */

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

                    int tos_count_tAdvancedHash_barcode_no_obj_yet = 0;

                    // connection name:barcode_no_obj_yet
                    // source node:tMap_5 -
                    // inputs:(barcode,person_displayname,crateinfo,locinfo)
                    // outputs:(barcode_no_obj_yet,barcode_no_obj_yet_txt,mvCrate_XML,mvCrate_CSID,barcode_no_obj_yet)
                    // | target node:tAdvancedHash_barcode_no_obj_yet -
                    // inputs:(barcode_no_obj_yet) outputs:()
                    // linked node: tMap_1 -
                    // inputs:(obj_IDs,barcode_no_obj_yet)
                    // outputs:(ID,unmatch_loc,move2obj_XML,obj2move_XML)

                    org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE matchingModeEnum_barcode_no_obj_yet = org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE.ALL_MATCHES;

                    org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<barcode_no_obj_yetStruct> tHash_Lookup_barcode_no_obj_yet = org.talend.designer.components.lookup.memory.AdvancedMemoryLookup
                            .<barcode_no_obj_yetStruct>getLookup(matchingModeEnum_barcode_no_obj_yet);

                    globalMap.put("tHash_Lookup_barcode_no_obj_yet", tHash_Lookup_barcode_no_obj_yet);

                    /**
                     * [tAdvancedHash_barcode_no_obj_yet begin ] stop
                     */

                    /**
                     * [tMap_5 begin ] start
                     */

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

                    int tos_count_tMap_5 = 0;

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

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

                    person_displaynameStruct person_displaynameHashKey = new person_displaynameStruct();
                    person_displaynameStruct person_displaynameDefault = new person_displaynameStruct();

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

                    crateinfoStruct crateinfoHashKey = new crateinfoStruct();
                    crateinfoStruct crateinfoDefault = new crateinfoStruct();

                    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();
                    // ###############################

                    // ###############################
                    // # Vars initialization
                    class Var__tMap_5__Struct {
                        String moveID;
                        String move_CSID;
                        java.util.Date Talend_date;
                        String date;
                        String datetime;
                        String datetimeTZ;
                        String reason4move;
                        String computedSummary;
                    }
                    Var__tMap_5__Struct Var__tMap_5 = new Var__tMap_5__Struct();
                    // ###############################

                    // ###############################
                    // # Outputs initialization
                    barcode_no_obj_yetStruct barcode_no_obj_yet_tmp = new barcode_no_obj_yetStruct();
                    barcode_no_obj_yet_txtStruct barcode_no_obj_yet_txt_tmp = new barcode_no_obj_yet_txtStruct();
                    mvCrate_XMLStruct mvCrate_XML_tmp = new mvCrate_XMLStruct();
                    mvCrate_CSIDStruct mvCrate_CSID_tmp = new mvCrate_CSIDStruct();
                    // ###############################

                    /**
                     * [tMap_5 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 person_scanning;
                        String date_time;
                        String current_crate;
                        String new_location;

                        @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.person_scanning == null) ? 0
                                        : this.person_scanning.hashCode());

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

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

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

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

                            if (this.new_location == null) {
                                if (other.new_location != null)
                                    return false;
                            } else if (!this.new_location.equals(other.new_location))
                                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.date_time = current_tSortRow_3_SortIn.date_time;
                        row2.current_crate = current_tSortRow_3_SortIn.current_crate;
                        row2.new_location = current_tSortRow_3_SortIn.new_location;
                        // 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";

                        barcode = 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.person_scanning == null) {
                            finder_tUniqRow_1.person_scanning = null;
                        } else {
                            finder_tUniqRow_1.person_scanning = row2.person_scanning.toLowerCase();
                        }
                        if (row2.date_time == null) {
                            finder_tUniqRow_1.date_time = null;
                        } else {
                            finder_tUniqRow_1.date_time = row2.date_time.toLowerCase();
                        }
                        if (row2.current_crate == null) {
                            finder_tUniqRow_1.current_crate = null;
                        } else {
                            finder_tUniqRow_1.current_crate = row2.current_crate.toLowerCase();
                        }
                        if (row2.new_location == null) {
                            finder_tUniqRow_1.new_location = null;
                        } else {
                            finder_tUniqRow_1.new_location = row2.new_location.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.person_scanning == null) {
                                new_tUniqRow_1.person_scanning = null;
                            } else {
                                new_tUniqRow_1.person_scanning = row2.person_scanning.toLowerCase();
                            }
                            if (row2.date_time == null) {
                                new_tUniqRow_1.date_time = null;
                            } else {
                                new_tUniqRow_1.date_time = row2.date_time.toLowerCase();
                            }
                            if (row2.current_crate == null) {
                                new_tUniqRow_1.current_crate = null;
                            } else {
                                new_tUniqRow_1.current_crate = row2.current_crate.toLowerCase();
                            }
                            if (row2.new_location == null) {
                                new_tUniqRow_1.new_location = null;
                            } else {
                                new_tUniqRow_1.new_location = row2.new_location.toLowerCase();
                            }

                            keystUniqRow_1.add(new_tUniqRow_1);
                            if (barcode == null) {
                                barcode = new barcodeStruct();
                            }
                            barcode.reason_for_move = row2.reason_for_move;
                            barcode.person_scanning = row2.person_scanning;
                            barcode.date_time = row2.date_time;
                            barcode.current_crate = row2.current_crate;
                            barcode.new_location = row2.new_location;
                            nb_uniques_tUniqRow_1++;
                        } else {
                            nb_duplicates_tUniqRow_1++;
                        }

                        tos_count_tUniqRow_1++;

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

                            /**
                             * [tMap_5 main ] start
                             */

                            currentComponent = "tMap_5";

                            boolean hasCasePrimitiveKeyWithNull_tMap_5 = false;

                            // ###############################
                            // # Input tables (lookups)
                            boolean rejectedInnerJoin_tMap_5 = false;
                            boolean mainRowRejected_tMap_5 = false;

                            // /////////////////////////////////////////////
                            // Starting Lookup Table "person_displayname"
                            // /////////////////////////////////////////////

                            boolean forceLoopperson_displayname = false;

                            person_displaynameStruct person_displaynameObjectFromLookup = null;

                            if (!rejectedInnerJoin_tMap_5) { // G_TM_M_020

                                hasCasePrimitiveKeyWithNull_tMap_5 = false;

                                person_displaynameHashKey.displayName = barcode.person_scanning;

                                person_displaynameHashKey.hashCodeDirty = true;

                                tHash_Lookup_person_displayname.lookup(person_displaynameHashKey);

                            } // G_TM_M_020

                            if (tHash_Lookup_person_displayname != null && tHash_Lookup_person_displayname
                                    .getCount(person_displaynameHashKey) > 1) { // G
                                // 071

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

                            person_displaynameStruct person_displayname = null;

                            person_displaynameStruct fromLookup_person_displayname = null;
                            person_displayname = person_displaynameDefault;

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

                                fromLookup_person_displayname = tHash_Lookup_person_displayname.next();

                            } // G 099

                            if (fromLookup_person_displayname != null) {
                                person_displayname = fromLookup_person_displayname;
                            }

                            // /////////////////////////////////////////////
                            // Starting Lookup Table "crateinfo"
                            // /////////////////////////////////////////////

                            boolean forceLoopcrateinfo = false;

                            crateinfoStruct crateinfoObjectFromLookup = null;

                            if (!rejectedInnerJoin_tMap_5) { // G_TM_M_020

                                hasCasePrimitiveKeyWithNull_tMap_5 = false;

                                crateinfoHashKey.crate_displayname = barcode.current_crate;

                                crateinfoHashKey.hashCodeDirty = true;

                                tHash_Lookup_crateinfo.lookup(crateinfoHashKey);

                            } // G_TM_M_020

                            if (tHash_Lookup_crateinfo != null
                                    && tHash_Lookup_crateinfo.getCount(crateinfoHashKey) > 1) { // G
                                // 071

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

                            crateinfoStruct crateinfo = null;

                            crateinfoStruct fromLookup_crateinfo = null;
                            crateinfo = crateinfoDefault;

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

                                fromLookup_crateinfo = tHash_Lookup_crateinfo.next();

                            } // G 099

                            if (fromLookup_crateinfo != null) {
                                crateinfo = fromLookup_crateinfo;
                            }

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

                            boolean forceLooplocinfo = false;

                            locinfoStruct locinfoObjectFromLookup = null;

                            if (!rejectedInnerJoin_tMap_5) { // G_TM_M_020

                                hasCasePrimitiveKeyWithNull_tMap_5 = false;

                                locinfoHashKey.loc_displayname = barcode.new_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;
                            }

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

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

                                Var__tMap_5__Struct Var = Var__tMap_5;
                                Var.moveID = "Barcode." + TalendDate.getDate("CCYYMMDD-hhmm") + "-"
                                        + StringHandling.TRIM(barcode.reason_for_move) + "."
                                        + String.format("%04d", Numeric.sequence("", 1, 1));
                                Var.move_CSID = Guid.getUUID();
                                Var.Talend_date = (barcode.date_time == null || barcode.date_time.equals(""))
                                        ? null
                                        : (TalendDate.addDate(
                                                TalendDate.parseDate("MM/dd/yyyy HH:mm", barcode.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.reason4move = StringHandling.UPCASE(barcode.reason_for_move).equals("R")
                                        ? "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;// ###############################
                                // ###############################
                                // # Output tables

                                barcode_no_obj_yet = null;
                                barcode_no_obj_yet_txt = null;
                                mvCrate_XML = null;
                                mvCrate_CSID = null;

                                // # Output table : 'barcode_no_obj_yet'
                                barcode_no_obj_yet_tmp.reason_for_move = barcode.reason_for_move;
                                barcode_no_obj_yet_tmp.person_scanning = barcode.person_scanning;
                                barcode_no_obj_yet_tmp.date_time = barcode.date_time;
                                barcode_no_obj_yet_tmp.current_crate = barcode.current_crate;
                                barcode_no_obj_yet_tmp.new_location = barcode.new_location;
                                barcode_no_obj_yet_tmp.person_refname = person_displayname.person_refname;
                                barcode_no_obj_yet_tmp.crate_refname = crateinfo.crate_refname;
                                barcode_no_obj_yet_tmp.loc_refname = locinfo.loc_refname;
                                barcode_no_obj_yet_tmp.datetimeTZ = Var.datetimeTZ;
                                barcode_no_obj_yet_tmp.moveID = Var.moveID;
                                barcode_no_obj_yet_tmp.move_CSID = Var.move_CSID;
                                barcode_no_obj_yet = barcode_no_obj_yet_tmp;

                                // # Output table : 'barcode_no_obj_yet_txt'
                                barcode_no_obj_yet_txt_tmp.reason_for_move = barcode.reason_for_move;
                                barcode_no_obj_yet_txt_tmp.person_scanning = barcode.person_scanning;
                                barcode_no_obj_yet_txt_tmp.date_time = barcode.date_time;
                                barcode_no_obj_yet_txt_tmp.current_crate = barcode.current_crate;
                                barcode_no_obj_yet_txt_tmp.new_location = barcode.new_location;
                                barcode_no_obj_yet_txt_tmp.person_refname = person_displayname.person_refname;
                                barcode_no_obj_yet_txt_tmp.crate_refname = crateinfo.crate_refname;
                                barcode_no_obj_yet_txt_tmp.loc_refname = locinfo.loc_refname;
                                barcode_no_obj_yet_txt_tmp.moveID = Var.moveID;
                                barcode_no_obj_yet_txt_tmp.move_CSID = Var.move_CSID;
                                barcode_no_obj_yet_txt_tmp.datetimeTZ = Var.datetimeTZ;
                                barcode_no_obj_yet_txt = barcode_no_obj_yet_txt_tmp;

                                // # Output table : 'mvCrate_XML'
                                mvCrate_XML_tmp.loc_refname = locinfo.loc_refname;
                                mvCrate_XML_tmp.loc_displayname = locinfo.loc_displayname;
                                mvCrate_XML_tmp.crate_refname = crateinfo.crate_refname;
                                mvCrate_XML_tmp.crate_displayname = crateinfo.crate_displayname;
                                mvCrate_XML_tmp.loc_handler = person_displayname.person_refname;
                                mvCrate_XML_tmp.Capture_timestamp = Var.datetimeTZ;
                                mvCrate_XML_tmp.reason4move = Var.reason4move;
                                mvCrate_XML_tmp.computedSummary = Var.computedSummary;
                                mvCrate_XML_tmp.moveID = Var.moveID;
                                mvCrate_XML_tmp.moveCSID = Var.move_CSID;
                                mvCrate_XML = mvCrate_XML_tmp;

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

                            } // end of Var scope

                            rejectedInnerJoin_tMap_5 = false;

                            tos_count_tMap_5++;

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

                                /**
                                 * [tFileOutputDelimited_7 main ] start
                                 */

                                currentComponent = "tFileOutputDelimited_7";

                                StringBuilder sb_tFileOutputDelimited_7 = new StringBuilder();

                                if (barcode_no_obj_yet_txt.reason_for_move != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.reason_for_move

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.person_scanning != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.person_scanning

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.date_time != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.date_time

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.current_crate != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.current_crate

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.new_location != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.new_location

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.person_refname != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.person_refname

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.crate_refname != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.crate_refname

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.loc_refname != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.loc_refname

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.moveID != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.moveID

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.move_CSID != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.move_CSID

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_tFileOutputDelimited_7);

                                if (barcode_no_obj_yet_txt.datetimeTZ != null) {

                                    sb_tFileOutputDelimited_7.append(

                                            barcode_no_obj_yet_txt.datetimeTZ

                                    );

                                }

                                sb_tFileOutputDelimited_7.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_7);

                                nb_line_tFileOutputDelimited_7++;

                                outtFileOutputDelimited_7.write(sb_tFileOutputDelimited_7.toString());

                                tos_count_tFileOutputDelimited_7++;

                                /**
                                 * [tFileOutputDelimited_7 main ] stop
                                 */

                            } // End of branch "barcode_no_obj_yet_txt"

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

                                /**
                                 * [tAdvancedFileOutputXML_4 main ] start
                                 */

                                currentComponent = "tAdvancedFileOutputXML_4";

                                nb_line_tAFOX_4++;
                                valueMap_tAFOX_4.clear();
                                valueMap_tAFOX_4.put("loc_refname",
                                        (mvCrate_XML.loc_refname != null ? mvCrate_XML.loc_refname.toString()
                                                : null));
                                valueMap_tAFOX_4.put("loc_displayname",
                                        (mvCrate_XML.loc_displayname != null
                                                ? mvCrate_XML.loc_displayname.toString()
                                                : null));
                                valueMap_tAFOX_4.put("crate_refname",
                                        (mvCrate_XML.crate_refname != null
                                                ? mvCrate_XML.crate_refname.toString()
                                                : null));
                                valueMap_tAFOX_4.put("crate_displayname",
                                        (mvCrate_XML.crate_displayname != null
                                                ? mvCrate_XML.crate_displayname.toString()
                                                : null));
                                valueMap_tAFOX_4.put("loc_handler",
                                        (mvCrate_XML.loc_handler != null ? mvCrate_XML.loc_handler.toString()
                                                : null));
                                valueMap_tAFOX_4.put("Capture_timestamp",
                                        (mvCrate_XML.Capture_timestamp != null
                                                ? mvCrate_XML.Capture_timestamp.toString()
                                                : null));
                                valueMap_tAFOX_4.put("reason4move",
                                        (mvCrate_XML.reason4move != null ? mvCrate_XML.reason4move.toString()
                                                : null));
                                valueMap_tAFOX_4.put("computedSummary",
                                        (mvCrate_XML.computedSummary != null
                                                ? mvCrate_XML.computedSummary.toString()
                                                : null));
                                valueMap_tAFOX_4.put("moveID", (mvCrate_XML.moveID.toString()));
                                valueMap_tAFOX_4.put("moveCSID", (mvCrate_XML.moveCSID.toString()));
                                org.dom4j.Element subTreeRootParent_tAFOX_4 = null;

                                // build root xml tree
                                if (needRoot_tAFOX_4) {
                                    needRoot_tAFOX_4 = false;
                                    if (orders_tAFOX_4.length > 0) {
                                        orders_tAFOX_4[0] = 0;
                                    }
                                    org.dom4j.Element root_tAFOX_4 = doc_tAFOX_4.addElement("imports");
                                    subTreeRootParent_tAFOX_4 = root_tAFOX_4;
                                    root4Group_tAFOX_4 = subTreeRootParent_tAFOX_4;
                                } else {
                                    subTreeRootParent_tAFOX_4 = root4Group_tAFOX_4;
                                }
                                // build group xml tree
                                // build loop xml tree
                                org.dom4j.Element loop_tAFOX_4 = org.dom4j.DocumentHelper
                                        .createElement("import");
                                if (orders_tAFOX_4[0] == 0) {
                                    orders_tAFOX_4[0] = 0;
                                }
                                if (1 < orders_tAFOX_4.length) {
                                    orders_tAFOX_4[1] = 0;
                                }
                                subTreeRootParent_tAFOX_4.elements().add(orders_tAFOX_4[0]++, loop_tAFOX_4);
                                loop_tAFOX_4.addAttribute("service", "Movements");
                                loop_tAFOX_4.addAttribute("type", "Movement");
                                if (valueMap_tAFOX_4.get("moveCSID") != null) {
                                    loop_tAFOX_4.addAttribute("CSID", valueMap_tAFOX_4.get("moveCSID"));
                                }
                                org.dom4j.Element loop_0_tAFOX_4 = loop_tAFOX_4.addElement("schema");
                                loop_0_tAFOX_4.addNamespace("movements_common", TalendString
                                        .replaceSpecialCharForXML("http://collectionspace.org/movement/"));
                                loop_0_tAFOX_4.addAttribute("name", "movements_common");
                                org.dom4j.Element loop_0_0_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_0_tAFOX_4 = loop_0_tAFOX_4.addElement("movementNote");
                                } else {
                                    loop_0_0_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:movementNote");
                                }
                                loop_0_0_tAFOX_4.setName("movements_common:movementNote");
                                org.dom4j.Element loop_0_1_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_1_tAFOX_4 = loop_0_tAFOX_4.addElement("removalDate");
                                } else {
                                    loop_0_1_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:removalDate");
                                }
                                loop_0_1_tAFOX_4.setName("movements_common:removalDate");
                                org.dom4j.Element loop_0_2_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_2_tAFOX_4 = loop_0_tAFOX_4.addElement("reasonForMove");
                                } else {
                                    loop_0_2_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:reasonForMove");
                                }
                                if (valueMap_tAFOX_4.get("reason4move") != null) {
                                    nestXMLTool_tAFOX_4.setText(loop_0_2_tAFOX_4,
                                            valueMap_tAFOX_4.get("reason4move"));
                                }
                                loop_0_2_tAFOX_4.setName("movements_common:reasonForMove");
                                org.dom4j.Element loop_0_3_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_3_tAFOX_4 = loop_0_tAFOX_4.addElement("movementMethods");
                                } else {
                                    loop_0_3_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:movementMethods");
                                }
                                loop_0_3_tAFOX_4.setName("movements_common:movementMethods");
                                org.dom4j.Element loop_0_3_0_tAFOX_4 = loop_0_3_tAFOX_4
                                        .addElement("movementMethod");
                                org.dom4j.Element loop_0_4_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_4_tAFOX_4 = loop_0_tAFOX_4.addElement("plannedRemovalDate");
                                } else {
                                    loop_0_4_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:plannedRemovalDate");
                                }
                                loop_0_4_tAFOX_4.setName("movements_common:plannedRemovalDate");
                                org.dom4j.Element loop_0_5_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_5_tAFOX_4 = loop_0_tAFOX_4.addElement("movementContact");
                                } else {
                                    loop_0_5_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:movementContact");
                                }
                                loop_0_5_tAFOX_4.setName("movements_common:movementContact");
                                org.dom4j.Element loop_0_6_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_6_tAFOX_4 = loop_0_tAFOX_4.addElement("normalLocation");
                                } else {
                                    loop_0_6_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:normalLocation");
                                }
                                loop_0_6_tAFOX_4.setName("movements_common:normalLocation");
                                org.dom4j.Element loop_0_7_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_7_tAFOX_4 = loop_0_tAFOX_4.addElement("currentLocationFitness");
                                } else {
                                    loop_0_7_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:currentLocationFitness");
                                }
                                loop_0_7_tAFOX_4.setName("movements_common:currentLocationFitness");
                                org.dom4j.Element loop_0_8_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_8_tAFOX_4 = loop_0_tAFOX_4.addElement("currentLocation");
                                } else {
                                    loop_0_8_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:currentLocation");
                                }
                                if (valueMap_tAFOX_4.get("loc_refname") != null) {
                                    nestXMLTool_tAFOX_4.setText(loop_0_8_tAFOX_4,
                                            valueMap_tAFOX_4.get("loc_refname"));
                                }
                                loop_0_8_tAFOX_4.setName("movements_common:currentLocation");
                                org.dom4j.Element loop_0_9_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_9_tAFOX_4 = loop_0_tAFOX_4.addElement("locationDate");
                                } else {
                                    loop_0_9_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:locationDate");
                                }
                                if (valueMap_tAFOX_4.get("Capture_timestamp") != null) {
                                    nestXMLTool_tAFOX_4.setText(loop_0_9_tAFOX_4,
                                            valueMap_tAFOX_4.get("Capture_timestamp"));
                                }
                                loop_0_9_tAFOX_4.setName("movements_common:locationDate");
                                org.dom4j.Element loop_0_10_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_10_tAFOX_4 = loop_0_tAFOX_4.addElement("currentLocationNote");
                                } else {
                                    loop_0_10_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:currentLocationNote");
                                }
                                loop_0_10_tAFOX_4.setName("movements_common:currentLocationNote");
                                org.dom4j.Element loop_0_11_tAFOX_4;
                                if (loop_0_tAFOX_4.getNamespaceForPrefix("movements_common") == null) {
                                    loop_0_11_tAFOX_4 = loop_0_tAFOX_4.addElement("movementReferenceNumber");
                                } else {
                                    loop_0_11_tAFOX_4 = loop_0_tAFOX_4
                                            .addElement("movements_common:movementReferenceNumber");
                                }
                                if (valueMap_tAFOX_4.get("moveID") != null) {
                                    nestXMLTool_tAFOX_4.setText(loop_0_11_tAFOX_4,
                                            valueMap_tAFOX_4.get("moveID"));
                                }
                                loop_0_11_tAFOX_4.setName("movements_common:movementReferenceNumber");
                                org.dom4j.Element loop_1_tAFOX_4 = loop_tAFOX_4.addElement("schema2");
                                loop_1_tAFOX_4.addNamespace("movements_anthropology",
                                        TalendString.replaceSpecialCharForXML(
                                                "http://collectionspace.org/services/movement/domain/anthropology"));
                                loop_1_tAFOX_4.addAttribute("name", "movements_anthropology");
                                org.dom4j.Element loop_1_0_tAFOX_4;
                                if (loop_1_tAFOX_4.getNamespaceForPrefix("movements_anthropology") == null) {
                                    loop_1_0_tAFOX_4 = loop_1_tAFOX_4.addElement("locationHandlers");
                                } else {
                                    loop_1_0_tAFOX_4 = loop_1_tAFOX_4
                                            .addElement("movements_anthropology:locationHandlers");
                                }
                                loop_1_0_tAFOX_4.setName("movements_anthropology:locationHandlers");
                                org.dom4j.Element loop_1_0_0_tAFOX_4 = loop_1_0_tAFOX_4
                                        .addElement("locationHandler");
                                if (valueMap_tAFOX_4.get("loc_handler") != null) {
                                    nestXMLTool_tAFOX_4.setText(loop_1_0_0_tAFOX_4,
                                            valueMap_tAFOX_4.get("loc_handler"));
                                }
                                org.dom4j.Element loop_1_1_tAFOX_4;
                                if (loop_1_tAFOX_4.getNamespaceForPrefix("movements_anthropology") == null) {
                                    loop_1_1_tAFOX_4 = loop_1_tAFOX_4.addElement("crate");
                                } else {
                                    loop_1_1_tAFOX_4 = loop_1_tAFOX_4
                                            .addElement("movements_anthropology:crate");
                                }
                                if (valueMap_tAFOX_4.get("crate_refname") != null) {
                                    nestXMLTool_tAFOX_4.setText(loop_1_1_tAFOX_4,
                                            valueMap_tAFOX_4.get("crate_refname"));
                                }
                                loop_1_1_tAFOX_4.setName("movements_anthropology:crate");
                                org.dom4j.Element loop_1_2_tAFOX_4;
                                if (loop_1_tAFOX_4.getNamespaceForPrefix("movements_anthropology") == null) {
                                    loop_1_2_tAFOX_4 = loop_1_tAFOX_4.addElement("computedSummary");
                                } else {
                                    loop_1_2_tAFOX_4 = loop_1_tAFOX_4
                                            .addElement("movements_anthropology:computedSummary");
                                }
                                if (valueMap_tAFOX_4.get("computedSummary") != null) {
                                    nestXMLTool_tAFOX_4.setText(loop_1_2_tAFOX_4,
                                            valueMap_tAFOX_4.get("computedSummary"));
                                }
                                loop_1_2_tAFOX_4.setName("movements_anthropology:computedSummary");

                                tos_count_tAdvancedFileOutputXML_4++;

                                /**
                                 * [tAdvancedFileOutputXML_4 main ] stop
                                 */

                            } // End of branch "mvCrate_XML"

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

                                /**
                                 * [tFileOutputDelimited_8 main ] start
                                 */

                                currentComponent = "tFileOutputDelimited_8";

                                StringBuilder sb_tFileOutputDelimited_8 = new StringBuilder();

                                if (mvCrate_CSID.moveCSID != null) {

                                    sb_tFileOutputDelimited_8.append(

                                            mvCrate_CSID.moveCSID

                                    );

                                }

                                sb_tFileOutputDelimited_8.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_8);

                                nb_line_tFileOutputDelimited_8++;

                                outtFileOutputDelimited_8.write(sb_tFileOutputDelimited_8.toString());

                                tos_count_tFileOutputDelimited_8++;

                                /**
                                 * [tFileOutputDelimited_8 main ] stop
                                 */

                            } // End of branch "mvCrate_CSID"

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

                                /**
                                 * [tAdvancedHash_barcode_no_obj_yet main ]
                                 * start
                                 */

                                currentComponent = "tAdvancedHash_barcode_no_obj_yet";

                                barcode_no_obj_yetStruct barcode_no_obj_yet_HashRow = new barcode_no_obj_yetStruct();

                                barcode_no_obj_yet_HashRow.reason_for_move = barcode_no_obj_yet.reason_for_move;

                                barcode_no_obj_yet_HashRow.person_scanning = barcode_no_obj_yet.person_scanning;

                                barcode_no_obj_yet_HashRow.date_time = barcode_no_obj_yet.date_time;

                                barcode_no_obj_yet_HashRow.current_crate = barcode_no_obj_yet.current_crate;

                                barcode_no_obj_yet_HashRow.new_location = barcode_no_obj_yet.new_location;

                                barcode_no_obj_yet_HashRow.person_refname = barcode_no_obj_yet.person_refname;

                                barcode_no_obj_yet_HashRow.crate_refname = barcode_no_obj_yet.crate_refname;

                                barcode_no_obj_yet_HashRow.loc_refname = barcode_no_obj_yet.loc_refname;

                                barcode_no_obj_yet_HashRow.datetimeTZ = barcode_no_obj_yet.datetimeTZ;

                                barcode_no_obj_yet_HashRow.moveID = barcode_no_obj_yet.moveID;

                                barcode_no_obj_yet_HashRow.move_CSID = barcode_no_obj_yet.move_CSID;

                                tHash_Lookup_barcode_no_obj_yet.put(barcode_no_obj_yet_HashRow);

                                tos_count_tAdvancedHash_barcode_no_obj_yet++;

                                /**
                                 * [tAdvancedHash_barcode_no_obj_yet main ]
                                 * stop
                                 */

                            } // End of branch "barcode_no_obj_yet"

                        } // End of branch "barcode"

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

                    currentComponent = "tMap_5";

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

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

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

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

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

                    /**
                     * [tMap_5 end ] stop
                     */

                    /**
                     * [tAdvancedHash_barcode_no_obj_yet end ] start
                     */

                    currentComponent = "tAdvancedHash_barcode_no_obj_yet";

                    tHash_Lookup_barcode_no_obj_yet.endPut();

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

                    /**
                     * [tAdvancedHash_barcode_no_obj_yet end ] stop
                     */

                    /**
                     * [tFileOutputDelimited_8 end ] start
                     */

                    currentComponent = "tFileOutputDelimited_8";

                } finally {
                    if (outtFileOutputDelimited_8 != null) {
                        outtFileOutputDelimited_8.flush();
                        outtFileOutputDelimited_8.close();
                    }
                    globalMap.put("tFileOutputDelimited_8_NB_LINE", nb_line_tFileOutputDelimited_8);
                    globalMap.put("tFileOutputDelimited_8_FILE_NAME", fileName_tFileOutputDelimited_8);
                } // finally

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

                /**
                 * [tFileOutputDelimited_8 end ] stop
                 */

                /**
                 * [tAdvancedFileOutputXML_4 end ] start
                 */

                currentComponent = "tAdvancedFileOutputXML_4";

                java.io.FileOutputStream stream_tAFOX_4 = new java.io.FileOutputStream(fileName_tAFOX_4);
                org.dom4j.io.XMLWriter output_tAFOX_4 = new org.dom4j.io.XMLWriter(stream_tAFOX_4,
                        format_tAFOX_4);
                if (doc_tAFOX_4.getRootElement() != null) {
                    nestXMLTool_tAFOX_4.replaceDefaultNameSpace(doc_tAFOX_4.getRootElement());
                    output_tAFOX_4.write(doc_tAFOX_4);
                }
                output_tAFOX_4.close();
                globalMap.put("tAdvancedFileOutputXML_4_NB_LINE", nb_line_tAFOX_4);

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

                /**
                 * [tAdvancedFileOutputXML_4 end ] stop
                 */

                /**
                 * [tFileOutputDelimited_7 end ] start
                 */

                currentComponent = "tFileOutputDelimited_7";

            } finally {
                if (outtFileOutputDelimited_7 != null) {
                    outtFileOutputDelimited_7.flush();
                    outtFileOutputDelimited_7.close();
                }
                globalMap.put("tFileOutputDelimited_7_NB_LINE", nb_line_tFileOutputDelimited_7);
                globalMap.put("tFileOutputDelimited_7_FILE_NAME", fileName_tFileOutputDelimited_7);
            } // finally

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

            /**
             * [tFileOutputDelimited_7 end ] stop
             */

        } // end the resume

    } catch (Exception e) {

        throw new TalendException(e, currentComponent, globalMap);

    } catch (java.lang.Error error) {

        throw new java.lang.Error(error);

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

        // free memory for "tMap_5"
        globalMap.put("tHash_Lookup_crateinfo", null);

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

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

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

    }

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

From source file:routines.system.NestXMLTool.java

License:Open Source License

public static 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 {// w w  w .j av  a  2 s  . c  o  m
        element.setText(value);
    }
}

From source file:us.wthr.jdem846.project.XmlProjectFileWriter.java

License:Apache License

public static Document createDocument(ProjectModel projectModel) {
    Document document = DocumentHelper.createDocument();
    Element jdem846 = document.addElement("jdem846");
    jdem846.addAttribute("spec-version", DemConstants.APPLICATION_SPEC_VERSION);
    jdem846.addAttribute("generated", "" + (new Date(System.currentTimeMillis())));

    Element project = jdem846.addElement("project");

    if (projectModel.getProjectType() != null) {
        Element projectType = project.addElement("type");
        projectType.addText(projectModel.getProjectType().identifier());
    }//from  w  w w  .  j av a2  s.c  o m

    Element options = project.addElement("options");

    for (String key : projectModel.getOptionKeys()) {
        String value = projectModel.getOption(key);
        if (value != null) {

            Element element = options.addElement("option");
            element.addAttribute("key", key);
            element.addCDATA(value);

        }
    }

    Element scripting = project.addElement("scripting");
    if (projectModel.getScriptLanguage() != null) {
        scripting.addElement("language").addText(projectModel.getScriptLanguage().text());
    }

    if (projectModel.getUserScript() != null) {
        Element script = scripting.addElement("script");
        script.addCDATA(projectModel.getUserScript());
    }

    Element inputFiles = project.addElement("input-files");
    for (String inputFile : projectModel.getInputFiles()) {
        inputFiles.addElement("input").addText(inputFile);
    }

    for (ShapeFileReference shapeFileRequest : projectModel.getShapeFiles()) {

        Element shapeFileElement = inputFiles.addElement("shapefile");
        shapeFileElement.addElement("path").addText(shapeFileRequest.getPath());
        if (shapeFileRequest.getShapeDataDefinitionId() != null) {
            shapeFileElement.addElement("data-definition-id")
                    .addText(shapeFileRequest.getShapeDataDefinitionId());
        }

    }

    return document;

}

From source file:zuora.ots_login_0_1.OTS_Login.java

License:Apache License

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

    final boolean execStat = this.execStat;
    String currentVirtualComponent = null;

    String iterateId = "";

    String currentComponent = "";
    java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();

    try {//  w w w. j  av a 2 s  .  c  om

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

            row5Struct row5 = new row5Struct();

            /**
             * [tWriteJSONField_2_Out begin ] start
             */

            ok_Hash.put("tWriteJSONField_2_Out", false);
            start_Hash.put("tWriteJSONField_2_Out", System.currentTimeMillis());

            currentVirtualComponent = "tWriteJSONField_2";

            currentComponent = "tWriteJSONField_2_Out";

            int tos_count_tWriteJSONField_2_Out = 0;

            // tWriteXMLFieldOut_begin
            int nb_line_tWriteJSONField_2_Out = 0;
            boolean needRoot_tWriteJSONField_2_Out = true;

            String strCompCache_tWriteJSONField_2_Out = null;

            java.util.Queue<row3Struct> listGroupby_tWriteJSONField_2_Out = new java.util.concurrent.ConcurrentLinkedQueue<row3Struct>();

            class ThreadXMLField_tWriteJSONField_2_Out extends Thread {

                java.util.Queue<row3Struct> queue;

                java.util.List<java.util.Map<String, String>> flows;
                java.lang.Exception lastException;
                String currentComponent;

                ThreadXMLField_tWriteJSONField_2_Out(java.util.Queue q) {
                    this.queue = q;
                    globalMap.put("queue_tWriteJSONField_2_In", queue);
                    lastException = null;
                }

                ThreadXMLField_tWriteJSONField_2_Out(java.util.Queue q,
                        java.util.List<java.util.Map<String, String>> l) {
                    this.queue = q;
                    this.flows = l;
                    lastException = null;
                    globalMap.put("queue_tWriteJSONField_2_In", queue);
                    globalMap.put("flows_tWriteJSONField_2_In", flows);
                }

                public java.lang.Exception getLastException() {
                    return this.lastException;
                }

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

                @Override
                public void run() {
                    try {
                        tWriteJSONField_2_InProcess(globalMap);
                    } catch (TalendException te) {
                        this.lastException = te.getException();
                        this.currentComponent = te.getCurrentComponent();
                    }
                }
            }

            ThreadXMLField_tWriteJSONField_2_Out txf_tWriteJSONField_2_Out = new ThreadXMLField_tWriteJSONField_2_Out(
                    listGroupby_tWriteJSONField_2_Out);

            txf_tWriteJSONField_2_Out.start();

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

            class NestXMLTool_tWriteJSONField_2_Out {
                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 (java.lang.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) {
                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot.elements()) {
                            if (("").equals(tmp.getQName().getNamespace().getURI())
                                    && ("").equals(tmp.getQName().getNamespace().getPrefix())) {
                                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);
                            }
                        }
                    }
                }
            }
            NestXMLTool_tWriteJSONField_2_Out nestXMLTool_tWriteJSONField_2_Out = new NestXMLTool_tWriteJSONField_2_Out();

            row5Struct rowStructOutput_tWriteJSONField_2_Out = null;
            // sort group root element for judgement of group
            java.util.List<org.dom4j.Element> groupElementList_tWriteJSONField_2_Out = new java.util.ArrayList<org.dom4j.Element>();
            org.dom4j.Element root4Group_tWriteJSONField_2_Out = null;
            org.dom4j.Document doc_tWriteJSONField_2_Out = org.dom4j.DocumentHelper.createDocument();
            org.dom4j.io.OutputFormat format_tWriteJSONField_2_Out = org.dom4j.io.OutputFormat
                    .createCompactFormat();
            format_tWriteJSONField_2_Out.setNewLineAfterDeclaration(false);
            format_tWriteJSONField_2_Out.setTrimText(false);
            format_tWriteJSONField_2_Out.setEncoding("ISO-8859-15");
            int[] orders_tWriteJSONField_2_Out = new int[1];

            /**
             * [tWriteJSONField_2_Out begin ] stop
             */

            /**
             * [tFileInputXML_1 begin ] start
             */

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

            currentComponent = "tFileInputXML_1";

            int tos_count_tFileInputXML_1 = 0;

            int nb_line_tFileInputXML_1 = 0;

            String os_tFileInputXML_1 = System.getProperty("os.name").toLowerCase();
            boolean isWindows_tFileInputXML_1 = false;
            if (os_tFileInputXML_1.indexOf("windows") > -1 || os_tFileInputXML_1.indexOf("nt") > -1) {
                isWindows_tFileInputXML_1 = true;
            }
            class NameSpaceTool_tFileInputXML_1 {

                public java.util.HashMap<String, String> xmlNameSpaceMap = new java.util.HashMap<String, String>();

                private java.util.List<String> defualtNSPath = new java.util.ArrayList<String>();

                public void countNSMap(org.dom4j.Element el) {
                    for (org.dom4j.Namespace ns : (java.util.List<org.dom4j.Namespace>) el
                            .declaredNamespaces()) {
                        if (ns.getPrefix().trim().length() == 0) {
                            xmlNameSpaceMap.put("pre" + defualtNSPath.size(), ns.getURI());
                            String path = "";
                            org.dom4j.Element elTmp = el;
                            while (elTmp != null) {
                                if (elTmp.getNamespacePrefix() != null
                                        && elTmp.getNamespacePrefix().length() > 0) {
                                    path = "/" + elTmp.getNamespacePrefix() + ":" + elTmp.getName() + path;
                                } else {
                                    path = "/" + elTmp.getName() + path;
                                }
                                elTmp = elTmp.getParent();
                            }
                            defualtNSPath.add(path);
                        } else {
                            xmlNameSpaceMap.put(ns.getPrefix(), ns.getURI());
                        }

                    }
                    for (org.dom4j.Element e : (java.util.List<org.dom4j.Element>) el.elements()) {
                        countNSMap(e);
                    }
                }

                private final org.talend.xpath.XPathUtil util = new org.talend.xpath.XPathUtil();

                {
                    util.setDefaultNSPath(defualtNSPath);
                }

                public String addDefaultNSPrefix(String path) {
                    return util.addDefaultNSPrefix(path);
                }

                public String addDefaultNSPrefix(String relativeXpression, String basePath) {
                    return util.addDefaultNSPrefix(relativeXpression, basePath);
                }

            }

            class XML_API_tFileInputXML_1 {
                public boolean isDefNull(org.dom4j.Node node) throws javax.xml.transform.TransformerException {
                    if (node != null && node instanceof org.dom4j.Element) {
                        org.dom4j.Attribute attri = ((org.dom4j.Element) node).attribute("nil");
                        if (attri != null && ("true").equals(attri.getText())) {
                            return true;
                        }
                    }
                    return false;
                }

                public boolean isMissing(org.dom4j.Node node) throws javax.xml.transform.TransformerException {
                    return node == null ? true : false;
                }

                public boolean isEmpty(org.dom4j.Node node) throws javax.xml.transform.TransformerException {
                    if (node != null) {
                        return node.getText().length() == 0;
                    }
                    return false;
                }
            }

            org.dom4j.io.SAXReader reader_tFileInputXML_1 = new org.dom4j.io.SAXReader();
            Object filename_tFileInputXML_1 = null;
            try {
                filename_tFileInputXML_1 = "C:/ETL_FASTWEB/ZUORA/data/responses/ots/login.xml";
            } catch (java.lang.Exception e) {

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

            }
            if (filename_tFileInputXML_1 != null && filename_tFileInputXML_1 instanceof String
                    && filename_tFileInputXML_1.toString().startsWith("//")) {
                if (!isWindows_tFileInputXML_1) {
                    filename_tFileInputXML_1 = filename_tFileInputXML_1.toString().replaceFirst("//", "/");
                }
            }

            boolean isValidFile_tFileInputXML_1 = true;
            org.dom4j.Document doc_tFileInputXML_1 = null;
            java.io.Closeable toClose_tFileInputXML_1 = null;
            try {
                if (filename_tFileInputXML_1 instanceof java.io.InputStream) {
                    java.io.InputStream inputStream_tFileInputXML_1 = (java.io.InputStream) filename_tFileInputXML_1;
                    toClose_tFileInputXML_1 = inputStream_tFileInputXML_1;
                    doc_tFileInputXML_1 = reader_tFileInputXML_1.read(inputStream_tFileInputXML_1);
                } else {
                    java.io.Reader unicodeReader_tFileInputXML_1 = new UnicodeReader(
                            new java.io.FileInputStream(String.valueOf(filename_tFileInputXML_1)),
                            "ISO-8859-15");
                    toClose_tFileInputXML_1 = unicodeReader_tFileInputXML_1;
                    org.xml.sax.InputSource in_tFileInputXML_1 = new org.xml.sax.InputSource(
                            unicodeReader_tFileInputXML_1);
                    doc_tFileInputXML_1 = reader_tFileInputXML_1.read(in_tFileInputXML_1);
                }
            } catch (java.lang.Exception e) {

                System.err.println(e.getMessage());
                isValidFile_tFileInputXML_1 = false;
            } finally {
                if (toClose_tFileInputXML_1 != null) {
                    toClose_tFileInputXML_1.close();
                }
            }
            if (isValidFile_tFileInputXML_1) {
                NameSpaceTool_tFileInputXML_1 nsTool_tFileInputXML_1 = new NameSpaceTool_tFileInputXML_1();
                nsTool_tFileInputXML_1.countNSMap(doc_tFileInputXML_1.getRootElement());
                java.util.HashMap<String, String> xmlNameSpaceMap_tFileInputXML_1 = nsTool_tFileInputXML_1.xmlNameSpaceMap;

                org.dom4j.XPath x_tFileInputXML_1 = doc_tFileInputXML_1.createXPath(nsTool_tFileInputXML_1
                        .addDefaultNSPrefix("/soapenv:Envelope/soapenv:Body/soapenv:Fault"));
                x_tFileInputXML_1.setNamespaceURIs(xmlNameSpaceMap_tFileInputXML_1);

                java.util.List<org.dom4j.tree.AbstractNode> nodeList_tFileInputXML_1 = (java.util.List<org.dom4j.tree.AbstractNode>) x_tFileInputXML_1
                        .selectNodes(doc_tFileInputXML_1);
                XML_API_tFileInputXML_1 xml_api_tFileInputXML_1 = new XML_API_tFileInputXML_1();
                String str_tFileInputXML_1 = "";
                org.dom4j.Node node_tFileInputXML_1 = null;

                // init all mapping xpaths
                for (org.dom4j.tree.AbstractNode temp_tFileInputXML_1 : nodeList_tFileInputXML_1) {
                    nb_line_tFileInputXML_1++;
                    row5 = null;
                    boolean whetherReject_tFileInputXML_1 = false;
                    row5 = new row5Struct();
                    try {
                        org.dom4j.XPath xTmp0_tFileInputXML_1 = org.dom4j.DocumentHelper
                                .createXPath(nsTool_tFileInputXML_1.addDefaultNSPrefix("faultcode",
                                        "/soapenv:Envelope/soapenv:Body/soapenv:Fault"));
                        xTmp0_tFileInputXML_1.setNamespaceURIs(xmlNameSpaceMap_tFileInputXML_1);
                        Object obj0_tFileInputXML_1 = xTmp0_tFileInputXML_1.evaluate(temp_tFileInputXML_1);
                        if (obj0_tFileInputXML_1 == null) {
                            node_tFileInputXML_1 = null;
                            str_tFileInputXML_1 = "";

                        } else if (obj0_tFileInputXML_1 instanceof org.dom4j.Node) {
                            node_tFileInputXML_1 = (org.dom4j.Node) obj0_tFileInputXML_1;
                            str_tFileInputXML_1 = org.jaxen.function.StringFunction.evaluate(
                                    node_tFileInputXML_1, org.jaxen.dom4j.DocumentNavigator.getInstance());
                        } else if (obj0_tFileInputXML_1 instanceof String
                                || obj0_tFileInputXML_1 instanceof Number) {
                            node_tFileInputXML_1 = temp_tFileInputXML_1;
                            str_tFileInputXML_1 = String.valueOf(obj0_tFileInputXML_1);
                        } else if (obj0_tFileInputXML_1 instanceof java.util.List) {
                            java.util.List<org.dom4j.Node> nodes_tFileInputXML_1 = (java.util.List<org.dom4j.Node>) obj0_tFileInputXML_1;
                            node_tFileInputXML_1 = nodes_tFileInputXML_1.size() > 0
                                    ? nodes_tFileInputXML_1.get(0)
                                    : null;
                            str_tFileInputXML_1 = node_tFileInputXML_1 == null ? ""
                                    : org.jaxen.function.StringFunction.evaluate(node_tFileInputXML_1,
                                            org.jaxen.dom4j.DocumentNavigator.getInstance());
                        }
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row5.faultcode = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row5.faultcode = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row5.faultcode = null;
                        } else {
                            row5.faultcode = str_tFileInputXML_1;
                        }
                        org.dom4j.XPath xTmp1_tFileInputXML_1 = org.dom4j.DocumentHelper
                                .createXPath(nsTool_tFileInputXML_1.addDefaultNSPrefix("faultstring",
                                        "/soapenv:Envelope/soapenv:Body/soapenv:Fault"));
                        xTmp1_tFileInputXML_1.setNamespaceURIs(xmlNameSpaceMap_tFileInputXML_1);
                        Object obj1_tFileInputXML_1 = xTmp1_tFileInputXML_1.evaluate(temp_tFileInputXML_1);
                        if (obj1_tFileInputXML_1 == null) {
                            node_tFileInputXML_1 = null;
                            str_tFileInputXML_1 = "";

                        } else if (obj1_tFileInputXML_1 instanceof org.dom4j.Node) {
                            node_tFileInputXML_1 = (org.dom4j.Node) obj1_tFileInputXML_1;
                            str_tFileInputXML_1 = org.jaxen.function.StringFunction.evaluate(
                                    node_tFileInputXML_1, org.jaxen.dom4j.DocumentNavigator.getInstance());
                        } else if (obj1_tFileInputXML_1 instanceof String
                                || obj1_tFileInputXML_1 instanceof Number) {
                            node_tFileInputXML_1 = temp_tFileInputXML_1;
                            str_tFileInputXML_1 = String.valueOf(obj1_tFileInputXML_1);
                        } else if (obj1_tFileInputXML_1 instanceof java.util.List) {
                            java.util.List<org.dom4j.Node> nodes_tFileInputXML_1 = (java.util.List<org.dom4j.Node>) obj1_tFileInputXML_1;
                            node_tFileInputXML_1 = nodes_tFileInputXML_1.size() > 0
                                    ? nodes_tFileInputXML_1.get(0)
                                    : null;
                            str_tFileInputXML_1 = node_tFileInputXML_1 == null ? ""
                                    : org.jaxen.function.StringFunction.evaluate(node_tFileInputXML_1,
                                            org.jaxen.dom4j.DocumentNavigator.getInstance());
                        }
                        if (xml_api_tFileInputXML_1.isDefNull(node_tFileInputXML_1)) {
                            row5.faultstring = null;
                        } else if (xml_api_tFileInputXML_1.isEmpty(node_tFileInputXML_1)) {
                            row5.faultstring = "";
                        } else if (xml_api_tFileInputXML_1.isMissing(node_tFileInputXML_1)) {
                            row5.faultstring = null;
                        } else {
                            row5.faultstring = str_tFileInputXML_1;
                        }

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

                    if (nb_line_tFileInputXML_1 > 50) {

                        break;
                    }

                    /**
                     * [tFileInputXML_1 begin ] stop
                     */

                    /**
                     * [tFileInputXML_1 main ] start
                     */

                    currentComponent = "tFileInputXML_1";

                    tos_count_tFileInputXML_1++;

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

                        /**
                         * [tWriteJSONField_2_Out main ] start
                         */

                        currentVirtualComponent = "tWriteJSONField_2";

                        currentComponent = "tWriteJSONField_2_Out";

                        if (txf_tWriteJSONField_2_Out.getLastException() != null) {
                            currentComponent = txf_tWriteJSONField_2_Out.getCurrentComponent();
                            throw txf_tWriteJSONField_2_Out.getLastException();
                        }
                        nb_line_tWriteJSONField_2_Out++;
                        valueMap_tWriteJSONField_2_Out.clear();
                        valueMap_tWriteJSONField_2_Out.put("faultcode",
                                (row5.faultcode != null ? row5.faultcode.toString() : null));
                        valueMap_tWriteJSONField_2_Out.put("faultstring",
                                (row5.faultstring != null ? row5.faultstring.toString() : null));
                        String strTemp_tWriteJSONField_2_Out = "";
                        strTemp_tWriteJSONField_2_Out = strTemp_tWriteJSONField_2_Out
                                + valueMap_tWriteJSONField_2_Out.get("faultcode")
                                + valueMap_tWriteJSONField_2_Out.get("faultcode").length();
                        strTemp_tWriteJSONField_2_Out = strTemp_tWriteJSONField_2_Out
                                + valueMap_tWriteJSONField_2_Out.get("faultstring")
                                + valueMap_tWriteJSONField_2_Out.get("faultstring").length();
                        if (strCompCache_tWriteJSONField_2_Out == null) {
                            strCompCache_tWriteJSONField_2_Out = strTemp_tWriteJSONField_2_Out;

                            rowStructOutput_tWriteJSONField_2_Out = row5;

                        } else {
                            // the data read is different from the data read
                            // last time.
                            if (strCompCache_tWriteJSONField_2_Out
                                    .equals(strTemp_tWriteJSONField_2_Out) == false) {
                                nestXMLTool_tWriteJSONField_2_Out
                                        .replaceDefaultNameSpace(doc_tWriteJSONField_2_Out.getRootElement());
                                java.io.StringWriter strWriter_tWriteJSONField_2_Out = new java.io.StringWriter();
                                org.dom4j.io.XMLWriter output_tWriteJSONField_2_Out = new org.dom4j.io.XMLWriter(
                                        strWriter_tWriteJSONField_2_Out, format_tWriteJSONField_2_Out);
                                output_tWriteJSONField_2_Out.write(doc_tWriteJSONField_2_Out);
                                output_tWriteJSONField_2_Out.close();

                                row3Struct row_tWriteJSONField_2_Out = new row3Struct();

                                row_tWriteJSONField_2_Out.result = strWriter_tWriteJSONField_2_Out.toString();
                                listGroupby_tWriteJSONField_2_Out.add(row_tWriteJSONField_2_Out);

                                doc_tWriteJSONField_2_Out.clearContent();
                                needRoot_tWriteJSONField_2_Out = true;
                                for (int i_tWriteJSONField_2_Out = 0; i_tWriteJSONField_2_Out < orders_tWriteJSONField_2_Out.length; i_tWriteJSONField_2_Out++) {
                                    orders_tWriteJSONField_2_Out[i_tWriteJSONField_2_Out] = 0;
                                }

                                if (groupbyList_tWriteJSONField_2_Out != null
                                        && groupbyList_tWriteJSONField_2_Out.size() >= 0) {
                                    groupbyList_tWriteJSONField_2_Out.clear();
                                }
                                strCompCache_tWriteJSONField_2_Out = strTemp_tWriteJSONField_2_Out;
                                rowStructOutput_tWriteJSONField_2_Out = row5;

                            }
                        }

                        org.dom4j.Element subTreeRootParent_tWriteJSONField_2_Out = null;

                        // build root xml tree
                        if (needRoot_tWriteJSONField_2_Out) {
                            needRoot_tWriteJSONField_2_Out = false;
                            org.dom4j.Element root_tWriteJSONField_2_Out = doc_tWriteJSONField_2_Out
                                    .addElement("result");
                            subTreeRootParent_tWriteJSONField_2_Out = root_tWriteJSONField_2_Out;
                            org.dom4j.Element root_0_tWriteJSONField_2_Out = root_tWriteJSONField_2_Out
                                    .addElement("faultstring");
                            if (valueMap_tWriteJSONField_2_Out.get("faultstring") != null) {
                                nestXMLTool_tWriteJSONField_2_Out.setText(root_0_tWriteJSONField_2_Out,
                                        valueMap_tWriteJSONField_2_Out.get("faultstring"));
                            }
                            root4Group_tWriteJSONField_2_Out = subTreeRootParent_tWriteJSONField_2_Out;
                        } else {
                            subTreeRootParent_tWriteJSONField_2_Out = root4Group_tWriteJSONField_2_Out;
                        }
                        // build group xml tree
                        // build loop xml tree
                        org.dom4j.Element loop_tWriteJSONField_2_Out = org.dom4j.DocumentHelper
                                .createElement("faultcode");
                        if (orders_tWriteJSONField_2_Out[0] == 0) {
                            orders_tWriteJSONField_2_Out[0] = 0;
                        }
                        if (1 < orders_tWriteJSONField_2_Out.length) {
                            orders_tWriteJSONField_2_Out[1] = 0;
                        }
                        subTreeRootParent_tWriteJSONField_2_Out.elements()
                                .add(orders_tWriteJSONField_2_Out[0]++, loop_tWriteJSONField_2_Out);
                        if (valueMap_tWriteJSONField_2_Out.get("faultcode") != null) {
                            nestXMLTool_tWriteJSONField_2_Out.setText(loop_tWriteJSONField_2_Out,
                                    valueMap_tWriteJSONField_2_Out.get("faultcode"));
                        }

                        tos_count_tWriteJSONField_2_Out++;

                        /**
                         * [tWriteJSONField_2_Out main ] stop
                         */

                    } // End of branch "row5"

                    /**
                     * [tFileInputXML_1 end ] start
                     */

                    currentComponent = "tFileInputXML_1";

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

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

            /**
             * [tFileInputXML_1 end ] stop
             */

            /**
             * [tWriteJSONField_2_Out end ] start
             */

            currentVirtualComponent = "tWriteJSONField_2";

            currentComponent = "tWriteJSONField_2_Out";

            if (nb_line_tWriteJSONField_2_Out > 0) {
                nestXMLTool_tWriteJSONField_2_Out
                        .replaceDefaultNameSpace(doc_tWriteJSONField_2_Out.getRootElement());
                java.io.StringWriter strWriter_tWriteJSONField_2_Out = new java.io.StringWriter();
                org.dom4j.io.XMLWriter output_tWriteJSONField_2_Out = new org.dom4j.io.XMLWriter(
                        strWriter_tWriteJSONField_2_Out, format_tWriteJSONField_2_Out);
                output_tWriteJSONField_2_Out.write(doc_tWriteJSONField_2_Out);
                output_tWriteJSONField_2_Out.close();
                row3Struct row_tWriteJSONField_2_Out = new row3Struct();

                row_tWriteJSONField_2_Out.result = strWriter_tWriteJSONField_2_Out.toString();
                listGroupby_tWriteJSONField_2_Out.add(row_tWriteJSONField_2_Out);

            }
            globalMap.put("tWriteJSONField_2_Out_NB_LINE", nb_line_tWriteJSONField_2_Out);
            globalMap.put("tWriteJSONField_2_In_FINISH" + (listGroupby_tWriteJSONField_2_Out == null ? ""
                    : listGroupby_tWriteJSONField_2_Out.hashCode()), "true");

            txf_tWriteJSONField_2_Out.join();
            if (txf_tWriteJSONField_2_Out.getLastException() != null) {
                currentComponent = txf_tWriteJSONField_2_Out.getCurrentComponent();
                throw txf_tWriteJSONField_2_Out.getLastException();
            }

            resourceMap.put("finish_tWriteJSONField_2_Out", true);

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

            /**
             * [tWriteJSONField_2_Out end ] stop
             */

        } // end the resume

    } catch (java.lang.Exception e) {

        TalendException te = new TalendException(e, currentComponent, globalMap);

        te.setVirtualComponentName(currentVirtualComponent);

        throw te;
    } catch (java.lang.Error error) {

        throw error;
    } finally {

        try {

            /**
             * [tFileInputXML_1 finally ] start
             */

            currentComponent = "tFileInputXML_1";

            /**
             * [tFileInputXML_1 finally ] stop
             */

            /**
             * [tWriteJSONField_2_Out finally ] start
             */

            currentVirtualComponent = "tWriteJSONField_2";

            currentComponent = "tWriteJSONField_2_Out";

            java.util.Queue listGroupby_tWriteJSONField_2_Out = (java.util.Queue) globalMap
                    .get("queue_tWriteJSONField_2_In");
            if (resourceMap.get("finish_tWriteJSONField_2_Out") == null) {
                globalMap.put("tWriteJSONField_2_In_FINISH_WITH_EXCEPTION"
                        + (listGroupby_tWriteJSONField_2_Out == null ? ""
                                : listGroupby_tWriteJSONField_2_Out.hashCode()),
                        "true");
            }

            if (listGroupby_tWriteJSONField_2_Out != null) {
                globalMap.put("tWriteJSONField_2_In_FINISH" + (listGroupby_tWriteJSONField_2_Out == null ? ""
                        : listGroupby_tWriteJSONField_2_Out.hashCode()), "true");
            }

            /**
             * [tWriteJSONField_2_Out finally ] stop
             */

        } catch (java.lang.Exception e) {
            // ignore
        } catch (java.lang.Error error) {
            // ignore
        }
        resourceMap = null;
    }

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

From source file:zuora.ots_subscription_0_1.OTS_Subscription.java

License:Apache License

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

    final boolean execStat = this.execStat;
    String currentVirtualComponent = null;

    String iterateId = "";

    String currentComponent = "";
    java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();

    try {//  w  w w . ja  v a  2s .c  om

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

            row3Struct row3 = new row3Struct();

            /**
             * [tWriteJSONField_1_Out begin ] start
             */

            ok_Hash.put("tWriteJSONField_1_Out", false);
            start_Hash.put("tWriteJSONField_1_Out", System.currentTimeMillis());

            currentVirtualComponent = "tWriteJSONField_1";

            currentComponent = "tWriteJSONField_1_Out";

            int tos_count_tWriteJSONField_1_Out = 0;

            // tWriteXMLFieldOut_begin
            int nb_line_tWriteJSONField_1_Out = 0;
            boolean needRoot_tWriteJSONField_1_Out = true;

            String strCompCache_tWriteJSONField_1_Out = null;

            java.util.Queue<row6Struct> listGroupby_tWriteJSONField_1_Out = new java.util.concurrent.ConcurrentLinkedQueue<row6Struct>();

            class ThreadXMLField_tWriteJSONField_1_Out extends Thread {

                java.util.Queue<row6Struct> queue;

                java.util.List<java.util.Map<String, String>> flows;
                java.lang.Exception lastException;
                String currentComponent;

                ThreadXMLField_tWriteJSONField_1_Out(java.util.Queue q) {
                    this.queue = q;
                    globalMap.put("queue_tWriteJSONField_1_In", queue);
                    lastException = null;
                }

                ThreadXMLField_tWriteJSONField_1_Out(java.util.Queue q,
                        java.util.List<java.util.Map<String, String>> l) {
                    this.queue = q;
                    this.flows = l;
                    lastException = null;
                    globalMap.put("queue_tWriteJSONField_1_In", queue);
                    globalMap.put("flows_tWriteJSONField_1_In", flows);
                }

                public java.lang.Exception getLastException() {
                    return this.lastException;
                }

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

                @Override
                public void run() {
                    try {
                        tWriteJSONField_1_InProcess(globalMap);
                    } catch (TalendException te) {
                        this.lastException = te.getException();
                        this.currentComponent = te.getCurrentComponent();
                    }
                }
            }

            ThreadXMLField_tWriteJSONField_1_Out txf_tWriteJSONField_1_Out = new ThreadXMLField_tWriteJSONField_1_Out(
                    listGroupby_tWriteJSONField_1_Out);

            txf_tWriteJSONField_1_Out.start();

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

            class NestXMLTool_tWriteJSONField_1_Out {
                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 (java.lang.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) {
                        for (org.dom4j.Element tmp : (java.util.List<org.dom4j.Element>) nestRoot.elements()) {
                            if (("").equals(tmp.getQName().getNamespace().getURI())
                                    && ("").equals(tmp.getQName().getNamespace().getPrefix())) {
                                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);
                            }
                        }
                    }
                }
            }
            NestXMLTool_tWriteJSONField_1_Out nestXMLTool_tWriteJSONField_1_Out = new NestXMLTool_tWriteJSONField_1_Out();

            row3Struct rowStructOutput_tWriteJSONField_1_Out = null;
            // sort group root element for judgement of group
            java.util.List<org.dom4j.Element> groupElementList_tWriteJSONField_1_Out = new java.util.ArrayList<org.dom4j.Element>();
            org.dom4j.Element root4Group_tWriteJSONField_1_Out = null;
            org.dom4j.Document doc_tWriteJSONField_1_Out = org.dom4j.DocumentHelper.createDocument();
            org.dom4j.io.OutputFormat format_tWriteJSONField_1_Out = org.dom4j.io.OutputFormat
                    .createCompactFormat();
            format_tWriteJSONField_1_Out.setNewLineAfterDeclaration(false);
            format_tWriteJSONField_1_Out.setTrimText(false);
            format_tWriteJSONField_1_Out.setEncoding("ISO-8859-15");
            int[] orders_tWriteJSONField_1_Out = new int[1];

            /**
             * [tWriteJSONField_1_Out begin ] stop
             */

            /**
             * [tLogCatcher_1 begin ] start
             */

            ok_Hash.put("tLogCatcher_1", false);
            start_Hash.put("tLogCatcher_1", System.currentTimeMillis());

            currentComponent = "tLogCatcher_1";

            int tos_count_tLogCatcher_1 = 0;

            for (LogCatcherUtils.LogCatcherMessage lcm : tLogCatcher_1.getMessages()) {
                row3.type = lcm.getType();
                row3.origin = (lcm.getOrigin() == null || lcm.getOrigin().length() < 1 ? null
                        : lcm.getOrigin());
                row3.priority = lcm.getPriority();
                row3.message = lcm.getMessage();
                row3.code = lcm.getCode();

                row3.moment = java.util.Calendar.getInstance().getTime();

                row3.pid = pid;
                row3.root_pid = rootPid;
                row3.father_pid = fatherPid;

                row3.project = projectName;
                row3.job = jobName;
                row3.context = contextStr;

                /**
                 * [tLogCatcher_1 begin ] stop
                 */

                /**
                 * [tLogCatcher_1 main ] start
                 */

                currentComponent = "tLogCatcher_1";

                tos_count_tLogCatcher_1++;

                /**
                 * [tLogCatcher_1 main ] stop
                 */

                /**
                 * [tWriteJSONField_1_Out main ] start
                 */

                currentVirtualComponent = "tWriteJSONField_1";

                currentComponent = "tWriteJSONField_1_Out";

                if (txf_tWriteJSONField_1_Out.getLastException() != null) {
                    currentComponent = txf_tWriteJSONField_1_Out.getCurrentComponent();
                    throw txf_tWriteJSONField_1_Out.getLastException();
                }
                nb_line_tWriteJSONField_1_Out++;
                valueMap_tWriteJSONField_1_Out.clear();
                valueMap_tWriteJSONField_1_Out.put("moment",
                        (row3.moment != null ? FormatterUtils.format_Date(row3.moment, "yyyy-MM-dd HH:mm:ss")
                                : null));
                valueMap_tWriteJSONField_1_Out.put("pid", (row3.pid != null ? row3.pid.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("root_pid",
                        (row3.root_pid != null ? row3.root_pid.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("father_pid",
                        (row3.father_pid != null ? row3.father_pid.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("project",
                        (row3.project != null ? row3.project.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("job", (row3.job != null ? row3.job.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("context",
                        (row3.context != null ? row3.context.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("priority",
                        (row3.priority != null ? row3.priority.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("type", (row3.type != null ? row3.type.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("origin",
                        (row3.origin != null ? row3.origin.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("message",
                        (row3.message != null ? row3.message.toString() : null));
                valueMap_tWriteJSONField_1_Out.put("code", (row3.code != null ? row3.code.toString() : null));
                String strTemp_tWriteJSONField_1_Out = "";
                strTemp_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out
                        + valueMap_tWriteJSONField_1_Out.get("moment")
                        + valueMap_tWriteJSONField_1_Out.get("moment").length();
                strTemp_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out
                        + valueMap_tWriteJSONField_1_Out.get("project")
                        + valueMap_tWriteJSONField_1_Out.get("project").length();
                strTemp_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out
                        + valueMap_tWriteJSONField_1_Out.get("job")
                        + valueMap_tWriteJSONField_1_Out.get("job").length();
                strTemp_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out
                        + valueMap_tWriteJSONField_1_Out.get("type")
                        + valueMap_tWriteJSONField_1_Out.get("type").length();
                strTemp_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out
                        + valueMap_tWriteJSONField_1_Out.get("origin")
                        + valueMap_tWriteJSONField_1_Out.get("origin").length();
                strTemp_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out
                        + valueMap_tWriteJSONField_1_Out.get("message")
                        + valueMap_tWriteJSONField_1_Out.get("message").length();
                strTemp_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out
                        + valueMap_tWriteJSONField_1_Out.get("code")
                        + valueMap_tWriteJSONField_1_Out.get("code").length();
                if (strCompCache_tWriteJSONField_1_Out == null) {
                    strCompCache_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out;

                    rowStructOutput_tWriteJSONField_1_Out = row3;

                } else {
                    // the data read is different from the data read last
                    // time.
                    if (strCompCache_tWriteJSONField_1_Out.equals(strTemp_tWriteJSONField_1_Out) == false) {
                        nestXMLTool_tWriteJSONField_1_Out
                                .replaceDefaultNameSpace(doc_tWriteJSONField_1_Out.getRootElement());
                        java.io.StringWriter strWriter_tWriteJSONField_1_Out = new java.io.StringWriter();
                        org.dom4j.io.XMLWriter output_tWriteJSONField_1_Out = new org.dom4j.io.XMLWriter(
                                strWriter_tWriteJSONField_1_Out, format_tWriteJSONField_1_Out);
                        output_tWriteJSONField_1_Out.write(doc_tWriteJSONField_1_Out);
                        output_tWriteJSONField_1_Out.close();

                        row6Struct row_tWriteJSONField_1_Out = new row6Struct();

                        row_tWriteJSONField_1_Out.result = strWriter_tWriteJSONField_1_Out.toString();
                        listGroupby_tWriteJSONField_1_Out.add(row_tWriteJSONField_1_Out);

                        doc_tWriteJSONField_1_Out.clearContent();
                        needRoot_tWriteJSONField_1_Out = true;
                        for (int i_tWriteJSONField_1_Out = 0; i_tWriteJSONField_1_Out < orders_tWriteJSONField_1_Out.length; i_tWriteJSONField_1_Out++) {
                            orders_tWriteJSONField_1_Out[i_tWriteJSONField_1_Out] = 0;
                        }

                        if (groupbyList_tWriteJSONField_1_Out != null
                                && groupbyList_tWriteJSONField_1_Out.size() >= 0) {
                            groupbyList_tWriteJSONField_1_Out.clear();
                        }
                        strCompCache_tWriteJSONField_1_Out = strTemp_tWriteJSONField_1_Out;
                        rowStructOutput_tWriteJSONField_1_Out = row3;

                    }
                }

                org.dom4j.Element subTreeRootParent_tWriteJSONField_1_Out = null;

                // build root xml tree
                if (needRoot_tWriteJSONField_1_Out) {
                    needRoot_tWriteJSONField_1_Out = false;
                    org.dom4j.Element root_tWriteJSONField_1_Out = doc_tWriteJSONField_1_Out
                            .addElement("result");
                    subTreeRootParent_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out;
                    org.dom4j.Element root_0_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("project");
                    if (valueMap_tWriteJSONField_1_Out.get("project") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_0_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("project"));
                    }
                    org.dom4j.Element root_1_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("job");
                    if (valueMap_tWriteJSONField_1_Out.get("job") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_1_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("job"));
                    }
                    org.dom4j.Element root_2_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("type");
                    if (valueMap_tWriteJSONField_1_Out.get("type") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_2_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("type"));
                    }
                    org.dom4j.Element root_3_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("origin");
                    if (valueMap_tWriteJSONField_1_Out.get("origin") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_3_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("origin"));
                    }
                    org.dom4j.Element root_4_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("message");
                    if (valueMap_tWriteJSONField_1_Out.get("message") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_4_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("message"));
                    }
                    org.dom4j.Element root_5_tWriteJSONField_1_Out = root_tWriteJSONField_1_Out
                            .addElement("code");
                    if (valueMap_tWriteJSONField_1_Out.get("code") != null) {
                        nestXMLTool_tWriteJSONField_1_Out.setText(root_5_tWriteJSONField_1_Out,
                                valueMap_tWriteJSONField_1_Out.get("code"));
                    }
                    root4Group_tWriteJSONField_1_Out = subTreeRootParent_tWriteJSONField_1_Out;
                } else {
                    subTreeRootParent_tWriteJSONField_1_Out = root4Group_tWriteJSONField_1_Out;
                }
                // build group xml tree
                // build loop xml tree
                org.dom4j.Element loop_tWriteJSONField_1_Out = org.dom4j.DocumentHelper.createElement("moment");
                if (orders_tWriteJSONField_1_Out[0] == 0) {
                    orders_tWriteJSONField_1_Out[0] = 0;
                }
                if (1 < orders_tWriteJSONField_1_Out.length) {
                    orders_tWriteJSONField_1_Out[1] = 0;
                }
                subTreeRootParent_tWriteJSONField_1_Out.elements().add(orders_tWriteJSONField_1_Out[0]++,
                        loop_tWriteJSONField_1_Out);
                if (valueMap_tWriteJSONField_1_Out.get("moment") != null) {
                    nestXMLTool_tWriteJSONField_1_Out.setText(loop_tWriteJSONField_1_Out,
                            valueMap_tWriteJSONField_1_Out.get("moment"));
                }

                tos_count_tWriteJSONField_1_Out++;

                /**
                 * [tWriteJSONField_1_Out main ] stop
                 */

                /**
                 * [tLogCatcher_1 end ] start
                 */

                currentComponent = "tLogCatcher_1";

            }

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

            /**
             * [tLogCatcher_1 end ] stop
             */

            /**
             * [tWriteJSONField_1_Out end ] start
             */

            currentVirtualComponent = "tWriteJSONField_1";

            currentComponent = "tWriteJSONField_1_Out";

            if (nb_line_tWriteJSONField_1_Out > 0) {
                nestXMLTool_tWriteJSONField_1_Out
                        .replaceDefaultNameSpace(doc_tWriteJSONField_1_Out.getRootElement());
                java.io.StringWriter strWriter_tWriteJSONField_1_Out = new java.io.StringWriter();
                org.dom4j.io.XMLWriter output_tWriteJSONField_1_Out = new org.dom4j.io.XMLWriter(
                        strWriter_tWriteJSONField_1_Out, format_tWriteJSONField_1_Out);
                output_tWriteJSONField_1_Out.write(doc_tWriteJSONField_1_Out);
                output_tWriteJSONField_1_Out.close();
                row6Struct row_tWriteJSONField_1_Out = new row6Struct();

                row_tWriteJSONField_1_Out.result = strWriter_tWriteJSONField_1_Out.toString();
                listGroupby_tWriteJSONField_1_Out.add(row_tWriteJSONField_1_Out);

            }
            globalMap.put("tWriteJSONField_1_Out_NB_LINE", nb_line_tWriteJSONField_1_Out);
            globalMap.put("tWriteJSONField_1_In_FINISH" + (listGroupby_tWriteJSONField_1_Out == null ? ""
                    : listGroupby_tWriteJSONField_1_Out.hashCode()), "true");

            txf_tWriteJSONField_1_Out.join();
            if (txf_tWriteJSONField_1_Out.getLastException() != null) {
                currentComponent = txf_tWriteJSONField_1_Out.getCurrentComponent();
                throw txf_tWriteJSONField_1_Out.getLastException();
            }

            resourceMap.put("finish_tWriteJSONField_1_Out", true);

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

            /**
             * [tWriteJSONField_1_Out end ] stop
             */

        } // end the resume

    } catch (java.lang.Exception e) {

        TalendException te = new TalendException(e, currentComponent, globalMap);

        te.setVirtualComponentName(currentVirtualComponent);

        throw te;
    } catch (java.lang.Error error) {

        throw error;
    } finally {

        try {

            /**
             * [tLogCatcher_1 finally ] start
             */

            currentComponent = "tLogCatcher_1";

            /**
             * [tLogCatcher_1 finally ] stop
             */

            /**
             * [tWriteJSONField_1_Out finally ] start
             */

            currentVirtualComponent = "tWriteJSONField_1";

            currentComponent = "tWriteJSONField_1_Out";

            java.util.Queue listGroupby_tWriteJSONField_1_Out = (java.util.Queue) globalMap
                    .get("queue_tWriteJSONField_1_In");
            if (resourceMap.get("finish_tWriteJSONField_1_Out") == null) {
                globalMap.put("tWriteJSONField_1_In_FINISH_WITH_EXCEPTION"
                        + (listGroupby_tWriteJSONField_1_Out == null ? ""
                                : listGroupby_tWriteJSONField_1_Out.hashCode()),
                        "true");
            }

            if (listGroupby_tWriteJSONField_1_Out != null) {
                globalMap.put("tWriteJSONField_1_In_FINISH" + (listGroupby_tWriteJSONField_1_Out == null ? ""
                        : listGroupby_tWriteJSONField_1_Out.hashCode()), "true");
            }

            /**
             * [tWriteJSONField_1_Out finally ] stop
             */

        } catch (java.lang.Exception e) {
            // ignore
        } catch (java.lang.Error error) {
            // ignore
        }
        resourceMap = null;
    }

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