Example usage for org.dom4j Element attributes

List of usage examples for org.dom4j Element attributes

Introduction

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

Prototype

List<Attribute> attributes();

Source Link

Document

Returns the Attribute instances this element contains as a backed List so that the attributes may be modified directly using the List interface.

Usage

From source file:org.withinsea.izayoi.cortile.core.compile.dom.DOMCompiler.java

License:Mozilla Public License

@SuppressWarnings("unchecked")
protected void compile(Node node) throws CortileException {

    CompileContext ctx = CompileContext.get();

    if (node instanceof Text) {

        Text text = (Text) node;
        for (TextGrammar tg : textGrammars) {
            if (isDetached(text))
                return;
            if (tg.acceptText(text)) {
                tg.processText(text);//from  w ww  .j ava 2 s  .c  o  m
            }
        }

    } else if (node instanceof Comment) {

        Comment comment = (Comment) node;
        for (CommentGrammar cg : commentGrammars) {
            if (isDetached(comment))
                return;
            if (cg.acceptComment(comment)) {
                cg.processComment(comment);
            }
        }

    } else if (node instanceof Branch) {

        ctx.openScope();

        inScope: {
            if (node instanceof Element) {

                Element element = (Element) node;
                for (ElementGrammar eg : elementGrammars) {
                    if (isDetached(element))
                        break inScope;
                    if (eg.acceptElement(element)) {
                        eg.processElement(element);
                    }
                }

                for (Map.Entry<Integer, Map<String, List<AttrGrammar>>> entry : attrGrammars.entrySet()) {
                    Map<String, List<AttrGrammar>> ags = entry.getValue();
                    List<Attribute> attrs = new ArrayList<Attribute>((List<Attribute>) element.attributes());
                    for (Attribute attr : attrs) {
                        if (isDetached(element))
                            break inScope;
                        if (isDetached(attr))
                            continue;
                        Set<AttrGrammar> nsAgs = new LinkedHashSet<AttrGrammar>();
                        {
                            nsAgs.addAll(ags.get("*"));
                            nsAgs.addAll(ags.get(attr.getNamespacePrefix()));
                        }
                        for (AttrGrammar ag : nsAgs) {
                            if (isDetached(element))
                                break inScope;
                            if (isDetached(attr))
                                break;
                            if (ag.acceptAttr(attr)) {
                                ag.processAttr(attr);
                            }
                        }
                    }
                }
            }

            Branch branch = (Branch) node;
            List<Node> cnodes = new ArrayList<Node>((List<Node>) branch.content());
            for (Node cnode : cnodes) {
                if (isDetached(branch))
                    break inScope;
                if (isDetached(cnode))
                    continue;
                compile(cnode);
            }
        }

        ctx.closeScope();
    }
}

From source file:org.withinsea.izayoi.cortile.template.html.grammar.attr.core.ByContent.java

License:Mozilla Public License

@Override
@SuppressWarnings("unchecked")
@Priority(Priority.HIGHEST)//from   www.ja  va 2  s  . c om
public void processAttr(Attribute attr) throws CortileException {

    Element elem = attr.getParent();
    String prefix = attr.getNamespacePrefix();
    List<Attribute> attrs = new ArrayList<Attribute>((List<Attribute>) elem.attributes());

    try {
        Element scope = elem;
        for (int i = attrs.indexOf(attr); i < attrs.size(); i++) {
            Attribute iAttr = attrs.get(i);
            String iAttrname = iAttr.getName();
            if (iAttr.getNamespacePrefix().equals(prefix) && iAttrname.matches("^\\w+\\-content.*")) {
                Element contentScope = new DefaultElement(HTMLConstants.ANONYMOUS_TAG_NAME);
                DOMUtils.surroundInsideBy(scope, contentScope);
                iAttr.detach();
                contentScope
                        .add(new SurroundableAttr(new QName(iAttrname.replaceFirst("^(\\w+)\\-content", "$1"),
                                iAttr.getQName().getNamespace()), iAttr.getValue()));
                for (int j = i + 1; j < attrs.size(); j++) {
                    Attribute jAttr = attrs.get(j);
                    jAttr.detach();
                    contentScope.add(jAttr);
                }
                scope = contentScope;
            }
        }
    } catch (Exception e) {
        throw new CortileException(e);
    }
}

From source file:org.withinsea.izayoi.cortile.template.html.grammar.attr.core.Cycle.java

License:Mozilla Public License

