Example usage for org.dom4j Element declaredNamespaces

List of usage examples for org.dom4j Element declaredNamespaces

Introduction

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

Prototype

List<Namespace> declaredNamespaces();

Source Link

Document

Returns all the namespaces declared by this element.

Usage

From source file:org.collectionspace.chain.util.xtmpl.XTmplTmpl.java

License:Educational Community License

@SuppressWarnings("unchecked")
private void removeNamespaces(Element e) {
    for (Namespace ns : (List<Namespace>) e.declaredNamespaces()) {
        if (!XTMPL_URI.equals(ns.getURI()))
            continue;
        e.remove(ns);/*  ww w . ja v a 2 s  . co m*/
    }
    for (Element k : (List<Element>) e.elements()) {
        removeNamespaces(k);
    }
}

From source file:org.etudes.component.app.melete.MeleteAbstractExportServiceImpl.java

License:Apache License

/**
 * creates document root element "manifest" from the default manifest file
 * and adds the namespaces/*from ww  w.j  a  v  a2 s .co m*/
 * @param xmlFile - Default manifest file
 * @return returns the manifest element
 * @throws  Exception
 */
public Element getManifest(File xmlFile) throws Exception {
    try {
        Document document = XMLHelper.getSaxReader().read(xmlFile);
        Element root = document.getRootElement();
        Element rootnew = root.createCopy();
        List childEleList = rootnew.elements();
        childEleList.clear();

        this.DEFAULT_NAMESPACE_URI = rootnew.getNamespaceURI();

        List nslist = rootnew.declaredNamespaces();

        for (int i = 0; i < nslist.size(); i++) {
            if (((Namespace) nslist.get(i)).getPrefix().equals("imsmd")) {
                setMetaDataNameSpace(((Namespace) nslist.get(i)).getURI());
                break;
            }
        }
        rootnew.addAttribute("identifier", "Manifest-" + getUUID());
        return rootnew;
    } catch (DocumentException de) {
        throw de;
    } catch (SAXException se) {
        throw se;
    } catch (Exception e) {
        throw e;
    }
}

From source file:org.etudes.jforum.view.admin.ImportExportAction.java

License:Apache License

/**
 * creates document root element "manifest" from the default manifest file
 * and adds the namespaces/*from   www  .j  ava2s . co  m*/
 * 
 * @param xmlFile
 *            - Default manifest file
 * @return returns the manifest element
 * @throws Exception
 */
private Element getManifest(File xmlFile) throws Exception {
    try {
        Document document = XMLHelper.getSaxReader().read(xmlFile);
        Element root = document.getRootElement();
        Element rootnew = root.createCopy();
        List childEleList = rootnew.elements();
        childEleList.clear();

        this.DEFAULT_NAMESPACE_URI = rootnew.getNamespaceURI();

        List nslist = rootnew.declaredNamespaces();

        for (int i = 0; i < nslist.size(); i++) {
            if (((Namespace) nslist.get(i)).getPrefix().equals("imsmd")) {
                this.IMSMD_NAMESPACE_URI = ((Namespace) nslist.get(i)).getURI();
                break;
            }
        }
        rootnew.addAttribute("identifier", "Manifest-" + IdManager.createUuid());
        return rootnew;
    } catch (DocumentException de) {
        throw de;
    } catch (SAXException se) {
        throw se;
    } catch (Exception e) {
        throw e;
    }
}

From source file:org.openxml4j.opc.internal.unmarshallers.PackagePropertiesUnmarshaller.java

License:Apache License

/**
 * Check the element for the following OPC compliance rules:
 * /*from   w  w  w. ja  v  a  2s  . c om*/
 * Rule M4.2: A format consumer shall consider the use of the Markup
 * Compatibility namespace to be an error.
 * 
 * Rule M4.3: Producers shall not create a document element that contains
 * refinements to the Dublin Core elements, except for the two specified in
 * the schema: <dcterms:created> and <dcterms:modified> Consumers shall
 * consider a document element that violates this constraint to be an error.
 * 
 * Rule M4.4: Producers shall not create a document element that contains
 * the xml:lang attribute. Consumers shall consider a document element that
 * violates this constraint to be an error.
 * 
 * Rule M4.5: Producers shall not create a document element that contains
 * the xsi:type attribute, except for a <dcterms:created> or
 * <dcterms:modified> element where the xsi:type attribute shall be present
 * and shall hold the value dcterms:W3CDTF, where dcterms is the namespace
 * prefix of the Dublin Core namespace. Consumers shall consider a document
 * element that violates this constraint to be an error.
 */
public void checkElementForOPCCompliance(Element el) throws InvalidFormatException {
    // Check the current element
    List declaredNamespaces = el.declaredNamespaces();
    Iterator itNS = declaredNamespaces.iterator();
    while (itNS.hasNext()) {
        Namespace ns = (Namespace) itNS.next();

        // Rule M4.2
        if (ns.getURI().equals(PackageNamespaces.MARKUP_COMPATIBILITY))
            throw new InvalidFormatException(
                    "OPC Compliance error [M4.2]: A format consumer shall consider the use of the Markup Compatibility namespace to be an error.");
    }

    // Rule M4.3
    if (el.getNamespace().getURI().equals(PackageProperties.NAMESPACE_DCTERMS)
            && !(el.getName().equals(KEYWORD_CREATED) || el.getName().equals(KEYWORD_MODIFIED)))
        throw new InvalidFormatException(
                "OPC Compliance error [M4.3]: Producers shall not create a document element that contains refinements to the Dublin Core elements, except for the two specified in the schema: <dcterms:created> and <dcterms:modified> Consumers shall consider a document element that violates this constraint to be an error.");

    // Rule M4.4
    if (el.attribute(new QName("lang", namespaceXML)) != null)
        throw new InvalidFormatException(
                "OPC Compliance error [M4.4]: Producers shall not create a document element that contains the xml:lang attribute. Consumers shall consider a document element that violates this constraint to be an error.");

    // Rule M4.5
    if (el.getNamespace().getURI().equals(PackageProperties.NAMESPACE_DCTERMS)) {
        // DCTerms namespace only use with 'created' and 'modified' elements
        String elName = el.getName();
        if (!(elName.equals(KEYWORD_CREATED) || elName.equals(KEYWORD_MODIFIED)))
            throw new InvalidFormatException("Namespace error : " + elName
                    + " shouldn't have the following naemspace -> " + PackageProperties.NAMESPACE_DCTERMS);

        // Check for the 'xsi:type' attribute
        Attribute typeAtt = el.attribute(new QName("type", namespaceXSI));
        if (typeAtt == null)
            throw new InvalidFormatException("The element '" + elName + "' must have the '"
                    + namespaceXSI.getPrefix() + ":type' attribute present !");

        // Check for the attribute value => 'dcterms:W3CDTF'
        if (!typeAtt.getValue().equals("dcterms:W3CDTF"))
            throw new InvalidFormatException("The element '" + elName + "' must have the '"
                    + namespaceXSI.getPrefix() + ":type' attribute with the value 'dcterms:W3CDTF' !");
    }

    // Check its children
    Iterator itChildren = el.elementIterator();
    while (itChildren.hasNext())
        checkElementForOPCCompliance((Element) itChildren.next());
}

From source file:org.orbeon.saxon.dom4j.NodeWrapper.java

License:Open Source License

/**
 * Get all namespace undeclarations and undeclarations defined on this element.
 *
 * @param buffer If this is non-null, and the result array fits in this buffer, then the result
 *               may overwrite the contents of this array, to avoid the cost of allocating a new array on the heap.
 * @return An array of integers representing the namespace declarations and undeclarations present on
 *         this element. For a node other than an element, return null. Otherwise, the returned array is a
 *         sequence of namespace codes, whose meaning may be interpreted by reference to the name pool. The
 *         top half word of each namespace code represents the prefix, the bottom half represents the URI.
 *         If the bottom half is zero, then this is a namespace undeclaration rather than a declaration.
 *         The XML namespace is never included in the list. If the supplied array is larger than required,
 *         then the first unused entry will be set to -1.
 *         <p/>/*w  w  w .  j av  a 2  s.c  o  m*/
 *         <p>For a node other than an element, the method returns null.</p>
 */
public int[] getDeclaredNamespaces(int[] buffer) {
    if (node instanceof Element) {
        final Element elem = (Element) node;
        final List namespaces = elem.declaredNamespaces();

        if (namespaces == null || namespaces.isEmpty()) {
            return EMPTY_NAMESPACE_LIST;
        }
        final int count = namespaces.size();
        if (count == 0) {
            return EMPTY_NAMESPACE_LIST;
        } else {
            int[] result = (buffer == null || count > buffer.length ? new int[count] : buffer);
            NamePool pool = getNamePool();
            int n = 0;
            for (Iterator i = namespaces.iterator(); i.hasNext();) {
                final Namespace namespace = (Namespace) i.next();
                final String prefix = namespace.getPrefix();
                final String uri = namespace.getURI();

                result[n++] = pool.allocateNamespaceCode(prefix, uri);
            }
            if (count < result.length) {
                result[count] = -1;
            }
            return result;
        }
    } else {
        return null;
    }
}

From source file:org.pentaho.di.trans.steps.getxmldata.GetXMLData.java

License:Apache License

public void prepareNSMap(Element l) {
    @SuppressWarnings("unchecked")
    List<Namespace> namespacesList = l.declaredNamespaces();
    for (Namespace ns : namespacesList) {
        if (ns.getPrefix().trim().length() == 0) {
            data.NAMESPACE.put("pre" + data.NSPath.size(), ns.getURI());
            String path = "";
            Element element = l;//  w w w . ja  v  a 2s  . co  m
            while (element != null) {
                if (element.getNamespacePrefix() != null && element.getNamespacePrefix().length() > 0) {
                    path = GetXMLDataMeta.N0DE_SEPARATOR + element.getNamespacePrefix() + ":"
                            + element.getName() + path;
                } else {
                    path = GetXMLDataMeta.N0DE_SEPARATOR + element.getName() + path;
                }
                element = element.getParent();
            }
            data.NSPath.add(path);
        } else {
            data.NAMESPACE.put(ns.getPrefix(), ns.getURI());
        }
    }

    @SuppressWarnings("unchecked")
    List<Element> elementsList = l.elements();
    for (Element e : elementsList) {
        prepareNSMap(e);
    }
}

From source file:org.zenonpagetemplates.onePhaseImpl.PageTemplateImpl.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
private void findMacros(Element element, Map<String, Macro> macros) {
    // Process any declared namespaces
    for (Iterator<Namespace> i = element.declaredNamespaces().iterator(); i.hasNext();) {
        Namespace namespace = i.next();
        this.namespaces.put(namespace.getPrefix(), namespace.getURI());
    }/*w  w  w .  jav  a2 s .  c  o  m*/

    // Look for our attribute
    String name = element.attributeValue(METAL_DEFINE_MACRO);
    if (name != null) {
        macros.put(name, new MacroImpl(element));
    }

    // Recurse into child elements
    for (Iterator i = element.elementIterator(); i.hasNext();) {
        findMacros((Element) i.next(), macros);
    }
}

From source file:pahma.tmslocation_barcode_5fld_1_2.TMSlocation_barcode_5fld.java

