From bd82a7f8d839332817c1cfeec9b03d40bdf0d4bb Mon Sep 17 00:00:00 2001 From: wliu Date: Thu, 5 Jul 2012 07:44:42 +0000 Subject: [PATCH] fix Bug TDI-21606:Method exceeding 65535 bytes limit while using tFileInputDelimited and tFileOutputMSXML http://jira.talendforge.org/browse/TDI-21606 git-svn-id: http://talendforge.org/svn/tos/trunk@86816 f6f1c999-d317-4740-80b0-e6d1abc6f99e --- .../org/talend/core/model/utils/NodeUtil.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/org.talend.core.runtime/src/main/java/org/talend/core/model/utils/NodeUtil.java b/org.talend.core.runtime/src/main/java/org/talend/core/model/utils/NodeUtil.java index 0c8f07ef5f..f8e848e649 100644 --- a/org.talend.core.runtime/src/main/java/org/talend/core/model/utils/NodeUtil.java +++ b/org.talend.core.runtime/src/main/java/org/talend/core/model/utils/NodeUtil.java @@ -502,4 +502,32 @@ public class NodeUtil { return component.isDataAutoPropagated(); } } + + /** + * DOC wliu + *

+ * get the original connection instance className of the pamameter:conn.\n It is used to help optimize the code to + * avoid 65535 bytes in a method + *

+ * Notice: It is used in tFileOutputMSXML in TDI-21606 + * + * @param connection + * @return + */ + public static String getPrivateConnClassName(final IConnection conn) { + // INode designedNode = node.getDesignSubjobStartNode(); + INode node = conn.getSource(); + if (node.isSubProcessStart() || !(NodeUtil.isDataAutoPropagated(node))) { + return conn.getUniqueName(); + } + List listInConns = node.getIncomingConnections(); + IConnection inConnTemp = null; + if (listInConns != null && listInConns.size() > 0) { + inConnTemp = listInConns.get(0); + if (inConnTemp.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { + return getPrivateConnClassName(inConnTemp); + } + } + return ""; //$NON-NLS-1$ + } }