@Override
@SuppressWarnings("unchecked")
public void processAttr(Attribute attr) throws CortileException {

    CompileContext ctx = CompileContext.get();
    HTMLCompiler compiler = ctx.getCompiler();

    Element elem = attr.getParent();
    String attrname = attr.getName();
    String attrvalue = attr.getValue();

    String ctype = attrname.startsWith("while") ? "while"
            : attrname.startsWith("until") ? "until" : attrname.startsWith("repeat") ? "repeat" : "for";
    String subname = attrname.substring(ctype.length());
    String subtype = subname.startsWith("-status") ? "-status" : "";
    String varname = subname.substring(subtype.length()).replaceFirst("\\.", "");
    if (subtype.equals("-status")) {
        return;//from   w ww .  j a v  a2s .  c o m
    }

    String value = attrvalue.trim();
    String el = value.startsWith("${") ? value.substring(2, value.length() - 1).trim() : value;
    String vtype = (value.startsWith("${") && value.endsWith("}")) ? "el"
            : (value.split("\\s*;\\s*").length == 3) ? "for3"
                    : (value.matches("-?\\d+\\s*\\.\\.\\s*-?\\d+")) ? "range" : null;
    if (vtype == null) {
        throw new CortileException("\"" + attr.getValue() + "\" is not a valid cycle expression.");
    }

    String preScriptlet = "{ " + compiler.openScope();
    String helperScriptlet = "";
    String sufScriptlet = compiler.closeScope() + " }";

    if (varname != null) {
        for (Attribute statusAttr : (List<Attribute>) elem.attributes()) {
            String aname = statusAttr.getName();
            if (aname.equals(ctype + "-status." + varname)) {
                String iStatus = statusAttr.getValue();
                preScriptlet += Status.class.getCanonicalName() + " " + iStatus + " = new "
                        + Status.class.getCanonicalName() + "();" + compiler.elBind(iStatus, iStatus);
                helperScriptlet += iStatus + ".inc();";
                statusAttr.detach();
                break;
            }
        }
    }

    if (attrname.startsWith("while") && vtype.equals("el")) {
        preScriptlet = preScriptlet + "while ((Boolean)" + compiler.el(value) + ") {";
        sufScriptlet = "}" + sufScriptlet;
    } else if (attrname.startsWith("until") && vtype.equals("el")) {
        preScriptlet = preScriptlet + "do {";
        sufScriptlet = "} while (!((Boolean)" + compiler.el(value) + "));" + sufScriptlet;
    } else if (attrname.startsWith("repeat") || attrname.startsWith("for")) {
        if (vtype.equals("for3")) {
            String[] split = el.split("\\s*;\\s*");
            preScriptlet = preScriptlet + "for (" + compiler.el(varname + "=(" + split[0] + ")") + ";"
                    + "(Boolean) " + compiler.el(split[1]) + ";" + compiler.el(split[2]) + ") {";
        } else if (vtype.equals("range")) {
            preScriptlet = preScriptlet + "for (" + "Object " + varname + ":" + "(Iterable)"
                    + Cycle.class.getCanonicalName() + ".asIterable(" + value.replace("..", ",") + ")) {";
            helperScriptlet = helperScriptlet + compiler.elBind(varname, varname);
        } else {
            preScriptlet = preScriptlet + "for (" + "Object " + varname + ":" + "(Iterable)"
                    + Cycle.class.getCanonicalName() + ".asIterable(" + compiler.el(el) + ")) {";
            helperScriptlet = helperScriptlet + compiler.elBind(varname, varname);
        }
        helperScriptlet = helperScriptlet + compiler.openScope();
        sufScriptlet = compiler.closeScope() + " }" + sufScriptlet;
    }

    try {
        DOMUtils.surroundBy(elem, "<%" + preScriptlet + helperScriptlet + "%>", "<%" + sufScriptlet + "%>");
    } catch (Exception e) {
        throw new CortileException(e);
    }

    attr.detach();
}

From source file:org.withinsea.izayoi.cortile.template.html.grammar.attr.core.If.java

License:Mozilla Public License