License:Apache License

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 currentVirtualComponent = null;

    String iterateId = "";

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

    try {/*from w ww .  j a va 2s  . com*/

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

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

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

            /**
             * [tSortRow_3_SortOut begin ] start
             */

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

            currentVirtualComponent = "tSortRow_3";

            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.objectNumber == null && other.objectNumber != null) {
                        return -1;

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

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

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

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

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

            /**
             * [tSortRow_3_SortOut begin ] stop
             */

            /**
             * [tMap_6 begin ] start
             */

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

            currentComponent = "tMap_6";

            int tos_count_tMap_6 = 0;

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

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

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

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

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

            /**
             * [tMap_6 begin ] stop
             */

            /**
             * [tFileInputDelimited_1 begin ] start
             */

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

            currentComponent = "tFileInputDelimited_1";

            int tos_count_tFileInputDelimited_1 = 0;

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

            char fieldSeparator_tFileInputDelimited_1[] = null;

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

            char rowSeparator_tFileInputDelimited_1[] = null;

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

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

            try {

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

                        int footer_value_tFileInputDelimited_1 = 0;
                        if (footer_value_tFileInputDelimited_1 > 0) {
                            throw new java.lang.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 (java.lang.Exception e) {

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

                } // TD110 end

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

                    rowtFileInputDelimited_1 = csvReadertFileInputDelimited_1.getValues();

                    currentLinetFileInputDelimited_1++;

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

                    barcode_file = null;

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

                        char fieldSeparator_tFileInputDelimited_1_ListType[] = null;
                        // support passing value (property: Field Separator)
                        // by 'context.fs' or 'globalMap.get("fs")'.
                        if (((String) ",").length() > 0) {
                            fieldSeparator_tFileInputDelimited_1_ListType = ((String) ",").toCharArray();
                        } else {
                            throw new IllegalArgumentException("Field Separator must be assigned a char.");
                        }
                        if (rowtFileInputDelimited_1.length == 1
                                && ("\015").equals(rowtFileInputDelimited_1[0])) {// empty
                            // line
                            // when
                            // row
                            // separator
                            // is
                            // '\n'

                            barcode_file.reason_for_move = null;

                            barcode_file.person_scanning = null;

                            barcode_file.objectNumber = null;

                            barcode_file.location = null;

                            barcode_file.date_time = null;

                        } else {

                            int columnIndexWithD_tFileInputDelimited_1 = 0; // Column
                            // Index

                            columnIndexWithD_tFileInputDelimited_1 = 0;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                barcode_file.reason_for_move = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                barcode_file.reason_for_move = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 1;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                barcode_file.person_scanning = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                barcode_file.person_scanning = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 2;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                barcode_file.objectNumber = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                barcode_file.objectNumber = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 3;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                barcode_file.location = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                barcode_file.location = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 4;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                barcode_file.date_time = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                barcode_file.date_time = null;
                            }

                        }

                    } catch (java.lang.Exception e) {
                        whetherReject_tFileInputDelimited_1 = true;

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

                    }

                    /**
                     * [tFileInputDelimited_1 begin ] stop
                     */

                    /**
                     * [tFileInputDelimited_1 main ] start
                     */

                    currentComponent = "tFileInputDelimited_1";

                    tos_count_tFileInputDelimited_1++;

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

                        /**
                         * [tMap_6 main ] start
                         */

                        currentComponent = "tMap_6";

                        boolean hasCasePrimitiveKeyWithNull_tMap_6 = false;

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

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

                        boolean forceLoophandler_list = false;

                        handler_listStruct handler_listObjectFromLookup = null;

                        if (!rejectedInnerJoin_tMap_6) { // G_TM_M_020

                            hasCasePrimitiveKeyWithNull_tMap_6 = false;

                            handler_listHashKey.handler_code = barcode_file.person_scanning;

                            handler_listHashKey.hashCodeDirty = true;

                            tHash_Lookup_handler_list.lookup(handler_listHashKey);

                        } // G_TM_M_020

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

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

                        handler_listStruct handler_list = null;

                        handler_listStruct fromLookup_handler_list = null;
                        handler_list = handler_listDefault;

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

                            fromLookup_handler_list = tHash_Lookup_handler_list.next();

                        } // G 099

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

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

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

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

                            barcode_wName = null;

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

                        } // end of Var scope

                        rejectedInnerJoin_tMap_6 = false;

                        tos_count_tMap_6++;

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

                            /**
                             * [tSortRow_3_SortOut main ] start
                             */

                            currentVirtualComponent = "tSortRow_3";

                            currentComponent = "tSortRow_3_SortOut";

                            Comparablebarcode_wNameStruct arrayRowtSortRow_3_SortOut = new Comparablebarcode_wNameStruct();

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

                            tos_count_tSortRow_3_SortOut++;

                            /**
                             * [tSortRow_3_SortOut main ] stop
                             */

                        } // End of branch "barcode_wName"

                    } // End of branch "barcode_file"

                    /**
                     * [tFileInputDelimited_1 end ] start
                     */

                    currentComponent = "tFileInputDelimited_1";

                    nb_line_tFileInputDelimited_1++;
                }

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

            }

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

            /**
             * [tFileInputDelimited_1 end ] stop
             */

            /**
             * [tMap_6 end ] start
             */

            currentComponent = "tMap_6";

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

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

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

            /**
             * [tMap_6 end ] stop
             */

            /**
             * [tSortRow_3_SortOut end ] start
             */

            currentVirtualComponent = "tSortRow_3";

            currentComponent = "tSortRow_3_SortOut";

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

            java.util.Arrays.sort(array_tSortRow_3_SortOut);

            globalMap.put("tSortRow_3", array_tSortRow_3_SortOut);

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

            /**
             * [tSortRow_3_SortOut end ] stop
             */

            /**
             * [tAdvancedFileOutputXML_1 begin ] start
             */

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

            currentComponent = "tAdvancedFileOutputXML_1";

            int tos_count_tAdvancedFileOutputXML_1 = 0;

            int nb_line_tAFOX_1 = 0;

            boolean needRoot_tAFOX_1 = true;

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

            String fileNameWithoutSuffix_tAFOX_1 = "";

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

            final String file_tAFOX_1 = fileNameWithoutSuffix_tAFOX_1;

            java.io.File createFiletAFOX_1 = new java.io.File(fileName_tAFOX_1);

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

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

            class NestXMLTool_tAFOX_1 {
                public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                    try {
                        org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                .parseText("<root>" + value + "</root>");
                        nestRoot.setContent(doc4Str.getRootElement().content());
                    } catch (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

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

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_1 = new java.util.HashMap<String, org.dom4j.Branch>();

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

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

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

            final int[] orders_tAFOX_1 = new int[1];

            /**
             * [tAdvancedFileOutputXML_1 begin ] stop
             */

            /**
             * [tFileOutputDelimited_1 begin ] start
             */

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

            currentComponent = "tFileOutputDelimited_1";

            int tos_count_tFileOutputDelimited_1 = 0;

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

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

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

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

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

                    dir_tFileOutputDelimited_1.mkdirs();

                }
            }

            // routines.system.Row
            java.io.Writer outtFileOutputDelimited_1 = null;

            java.io.File fileToDelete_tFileOutputDelimited_1 = new java.io.File(
                    fileName_tFileOutputDelimited_1);
            if (fileToDelete_tFileOutputDelimited_1.exists()) {
                fileToDelete_tFileOutputDelimited_1.delete();
            }

            outtFileOutputDelimited_1 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                    new java.io.FileOutputStream(fileName_tFileOutputDelimited_1, false), "UTF-8"));

            resourceMap.put("out_tFileOutputDelimited_1", outtFileOutputDelimited_1);

            resourceMap.put("nb_line_tFileOutputDelimited_1", nb_line_tFileOutputDelimited_1);

            /**
             * [tFileOutputDelimited_1 begin ] stop
             */

            /**
             * [tFileOutputDelimited_5 begin ] start
             */

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

            currentComponent = "tFileOutputDelimited_5";

            int tos_count_tFileOutputDelimited_5 = 0;

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

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

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

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

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

                    dir_tFileOutputDelimited_5.mkdirs();

                }
            }

            // routines.system.Row
            java.io.Writer outtFileOutputDelimited_5 = null;

            java.io.File fileToDelete_tFileOutputDelimited_5 = new java.io.File(
                    fileName_tFileOutputDelimited_5);
            if (fileToDelete_tFileOutputDelimited_5.exists()) {
                fileToDelete_tFileOutputDelimited_5.delete();
            }

            outtFileOutputDelimited_5 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                    new java.io.FileOutputStream(fileName_tFileOutputDelimited_5, false), "UTF-8"));

            resourceMap.put("out_tFileOutputDelimited_5", outtFileOutputDelimited_5);

            resourceMap.put("nb_line_tFileOutputDelimited_5", nb_line_tFileOutputDelimited_5);

            /**
             * [tFileOutputDelimited_5 begin ] stop
             */

            /**
             * [tFileOutputDelimited_4 begin ] start
             */

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

            currentComponent = "tFileOutputDelimited_4";

            int tos_count_tFileOutputDelimited_4 = 0;

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

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

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

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

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

                    dir_tFileOutputDelimited_4.mkdirs();

                }
            }

            // routines.system.Row
            java.io.Writer outtFileOutputDelimited_4 = null;

            java.io.File fileToDelete_tFileOutputDelimited_4 = new java.io.File(
                    fileName_tFileOutputDelimited_4);
            if (fileToDelete_tFileOutputDelimited_4.exists()) {
                fileToDelete_tFileOutputDelimited_4.delete();
            }

            outtFileOutputDelimited_4 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                    new java.io.FileOutputStream(fileName_tFileOutputDelimited_4, false), "UTF-8"));

            resourceMap.put("out_tFileOutputDelimited_4", outtFileOutputDelimited_4);

            resourceMap.put("nb_line_tFileOutputDelimited_4", nb_line_tFileOutputDelimited_4);

            /**
             * [tFileOutputDelimited_4 begin ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 begin ] start
             */

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

            currentComponent = "tAdvancedFileOutputXML_2";

            int tos_count_tAdvancedFileOutputXML_2 = 0;

            int nb_line_tAFOX_2 = 0;

            boolean needRoot_tAFOX_2 = true;

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

            String fileNameWithoutSuffix_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("/"));
                fileNameWithoutSuffix_tAFOX_2 = tail_tAFOX_2.lastIndexOf(".") > 0
                        ? fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("."))
                        : fileName_tAFOX_2;
            }

            final String file_tAFOX_2 = fileNameWithoutSuffix_tAFOX_2;

            java.io.File createFiletAFOX_2 = new java.io.File(fileName_tAFOX_2);

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

            java.util.List<java.util.List<String>> groupbyList_tAFOX_2 = new java.util.ArrayList<java.util.List<String>>();
            final 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 (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

            final 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;

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_2 = new java.util.HashMap<String, org.dom4j.Branch>();

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

            final int[] orders_tAFOX_2 = new int[1];

            /**
             * [tAdvancedFileOutputXML_2 begin ] stop
             */

            /**
             * [tAdvancedFileOutputXML_3 begin ] start
             */

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

            currentComponent = "tAdvancedFileOutputXML_3";

            int tos_count_tAdvancedFileOutputXML_3 = 0;

            int nb_line_tAFOX_3 = 0;

            boolean needRoot_tAFOX_3 = true;

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

            String fileNameWithoutSuffix_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("/"));
                fileNameWithoutSuffix_tAFOX_3 = tail_tAFOX_3.lastIndexOf(".") > 0
                        ? fileName_tAFOX_3.substring(0, fileName_tAFOX_3.lastIndexOf("."))
                        : fileName_tAFOX_3;
            }

            final String file_tAFOX_3 = fileNameWithoutSuffix_tAFOX_3;

            java.io.File createFiletAFOX_3 = new java.io.File(fileName_tAFOX_3);

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

            java.util.List<java.util.List<String>> groupbyList_tAFOX_3 = new java.util.ArrayList<java.util.List<String>>();
            final 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 (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

            final 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;

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_3 = new java.util.HashMap<String, org.dom4j.Branch>();

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

            final int[] orders_tAFOX_3 = new int[1];

            /**
             * [tAdvancedFileOutputXML_3 begin ] stop
             */

            /**
             * [tMap_1 begin ] start
             */

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

            currentComponent = "tMap_1";

            int tos_count_tMap_1 = 0;

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

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

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

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

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

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

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

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

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

            /**
             * [tMap_1 begin ] stop
             */

            /**
             * [tUniqRow_1 begin ] start
             */

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

            currentComponent = "tUniqRow_1";

            int tos_count_tUniqRow_1 = 0;

            class KeyStruct_tUniqRow_1 {

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

                String reason_for_move;
                String objectNumber;
                String location;
                String date_time;

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

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

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

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

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

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

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

                    if (this.reason_for_move == null) {
                        if (other.reason_for_move != null)
                            return false;

                    } else if (!this.reason_for_move.equals(other.reason_for_move))

                        return false;

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

                    } else if (!this.objectNumber.equals(other.objectNumber))

                        return false;

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

                    } else if (!this.location.equals(other.location))

                        return false;

                    if (this.date_time == null) {
                        if (other.date_time != null)
                            return false;

                    } else if (!this.date_time.equals(other.date_time))

                        return false;

                    return true;
                }

            }

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

            /**
             * [tUniqRow_1 begin ] stop
             */

            /**
             * [tSortRow_3_SortIn begin ] start
             */

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

            currentVirtualComponent = "tSortRow_3";

            currentComponent = "tSortRow_3_SortIn";

            int tos_count_tSortRow_3_SortIn = 0;

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

            int nb_line_tSortRow_3_SortIn = 0;

            barcode_wNameStruct current_tSortRow_3_SortIn = null;

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

                /**
                 * [tSortRow_3_SortIn begin ] stop
                 */

                /**
                 * [tSortRow_3_SortIn main ] start
                 */

                currentVirtualComponent = "tSortRow_3";

                currentComponent = "tSortRow_3_SortIn";

                tos_count_tSortRow_3_SortIn++;

                /**
                 * [tSortRow_3_SortIn main ] stop
                 */

                /**
                 * [tUniqRow_1 main ] start
                 */

                currentComponent = "tUniqRow_1";

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

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

                    keystUniqRow_1.add(new_tUniqRow_1);
                    if (obj_loc == null) {

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

                tos_count_tUniqRow_1++;

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

                    /**
                     * [tMap_1 main ] start
                     */

                    currentComponent = "tMap_1";

                    boolean hasCasePrimitiveKeyWithNull_tMap_1 = false;

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

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

                    boolean forceLooplocinfo = false;

                    locinfoStruct locinfoObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

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

                        locinfoHashKey.hashCodeDirty = true;

                        tHash_Lookup_locinfo.lookup(locinfoHashKey);

                    } // G_TM_M_020

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

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

                    locinfoStruct locinfo = null;

                    locinfoStruct fromLookup_locinfo = null;
                    locinfo = locinfoDefault;

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

                        fromLookup_locinfo = tHash_Lookup_locinfo.next();

                    } // G 099

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

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

                    boolean forceLoopperson_ID_displayName = false;

                    person_ID_displayNameStruct person_ID_displayNameObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

                        person_ID_displayNameHashKey.displayName = obj_loc.person_scanning;

                        person_ID_displayNameHashKey.hashCodeDirty = true;

                        tHash_Lookup_person_ID_displayName.lookup(person_ID_displayNameHashKey);

                    } // G_TM_M_020

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

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

                    person_ID_displayNameStruct person_ID_displayName = null;

                    person_ID_displayNameStruct fromLookup_person_ID_displayName = null;
                    person_ID_displayName = person_ID_displayNameDefault;

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

                        fromLookup_person_ID_displayName = tHash_Lookup_person_ID_displayName.next();

                    } // G 099

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

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

                    boolean forceLoopobj_IDs = false;

                    obj_IDsStruct obj_IDsObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

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

                        obj_IDsHashKey.hashCodeDirty = true;

                        tHash_Lookup_obj_IDs.lookup(obj_IDsHashKey);

                    } // G_TM_M_020

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

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

                    obj_IDsStruct obj_IDs = null;

                    obj_IDsStruct fromLookup_obj_IDs = null;
                    obj_IDs = obj_IDsDefault;

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

                        fromLookup_obj_IDs = tHash_Lookup_obj_IDs.next();

                    } // G 099

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                    } // end of Var scope

                    rejectedInnerJoin_tMap_1 = false;

                    tos_count_tMap_1++;

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

                        /**
                         * [tAdvancedFileOutputXML_1 main ] start
                         */

                        currentComponent = "tAdvancedFileOutputXML_1";

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

                        org.dom4j.Element subTreeRootParent_tAFOX_1 = null;

                        // build root xml tree
                        if (needRoot_tAFOX_1) {
                            needRoot_tAFOX_1 = false;
                            if (orders_tAFOX_1.length > 0) {
                                orders_tAFOX_1[0] = 0;
                            }
                            org.dom4j.Element root_tAFOX_1 = null;

                            root_tAFOX_1 = doc_tAFOX_1.addElement("imports");

                            subTreeRootParent_tAFOX_1 = root_tAFOX_1;
                            root4Group_tAFOX_1 = subTreeRootParent_tAFOX_1;
                        } else {

                            subTreeRootParent_tAFOX_1 = root4Group_tAFOX_1;
                        }
                        // build group xml tree
                        // build loop xml tree
                        org.dom4j.Element loop_tAFOX_1 = null;

                        loop_tAFOX_1 = org.dom4j.DocumentHelper.createElement("import");
                        if (orders_tAFOX_1[0] == 0) {
                            orders_tAFOX_1[0] = 0;
                        }
                        if (1 < orders_tAFOX_1.length) {
                            orders_tAFOX_1[1] = 0;
                        }
                        subTreeRootParent_tAFOX_1.elements().add(orders_tAFOX_1[0]++, loop_tAFOX_1);

                        loop_tAFOX_1.addAttribute("service", "Movements");

                        loop_tAFOX_1.addAttribute("type", "Movement");
                        if (valueMap_tAFOX_1.get("moveCSID") != null) {

                            loop_tAFOX_1.addAttribute("CSID", valueMap_tAFOX_1.get("moveCSID"));
                        }
                        org.dom4j.Element loop_0_tAFOX_1 = null;

                        loop_0_tAFOX_1 = loop_tAFOX_1.addElement("schema");

                        loop_0_tAFOX_1.addNamespace("movements_common",
                                TalendString.replaceSpecialCharForXML("http://collectionspace.org/movement/"));

                        loop_0_tAFOX_1.addAttribute("name", "movements_common");
                        org.dom4j.Element loop_0_0_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_0_tAFOX_1 = loop_0_tAFOX_1.addElement("movementNote");
                        } else {

                            loop_0_0_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:movementNote");
                        }

                        loop_0_0_tAFOX_1.setName("movements_common:movementNote");
                        org.dom4j.Element loop_0_1_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_1_tAFOX_1 = loop_0_tAFOX_1.addElement("removalDate");
                        } else {

                            loop_0_1_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:removalDate");
                        }

                        loop_0_1_tAFOX_1.setName("movements_common:removalDate");
                        org.dom4j.Element loop_0_2_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_2_tAFOX_1 = loop_0_tAFOX_1.addElement("reasonForMove");
                        } else {

                            loop_0_2_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:reasonForMove");
                        }
                        if (valueMap_tAFOX_1.get("reason4move") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_2_tAFOX_1, valueMap_tAFOX_1.get("reason4move"));
                        }

                        loop_0_2_tAFOX_1.setName("movements_common:reasonForMove");
                        org.dom4j.Element loop_0_3_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_3_tAFOX_1 = loop_0_tAFOX_1.addElement("movementMethods");
                        } else {

                            loop_0_3_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:movementMethods");
                        }

                        loop_0_3_tAFOX_1.setName("movements_common:movementMethods");
                        org.dom4j.Element loop_0_3_0_tAFOX_1 = null;

                        loop_0_3_0_tAFOX_1 = loop_0_3_tAFOX_1.addElement("movementMethod");
                        org.dom4j.Element loop_0_4_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_4_tAFOX_1 = loop_0_tAFOX_1.addElement("plannedRemovalDate");
                        } else {

                            loop_0_4_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:plannedRemovalDate");
                        }

                        loop_0_4_tAFOX_1.setName("movements_common:plannedRemovalDate");
                        org.dom4j.Element loop_0_5_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_5_tAFOX_1 = loop_0_tAFOX_1.addElement("movementContact");
                        } else {

                            loop_0_5_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:movementContact");
                        }

                        loop_0_5_tAFOX_1.setName("movements_common:movementContact");
                        org.dom4j.Element loop_0_6_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_6_tAFOX_1 = loop_0_tAFOX_1.addElement("normalLocation");
                        } else {

                            loop_0_6_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:normalLocation");
                        }

                        loop_0_6_tAFOX_1.setName("movements_common:normalLocation");
                        org.dom4j.Element loop_0_7_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_7_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocationFitness");
                        } else {

                            loop_0_7_tAFOX_1 = loop_0_tAFOX_1
                                    .addElement("movements_common:currentLocationFitness");
                        }

                        loop_0_7_tAFOX_1.setName("movements_common:currentLocationFitness");
                        org.dom4j.Element loop_0_8_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_8_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocation");
                        } else {

                            loop_0_8_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:currentLocation");
                        }
                        if (valueMap_tAFOX_1.get("locations_refname") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_8_tAFOX_1,
                                    valueMap_tAFOX_1.get("locations_refname"));
                        }

                        loop_0_8_tAFOX_1.setName("movements_common:currentLocation");
                        org.dom4j.Element loop_0_9_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_9_tAFOX_1 = loop_0_tAFOX_1.addElement("locationDate");
                        } else {

                            loop_0_9_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:locationDate");
                        }
                        if (valueMap_tAFOX_1.get("Capture_timestamp") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_9_tAFOX_1,
                                    valueMap_tAFOX_1.get("Capture_timestamp"));
                        }

                        loop_0_9_tAFOX_1.setName("movements_common:locationDate");
                        org.dom4j.Element loop_0_10_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_10_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocationNote");
                        } else {

                            loop_0_10_tAFOX_1 = loop_0_tAFOX_1
                                    .addElement("movements_common:currentLocationNote");
                        }
                        if (valueMap_tAFOX_1.get("Item_Num") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_10_tAFOX_1, valueMap_tAFOX_1.get("Item_Num"));
                        }

                        loop_0_10_tAFOX_1.setName("movements_common:currentLocationNote");
                        org.dom4j.Element loop_0_11_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_11_tAFOX_1 = loop_0_tAFOX_1.addElement("movementReferenceNumber");
                        } else {

                            loop_0_11_tAFOX_1 = loop_0_tAFOX_1
                                    .addElement("movements_common:movementReferenceNumber");
                        }
                        if (valueMap_tAFOX_1.get("moveID") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_11_tAFOX_1, valueMap_tAFOX_1.get("moveID"));
                        }

                        loop_0_11_tAFOX_1.setName("movements_common:movementReferenceNumber");
                        org.dom4j.Element loop_1_tAFOX_1 = null;

                        loop_1_tAFOX_1 = loop_tAFOX_1.addElement("schema2");

                        loop_1_tAFOX_1.addNamespace("movements_anthropology",
                                TalendString.replaceSpecialCharForXML(
                                        "http://collectionspace.org/services/movement/domain/anthropology"));

                        loop_1_tAFOX_1.addAttribute("name", "movements_anthropology");
                        org.dom4j.Element loop_1_0_tAFOX_1 = null;
                        if (loop_1_tAFOX_1.getNamespaceForPrefix("movements_anthropology") == null) {
                            loop_1_0_tAFOX_1 = loop_1_tAFOX_1.addElement("locationHandlers");
                        } else {

                            loop_1_0_tAFOX_1 = loop_1_tAFOX_1
                                    .addElement("movements_anthropology:locationHandlers");
                        }

                        loop_1_0_tAFOX_1.setName("movements_anthropology:locationHandlers");
                        org.dom4j.Element loop_1_0_0_tAFOX_1 = null;

                        loop_1_0_0_tAFOX_1 = loop_1_0_tAFOX_1.addElement("locationHandler");
                        if (valueMap_tAFOX_1.get("loc_handler") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_1_0_0_tAFOX_1,
                                    valueMap_tAFOX_1.get("loc_handler"));
                        }
                        org.dom4j.Element loop_1_1_tAFOX_1 = null;
                        if (loop_1_tAFOX_1.getNamespaceForPrefix("movements_anthropology") == null) {
                            loop_1_1_tAFOX_1 = loop_1_tAFOX_1.addElement("computedSummary");
                        } else {

                            loop_1_1_tAFOX_1 = loop_1_tAFOX_1
                                    .addElement("movements_anthropology:computedSummary");
                        }
                        if (valueMap_tAFOX_1.get("computedSummary") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_1_1_tAFOX_1,
                                    valueMap_tAFOX_1.get("computedSummary"));
                        }

                        loop_1_1_tAFOX_1.setName("movements_anthropology:computedSummary");
                        org.dom4j.Element loop_2_tAFOX_1 = null;

                        loop_2_tAFOX_1 = loop_tAFOX_1.addElement("schema0");

                        loop_2_tAFOX_1.addNamespace("collectionspace_core", TalendString
                                .replaceSpecialCharForXML("http://collectionspace.org/collectionspace_core/"));

                        loop_2_tAFOX_1.addAttribute("name", "collectionspace_core");
                        org.dom4j.Element loop_2_0_tAFOX_1 = null;

                        loop_2_0_tAFOX_1 = loop_2_tAFOX_1.addElement("uri");
                        if (valueMap_tAFOX_1.get("move_uri") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_2_0_tAFOX_1, valueMap_tAFOX_1.get("move_uri"));
                        }
                        org.dom4j.Element loop_2_1_tAFOX_1 = null;

                        loop_2_1_tAFOX_1 = loop_2_tAFOX_1.addElement("refName");
                        if (valueMap_tAFOX_1.get("move_refname") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_2_1_tAFOX_1, valueMap_tAFOX_1.get("move_refname"));
                        }

                        tos_count_tAdvancedFileOutputXML_1++;

                        /**
                         * [tAdvancedFileOutputXML_1 main ] stop
                         */

                    } // End of branch "out_moveXML"

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

                        /**
                         * [tFileOutputDelimited_1 main ] start
                         */

                        currentComponent = "tFileOutputDelimited_1";

                        StringBuilder sb_tFileOutputDelimited_1 = new StringBuilder();

                        if (moveCSID.moveCSID != null) {

                            sb_tFileOutputDelimited_1.append(

                                    moveCSID.moveCSID

                            );

                        }

                        sb_tFileOutputDelimited_1.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_1);

                        nb_line_tFileOutputDelimited_1++;
                        resourceMap.put("nb_line_tFileOutputDelimited_1", nb_line_tFileOutputDelimited_1);

                        outtFileOutputDelimited_1.write(sb_tFileOutputDelimited_1.toString());

                        tos_count_tFileOutputDelimited_1++;

                        /**
                         * [tFileOutputDelimited_1 main ] stop
                         */

                    } // End of branch "moveCSID"

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

                        /**
                         * [tFileOutputDelimited_5 main ] start
                         */

                        currentComponent = "tFileOutputDelimited_5";

                        StringBuilder sb_tFileOutputDelimited_5 = new StringBuilder();

                        if (ID.Item_Num != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.Item_Num

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.moveID != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.moveID

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.null_loc != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.null_loc

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.null_handler != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.null_handler

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.null_obj != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.null_obj

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.locations_refname != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.locations_refname

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.loc_handler_refname != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.loc_handler_refname

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.capture_datetime != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.capture_datetime

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.moveCSID != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.moveCSID

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.move2obj_CSID != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.move2obj_CSID

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.obj2move_CSID != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.obj2move_CSID

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.move_uri != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.move_uri

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.move_refname != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.move_refname

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.obj_uri != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.obj_uri

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.obj_refname != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.obj_refname

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_5);

                        nb_line_tFileOutputDelimited_5++;
                        resourceMap.put("nb_line_tFileOutputDelimited_5", nb_line_tFileOutputDelimited_5);

                        outtFileOutputDelimited_5.write(sb_tFileOutputDelimited_5.toString());

                        tos_count_tFileOutputDelimited_5++;

                        /**
                         * [tFileOutputDelimited_5 main ] stop
                         */

                    } // End of branch "ID"

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

                        /**
                         * [tFileOutputDelimited_4 main ] start
                         */

                        currentComponent = "tFileOutputDelimited_4";

                        StringBuilder sb_tFileOutputDelimited_4 = new StringBuilder();

                        if (unmatch_loc.Item_Num != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.Item_Num

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.moveID != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.moveID

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        sb_tFileOutputDelimited_4.append(

                                unmatch_loc.reject_loc

                        );

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.reject_handler != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.reject_handler

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.reject_obj != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.reject_obj

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.Location != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.Location

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.locations_refname != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.locations_refname

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.loc_handler != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.loc_handler

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.loc_handler_refname != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.loc_handler_refname

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.Capture_timestamp != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.Capture_timestamp

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_4);

                        nb_line_tFileOutputDelimited_4++;
                        resourceMap.put("nb_line_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) {

                        /**
                         * [tAdvancedFileOutputXML_2 main ] start
                         */

                        currentComponent = "tAdvancedFileOutputXML_2";

                        nb_line_tAFOX_2++;
                        valueMap_tAFOX_2.clear();
                        valueMap_tAFOX_2.put("objectNum",
                                (move2obj_XML.objectNum != null ? move2obj_XML.objectNum.toString() : null));
                        valueMap_tAFOX_2.put("obj_CSID",
                                (move2obj_XML.obj_CSID != null ? move2obj_XML.obj_CSID.toString() : null));
                        valueMap_tAFOX_2.put("objectDocType",
                                (move2obj_XML.objectDocType != null ? move2obj_XML.objectDocType.toString()
                                        : null));
                        valueMap_tAFOX_2.put("moveID",
                                (move2obj_XML.moveID != null ? move2obj_XML.moveID.toString() : null));
                        valueMap_tAFOX_2.put("move_CSID",
                                (move2obj_XML.move_CSID != null ? move2obj_XML.move_CSID.toString() : null));
                        valueMap_tAFOX_2.put("move_URI",
                                (move2obj_XML.move_URI != null ? move2obj_XML.move_URI.toString() : null));
                        valueMap_tAFOX_2.put("subjectDocType",
                                (move2obj_XML.subjectDocType != null ? move2obj_XML.subjectDocType.toString()
                                        : null));
                        valueMap_tAFOX_2.put("loc_refName",
                                (move2obj_XML.loc_refName != null ? move2obj_XML.loc_refName.toString()
                                        : null));
                        valueMap_tAFOX_2.put("move_timestamp",
                                (move2obj_XML.move_timestamp != null ? move2obj_XML.move_timestamp.toString()
                                        : null));
                        valueMap_tAFOX_2.put("move2obj_CSID", (move2obj_XML.move2obj_CSID.toString()));
                        valueMap_tAFOX_2.put("move_refname", (move2obj_XML.move_refname.toString()));
                        valueMap_tAFOX_2.put("obj_uri", (move2obj_XML.obj_uri.toString()));
                        valueMap_tAFOX_2.put("obj_refname", (move2obj_XML.obj_refname.toString()));
                        valueMap_tAFOX_2.put("rel_m2o_uri", (move2obj_XML.rel_m2o_uri.toString()));
                        valueMap_tAFOX_2.put("rel_m2o_refname", (move2obj_XML.rel_m2o_refname.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 = null;

                            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 = null;

                        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 = null;

                        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 = null;
                        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 = null;
                        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 = null;
                        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 = null;
                        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 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_4_tAFOX_2 = loop_0_tAFOX_2.addElement("predicateDisplayName");
                        } else {

                            loop_0_4_tAFOX_2 = loop_0_tAFOX_2
                                    .addElement("relations_common:predicateDisplayName");
                        }

                        loop_0_4_tAFOX_2.setName("relations_common:predicateDisplayName");
                        org.dom4j.Element loop_0_5_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_5_tAFOX_2 = loop_0_tAFOX_2.addElement("predicate");
                        } else {

                            loop_0_5_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:predicate");
                        }

                        loop_0_5_tAFOX_2.setName("relations_common:predicate");
                        org.dom4j.Element loop_0_6_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("objectCsid");
                        } else {

                            loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectCsid");
                        }
                        if (valueMap_tAFOX_2.get("obj_CSID") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_6_tAFOX_2, valueMap_tAFOX_2.get("obj_CSID"));
                        }

                        loop_0_6_tAFOX_2.setName("relations_common:objectCsid");
                        org.dom4j.Element loop_0_7_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_7_tAFOX_2 = loop_0_tAFOX_2.addElement("objectUri");
                        } else {

                            loop_0_7_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectUri");
                        }
                        if (valueMap_tAFOX_2.get("obj_uri") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_7_tAFOX_2, valueMap_tAFOX_2.get("obj_uri"));
                        }

                        loop_0_7_tAFOX_2.setName("relations_common:objectUri");
                        org.dom4j.Element loop_0_8_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_8_tAFOX_2 = loop_0_tAFOX_2.addElement("objectRefName");
                        } else {

                            loop_0_8_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectRefName");
                        }
                        if (valueMap_tAFOX_2.get("obj_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_8_tAFOX_2, valueMap_tAFOX_2.get("obj_refname"));
                        }

                        loop_0_8_tAFOX_2.setName("relations_common:objectRefName");
                        org.dom4j.Element loop_0_9_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_9_tAFOX_2 = loop_0_tAFOX_2.addElement("subjectRefName");
                        } else {

                            loop_0_9_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:subjectRefName");
                        }
                        if (valueMap_tAFOX_2.get("move_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_9_tAFOX_2, valueMap_tAFOX_2.get("move_refname"));
                        }

                        loop_0_9_tAFOX_2.setName("relations_common:subjectRefName");
                        org.dom4j.Element loop_0_10_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_10_tAFOX_2 = loop_0_tAFOX_2.addElement("objectDocumentType");
                        } else {

                            loop_0_10_tAFOX_2 = loop_0_tAFOX_2
                                    .addElement("relations_common:objectDocumentType");
                        }
                        if (valueMap_tAFOX_2.get("objectDocType") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_10_tAFOX_2,
                                    valueMap_tAFOX_2.get("objectDocType"));
                        }

                        loop_0_10_tAFOX_2.setName("relations_common:objectDocumentType");
                        org.dom4j.Element loop_1_tAFOX_2 = null;

                        loop_1_tAFOX_2 = loop_tAFOX_2.addElement("schema0");

                        loop_1_tAFOX_2.addNamespace("collectionspace_core", TalendString
                                .replaceSpecialCharForXML("http://collectionspace.org/collectionspace_core/"));

                        loop_1_tAFOX_2.addAttribute("name", "collectionspace_core");
                        org.dom4j.Element loop_1_0_tAFOX_2 = null;

                        loop_1_0_tAFOX_2 = loop_1_tAFOX_2.addElement("uri");
                        if (valueMap_tAFOX_2.get("rel_m2o_uri") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_1_0_tAFOX_2, valueMap_tAFOX_2.get("rel_m2o_uri"));
                        }
                        org.dom4j.Element loop_1_1_tAFOX_2 = null;

                        loop_1_1_tAFOX_2 = loop_1_tAFOX_2.addElement("refName");
                        if (valueMap_tAFOX_2.get("rel_m2o_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_1_1_tAFOX_2,
                                    valueMap_tAFOX_2.get("rel_m2o_refname"));
                        }

                        tos_count_tAdvancedFileOutputXML_2++;

                        /**
                         * [tAdvancedFileOutputXML_2 main ] stop
                         */

                    } // End of branch "move2obj_XML"

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

                        /**
                         * [tAdvancedFileOutputXML_3 main ] start
                         */

                        currentComponent = "tAdvancedFileOutputXML_3";

                        nb_line_tAFOX_3++;
                        valueMap_tAFOX_3.clear();
                        valueMap_tAFOX_3.put("objectNum",
                                (obj2move_XML.objectNum != null ? obj2move_XML.objectNum.toString() : null));
                        valueMap_tAFOX_3.put("obj_CSID",
                                (obj2move_XML.obj_CSID != null ? obj2move_XML.obj_CSID.toString() : null));
                        valueMap_tAFOX_3.put("subjectDoctype",
                                (obj2move_XML.subjectDoctype != null ? obj2move_XML.subjectDoctype.toString()
                                        : null));
                        valueMap_tAFOX_3.put("moveID",
                                (obj2move_XML.moveID != null ? obj2move_XML.moveID.toString() : null));
                        valueMap_tAFOX_3.put("move_CSID",
                                (obj2move_XML.move_CSID != null ? obj2move_XML.move_CSID.toString() : null));
                        valueMap_tAFOX_3.put("move_URI",
                                (obj2move_XML.move_URI != null ? obj2move_XML.move_URI.toString() : null));
                        valueMap_tAFOX_3.put("objectDoctype",
                                (obj2move_XML.objectDoctype != null ? obj2move_XML.objectDoctype.toString()
                                        : null));
                        valueMap_tAFOX_3.put("loc_refName",
                                (obj2move_XML.loc_refName != null ? obj2move_XML.loc_refName.toString()
                                        : null));
                        valueMap_tAFOX_3.put("move_timestamp",
                                (obj2move_XML.move_timestamp != null ? obj2move_XML.move_timestamp.toString()
                                        : null));
                        valueMap_tAFOX_3.put("obj2move_CSID", (obj2move_XML.obj2move_CSID.toString()));
                        valueMap_tAFOX_3.put("move_refname", (obj2move_XML.move_refname.toString()));
                        valueMap_tAFOX_3.put("obj_uri", (obj2move_XML.obj_uri.toString()));
                        valueMap_tAFOX_3.put("obj_refname", (obj2move_XML.obj_refname.toString()));
                        valueMap_tAFOX_3.put("rel_o2m_uri", (obj2move_XML.rel_o2m_uri.toString()));
                        valueMap_tAFOX_3.put("rel_o2m_refname", (obj2move_XML.rel_o2m_refname.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 = null;

                            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 = null;

                        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 = null;

                        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 = null;
                        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 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_1_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectCsid");
                        } else {

                            loop_0_1_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectCsid");
                        }
                        if (valueMap_tAFOX_3.get("obj_CSID") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_1_tAFOX_3, valueMap_tAFOX_3.get("obj_CSID"));
                        }

                        loop_0_1_tAFOX_3.setName("relations_common:subjectCsid");
                        org.dom4j.Element loop_0_2_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_2_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectDocumentType");
                        } else {

                            loop_0_2_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:subjectDocumentType");
                        }
                        if (valueMap_tAFOX_3.get("subjectDoctype") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_2_tAFOX_3,
                                    valueMap_tAFOX_3.get("subjectDoctype"));
                        }

                        loop_0_2_tAFOX_3.setName("relations_common:subjectDocumentType");
                        org.dom4j.Element loop_0_3_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_3_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectUri");
                        } else {

                            loop_0_3_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectUri");
                        }
                        if (valueMap_tAFOX_3.get("obj_uri") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_3_tAFOX_3, valueMap_tAFOX_3.get("obj_uri"));
                        }

                        loop_0_3_tAFOX_3.setName("relations_common:subjectUri");
                        org.dom4j.Element loop_0_4_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_4_tAFOX_3 = loop_0_tAFOX_3.addElement("predicateDisplayName");
                        } else {

                            loop_0_4_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:predicateDisplayName");
                        }

                        loop_0_4_tAFOX_3.setName("relations_common:predicateDisplayName");
                        org.dom4j.Element loop_0_5_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_5_tAFOX_3 = loop_0_tAFOX_3.addElement("predicate");
                        } else {

                            loop_0_5_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:predicate");
                        }

                        loop_0_5_tAFOX_3.setName("relations_common:predicate");
                        org.dom4j.Element loop_0_6_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_6_tAFOX_3 = loop_0_tAFOX_3.addElement("objectCsid");
                        } else {

                            loop_0_6_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectCsid");
                        }
                        if (valueMap_tAFOX_3.get("move_CSID") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_6_tAFOX_3, valueMap_tAFOX_3.get("move_CSID"));
                        }

                        loop_0_6_tAFOX_3.setName("relations_common:objectCsid");
                        org.dom4j.Element loop_0_7_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_7_tAFOX_3 = loop_0_tAFOX_3.addElement("objectUri");
                        } else {

                            loop_0_7_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectUri");
                        }
                        if (valueMap_tAFOX_3.get("move_URI") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_7_tAFOX_3, valueMap_tAFOX_3.get("move_URI"));
                        }

                        loop_0_7_tAFOX_3.setName("relations_common:objectUri");
                        org.dom4j.Element loop_0_8_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_8_tAFOX_3 = loop_0_tAFOX_3.addElement("objectRefName");
                        } else {

                            loop_0_8_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectRefName");
                        }
                        if (valueMap_tAFOX_3.get("move_refname") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_8_tAFOX_3, valueMap_tAFOX_3.get("move_refname"));
                        }

                        loop_0_8_tAFOX_3.setName("relations_common:objectRefName");
                        org.dom4j.Element loop_0_9_tAFOX_3 = null;
                        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 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_10_tAFOX_3 = loop_0_tAFOX_3.addElement("objectDocumentType");
                        } else {

                            loop_0_10_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:objectDocumentType");
                        }
                        if (valueMap_tAFOX_3.get("objectDoctype") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_10_tAFOX_3,
                                    valueMap_tAFOX_3.get("objectDoctype"));
                        }

                        loop_0_10_tAFOX_3.setName("relations_common:objectDocumentType");
                        org.dom4j.Element loop_1_tAFOX_3 = null;

                        loop_1_tAFOX_3 = loop_tAFOX_3.addElement("schema0");

                        loop_1_tAFOX_3.addNamespace("collectionspace_core", TalendString
                                .replaceSpecialCharForXML("http://collectionspace.org/collectionspace_core/"));

                        loop_1_tAFOX_3.addAttribute("name", "collectionspace_core");
                        org.dom4j.Element loop_1_0_tAFOX_3 = null;

                        loop_1_0_tAFOX_3 = loop_1_tAFOX_3.addElement("uri");
                        if (valueMap_tAFOX_3.get("rel_o2m_uri") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_1_0_tAFOX_3, valueMap_tAFOX_3.get("rel_o2m_uri"));
                        }
                        org.dom4j.Element loop_1_1_tAFOX_3 = null;

                        loop_1_1_tAFOX_3 = loop_1_tAFOX_3.addElement("refName");
                        if (valueMap_tAFOX_3.get("rel_o2m_refname") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_1_1_tAFOX_3,
                                    valueMap_tAFOX_3.get("rel_o2m_refname"));
                        }

                        tos_count_tAdvancedFileOutputXML_3++;

                        /**
                         * [tAdvancedFileOutputXML_3 main ] stop
                         */

                    } // End of branch "obj2move_XML"

                } // End of branch "obj_loc"

                /**
                 * [tSortRow_3_SortIn end ] start
                 */

                currentVirtualComponent = "tSortRow_3";

                currentComponent = "tSortRow_3_SortIn";

            }

            globalMap.put("tSortRow_3_SortIn_NB_LINE", nb_line_tSortRow_3_SortIn);

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

            /**
             * [tSortRow_3_SortIn end ] stop
             */

            /**
             * [tUniqRow_1 end ] start
             */

            currentComponent = "tUniqRow_1";

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

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

            /**
             * [tUniqRow_1 end ] stop
             */

            /**
             * [tMap_1 end ] start
             */

            currentComponent = "tMap_1";

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

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

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

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

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

            /**
             * [tMap_1 end ] stop
             */

            /**
             * [tAdvancedFileOutputXML_1 end ] start
             */

            currentComponent = "tAdvancedFileOutputXML_1";

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

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

            /**
             * [tAdvancedFileOutputXML_1 end ] stop
             */

            /**
             * [tFileOutputDelimited_1 end ] start
             */

            currentComponent = "tFileOutputDelimited_1";

            if (outtFileOutputDelimited_1 != null) {
                outtFileOutputDelimited_1.flush();
                outtFileOutputDelimited_1.close();
            }

            globalMap.put("tFileOutputDelimited_1_NB_LINE", nb_line_tFileOutputDelimited_1);
            globalMap.put("tFileOutputDelimited_1_FILE_NAME", fileName_tFileOutputDelimited_1);

            resourceMap.put("finish_tFileOutputDelimited_1", true);

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

            /**
             * [tFileOutputDelimited_1 end ] stop
             */

            /**
             * [tFileOutputDelimited_5 end ] start
             */

            currentComponent = "tFileOutputDelimited_5";

            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);

            resourceMap.put("finish_tFileOutputDelimited_5", true);

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

            /**
             * [tFileOutputDelimited_5 end ] stop
             */

            /**
             * [tFileOutputDelimited_4 end ] start
             */

            currentComponent = "tFileOutputDelimited_4";

            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);

            resourceMap.put("finish_tFileOutputDelimited_4", true);

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

            /**
             * [tFileOutputDelimited_4 end ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 end ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            nameToElement_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);
            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
             */

            /**
             * [tAdvancedFileOutputXML_3 end ] start
             */

            currentComponent = "tAdvancedFileOutputXML_3";

            nameToElement_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);
            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
             */

        } // 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 {

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_person_ID_displayName");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_locinfo");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_obj_IDs");

        // free memory for "tSortRow_3_SortIn"
        globalMap.remove("tSortRow_3");

        // free memory for "tMap_6"
        globalMap.remove("tHash_Lookup_handler_list");

        try {

            /**
             * [tFileInputDelimited_1 finally ] start
             */

            currentComponent = "tFileInputDelimited_1";

            /**
             * [tFileInputDelimited_1 finally ] stop
             */

            /**
             * [tMap_6 finally ] start
             */

            currentComponent = "tMap_6";

            /**
             * [tMap_6 finally ] stop
             */

            /**
             * [tSortRow_3_SortOut finally ] start
             */

            currentVirtualComponent = "tSortRow_3";

            currentComponent = "tSortRow_3_SortOut";

            /**
             * [tSortRow_3_SortOut finally ] stop
             */

            /**
             * [tSortRow_3_SortIn finally ] start
             */

            currentVirtualComponent = "tSortRow_3";

            currentComponent = "tSortRow_3_SortIn";

            /**
             * [tSortRow_3_SortIn finally ] stop
             */

            /**
             * [tUniqRow_1 finally ] start
             */

            currentComponent = "tUniqRow_1";

            /**
             * [tUniqRow_1 finally ] stop
             */

            /**
             * [tMap_1 finally ] start
             */

            currentComponent = "tMap_1";

            /**
             * [tMap_1 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_1 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_1";

            /**
             * [tAdvancedFileOutputXML_1 finally ] stop
             */

            /**
             * [tFileOutputDelimited_1 finally ] start
             */

            currentComponent = "tFileOutputDelimited_1";

            if (resourceMap.get("finish_tFileOutputDelimited_1") == null) {

                java.io.Writer outtFileOutputDelimited_1 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_1");
                if (outtFileOutputDelimited_1 != null) {
                    outtFileOutputDelimited_1.flush();
                    outtFileOutputDelimited_1.close();
                }

            }

            /**
             * [tFileOutputDelimited_1 finally ] stop
             */

            /**
             * [tFileOutputDelimited_5 finally ] start
             */

            currentComponent = "tFileOutputDelimited_5";

            if (resourceMap.get("finish_tFileOutputDelimited_5") == null) {

                java.io.Writer outtFileOutputDelimited_5 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_5");
                if (outtFileOutputDelimited_5 != null) {
                    outtFileOutputDelimited_5.flush();
                    outtFileOutputDelimited_5.close();
                }

            }

            /**
             * [tFileOutputDelimited_5 finally ] stop
             */

            /**
             * [tFileOutputDelimited_4 finally ] start
             */

            currentComponent = "tFileOutputDelimited_4";

            if (resourceMap.get("finish_tFileOutputDelimited_4") == null) {

                java.io.Writer outtFileOutputDelimited_4 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_4");
                if (outtFileOutputDelimited_4 != null) {
                    outtFileOutputDelimited_4.flush();
                    outtFileOutputDelimited_4.close();
                }

            }

            /**
             * [tFileOutputDelimited_4 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            /**
             * [tAdvancedFileOutputXML_2 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_3 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_3";

            /**
             * [tAdvancedFileOutputXML_3 finally ] stop
             */

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

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

From source file:pahma.tmslocation_barcode_6fld_1_2.TMSlocation_barcode_6fld.java

License:Apache License

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 currentVirtualComponent = null;

    String iterateId = "";

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

    try {/*from  w  ww.j a  v  a  2s  . com*/

        String currentMethodName = new java.lang.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_5Process(globalMap);
            tFileInputDelimited_6Process(globalMap);
            tFileInputDelimited_7Process(globalMap);

            batcode_fileStruct batcode_file = new batcode_fileStruct();
            barcode_wNameStruct barcode_wName = new barcode_wNameStruct();
            row2Struct row2 = new row2Struct();
            obj_locStruct obj_loc = new obj_locStruct();
            out_moveXMLStruct out_moveXML = new out_moveXMLStruct();
            moveCSIDStruct moveCSID = new moveCSIDStruct();
            IDStruct ID = new IDStruct();
            unmatch_locStruct unmatch_loc = new unmatch_locStruct();
            move2obj_XMLStruct move2obj_XML = new move2obj_XMLStruct();
            obj2move_XMLStruct obj2move_XML = new obj2move_XMLStruct();

            /**
             * [tSortRow_3_SortOut begin ] start
             */

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

            currentVirtualComponent = "tSortRow_3";

            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.objectNumber == null && other.objectNumber != null) {
                        return -1;

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

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

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

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

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

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

            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/Process6_" + 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 java.lang.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 (java.lang.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 {

                        char fieldSeparator_tFileInputDelimited_1_ListType[] = null;
                        // support passing value (property: Field Separator)
                        // by 'context.fs' or 'globalMap.get("fs")'.
                        if (((String) ",").length() > 0) {
                            fieldSeparator_tFileInputDelimited_1_ListType = ((String) ",").toCharArray();
                        } else {
                            throw new IllegalArgumentException("Field Separator must be assigned a char.");
                        }
                        if (rowtFileInputDelimited_1.length == 1
                                && ("\015").equals(rowtFileInputDelimited_1[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.objectNumber = null;

                            batcode_file.crate = null;

                            batcode_file.location = null;

                        } else {

                            int columnIndexWithD_tFileInputDelimited_1 = 0; // Column
                            // Index

                            columnIndexWithD_tFileInputDelimited_1 = 0;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                batcode_file.reason_for_move = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                batcode_file.reason_for_move = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 1;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                batcode_file.person_scanning = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                batcode_file.person_scanning = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 2;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                batcode_file.date_time = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                batcode_file.date_time = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 3;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                batcode_file.objectNumber = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                batcode_file.objectNumber = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 4;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                batcode_file.crate = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                batcode_file.crate = null;
                            }

                            columnIndexWithD_tFileInputDelimited_1 = 5;

                            if (columnIndexWithD_tFileInputDelimited_1 < rowtFileInputDelimited_1.length) {

                                batcode_file.location = rowtFileInputDelimited_1[columnIndexWithD_tFileInputDelimited_1];

                            } else {
                                batcode_file.location = null;
                            }

                        }

                    } catch (java.lang.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.objectNumber = batcode_file.objectNumber;
                            barcode_wName_tmp.crate = batcode_file.crate;
                            barcode_wName_tmp.location = batcode_file.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
                             */

                            currentVirtualComponent = "tSortRow_3";

                            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.objectNumber = barcode_wName.objectNumber;
                            arrayRowtSortRow_3_SortOut.crate = barcode_wName.crate;
                            arrayRowtSortRow_3_SortOut.location = barcode_wName.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
             */

            currentVirtualComponent = "tSortRow_3";

            currentComponent = "tSortRow_3_SortOut";

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

            java.util.Arrays.sort(array_tSortRow_3_SortOut);

            globalMap.put("tSortRow_3", array_tSortRow_3_SortOut);

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

            /**
             * [tSortRow_3_SortOut end ] stop
             */

            /**
             * [tAdvancedFileOutputXML_1 begin ] start
             */

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

            currentComponent = "tAdvancedFileOutputXML_1";

            int tos_count_tAdvancedFileOutputXML_1 = 0;

            int nb_line_tAFOX_1 = 0;

            boolean needRoot_tAFOX_1 = true;

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

            String fileNameWithoutSuffix_tAFOX_1 = "";

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

            final String file_tAFOX_1 = fileNameWithoutSuffix_tAFOX_1;

            java.io.File createFiletAFOX_1 = new java.io.File(fileName_tAFOX_1);

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

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

            class NestXMLTool_tAFOX_1 {
                public void parseAndAdd(org.dom4j.Element nestRoot, String value) {
                    try {
                        org.dom4j.Document doc4Str = org.dom4j.DocumentHelper
                                .parseText("<root>" + value + "</root>");
                        nestRoot.setContent(doc4Str.getRootElement().content());
                    } catch (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

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

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_1 = new java.util.HashMap<String, org.dom4j.Branch>();

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

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

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

            final int[] orders_tAFOX_1 = new int[1];

            /**
             * [tAdvancedFileOutputXML_1 begin ] stop
             */

            /**
             * [tFileOutputDelimited_1 begin ] start
             */

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

            currentComponent = "tFileOutputDelimited_1";

            int tos_count_tFileOutputDelimited_1 = 0;

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

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

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

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

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

                    dir_tFileOutputDelimited_1.mkdirs();

                }
            }

            // routines.system.Row
            java.io.Writer outtFileOutputDelimited_1 = null;

            java.io.File fileToDelete_tFileOutputDelimited_1 = new java.io.File(
                    fileName_tFileOutputDelimited_1);
            if (fileToDelete_tFileOutputDelimited_1.exists()) {
                fileToDelete_tFileOutputDelimited_1.delete();
            }

            outtFileOutputDelimited_1 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                    new java.io.FileOutputStream(fileName_tFileOutputDelimited_1, false), "UTF-8"));

            resourceMap.put("out_tFileOutputDelimited_1", outtFileOutputDelimited_1);

            resourceMap.put("nb_line_tFileOutputDelimited_1", nb_line_tFileOutputDelimited_1);

            /**
             * [tFileOutputDelimited_1 begin ] stop
             */

            /**
             * [tFileOutputDelimited_5 begin ] start
             */

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

            currentComponent = "tFileOutputDelimited_5";

            int tos_count_tFileOutputDelimited_5 = 0;

            String fileName_tFileOutputDelimited_5 = "";
            fileName_tFileOutputDelimited_5 = (new java.io.File("../temp/location/barcode6_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;

            java.io.File fileToDelete_tFileOutputDelimited_5 = new java.io.File(
                    fileName_tFileOutputDelimited_5);
            if (fileToDelete_tFileOutputDelimited_5.exists()) {
                fileToDelete_tFileOutputDelimited_5.delete();
            }

            outtFileOutputDelimited_5 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                    new java.io.FileOutputStream(fileName_tFileOutputDelimited_5, false), "UTF-8"));

            resourceMap.put("out_tFileOutputDelimited_5", outtFileOutputDelimited_5);

            resourceMap.put("nb_line_tFileOutputDelimited_5", nb_line_tFileOutputDelimited_5);

            /**
             * [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/barcode6_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;

            java.io.File fileToDelete_tFileOutputDelimited_4 = new java.io.File(
                    fileName_tFileOutputDelimited_4);
            if (fileToDelete_tFileOutputDelimited_4.exists()) {
                fileToDelete_tFileOutputDelimited_4.delete();
            }

            outtFileOutputDelimited_4 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
                    new java.io.FileOutputStream(fileName_tFileOutputDelimited_4, false), "UTF-8"));

            resourceMap.put("out_tFileOutputDelimited_4", outtFileOutputDelimited_4);

            resourceMap.put("nb_line_tFileOutputDelimited_4", nb_line_tFileOutputDelimited_4);

            /**
             * [tFileOutputDelimited_4 begin ] 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/barcode6_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 fileNameWithoutSuffix_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("/"));
                fileNameWithoutSuffix_tAFOX_2 = tail_tAFOX_2.lastIndexOf(".") > 0
                        ? fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("."))
                        : fileName_tAFOX_2;
            }

            final String file_tAFOX_2 = fileNameWithoutSuffix_tAFOX_2;

            java.io.File createFiletAFOX_2 = new java.io.File(fileName_tAFOX_2);

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

            java.util.List<java.util.List<String>> groupbyList_tAFOX_2 = new java.util.ArrayList<java.util.List<String>>();
            final 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 (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

            final 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;

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_2 = new java.util.HashMap<String, org.dom4j.Branch>();

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

            final int[] orders_tAFOX_2 = new int[1];

            /**
             * [tAdvancedFileOutputXML_2 begin ] 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/barcode6_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 fileNameWithoutSuffix_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("/"));
                fileNameWithoutSuffix_tAFOX_3 = tail_tAFOX_3.lastIndexOf(".") > 0
                        ? fileName_tAFOX_3.substring(0, fileName_tAFOX_3.lastIndexOf("."))
                        : fileName_tAFOX_3;
            }

            final String file_tAFOX_3 = fileNameWithoutSuffix_tAFOX_3;

            java.io.File createFiletAFOX_3 = new java.io.File(fileName_tAFOX_3);

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

            java.util.List<java.util.List<String>> groupbyList_tAFOX_3 = new java.util.ArrayList<java.util.List<String>>();
            final 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 (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

            final 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;

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_3 = new java.util.HashMap<String, org.dom4j.Branch>();

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

            final int[] orders_tAFOX_3 = new int[1];

            /**
             * [tAdvancedFileOutputXML_3 begin ] stop
             */

            /**
             * [tMap_1 begin ] start
             */

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

            currentComponent = "tMap_1";

            int tos_count_tMap_1 = 0;

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

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

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

            org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<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<person_ID_displayNameStruct> tHash_Lookup_person_ID_displayName = (org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<person_ID_displayNameStruct>) ((org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<person_ID_displayNameStruct>) globalMap
                    .get("tHash_Lookup_person_ID_displayName"));

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

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

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

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

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

            /**
             * [tMap_1 begin ] stop
             */

            /**
             * [tUniqRow_1 begin ] start
             */

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

            currentComponent = "tUniqRow_1";

            int tos_count_tUniqRow_1 = 0;

            class KeyStruct_tUniqRow_1 {

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

                String reason_for_move;
                String date_time;
                String objectNumber;
                String 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.date_time == null) ? 0 : this.date_time.hashCode());

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

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

                    } else if (!this.date_time.equals(other.date_time))

                        return false;

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

                    } else if (!this.objectNumber.equals(other.objectNumber))

                        return false;

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

                    } else if (!this.location.equals(other.location))

                        return false;

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

            currentVirtualComponent = "tSortRow_3";

            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.objectNumber = current_tSortRow_3_SortIn.objectNumber;
                row2.crate = current_tSortRow_3_SortIn.crate;
                row2.location = current_tSortRow_3_SortIn.location;
                // increase number of line sorted
                nb_line_tSortRow_3_SortIn++;

                /**
                 * [tSortRow_3_SortIn begin ] stop
                 */

                /**
                 * [tSortRow_3_SortIn main ] start
                 */

                currentVirtualComponent = "tSortRow_3";

                currentComponent = "tSortRow_3_SortIn";

                tos_count_tSortRow_3_SortIn++;

                /**
                 * [tSortRow_3_SortIn main ] stop
                 */

                /**
                 * [tUniqRow_1 main ] start
                 */

                currentComponent = "tUniqRow_1";

                obj_loc = null;
                if (row2.reason_for_move == null) {
                    finder_tUniqRow_1.reason_for_move = null;
                } else {
                    finder_tUniqRow_1.reason_for_move = row2.reason_for_move.toLowerCase();
                }
                if (row2.date_time == null) {
                    finder_tUniqRow_1.date_time = null;
                } else {
                    finder_tUniqRow_1.date_time = row2.date_time.toLowerCase();
                }
                if (row2.objectNumber == null) {
                    finder_tUniqRow_1.objectNumber = null;
                } else {
                    finder_tUniqRow_1.objectNumber = row2.objectNumber.toLowerCase();
                }
                if (row2.location == null) {
                    finder_tUniqRow_1.location = null;
                } else {
                    finder_tUniqRow_1.location = row2.location.toLowerCase();
                }
                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.date_time == null) {
                        new_tUniqRow_1.date_time = null;
                    } else {
                        new_tUniqRow_1.date_time = row2.date_time.toLowerCase();
                    }
                    if (row2.objectNumber == null) {
                        new_tUniqRow_1.objectNumber = null;
                    } else {
                        new_tUniqRow_1.objectNumber = row2.objectNumber.toLowerCase();
                    }
                    if (row2.location == null) {
                        new_tUniqRow_1.location = null;
                    } else {
                        new_tUniqRow_1.location = row2.location.toLowerCase();
                    }

                    keystUniqRow_1.add(new_tUniqRow_1);
                    if (obj_loc == null) {

                        obj_loc = new obj_locStruct();
                    }
                    obj_loc.reason_for_move = row2.reason_for_move;
                    obj_loc.person_scanning = row2.person_scanning;
                    obj_loc.date_time = row2.date_time;
                    obj_loc.objectNumber = row2.objectNumber;
                    obj_loc.crate = row2.crate;
                    obj_loc.location = row2.location;
                    nb_uniques_tUniqRow_1++;
                } else {
                    nb_duplicates_tUniqRow_1++;
                }

                tos_count_tUniqRow_1++;

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

                    /**
                     * [tMap_1 main ] start
                     */

                    currentComponent = "tMap_1";

                    boolean hasCasePrimitiveKeyWithNull_tMap_1 = false;

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

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

                    boolean forceLooplocinfo = false;

                    locinfoStruct locinfoObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

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

                        locinfoHashKey.hashCodeDirty = true;

                        tHash_Lookup_locinfo.lookup(locinfoHashKey);

                    } // G_TM_M_020

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

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

                    locinfoStruct locinfo = null;

                    locinfoStruct fromLookup_locinfo = null;
                    locinfo = locinfoDefault;

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

                        fromLookup_locinfo = tHash_Lookup_locinfo.next();

                    } // G 099

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

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

                    boolean forceLoopcrateinfo = false;

                    crateinfoStruct crateinfoObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

                        crateinfoHashKey.crate_displayname = StringHandling.TRIM(obj_loc.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 "person_ID_displayName"
                    // /////////////////////////////////////////////

                    boolean forceLoopperson_ID_displayName = false;

                    person_ID_displayNameStruct person_ID_displayNameObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

                        person_ID_displayNameHashKey.displayName = obj_loc.person_scanning;

                        person_ID_displayNameHashKey.hashCodeDirty = true;

                        tHash_Lookup_person_ID_displayName.lookup(person_ID_displayNameHashKey);

                    } // G_TM_M_020

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

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

                    person_ID_displayNameStruct person_ID_displayName = null;

                    person_ID_displayNameStruct fromLookup_person_ID_displayName = null;
                    person_ID_displayName = person_ID_displayNameDefault;

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

                        fromLookup_person_ID_displayName = tHash_Lookup_person_ID_displayName.next();

                    } // G 099

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

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

                    boolean forceLoopobj_IDs = false;

                    obj_IDsStruct obj_IDsObjectFromLookup = null;

                    if (!rejectedInnerJoin_tMap_1) { // G_TM_M_020

                        hasCasePrimitiveKeyWithNull_tMap_1 = false;

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

                        obj_IDsHashKey.hashCodeDirty = true;

                        tHash_Lookup_obj_IDs.lookup(obj_IDsHashKey);

                    } // G_TM_M_020

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

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

                    obj_IDsStruct obj_IDs = null;

                    obj_IDsStruct fromLookup_obj_IDs = null;
                    obj_IDs = obj_IDsDefault;

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

                        fromLookup_obj_IDs = tHash_Lookup_obj_IDs.next();

                    } // G 099

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

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

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

                        Var__tMap_1__Struct Var = Var__tMap_1;
                        Var.moveID = "Barcode." + TalendDate.getDate("CCYYMMDD-hhmm") + "-"
                                + StringHandling.TRIM(obj_loc.reason_for_move) + "."
                                + Numeric.sequence("", 1, 1);
                        Var.move_CSID = Guid.getUUID();
                        Var.Talend_date = (obj_loc.date_time == null || obj_loc.date_time.equals("")) ? null
                                : (TalendDate.addDate(
                                        TalendDate.parseDate("MM/dd/yyyy HH:mm", obj_loc.date_time), 0, "HH"));
                        Var.date = Relational.ISNULL(Var.Talend_date) ? ""
                                : TalendDate.formatDate("yyyy-MM-dd", Var.Talend_date);
                        Var.datetime = Relational.ISNULL(Var.Talend_date) ? ""
                                : TalendDate.formatDate("yyyy-MM-dd HH:mm:ss", Var.Talend_date);
                        Var.datetimeTZ = Var.datetime.equals("") ? ""
                                : Var.datetime.substring(0, 10) + "T" + Var.datetime.substring(11) + "Z";
                        Var.trim_locrefname = StringHandling.TRIM(locinfo.loc_refname);
                        Var.item_locref = StringHandling.TRIM(obj_loc.objectNumber) + "->"
                                + StringHandling.TRIM(locinfo.loc_refname) + " : " + crateinfo.crate_refname;
                        Var.trim_craterefname = StringHandling.TRIM(crateinfo.crate_refname);
                        Var.loc_reject = Relational.ISNULL(locinfo.loc_refname)
                                || Relational.ISNULL(crateinfo.crate_refname);
                        Var.handler_reject = Relational.ISNULL(person_ID_displayName.displayName);
                        Var.obj_reject = Relational.ISNULL(obj_IDs.obj_CSID);
                        Var.move2obj_CSID = Guid.getUUID();
                        Var.obj2move_CSID = Guid.getUUID();
                        Var.reason4move = StringHandling.UPCASE(obj_loc.reason_for_move).equals("K")
                                ? "Inventory"
                                : (StringHandling.UPCASE(obj_loc.reason_for_move).equals("C")
                                        ? "Object relocation"
                                        : "");
                        Var.computedSummary = Relational.NOT(Relational.ISNULL(Var.reason4move))
                                ? (Var.reason4move == "(not entered)"
                                        || Var.reason4move.equals("(not entered)"))
                                                ? (Var.date + " " + Var.reason4move)
                                                : (Var.date + " (" + Var.reason4move + ")")
                                : null;
                        Var.reason4moverefname = "urn:cspace:pahma.cspace.berkeley.edu:vocabularies:name(reasonformove):item:name(movereason14)'Object relocation'";
                        Var.move_uri = "/movements/" + Var.move_CSID;
                        Var.move_refname = "urn:cspace:pahma.cspace.berkeley.edu:movements:id(" + Var.move_CSID
                                + ")";
                        Var.obj_uri = "/collectionobjects/" + obj_IDs.obj_CSID;
                        Var.obj_refname = "urn:cspace:pahma.cspace.berkeley.edu:collectionobjects:id("
                                + obj_IDs.obj_CSID + ")'" + obj_IDs.objectNumber + "'";
                        Var.rel_m2o_uri = "/relations/" + Var.move2obj_CSID;
                        Var.rel_m2o_refname = "urn:cspace:pahma.cspace.berkeley.edu:collectionobjects:id("
                                + Var.move2obj_CSID + ")";
                        Var.rel_o2m_uri = "/relations/" + Var.obj2move_CSID;
                        Var.rel_o2m_refname = "urn:cspace:pahma.cspace.berkeley.edu:collectionobjects:id("
                                + Var.obj2move_CSID + ")";// ###############################
                        // ###############################
                        // # Output tables

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

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

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

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

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

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

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

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

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

                    } // end of Var scope

                    rejectedInnerJoin_tMap_1 = false;

                    tos_count_tMap_1++;

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

                        /**
                         * [tAdvancedFileOutputXML_1 main ] start
                         */

                        currentComponent = "tAdvancedFileOutputXML_1";

                        nb_line_tAFOX_1++;
                        valueMap_tAFOX_1.clear();
                        valueMap_tAFOX_1.put("Item_Num", (out_moveXML.Item_Num.toString()));
                        valueMap_tAFOX_1.put("loc_refname",
                                (out_moveXML.loc_refname != null ? out_moveXML.loc_refname.toString() : null));
                        valueMap_tAFOX_1.put("loc_displayname", (out_moveXML.loc_displayname.toString()));
                        valueMap_tAFOX_1.put("crate_refname",
                                (out_moveXML.crate_refname != null ? out_moveXML.crate_refname.toString()
                                        : null));
                        valueMap_tAFOX_1.put("crate_displayname",
                                (out_moveXML.crate_displayname != null
                                        ? out_moveXML.crate_displayname.toString()
                                        : null));
                        valueMap_tAFOX_1.put("loc_handler",
                                (out_moveXML.loc_handler != null ? out_moveXML.loc_handler.toString() : null));
                        valueMap_tAFOX_1.put("Capture_timestamp",
                                (out_moveXML.Capture_timestamp != null
                                        ? out_moveXML.Capture_timestamp.toString()
                                        : null));
                        valueMap_tAFOX_1.put("reason4move",
                                (out_moveXML.reason4move != null ? out_moveXML.reason4move.toString() : null));
                        valueMap_tAFOX_1.put("computedSummary", (out_moveXML.computedSummary.toString()));
                        valueMap_tAFOX_1.put("moveID", (out_moveXML.moveID.toString()));
                        valueMap_tAFOX_1.put("moveCSID", (out_moveXML.moveCSID.toString()));
                        valueMap_tAFOX_1.put("move_uri", (out_moveXML.move_uri.toString()));
                        valueMap_tAFOX_1.put("move_refname", (out_moveXML.move_refname.toString()));

                        org.dom4j.Element subTreeRootParent_tAFOX_1 = null;

                        // build root xml tree
                        if (needRoot_tAFOX_1) {
                            needRoot_tAFOX_1 = false;
                            if (orders_tAFOX_1.length > 0) {
                                orders_tAFOX_1[0] = 0;
                            }
                            org.dom4j.Element root_tAFOX_1 = null;

                            root_tAFOX_1 = doc_tAFOX_1.addElement("imports");

                            subTreeRootParent_tAFOX_1 = root_tAFOX_1;
                            root4Group_tAFOX_1 = subTreeRootParent_tAFOX_1;
                        } else {

                            subTreeRootParent_tAFOX_1 = root4Group_tAFOX_1;
                        }
                        // build group xml tree
                        // build loop xml tree
                        org.dom4j.Element loop_tAFOX_1 = null;

                        loop_tAFOX_1 = org.dom4j.DocumentHelper.createElement("import");
                        if (orders_tAFOX_1[0] == 0) {
                            orders_tAFOX_1[0] = 0;
                        }
                        if (1 < orders_tAFOX_1.length) {
                            orders_tAFOX_1[1] = 0;
                        }
                        subTreeRootParent_tAFOX_1.elements().add(orders_tAFOX_1[0]++, loop_tAFOX_1);

                        loop_tAFOX_1.addAttribute("service", "Movements");

                        loop_tAFOX_1.addAttribute("type", "Movement");
                        if (valueMap_tAFOX_1.get("moveCSID") != null) {

                            loop_tAFOX_1.addAttribute("CSID", valueMap_tAFOX_1.get("moveCSID"));
                        }
                        org.dom4j.Element loop_0_tAFOX_1 = null;

                        loop_0_tAFOX_1 = loop_tAFOX_1.addElement("schema");

                        loop_0_tAFOX_1.addNamespace("movements_common",
                                TalendString.replaceSpecialCharForXML("http://collectionspace.org/movement/"));

                        loop_0_tAFOX_1.addAttribute("name", "movements_common");
                        org.dom4j.Element loop_0_0_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_0_tAFOX_1 = loop_0_tAFOX_1.addElement("movementNote");
                        } else {

                            loop_0_0_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:movementNote");
                        }

                        loop_0_0_tAFOX_1.setName("movements_common:movementNote");
                        org.dom4j.Element loop_0_1_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_1_tAFOX_1 = loop_0_tAFOX_1.addElement("removalDate");
                        } else {

                            loop_0_1_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:removalDate");
                        }

                        loop_0_1_tAFOX_1.setName("movements_common:removalDate");
                        org.dom4j.Element loop_0_2_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_2_tAFOX_1 = loop_0_tAFOX_1.addElement("reasonForMove");
                        } else {

                            loop_0_2_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:reasonForMove");
                        }
                        if (valueMap_tAFOX_1.get("reason4move") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_2_tAFOX_1, valueMap_tAFOX_1.get("reason4move"));
                        }

                        loop_0_2_tAFOX_1.setName("movements_common:reasonForMove");
                        org.dom4j.Element loop_0_3_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_3_tAFOX_1 = loop_0_tAFOX_1.addElement("movementMethods");
                        } else {

                            loop_0_3_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:movementMethods");
                        }

                        loop_0_3_tAFOX_1.setName("movements_common:movementMethods");
                        org.dom4j.Element loop_0_3_0_tAFOX_1 = null;

                        loop_0_3_0_tAFOX_1 = loop_0_3_tAFOX_1.addElement("movementMethod");
                        org.dom4j.Element loop_0_4_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_4_tAFOX_1 = loop_0_tAFOX_1.addElement("plannedRemovalDate");
                        } else {

                            loop_0_4_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:plannedRemovalDate");
                        }

                        loop_0_4_tAFOX_1.setName("movements_common:plannedRemovalDate");
                        org.dom4j.Element loop_0_5_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_5_tAFOX_1 = loop_0_tAFOX_1.addElement("movementContact");
                        } else {

                            loop_0_5_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:movementContact");
                        }

                        loop_0_5_tAFOX_1.setName("movements_common:movementContact");
                        org.dom4j.Element loop_0_6_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_6_tAFOX_1 = loop_0_tAFOX_1.addElement("normalLocation");
                        } else {

                            loop_0_6_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:normalLocation");
                        }

                        loop_0_6_tAFOX_1.setName("movements_common:normalLocation");
                        org.dom4j.Element loop_0_7_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_7_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocationFitness");
                        } else {

                            loop_0_7_tAFOX_1 = loop_0_tAFOX_1
                                    .addElement("movements_common:currentLocationFitness");
                        }

                        loop_0_7_tAFOX_1.setName("movements_common:currentLocationFitness");
                        org.dom4j.Element loop_0_8_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_8_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocation");
                        } else {

                            loop_0_8_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:currentLocation");
                        }
                        if (valueMap_tAFOX_1.get("loc_refname") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_8_tAFOX_1, valueMap_tAFOX_1.get("loc_refname"));
                        }

                        loop_0_8_tAFOX_1.setName("movements_common:currentLocation");
                        org.dom4j.Element loop_0_9_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_9_tAFOX_1 = loop_0_tAFOX_1.addElement("locationDate");
                        } else {

                            loop_0_9_tAFOX_1 = loop_0_tAFOX_1.addElement("movements_common:locationDate");
                        }
                        if (valueMap_tAFOX_1.get("Capture_timestamp") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_9_tAFOX_1,
                                    valueMap_tAFOX_1.get("Capture_timestamp"));
                        }

                        loop_0_9_tAFOX_1.setName("movements_common:locationDate");
                        org.dom4j.Element loop_0_10_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_10_tAFOX_1 = loop_0_tAFOX_1.addElement("currentLocationNote");
                        } else {

                            loop_0_10_tAFOX_1 = loop_0_tAFOX_1
                                    .addElement("movements_common:currentLocationNote");
                        }
                        if (valueMap_tAFOX_1.get("Item_Num") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_10_tAFOX_1, valueMap_tAFOX_1.get("Item_Num"));
                        }

                        loop_0_10_tAFOX_1.setName("movements_common:currentLocationNote");
                        org.dom4j.Element loop_0_11_tAFOX_1 = null;
                        if (loop_0_tAFOX_1.getNamespaceForPrefix("movements_common") == null) {
                            loop_0_11_tAFOX_1 = loop_0_tAFOX_1.addElement("movementReferenceNumber");
                        } else {

                            loop_0_11_tAFOX_1 = loop_0_tAFOX_1
                                    .addElement("movements_common:movementReferenceNumber");
                        }
                        if (valueMap_tAFOX_1.get("moveID") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_0_11_tAFOX_1, valueMap_tAFOX_1.get("moveID"));
                        }

                        loop_0_11_tAFOX_1.setName("movements_common:movementReferenceNumber");
                        org.dom4j.Element loop_1_tAFOX_1 = null;

                        loop_1_tAFOX_1 = loop_tAFOX_1.addElement("schema2");

                        loop_1_tAFOX_1.addNamespace("movements_anthropology",
                                TalendString.replaceSpecialCharForXML(
                                        "http://collectionspace.org/services/movement/domain/anthropology"));

                        loop_1_tAFOX_1.addAttribute("name", "movements_anthropology");
                        org.dom4j.Element loop_1_0_tAFOX_1 = null;
                        if (loop_1_tAFOX_1.getNamespaceForPrefix("movements_anthropology") == null) {
                            loop_1_0_tAFOX_1 = loop_1_tAFOX_1.addElement("locationHandlers");
                        } else {

                            loop_1_0_tAFOX_1 = loop_1_tAFOX_1
                                    .addElement("movements_anthropology:locationHandlers");
                        }

                        loop_1_0_tAFOX_1.setName("movements_anthropology:locationHandlers");
                        org.dom4j.Element loop_1_0_0_tAFOX_1 = null;

                        loop_1_0_0_tAFOX_1 = loop_1_0_tAFOX_1.addElement("locationHandler");
                        if (valueMap_tAFOX_1.get("loc_handler") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_1_0_0_tAFOX_1,
                                    valueMap_tAFOX_1.get("loc_handler"));
                        }
                        org.dom4j.Element loop_1_1_tAFOX_1 = null;
                        if (loop_1_tAFOX_1.getNamespaceForPrefix("movements_anthropology") == null) {
                            loop_1_1_tAFOX_1 = loop_1_tAFOX_1.addElement("crate");
                        } else {

                            loop_1_1_tAFOX_1 = loop_1_tAFOX_1.addElement("movements_anthropology:crate");
                        }
                        if (valueMap_tAFOX_1.get("crate_refname") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_1_1_tAFOX_1,
                                    valueMap_tAFOX_1.get("crate_refname"));
                        }

                        loop_1_1_tAFOX_1.setName("movements_anthropology:crate");
                        org.dom4j.Element loop_1_2_tAFOX_1 = null;
                        if (loop_1_tAFOX_1.getNamespaceForPrefix("movements_anthropology") == null) {
                            loop_1_2_tAFOX_1 = loop_1_tAFOX_1.addElement("computedSummary");
                        } else {

                            loop_1_2_tAFOX_1 = loop_1_tAFOX_1
                                    .addElement("movements_anthropology:computedSummary");
                        }
                        if (valueMap_tAFOX_1.get("computedSummary") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_1_2_tAFOX_1,
                                    valueMap_tAFOX_1.get("computedSummary"));
                        }

                        loop_1_2_tAFOX_1.setName("movements_anthropology:computedSummary");
                        org.dom4j.Element loop_2_tAFOX_1 = null;

                        loop_2_tAFOX_1 = loop_tAFOX_1.addElement("schema0");

                        loop_2_tAFOX_1.addNamespace("collectionspace_core", TalendString
                                .replaceSpecialCharForXML("http://collectionspace.org/collectionspace_core"));

                        loop_2_tAFOX_1.addAttribute("name", "collectionspace_core");
                        org.dom4j.Element loop_2_0_tAFOX_1 = null;

                        loop_2_0_tAFOX_1 = loop_2_tAFOX_1.addElement("uri");
                        if (valueMap_tAFOX_1.get("move_uri") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_2_0_tAFOX_1, valueMap_tAFOX_1.get("move_uri"));
                        }
                        org.dom4j.Element loop_2_1_tAFOX_1 = null;

                        loop_2_1_tAFOX_1 = loop_2_tAFOX_1.addElement("refName");
                        if (valueMap_tAFOX_1.get("move_refname") != null) {
                            nestXMLTool_tAFOX_1.setText(loop_2_1_tAFOX_1, valueMap_tAFOX_1.get("move_refname"));
                        }

                        tos_count_tAdvancedFileOutputXML_1++;

                        /**
                         * [tAdvancedFileOutputXML_1 main ] stop
                         */

                    } // End of branch "out_moveXML"

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

                        /**
                         * [tFileOutputDelimited_1 main ] start
                         */

                        currentComponent = "tFileOutputDelimited_1";

                        StringBuilder sb_tFileOutputDelimited_1 = new StringBuilder();

                        if (moveCSID.moveCSID != null) {

                            sb_tFileOutputDelimited_1.append(

                                    moveCSID.moveCSID

                            );

                        }

                        sb_tFileOutputDelimited_1.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_1);

                        nb_line_tFileOutputDelimited_1++;
                        resourceMap.put("nb_line_tFileOutputDelimited_1", nb_line_tFileOutputDelimited_1);

                        outtFileOutputDelimited_1.write(sb_tFileOutputDelimited_1.toString());

                        tos_count_tFileOutputDelimited_1++;

                        /**
                         * [tFileOutputDelimited_1 main ] stop
                         */

                    } // End of branch "moveCSID"

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

                        /**
                         * [tFileOutputDelimited_5 main ] start
                         */

                        currentComponent = "tFileOutputDelimited_5";

                        StringBuilder sb_tFileOutputDelimited_5 = new StringBuilder();

                        if (ID.Item_Num != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.Item_Num

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.moveID != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.moveID

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.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_tFileOutputDelimited_5);

                        if (ID.move_uri != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.move_uri

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.move_refname != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.move_refname

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.obj_uri != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.obj_uri

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_tFileOutputDelimited_5);

                        if (ID.obj_refname != null) {

                            sb_tFileOutputDelimited_5.append(

                                    ID.obj_refname

                            );

                        }

                        sb_tFileOutputDelimited_5.append(OUT_DELIM_ROWSEP_tFileOutputDelimited_5);

                        nb_line_tFileOutputDelimited_5++;
                        resourceMap.put("nb_line_tFileOutputDelimited_5", nb_line_tFileOutputDelimited_5);

                        outtFileOutputDelimited_5.write(sb_tFileOutputDelimited_5.toString());

                        tos_count_tFileOutputDelimited_5++;

                        /**
                         * [tFileOutputDelimited_5 main ] stop
                         */

                    } // End of branch "ID"

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

                        /**
                         * [tFileOutputDelimited_4 main ] start
                         */

                        currentComponent = "tFileOutputDelimited_4";

                        StringBuilder sb_tFileOutputDelimited_4 = new StringBuilder();

                        if (unmatch_loc.Item_Num != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.Item_Num

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.moveID != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.moveID

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        sb_tFileOutputDelimited_4.append(

                                unmatch_loc.reject_loc

                        );

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.reject_handler != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.reject_handler

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.reject_obj != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.reject_obj

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.Location != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.Location

                            );

                        }

                        sb_tFileOutputDelimited_4.append(OUT_DELIM_tFileOutputDelimited_4);

                        if (unmatch_loc.crate != null) {

                            sb_tFileOutputDelimited_4.append(

                                    unmatch_loc.crate

                            );

                        }

                        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++;
                        resourceMap.put("nb_line_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) {

                        /**
                         * [tAdvancedFileOutputXML_2 main ] start
                         */

                        currentComponent = "tAdvancedFileOutputXML_2";

                        nb_line_tAFOX_2++;
                        valueMap_tAFOX_2.clear();
                        valueMap_tAFOX_2.put("objectNum",
                                (move2obj_XML.objectNum != null ? move2obj_XML.objectNum.toString() : null));
                        valueMap_tAFOX_2.put("obj_CSID",
                                (move2obj_XML.obj_CSID != null ? move2obj_XML.obj_CSID.toString() : null));
                        valueMap_tAFOX_2.put("objectDocType",
                                (move2obj_XML.objectDocType != null ? move2obj_XML.objectDocType.toString()
                                        : null));
                        valueMap_tAFOX_2.put("moveID",
                                (move2obj_XML.moveID != null ? move2obj_XML.moveID.toString() : null));
                        valueMap_tAFOX_2.put("move_CSID",
                                (move2obj_XML.move_CSID != null ? move2obj_XML.move_CSID.toString() : null));
                        valueMap_tAFOX_2.put("move_URI",
                                (move2obj_XML.move_URI != null ? move2obj_XML.move_URI.toString() : null));
                        valueMap_tAFOX_2.put("subjectDocType",
                                (move2obj_XML.subjectDocType != null ? move2obj_XML.subjectDocType.toString()
                                        : null));
                        valueMap_tAFOX_2.put("loc_refName",
                                (move2obj_XML.loc_refName != null ? move2obj_XML.loc_refName.toString()
                                        : null));
                        valueMap_tAFOX_2.put("move_timestamp",
                                (move2obj_XML.move_timestamp != null ? move2obj_XML.move_timestamp.toString()
                                        : null));
                        valueMap_tAFOX_2.put("move2obj_CSID", (move2obj_XML.move2obj_CSID.toString()));
                        valueMap_tAFOX_2.put("move_refname", (move2obj_XML.move_refname.toString()));
                        valueMap_tAFOX_2.put("obj_uri", (move2obj_XML.obj_uri.toString()));
                        valueMap_tAFOX_2.put("obj_refname", (move2obj_XML.obj_refname.toString()));
                        valueMap_tAFOX_2.put("rel_m2o_uri", (move2obj_XML.rel_m2o_uri.toString()));
                        valueMap_tAFOX_2.put("rel_m2o_refname", (move2obj_XML.rel_m2o_refname.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 = null;

                            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 = null;

                        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 = null;

                        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 = null;
                        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 = null;
                        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 = null;
                        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 = null;
                        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 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_4_tAFOX_2 = loop_0_tAFOX_2.addElement("predicateDisplayName");
                        } else {

                            loop_0_4_tAFOX_2 = loop_0_tAFOX_2
                                    .addElement("relations_common:predicateDisplayName");
                        }

                        loop_0_4_tAFOX_2.setName("relations_common:predicateDisplayName");
                        org.dom4j.Element loop_0_5_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_5_tAFOX_2 = loop_0_tAFOX_2.addElement("predicate");
                        } else {

                            loop_0_5_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:predicate");
                        }

                        loop_0_5_tAFOX_2.setName("relations_common:predicate");
                        org.dom4j.Element loop_0_6_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("objectCsid");
                        } else {

                            loop_0_6_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectCsid");
                        }
                        if (valueMap_tAFOX_2.get("obj_CSID") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_6_tAFOX_2, valueMap_tAFOX_2.get("obj_CSID"));
                        }

                        loop_0_6_tAFOX_2.setName("relations_common:objectCsid");
                        org.dom4j.Element loop_0_7_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_7_tAFOX_2 = loop_0_tAFOX_2.addElement("objectUri");
                        } else {

                            loop_0_7_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectUri");
                        }
                        if (valueMap_tAFOX_2.get("obj_uri") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_7_tAFOX_2, valueMap_tAFOX_2.get("obj_uri"));
                        }

                        loop_0_7_tAFOX_2.setName("relations_common:objectUri");
                        org.dom4j.Element loop_0_8_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_8_tAFOX_2 = loop_0_tAFOX_2.addElement("objectRefName");
                        } else {

                            loop_0_8_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:objectRefName");
                        }
                        if (valueMap_tAFOX_2.get("obj_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_8_tAFOX_2, valueMap_tAFOX_2.get("obj_refname"));
                        }

                        loop_0_8_tAFOX_2.setName("relations_common:objectRefName");
                        org.dom4j.Element loop_0_9_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_9_tAFOX_2 = loop_0_tAFOX_2.addElement("subjectRefName");
                        } else {

                            loop_0_9_tAFOX_2 = loop_0_tAFOX_2.addElement("relations_common:subjectRefName");
                        }
                        if (valueMap_tAFOX_2.get("move_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_9_tAFOX_2, valueMap_tAFOX_2.get("move_refname"));
                        }

                        loop_0_9_tAFOX_2.setName("relations_common:subjectRefName");
                        org.dom4j.Element loop_0_10_tAFOX_2 = null;
                        if (loop_0_tAFOX_2.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_10_tAFOX_2 = loop_0_tAFOX_2.addElement("objectDocumentType");
                        } else {

                            loop_0_10_tAFOX_2 = loop_0_tAFOX_2
                                    .addElement("relations_common:objectDocumentType");
                        }
                        if (valueMap_tAFOX_2.get("objectDocType") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_0_10_tAFOX_2,
                                    valueMap_tAFOX_2.get("objectDocType"));
                        }

                        loop_0_10_tAFOX_2.setName("relations_common:objectDocumentType");
                        org.dom4j.Element loop_1_tAFOX_2 = null;

                        loop_1_tAFOX_2 = loop_tAFOX_2.addElement("schema0");

                        loop_1_tAFOX_2.addNamespace("collectionspace_core", TalendString
                                .replaceSpecialCharForXML("http://collectionspace.org/collectionspace_core/"));

                        loop_1_tAFOX_2.addAttribute("name", "collectionspace_core");
                        org.dom4j.Element loop_1_0_tAFOX_2 = null;

                        loop_1_0_tAFOX_2 = loop_1_tAFOX_2.addElement("uri");
                        if (valueMap_tAFOX_2.get("rel_m2o_uri") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_1_0_tAFOX_2, valueMap_tAFOX_2.get("rel_m2o_uri"));
                        }
                        org.dom4j.Element loop_1_1_tAFOX_2 = null;

                        loop_1_1_tAFOX_2 = loop_1_tAFOX_2.addElement("refName");
                        if (valueMap_tAFOX_2.get("rel_m2o_refname") != null) {
                            nestXMLTool_tAFOX_2.setText(loop_1_1_tAFOX_2,
                                    valueMap_tAFOX_2.get("rel_m2o_refname"));
                        }

                        tos_count_tAdvancedFileOutputXML_2++;

                        /**
                         * [tAdvancedFileOutputXML_2 main ] stop
                         */

                    } // End of branch "move2obj_XML"

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

                        /**
                         * [tAdvancedFileOutputXML_3 main ] start
                         */

                        currentComponent = "tAdvancedFileOutputXML_3";

                        nb_line_tAFOX_3++;
                        valueMap_tAFOX_3.clear();
                        valueMap_tAFOX_3.put("objectNum",
                                (obj2move_XML.objectNum != null ? obj2move_XML.objectNum.toString() : null));
                        valueMap_tAFOX_3.put("obj_CSID",
                                (obj2move_XML.obj_CSID != null ? obj2move_XML.obj_CSID.toString() : null));
                        valueMap_tAFOX_3.put("subjectDoctype",
                                (obj2move_XML.subjectDoctype != null ? obj2move_XML.subjectDoctype.toString()
                                        : null));
                        valueMap_tAFOX_3.put("moveID",
                                (obj2move_XML.moveID != null ? obj2move_XML.moveID.toString() : null));
                        valueMap_tAFOX_3.put("move_CSID",
                                (obj2move_XML.move_CSID != null ? obj2move_XML.move_CSID.toString() : null));
                        valueMap_tAFOX_3.put("move_URI",
                                (obj2move_XML.move_URI != null ? obj2move_XML.move_URI.toString() : null));
                        valueMap_tAFOX_3.put("objectDoctype",
                                (obj2move_XML.objectDoctype != null ? obj2move_XML.objectDoctype.toString()
                                        : null));
                        valueMap_tAFOX_3.put("loc_refName",
                                (obj2move_XML.loc_refName != null ? obj2move_XML.loc_refName.toString()
                                        : null));
                        valueMap_tAFOX_3.put("move_timestamp",
                                (obj2move_XML.move_timestamp != null ? obj2move_XML.move_timestamp.toString()
                                        : null));
                        valueMap_tAFOX_3.put("obj2move_CSID", (obj2move_XML.obj2move_CSID.toString()));
                        valueMap_tAFOX_3.put("move_refname", (obj2move_XML.move_refname.toString()));
                        valueMap_tAFOX_3.put("obj_uri", (obj2move_XML.obj_uri.toString()));
                        valueMap_tAFOX_3.put("obj_refname", (obj2move_XML.obj_refname.toString()));
                        valueMap_tAFOX_3.put("rel_o2m_uri", (obj2move_XML.rel_o2m_uri.toString()));
                        valueMap_tAFOX_3.put("rel_o2m_refname", (obj2move_XML.rel_o2m_refname.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 = null;

                            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 = null;

                        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 = null;

                        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 = null;
                        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 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_1_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectCsid");
                        } else {

                            loop_0_1_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectCsid");
                        }
                        if (valueMap_tAFOX_3.get("obj_CSID") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_1_tAFOX_3, valueMap_tAFOX_3.get("obj_CSID"));
                        }

                        loop_0_1_tAFOX_3.setName("relations_common:subjectCsid");
                        org.dom4j.Element loop_0_2_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_2_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectDocumentType");
                        } else {

                            loop_0_2_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:subjectDocumentType");
                        }
                        if (valueMap_tAFOX_3.get("subjectDoctype") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_2_tAFOX_3,
                                    valueMap_tAFOX_3.get("subjectDoctype"));
                        }

                        loop_0_2_tAFOX_3.setName("relations_common:subjectDocumentType");
                        org.dom4j.Element loop_0_3_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_3_tAFOX_3 = loop_0_tAFOX_3.addElement("subjectUri");
                        } else {

                            loop_0_3_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:subjectUri");
                        }
                        if (valueMap_tAFOX_3.get("obj_uri") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_3_tAFOX_3, valueMap_tAFOX_3.get("obj_uri"));
                        }

                        loop_0_3_tAFOX_3.setName("relations_common:subjectUri");
                        org.dom4j.Element loop_0_4_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_4_tAFOX_3 = loop_0_tAFOX_3.addElement("predicateDisplayName");
                        } else {

                            loop_0_4_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:predicateDisplayName");
                        }

                        loop_0_4_tAFOX_3.setName("relations_common:predicateDisplayName");
                        org.dom4j.Element loop_0_5_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_5_tAFOX_3 = loop_0_tAFOX_3.addElement("predicate");
                        } else {

                            loop_0_5_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:predicate");
                        }

                        loop_0_5_tAFOX_3.setName("relations_common:predicate");
                        org.dom4j.Element loop_0_6_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_6_tAFOX_3 = loop_0_tAFOX_3.addElement("objectCsid");
                        } else {

                            loop_0_6_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectCsid");
                        }
                        if (valueMap_tAFOX_3.get("move_CSID") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_6_tAFOX_3, valueMap_tAFOX_3.get("move_CSID"));
                        }

                        loop_0_6_tAFOX_3.setName("relations_common:objectCsid");
                        org.dom4j.Element loop_0_7_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_7_tAFOX_3 = loop_0_tAFOX_3.addElement("objectUri");
                        } else {

                            loop_0_7_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectUri");
                        }
                        if (valueMap_tAFOX_3.get("move_URI") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_7_tAFOX_3, valueMap_tAFOX_3.get("move_URI"));
                        }

                        loop_0_7_tAFOX_3.setName("relations_common:objectUri");
                        org.dom4j.Element loop_0_8_tAFOX_3 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_8_tAFOX_3 = loop_0_tAFOX_3.addElement("objectRefName");
                        } else {

                            loop_0_8_tAFOX_3 = loop_0_tAFOX_3.addElement("relations_common:objectRefName");
                        }
                        if (valueMap_tAFOX_3.get("move_refname") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_8_tAFOX_3, valueMap_tAFOX_3.get("move_refname"));
                        }

                        loop_0_8_tAFOX_3.setName("relations_common:objectRefName");
                        org.dom4j.Element loop_0_9_tAFOX_3 = null;
                        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 = null;
                        if (loop_0_tAFOX_3.getNamespaceForPrefix("relations_common") == null) {
                            loop_0_10_tAFOX_3 = loop_0_tAFOX_3.addElement("objectDocumentType");
                        } else {

                            loop_0_10_tAFOX_3 = loop_0_tAFOX_3
                                    .addElement("relations_common:objectDocumentType");
                        }
                        if (valueMap_tAFOX_3.get("objectDoctype") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_0_10_tAFOX_3,
                                    valueMap_tAFOX_3.get("objectDoctype"));
                        }

                        loop_0_10_tAFOX_3.setName("relations_common:objectDocumentType");
                        org.dom4j.Element loop_1_tAFOX_3 = null;

                        loop_1_tAFOX_3 = loop_tAFOX_3.addElement("schema0");

                        loop_1_tAFOX_3.addNamespace("collectionspace_core", TalendString
                                .replaceSpecialCharForXML("http://collectionspace.org/collectionspace_core/"));

                        loop_1_tAFOX_3.addAttribute("name", "collectionspace_core");
                        org.dom4j.Element loop_1_0_tAFOX_3 = null;

                        loop_1_0_tAFOX_3 = loop_1_tAFOX_3.addElement("uri");
                        if (valueMap_tAFOX_3.get("rel_o2m_uri") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_1_0_tAFOX_3, valueMap_tAFOX_3.get("rel_o2m_uri"));
                        }
                        org.dom4j.Element loop_1_1_tAFOX_3 = null;

                        loop_1_1_tAFOX_3 = loop_1_tAFOX_3.addElement("refName");
                        if (valueMap_tAFOX_3.get("rel_o2m_refname") != null) {
                            nestXMLTool_tAFOX_3.setText(loop_1_1_tAFOX_3,
                                    valueMap_tAFOX_3.get("rel_o2m_refname"));
                        }

                        tos_count_tAdvancedFileOutputXML_3++;

                        /**
                         * [tAdvancedFileOutputXML_3 main ] stop
                         */

                    } // End of branch "obj2move_XML"

                } // End of branch "obj_loc"

                /**
                 * [tSortRow_3_SortIn end ] start
                 */

                currentVirtualComponent = "tSortRow_3";

                currentComponent = "tSortRow_3_SortIn";

            }

            globalMap.put("tSortRow_3_SortIn_NB_LINE", nb_line_tSortRow_3_SortIn);

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

            /**
             * [tSortRow_3_SortIn end ] stop
             */

            /**
             * [tUniqRow_1 end ] start
             */

            currentComponent = "tUniqRow_1";

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

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

            /**
             * [tUniqRow_1 end ] stop
             */

            /**
             * [tMap_1 end ] start
             */

            currentComponent = "tMap_1";

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

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

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

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

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

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

            /**
             * [tMap_1 end ] stop
             */

            /**
             * [tAdvancedFileOutputXML_1 end ] start
             */

            currentComponent = "tAdvancedFileOutputXML_1";

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

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

            /**
             * [tAdvancedFileOutputXML_1 end ] stop
             */

            /**
             * [tFileOutputDelimited_1 end ] start
             */

            currentComponent = "tFileOutputDelimited_1";

            if (outtFileOutputDelimited_1 != null) {
                outtFileOutputDelimited_1.flush();
                outtFileOutputDelimited_1.close();
            }

            globalMap.put("tFileOutputDelimited_1_NB_LINE", nb_line_tFileOutputDelimited_1);
            globalMap.put("tFileOutputDelimited_1_FILE_NAME", fileName_tFileOutputDelimited_1);

            resourceMap.put("finish_tFileOutputDelimited_1", true);

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

            /**
             * [tFileOutputDelimited_1 end ] stop
             */

            /**
             * [tFileOutputDelimited_5 end ] start
             */

            currentComponent = "tFileOutputDelimited_5";

            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);

            resourceMap.put("finish_tFileOutputDelimited_5", true);

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

            /**
             * [tFileOutputDelimited_5 end ] stop
             */

            /**
             * [tFileOutputDelimited_4 end ] start
             */

            currentComponent = "tFileOutputDelimited_4";

            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);

            resourceMap.put("finish_tFileOutputDelimited_4", true);

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

            /**
             * [tFileOutputDelimited_4 end ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 end ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            nameToElement_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);
            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
             */

            /**
             * [tAdvancedFileOutputXML_3 end ] start
             */

            currentComponent = "tAdvancedFileOutputXML_3";

            nameToElement_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);
            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
             */

        } // 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 {

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_person_ID_displayName");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_locinfo");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_crateinfo");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_obj_IDs");

        // free memory for "tSortRow_3_SortIn"
        globalMap.remove("tSortRow_3");

        // free memory for "tMap_3"
        globalMap.remove("tHash_Lookup_handler_list");

        try {

            /**
             * [tFileInputDelimited_1 finally ] start
             */

            currentComponent = "tFileInputDelimited_1";

            /**
             * [tFileInputDelimited_1 finally ] stop
             */

            /**
             * [tMap_3 finally ] start
             */

            currentComponent = "tMap_3";

            /**
             * [tMap_3 finally ] stop
             */

            /**
             * [tSortRow_3_SortOut finally ] start
             */

            currentVirtualComponent = "tSortRow_3";

            currentComponent = "tSortRow_3_SortOut";

            /**
             * [tSortRow_3_SortOut finally ] stop
             */

            /**
             * [tSortRow_3_SortIn finally ] start
             */

            currentVirtualComponent = "tSortRow_3";

            currentComponent = "tSortRow_3_SortIn";

            /**
             * [tSortRow_3_SortIn finally ] stop
             */

            /**
             * [tUniqRow_1 finally ] start
             */

            currentComponent = "tUniqRow_1";

            /**
             * [tUniqRow_1 finally ] stop
             */

            /**
             * [tMap_1 finally ] start
             */

            currentComponent = "tMap_1";

            /**
             * [tMap_1 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_1 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_1";

            /**
             * [tAdvancedFileOutputXML_1 finally ] stop
             */

            /**
             * [tFileOutputDelimited_1 finally ] start
             */

            currentComponent = "tFileOutputDelimited_1";

            if (resourceMap.get("finish_tFileOutputDelimited_1") == null) {

                java.io.Writer outtFileOutputDelimited_1 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_1");
                if (outtFileOutputDelimited_1 != null) {
                    outtFileOutputDelimited_1.flush();
                    outtFileOutputDelimited_1.close();
                }

            }

            /**
             * [tFileOutputDelimited_1 finally ] stop
             */

            /**
             * [tFileOutputDelimited_5 finally ] start
             */

            currentComponent = "tFileOutputDelimited_5";

            if (resourceMap.get("finish_tFileOutputDelimited_5") == null) {

                java.io.Writer outtFileOutputDelimited_5 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_5");
                if (outtFileOutputDelimited_5 != null) {
                    outtFileOutputDelimited_5.flush();
                    outtFileOutputDelimited_5.close();
                }

            }

            /**
             * [tFileOutputDelimited_5 finally ] stop
             */

            /**
             * [tFileOutputDelimited_4 finally ] start
             */

            currentComponent = "tFileOutputDelimited_4";

            if (resourceMap.get("finish_tFileOutputDelimited_4") == null) {

                java.io.Writer outtFileOutputDelimited_4 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_4");
                if (outtFileOutputDelimited_4 != null) {
                    outtFileOutputDelimited_4.flush();
                    outtFileOutputDelimited_4.close();
                }

            }

            /**
             * [tFileOutputDelimited_4 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            /**
             * [tAdvancedFileOutputXML_2 finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_3 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_3";

            /**
             * [tAdvancedFileOutputXML_3 finally ] stop
             */

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

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

From source file:pahma.tmslocation_barcode_mvcrate_1_2.TMSlocation_barcode_mvCrate.java

License:Apache License

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 currentVirtualComponent = null;

    String iterateId = "";

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

    try {/*from w  ww  .j av  a  2  s . c  o  m*/

        String currentMethodName = new java.lang.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;

            java.io.File fileToDelete_tFileOutputDelimited_5 = new java.io.File(
                    fileName_tFileOutputDelimited_5);
            if (fileToDelete_tFileOutputDelimited_5.exists()) {
                fileToDelete_tFileOutputDelimited_5.delete();
            }

            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();
            }

            resourceMap.put("out_tFileOutputDelimited_5", outtFileOutputDelimited_5);

            resourceMap.put("nb_line_tFileOutputDelimited_5", nb_line_tFileOutputDelimited_5);

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

            java.io.File fileToDelete_tFileOutputDelimited_4 = new java.io.File(
                    fileName_tFileOutputDelimited_4);
            if (fileToDelete_tFileOutputDelimited_4.exists()) {
                fileToDelete_tFileOutputDelimited_4.delete();
            }

            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();
            }

            resourceMap.put("out_tFileOutputDelimited_4", outtFileOutputDelimited_4);

            resourceMap.put("nb_line_tFileOutputDelimited_4", nb_line_tFileOutputDelimited_4);

            /**
             * [tFileOutputDelimited_4 begin ] stop
             */

            /**
             * [tSortRow_8_SortOut begin ] start
             */

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

            currentVirtualComponent = "tSortRow_8";

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

            currentVirtualComponent = "tSortRow_6";

            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;

            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 java.lang.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 (java.lang.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 {

                        int columnIndexWithD_tFileInputDelimited_10 = 0;

                        columnIndexWithD_tFileInputDelimited_10 = 0;

                        obj_IDs.obj_nuxeoID = fid_tFileInputDelimited_10
                                .get(columnIndexWithD_tFileInputDelimited_10).trim();

                        columnIndexWithD_tFileInputDelimited_10 = 1;

                        obj_IDs.obj_CSID = fid_tFileInputDelimited_10
                                .get(columnIndexWithD_tFileInputDelimited_10).trim();

                        columnIndexWithD_tFileInputDelimited_10 = 2;

                        obj_IDs.objectNumber = fid_tFileInputDelimited_10
                                .get(columnIndexWithD_tFileInputDelimited_10).trim();

                        columnIndexWithD_tFileInputDelimited_10 = 3;

                        obj_IDs.objectID = fid_tFileInputDelimited_10
                                .get(columnIndexWithD_tFileInputDelimited_10).trim();

                        columnIndexWithD_tFileInputDelimited_10 = 4;

                        obj_IDs.currCrate_refname = fid_tFileInputDelimited_10
                                .get(columnIndexWithD_tFileInputDelimited_10).trim();

                        columnIndexWithD_tFileInputDelimited_10 = 5;

                        obj_IDs.currLoc_refname = fid_tFileInputDelimited_10
                                .get(columnIndexWithD_tFileInputDelimited_10).trim();

                    } catch (java.lang.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++;
                                resourceMap.put("nb_line_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++;
                                resourceMap.put("nb_line_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
                                 */

                                currentVirtualComponent = "tSortRow_8";

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

                                currentVirtualComponent = "tSortRow_6";

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

            /**
             * [tFileOutputDelimited_5 end ] start
             */

            currentComponent = "tFileOutputDelimited_5";

            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);

            resourceMap.put("finish_tFileOutputDelimited_5", true);

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

            /**
             * [tFileOutputDelimited_5 end ] stop
             */

            /**
             * [tFileOutputDelimited_4 end ] start
             */

            currentComponent = "tFileOutputDelimited_4";

            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);

            resourceMap.put("finish_tFileOutputDelimited_4", true);

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

            /**
             * [tFileOutputDelimited_4 end ] stop
             */

            /**
             * [tSortRow_8_SortOut end ] start
             */

            currentVirtualComponent = "tSortRow_8";

            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 fileNameWithoutSuffix_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("/"));
                fileNameWithoutSuffix_tAFOX_2 = tail_tAFOX_2.lastIndexOf(".") > 0
                        ? fileName_tAFOX_2.substring(0, fileName_tAFOX_2.lastIndexOf("."))
                        : fileName_tAFOX_2;
            }

            final String file_tAFOX_2 = fileNameWithoutSuffix_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>>();
            final 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 (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

            final 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;

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_2 = new java.util.HashMap<String, org.dom4j.Branch>();

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

            final 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());

            currentVirtualComponent = "tSortRow_8";

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

                currentVirtualComponent = "tSortRow_8";

                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 = null;

                    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 = null;

                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 = null;

                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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
                 */

                currentVirtualComponent = "tSortRow_8";

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

            nameToElement_tAFOX_2.clear();
            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
             */

            /**
             * [tSortRow_6_SortOut end ] start
             */

            currentVirtualComponent = "tSortRow_6";

            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 fileNameWithoutSuffix_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("/"));
                fileNameWithoutSuffix_tAFOX_3 = tail_tAFOX_3.lastIndexOf(".") > 0
                        ? fileName_tAFOX_3.substring(0, fileName_tAFOX_3.lastIndexOf("."))
                        : fileName_tAFOX_3;
            }

            final String file_tAFOX_3 = fileNameWithoutSuffix_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>>();
            final 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 (java.lang.Exception e) {
                        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 appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
                    element.appendContent(doc);
                }

                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);
                                }
                            }
                        }
                    }
                }
            }

            final 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;

            final java.util.Map<String, org.dom4j.Branch> nameToElement_tAFOX_3 = new java.util.HashMap<String, org.dom4j.Branch>();

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

            final 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());

            currentVirtualComponent = "tSortRow_6";

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

                currentVirtualComponent = "tSortRow_6";

                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 = null;

                    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 = null;

                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 = null;

                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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 = null;
                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
                 */

                currentVirtualComponent = "tSortRow_6";

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

            nameToElement_tAFOX_3.clear();
            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
             */

        } // 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 {

        // free memory for "tSortRow_8_SortIn"
        globalMap.remove("tSortRow_8");

        // free memory for "tSortRow_6_SortIn"
        globalMap.remove("tSortRow_6");

        // free memory for "tMap_1"
        globalMap.remove("tHash_Lookup_barcode_no_obj_yet");

        try {

            /**
             * [tFileInputDelimited_10 finally ] start
             */

            currentComponent = "tFileInputDelimited_10";

            /**
             * [tFileInputDelimited_10 finally ] stop
             */

            /**
             * [tMap_1 finally ] start
             */

            currentComponent = "tMap_1";

            /**
             * [tMap_1 finally ] stop
             */

            /**
             * [tFileOutputDelimited_5 finally ] start
             */

            currentComponent = "tFileOutputDelimited_5";

            if (resourceMap.get("finish_tFileOutputDelimited_5") == null) {

                java.io.Writer outtFileOutputDelimited_5 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_5");
                if (outtFileOutputDelimited_5 != null) {
                    outtFileOutputDelimited_5.flush();
                    outtFileOutputDelimited_5.close();
                }

            }

            /**
             * [tFileOutputDelimited_5 finally ] stop
             */

            /**
             * [tFileOutputDelimited_4 finally ] start
             */

            currentComponent = "tFileOutputDelimited_4";

            if (resourceMap.get("finish_tFileOutputDelimited_4") == null) {

                java.io.Writer outtFileOutputDelimited_4 = (java.io.Writer) resourceMap
                        .get("out_tFileOutputDelimited_4");
                if (outtFileOutputDelimited_4 != null) {
                    outtFileOutputDelimited_4.flush();
                    outtFileOutputDelimited_4.close();
                }

            }

            /**
             * [tFileOutputDelimited_4 finally ] stop
             */

            /**
             * [tSortRow_8_SortOut finally ] start
             */

            currentVirtualComponent = "tSortRow_8";

            currentComponent = "tSortRow_8_SortOut";

            /**
             * [tSortRow_8_SortOut finally ] stop
             */

            /**
             * [tSortRow_8_SortIn finally ] start
             */

            currentVirtualComponent = "tSortRow_8";

            currentComponent = "tSortRow_8_SortIn";

            /**
             * [tSortRow_8_SortIn finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_2 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_2";

            /**
             * [tAdvancedFileOutputXML_2 finally ] stop
             */

            /**
             * [tSortRow_6_SortOut finally ] start
             */

            currentVirtualComponent = "tSortRow_6";

            currentComponent = "tSortRow_6_SortOut";

            /**
             * [tSortRow_6_SortOut finally ] stop
             */

            /**
             * [tSortRow_6_SortIn finally ] start
             */

            currentVirtualComponent = "tSortRow_6";

            currentComponent = "tSortRow_6_SortIn";

            /**
             * [tSortRow_6_SortIn finally ] stop
             */

            /**
             * [tAdvancedFileOutputXML_3 finally ] start
             */

            currentComponent = "tAdvancedFileOutputXML_3";

            /**
             * [tAdvancedFileOutputXML_3 finally ] stop
             */

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

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