@Override
@SuppressWarnings("unchecked")
public void processAttr(Attribute attr) throws CortileException {

    CompileContext ctx = CompileContext.get();
    HTMLCompiler compiler = ctx.getCompiler();

    Element elem = attr.getParent();
    String attrname = attr.getName();
    String attrvalue = attr.getValue();

    String value = attrvalue.trim();
    String el = value.startsWith("${") ? value.substring(2, value.length() - 1).trim() : value;

    String preScriptlet = "if ((Boolean) " + compiler.el(el) + ") { " + compiler.openScope();
    String sufScriptlet = compiler.closeScope() + " }";

    try {/*from w  w w .j  a va  2 s . c  om*/

        if (attrname.equals("if")) {
            DOMUtils.surroundBy(elem, "<%" + preScriptlet + "%>", "<%" + sufScriptlet + "%>");
        } else {
            String ifAttrname = attrname.startsWith("if-attr.") ? attr.getName().substring("if-attr.".length())
                    : attr.getName().substring("if.".length());
            for (SurroundableAttr ifAttr : (List<SurroundableAttr>) elem.attributes()) {
                if (ifAttr.getName().equals(ifAttrname)) {
                    ifAttr.setPrefix("<%" + preScriptlet + "%>");
                    ifAttr.setSuffix("<%" + sufScriptlet + "%>");
                }
            }
        }

    } catch (Exception e) {
        throw new CortileException(e);
    }

    attr.detach();
}

From source file:org.withinsea.izayoi.cortile.template.html.parser.HTMLWriter.java

License:Mozilla Public License

@Override
@SuppressWarnings("unchecked")
protected void writeAttributes(Element element) throws IOException {
    for (Attribute attribute : (List<Attribute>) element.attributes()) {
        String name = attribute.getName();
        if (!name.equals("xmlns") && !name.startsWith("xmlns:")) {
            if (attribute instanceof SurroundableAttr) {
                SurroundableAttr sattr = (SurroundableAttr) attribute;
                writeString(" " + sattr.getPrefix() + attribute.getQualifiedName() + "=\"");
                writeEscapeAttributeEntities(attribute.getValue());
                writer.write("\"");
                writeString(sattr.getSuffix());
            } else {
                writeString(" " + attribute.getQualifiedName() + "=\"");
                writeEscapeAttributeEntities(attribute.getValue());
                writer.write("\"");
            }//from   www  . j ava2 s.c o m
        }
    }
}

From source file:org.xmlactions.mapping.validation.CompareAttributes.java

License:Apache License

protected boolean compareAttributes(Element element1, Element element2) {
    boolean result = true;
    if (isIgnoreExtraAttributes() == false && element1.attributeCount() != element2.attributeCount()) {
        addError("Attribute count does not match between [" + element1.getName() + "] and ["
                + element2.getName() + "]");
        result = false;/*w  w w.j  a  v a 2  s.  c  o m*/
    } else {
        List<Attribute> atts1 = element1.attributes();
        List<Attribute> atts2 = element2.attributes();
        for (Attribute att1 : atts1) {
            Attribute att2 = findMatchingAttribute(att1, atts2);
            if (att2 == null) {
                addError("No matching attribute found [" + element1.getName() + "@" + att1.getName() + "["
                        + att1.getValue() + "]] in element [" + element2.getName() + "]");
                result = false;
                break;
            }
        }
    }
    return result;
}

From source file:org.xmlactions.mapping.validation.CompareElements.java

License:Apache License

private Element findMatchingElement(Element element, List<Element> list) {
    Element matchingElement = null;
    for (Element match : list) {
        if (element.getName().equals(match.getName())) {
            List<Attribute> atts1 = element.attributes();
            List<Attribute> atts2 = match.attributes();
            boolean foundMatch = true;
            for (Attribute att1 : atts1) {
                Attribute att2 = findMatchingAttribute(att1, atts2);
                if (att2 == null) {
                    foundMatch = false;//  www  .  j  a va 2  s  . co  m
                    break;
                }
            }
            if (foundMatch == true) {
                matchingElement = match;
                break;
            }
        }
    }
    return matchingElement;
}

From source file:org.xulux.dataprovider.contenthandlers.DOMTreeContentHandler.java

License:Apache License

/**
 * @see org.xulux.dataprovider.contenthandlers.TreeContentHandler#getChild(java.lang.Object, int)
 *///w w w.  j  av a2  s  .c o  m
public Object getChild(Object parent, int index) {
    if (parent instanceof ContentView) {
        parent = ((ContentView) parent).getSource();
    }
    if (parent instanceof Document) {
        List list = ((Document) parent).content();
        return ContentView.createView(view, list.get(index));
    } else if (parent instanceof Element) {
        Element element = (Element) parent;
        List list = getRealContent(element.content());
        if ("part".equals(element.getName())) {
            //System.err.println("Attributes : " + element.attributes());
        }
        list.addAll(element.attributes());
        return ContentView.createView(view, list.get(index));
    }
    return null;
}

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 {/*  w ww . j  a v  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_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 {//ww  w . j  a  v  a 2  s  .  co 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_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);
}