Compare commits

..

14 Commits

Author SHA1 Message Date
jiezhang-tlnd
c10ec4f874 Merge remote-tracking branch 'origin/maintenance/8.0' into jzhang/80/TUP-38087 2023-12-25 18:13:07 +08:00
jiezhang-tlnd
2344ef39a6 Merge remote-tracking branch 'origin/maintenance/8.0' into jzhang/80/TUP-38087 2023-12-11 19:07:11 +08:00
jiezhang-tlnd
f77ca2d073 fix all junits 2023-12-11 19:06:24 +08:00
jiezhang-tlnd
d9bbe9d15a fix junits 2023-12-08 10:31:07 +08:00
jiezhang-tlnd
cac6a0225f fix junits 2023-12-08 10:26:00 +08:00
jiezhang-tlnd
1b1446e05d fix junits 2023-12-07 16:02:01 +08:00
jiezhang-tlnd
25b490ce40 add junits 2023-12-07 15:55:59 +08:00
jiezhang-tlnd
445f2e0423 Merge remote-tracking branch 'origin/maintenance/8.0' into jzhang/80/TUP-38087 2023-12-07 15:18:16 +08:00
jiezhang-tlnd
111e357645 add junits 2023-12-07 15:17:10 +08:00
jiezhang-tlnd
a4c59c8975 Merge remote-tracking branch 'origin/maintenance/8.0' into jzhang/80/TUP-38087 2023-12-07 11:27:26 +08:00
jiezhang-tlnd
b4a2d141e4 update junits 2023-12-07 11:25:53 +08:00
jiezhang-tlnd
6cb1bd5df5 add junits 2023-12-06 15:23:17 +08:00
jiezhang-tlnd
d7dc486842 Merge remote-tracking branch 'origin/maintenance/8.0' into jzhang/80/TUP-38087 2023-12-06 14:11:01 +08:00
jiezhang-tlnd
28abacccfb fix(TUP-38087)tELTPostgresqlMap generate sql fail when input table with
expression and the expression include globalMap
2023-12-06 11:05:31 +08:00
42 changed files with 198 additions and 119 deletions

View File

@@ -201,12 +201,7 @@ class XML_API_<%=cid%>{
public org.w3c.dom.NodeList getNodeList(org.w3c.dom.Node node, String xpath) throws javax.xml.xpath.XPathExpressionException {
javax.xml.xpath.XPathExpression expression = xpathEvaluator.compile(util.addDefaultNSPrefix(xpath));
Object result = expression.evaluate(node, javax.xml.xpath.XPathConstants.NODESET);
org.w3c.dom.NodeList resultList = org.w3c.dom.NodeList.class.cast(result);
// if xpath equals to "/" it returns document node instead of root element node
if(xpath.equals("/")) {
resultList = resultList.item(0).getChildNodes();
}
return resultList;
return org.w3c.dom.NodeList.class.cast(result);
}
}

View File

@@ -187,8 +187,8 @@
<IMPORT NAME="hawtbuf-1.11.jar" MODULE="hawtbuf-1.11.jar" MVN="mvn:org.fusesource.hawtbuf/hawtbuf/1.11" REQUIRED_IF="SERVER == 'ACTIVEMQ'" />
<IMPORT NAME="slf4j-api-1.7.34.jar" MODULE="slf4j-api-1.7.34.jar" MVN="mvn:org.slf4j/slf4j-api/1.7.34" REQUIRED_IF="SERVER == 'ACTIVEMQ'" />
<IMPORT NAME="slf4j-reload4j-1.7.34.jar" MODULE="slf4j-reload4j-1.7.34.jar" MVN="mvn:org.slf4j/slf4j-reload4j/1.7.34" REQUIRED_IF="SERVER == 'ACTIVEMQ'" />
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.3.4.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.3.4.0" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.2.5.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.2.5.0" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="JSON In Java " MODULE="json-20231013.jar" MVN="mvn:org.json/json/20231013" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcprov-jdk15on-1.70" MODULE="bcprov-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.70" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcpkix-jdk15on-1.70" MODULE="bcpkix-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcpkix-jdk15on/1.70" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
@@ -196,16 +196,7 @@
<IMPORT NAME="WEBSPHERE CONNECTOR" MODULE="websphere-connector-1_5.jar" MVN="mvn:org.talend.libraries/websphere-connector-1_5/6.0.0" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="TALENDMQRFH2" MODULE="talendMQRFH2-1.3.0-20220912.jar" MVN="mvn:org.talend/talendMQRFH2/1.3.0-20220912" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="Java Message Service" MODULE="javax.jms-api-2.0.1.jar" MVN="mvn:javax.jms/javax.jms-api/2.0.1" REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-core-2.14.3.jar" MODULE="jackson-core-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.14.3"
REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-databind-2.14.3.jar" MODULE="jackson-databind-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.14.3"
REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-annotations-2.14.3.jar" MODULE="jackson-annotations-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.14.3"
REQUIRED_IF="(SERVER == 'WEBSPHERE')" />
<IMPORT NAME="SharedConnectionUtil" MODULE="talendMQConnectionUtil-1.3.0-20220912.jar" MVN="mvn:org.talend/talendMQConnectionUtil/1.3.0-20220912" REQUIRED_IF="(USE_SHARED_CONNECTION == 'true')" />
</IMPORTS>

View File

@@ -326,7 +326,7 @@
<IMPORT NAME="reload4j-1.2.22" MODULE="reload4j-1.2.22.jar" MVN="mvn:ch.qos.reload4j/reload4j/1.2.22" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'JBOSS')" />
<!-- Websphere MQ -->
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.3.4.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.3.4.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.2.5.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.2.5.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="JSON In Java " MODULE="json-20231013.jar" MVN="mvn:org.json/json/20231013" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcprov-jdk15on-1.70" MODULE="bcprov-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.70" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcpkix-jdk15on-1.70" MODULE="bcpkix-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcpkix-jdk15on/1.70" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
@@ -334,15 +334,6 @@
<IMPORT NAME="WEBSPHERE CONNECTOR" MODULE="websphere-connector-1_5.jar" MVN="mvn:org.talend.libraries/websphere-connector-1_5/6.0.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="TALENDMQRFH2" MODULE="talendMQRFH2-1.3.0-20220912.jar" MVN="mvn:org.talend/talendMQRFH2/1.3.0-20220912" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="Java Message Service" MODULE="javax.jms-api-2.0.1.jar" MVN="mvn:javax.jms/javax.jms-api/2.0.1" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-core-2.14.3.jar" MODULE="jackson-core-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-databind-2.14.3.jar" MODULE="jackson-databind-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-annotations-2.14.3.jar" MODULE="jackson-annotations-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -82,22 +82,13 @@ This component only support Websphere MQ currently!
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.3.4.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.3.4.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.2.5.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.2.5.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="JSON In Java " MODULE="json-20231013.jar" MVN="mvn:org.json/json/20231013" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcprov-jdk15on-1.70" MODULE="bcprov-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.70" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcpkix-jdk15on-1.70" MODULE="bcpkix-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcpkix-jdk15on/1.70" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcutil-jdk15on-1.70" MODULE="bcutil-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcutil-jdk15on/1.70" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="WEBSPHERE CONNECTOR" MODULE="websphere-connector-1_5.jar" MVN="mvn:org.talend.libraries/websphere-connector-1_5/6.0.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="Java Message Service" MODULE="javax.jms-api-2.0.1.jar" MVN="mvn:javax.jms/javax.jms-api/2.0.1" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-core-2.14.3.jar" MODULE="jackson-core-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-databind-2.14.3.jar" MODULE="jackson-databind-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-annotations-2.14.3.jar" MODULE="jackson-annotations-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -452,7 +452,7 @@
<IMPORT NAME="reload4j-1.2.22" MODULE="reload4j-1.2.22.jar" MVN="mvn:ch.qos.reload4j/reload4j/1.2.22" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'JBOSS')" />
<!-- Websphere MQ -->
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.3.4.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.3.4.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="WEBSPHERE MQ LIB" MODULE="com.ibm.mq.allclient-9.2.5.0.jar" MVN="mvn:com.ibm.mq/com.ibm.mq.allclient/9.2.5.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="JSON In Java " MODULE="json-20231013.jar" MVN="mvn:org.json/json/20231013" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcprov-jdk15on-1.70" MODULE="bcprov-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.70" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="bcpkix-jdk15on-1.70" MODULE="bcpkix-jdk15on-1.70.jar" MVN="mvn:org.bouncycastle/bcpkix-jdk15on/1.70" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
@@ -460,15 +460,6 @@
<IMPORT NAME="WEBSPHERE CONNECTOR" MODULE="websphere-connector-1_5.jar" MVN="mvn:org.talend.libraries/websphere-connector-1_5/6.0.0" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="TALENDMQRFH2" MODULE="talendMQRFH2-1.3.0-20220912.jar" MVN="mvn:org.talend/talendMQRFH2/1.3.0-20220912" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="Java Message Service" MODULE="javax.jms-api-2.0.1.jar" MVN="mvn:javax.jms/javax.jms-api/2.0.1" REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-core-2.14.3.jar" MODULE="jackson-core-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-databind-2.14.3.jar" MODULE="jackson-databind-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
<IMPORT NAME="jackson-annotations-2.14.3.jar" MODULE="jackson-annotations-2.14.3.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.14.3"
REQUIRED_IF="(USE_CONNECTION=='false' AND SERVER == 'WEBSPHERE')" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -117,7 +117,7 @@ public class PostgresGenerationManager extends DbGenerationManager {
}
for (IMetadataColumn co : connection.getMetadataTable().getListColumns()) {
String columnLabel = co.getOriginalDbColumnName();
if (!replacedStrings.contains(columnLabel) && expression.contains(columnLabel)) {
if (!replacedStrings.contains(columnLabel) && expression.contains("\"." + columnLabel)) {
expression = replaceFields4Expression(component, expression, columnLabel);
replacedStrings.add(columnLabel);
}
@@ -133,7 +133,7 @@ public class PostgresGenerationManager extends DbGenerationManager {
replacedStrings.add(expression);
for (IMetadataColumn column : table.getListColumns()) {
String columnLabel = column.getOriginalDbColumnName();
if (!replacedStrings.contains(columnLabel) && expression.contains(columnLabel)) {
if (!replacedStrings.contains(columnLabel) && expression.contains("\"." + columnLabel)) {
expression = replaceFields4Expression(component, expression, columnLabel);
replacedStrings.add(columnLabel);
}
@@ -334,13 +334,9 @@ public class PostgresGenerationManager extends DbGenerationManager {
}
}
Set<String> globalMapList = getGlobalMapList(component, expression);
String quote = getQuote(component);
for (String globalMapStr : globalMapList) {
String replacement = globalMapStr;
if (globalMapStr.contains("\\\\")) {
replacement = globalMapStr.replaceAll("\\\\", "\\\\\\\\");
}
String regex = parser.getGlobalMapExpressionRegex(globalMapStr);
expression = expression.replaceAll(regex, "\\\\\"\"+" + replacement + "+\"\\\\\""); //$NON-NLS-1$ //$NON-NLS-2$
expression = handleGlobalStringInExpression(expression, globalMapStr, quote, true);
}
return expression;
}

View File

@@ -6,238 +6,238 @@
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d00a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d00a-mapping/1.4"
name="d00a-mapping-1.4-20101230.181140-1.jar" mvn_uri="mvn:org.talend.libraries/d00a-mapping-1.4-20101230.181140-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d00b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d00b-mapping/1.4"
name="d00b-mapping-1.4-20101230.182448-1.jar" mvn_uri="mvn:org.talend.libraries/d00b-mapping-1.4-20101230.182448-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d01a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d01a-mapping/1.4"
name="d01a-mapping-1.4-20101230.183534-1.jar" mvn_uri="mvn:org.talend.libraries/d01a-mapping-1.4-20101230.183534-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d01b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d01b-mapping/1.4"
name="d01b-mapping-1.4-20101230.185159-1.jar" mvn_uri="mvn:org.talend.libraries/d01b-mapping-1.4-20101230.185159-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d01c-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d01c-mapping/1.4"
name="d01c-mapping-1.4-20101230.190625-1.jar" mvn_uri="mvn:org.talend.libraries/d01c-mapping-1.4-20101230.190625-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d02a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d02a-mapping/1.4"
name="d02a-mapping-1.4-20101230.191840-1.jar" mvn_uri="mvn:org.talend.libraries/d02a-mapping-1.4-20101230.191840-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d02b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d02b-mapping/1.4"
name="d02b-mapping-1.4-20101230.193459-1.jar" mvn_uri="mvn:org.talend.libraries/d02b-mapping-1.4-20101230.193459-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d03a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d03a-mapping/1.4"
name="d03a-mapping-1.4-20101230.195010-1.jar" mvn_uri="mvn:org.talend.libraries/d03a-mapping-1.4-20101230.195010-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d03b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d03b-mapping/1.4"
name="d03b-mapping-1.4-20101230.201023-1.jar" mvn_uri="mvn:org.talend.libraries/d03b-mapping-1.4-20101230.201023-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d04a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d04a-mapping/1.4"
name="d04a-mapping-1.4-20101230.202950-1.jar" mvn_uri="mvn:org.talend.libraries/d04a-mapping-1.4-20101230.202950-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d04b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d04b-mapping/1.4"
name="d04b-mapping-1.4-20101230.204717-1.jar" mvn_uri="mvn:org.talend.libraries/d04b-mapping-1.4-20101230.204717-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d05a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d05a-mapping/1.4"
name="d05a-mapping-1.4-20101230.210746-1.jar" mvn_uri="mvn:org.talend.libraries/d05a-mapping-1.4-20101230.210746-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d05b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d05b-mapping/1.4"
name="d05b-mapping-1.4-20101230.212643-1.jar" mvn_uri="mvn:org.talend.libraries/d05b-mapping-1.4-20101230.212643-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d06a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d06a-mapping/1.4"
name="d06a-mapping-1.4-20101230.214557-1.jar" mvn_uri="mvn:org.talend.libraries/d06a-mapping-1.4-20101230.214557-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d06b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d06b-mapping/1.4"
name="d06b-mapping-1.4-20101230.220647-1.jar" mvn_uri="mvn:org.talend.libraries/d06b-mapping-1.4-20101230.220647-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d07a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d07a-mapping/1.4"
name="d07a-mapping-1.4-20101230.222824-1.jar" mvn_uri="mvn:org.talend.libraries/d07a-mapping-1.4-20101230.222824-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d07b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d07b-mapping/1.4"
name="d07b-mapping-1.4-20101230.224645-1.jar" mvn_uri="mvn:org.talend.libraries/d07b-mapping-1.4-20101230.224645-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d08a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d08a-mapping/1.4"
name="d08a-mapping-1.4-20101230.230844-1.jar" mvn_uri="mvn:org.talend.libraries/d08a-mapping-1.4-20101230.230844-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d08b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d08b-mapping/1.4"
name="d08b-mapping-1.4-20101230.231449-1.jar" mvn_uri="mvn:org.talend.libraries/d08b-mapping-1.4-20101230.231449-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d09a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d09a-mapping/1.4"
name="d09a-mapping-1.4-20101230.233910-1.jar" mvn_uri="mvn:org.talend.libraries/d09a-mapping-1.4-20101230.233910-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d09b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d09b-mapping/1.4"
name="d09b-mapping-1.4-20101231.000627-1.jar" mvn_uri="mvn:org.talend.libraries/d09b-mapping-1.4-20101231.000627-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d93a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d93a-mapping/1.4"
name="d93a-mapping-1.4-20101231.003027-1.jar" mvn_uri="mvn:org.talend.libraries/d93a-mapping-1.4-20101231.003027-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d94a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d94a-mapping/1.4"
name="d94a-mapping-1.4-20101231.004159-1.jar" mvn_uri="mvn:org.talend.libraries/d94a-mapping-1.4-20101231.004159-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d94b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d94b-mapping/1.4"
name="d94b-mapping-1.4-20101231.005548-1.jar" mvn_uri="mvn:org.talend.libraries/d94b-mapping-1.4-20101231.005548-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d95a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d95a-mapping/1.4"
name="d95a-mapping-1.4-20101231.010614-1.jar" mvn_uri="mvn:org.talend.libraries/d95a-mapping-1.4-20101231.010614-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d95b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d95b-mapping/1.4"
name="d95b-mapping-1.4-20101231.012144-1.jar" mvn_uri="mvn:org.talend.libraries/d95b-mapping-1.4-20101231.012144-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d96a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d96a-mapping/1.4"
name="d96a-mapping-1.4-20101231.013900-1.jar" mvn_uri="mvn:org.talend.libraries/d96a-mapping-1.4-20101231.013900-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d96b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d96b-mapping/1.4"
name="d96b-mapping-1.4-20101231.015118-1.jar" mvn_uri="mvn:org.talend.libraries/d96b-mapping-1.4-20101231.015118-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d97a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d97a-mapping/1.4"
name="d97a-mapping-1.4-20101231.020712-1.jar" mvn_uri="mvn:org.talend.libraries/d97a-mapping-1.4-20101231.020712-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d97b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d97b-mapping/1.4"
name="d97b-mapping-1.4-20101231.022307-1.jar" mvn_uri="mvn:org.talend.libraries/d97b-mapping-1.4-20101231.022307-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d98a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d98a-mapping/1.4"
name="d98a-mapping-1.4-20101231.023634-1.jar" mvn_uri="mvn:org.talend.libraries/d98a-mapping-1.4-20101231.023634-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d98b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d98b-mapping/1.4"
name="d98b-mapping-1.4-20101231.025003-1.jar" mvn_uri="mvn:org.talend.libraries/d98b-mapping-1.4-20101231.025003-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d99a-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d99a-mapping/1.4"
name="d99a-mapping-1.4-20101231.030914-1.jar" mvn_uri="mvn:org.talend.libraries/d99a-mapping-1.4-20101231.030914-1/6.0.0"
required="true">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.libraries.edifact"
language="java"
message="Needed for EDIFACT"
name="d99b-mapping-1.4.jar" mvn_uri="mvn:org.milyn.edi.unedifact/d99b-mapping/1.4"
name="d99b-mapping-1.4-20101231.032348-1.jar" mvn_uri="mvn:org.talend.libraries/d99b-mapping-1.4-20101231.032348-1/6.0.0"
required="true">
</libraryNeeded>
</extension>

View File

@@ -175,11 +175,10 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
dbMapComponent.getProcess().getContextManager().setDefaultContext(newContext);
query = manager.buildSqlSelect(dbMapComponent, "grade");
expectedQuery = "\"SELECT\n"
+ "\\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\", \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"name\\\","
+ " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"classNum\\\", \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".\\\"score\\\"\n"
+ "\\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".id, \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".name, \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".classNum, \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".score\n"
+ "FROM\n"
+ " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\" , \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\"\n"
+ "WHERE \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\" =3\"";
+ "WHERE \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".id =3\"";
assertEquals(expectedQuery, query);
manager.setAddQuotesInColumns(true);
@@ -195,11 +194,14 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
// ((String)globalMap.get("tableName")).columnName
init("", main_table, null, lookup_table, null);
String expectedQuery = "\"SELECT\n"
+ "\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"id\\\", \\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"name\\\","
+ " \\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"age\\\", \\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\".\\\"score\\\"\n"
String expectedQuer1 = "\"SELECT\n"
+ "\\\"+((String)globalMap.get(\"main_table\"))+\\\".\\\"id\\\", \\\"+((String)globalMap.get(\"main_table\"))+\\\".\\\"name\\\","
+ " \\\"+((String)globalMap.get(\"main_table\"))+\\\".\\\"age\\\", \\\"+((String)globalMap.get(\"lookup_table\"))+\\\".\\\"score\\\"\n"
+ "FROM\n"
+ " \\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\" , \\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\" \"";
+ " \\\"+((String)globalMap.get(\"main_table\"))+\\\" , \\\"+((String)globalMap.get(\"lookup_table\"))+\\\" \"";
String expectedQuery = "\"SELECT\n"
+ "\" +((String)globalMap.get(\"main_table\"))+ \".id, \" +((String)globalMap.get(\"main_table\"))+ \".name, \" +((String)globalMap.get(\"main_table\"))+ \".age, \" +((String)globalMap.get(\"lookup_table\"))+ \".score\n"
+ "FROM\n" + " \" +((String)globalMap.get(\"main_table\"))+ \" , \" +((String)globalMap.get(\"lookup_table\"))";
PostgresGenerationManager manager = new PostgresGenerationManager();
String query = manager.buildSqlSelect(dbMapComponent, "grade");
assertEquals(expectedQuery, query);
@@ -212,10 +214,10 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
init(schema, main_table, null, lookup_table, null);
manager = new PostgresGenerationManager();
expectedQuery = "\"SELECT\n"
+ "\\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"id\\\", \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"name\\\", "
+ "\\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"age\\\", \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\".\\\"score\\\"\n"
+ "\" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"main_table\"))+ \".id, \" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"main_table\"))+ \".name, "
+ "\" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"main_table\"))+ \".age, \" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"lookup_table\"))+ \".score\n"
+ "FROM\n"
+ " \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\" , \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\" \"";
+ " \" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"main_table\"))+ \" , \" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"lookup_table\"))";
query = manager.buildSqlSelect(dbMapComponent, "grade");
assertEquals(expectedQuery, query);
@@ -229,11 +231,9 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
init(schema, main_table, null, lookup_table, null);
manager = new PostgresGenerationManager();
expectedQuery = "\"SELECT\n"
+ "\\\"my_schema\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"id\\\", \\\"my_schema\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"name\\\","
+ " \\\"my_schema\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\".\\\"age\\\", "
+ "\\\"my_schema\\\".\\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\".\\\"score\\\"\n"
+ "\\\"my_schema\\\".\" +((String)globalMap.get(\"main_table\"))+ \".id, \\\"my_schema\\\".\" +((String)globalMap.get(\"main_table\"))+ \".name, \\\"my_schema\\\".\" +((String)globalMap.get(\"main_table\"))+ \".age, \\\"my_schema\\\".\" +((String)globalMap.get(\"lookup_table\"))+ \".score\n"
+ "FROM\n"
+ " \\\"my_schema\\\".\\\"\"+((String)globalMap.get(\"main_table\"))+\"\\\" , \\\"my_schema\\\".\\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\" \"";
+ " \\\"my_schema\\\".\" +((String)globalMap.get(\"main_table\"))+ \" , \\\"my_schema\\\".\" +((String)globalMap.get(\"lookup_table\"))";
query = manager.buildSqlSelect(dbMapComponent, "grade");
assertEquals(expectedQuery, query);
@@ -243,15 +243,40 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
init(schema, main_table, null, lookup_table, null);
manager = new PostgresGenerationManager();
expectedQuery = "\"SELECT\n"
+ "\\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"main_table\\\".\\\"id\\\", \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"main_table\\\".\\\"name\\\","
+ " \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"main_table\\\".\\\"age\\\", "
+ "\\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\".\\\"score\\\"\n"
+ "\" +((String)globalMap.get(\"schema\"))+ \".\\\"main_table\\\".\\\"id\\\", \" +((String)globalMap.get(\"schema\"))+ \".\\\"main_table\\\".\\\"name\\\", \" +((String)globalMap.get(\"schema\"))+ \".\\\"main_table\\\".\\\"age\\\", \" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"lookup_table\"))+ \".score\n"
+ "FROM\n"
+ " \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"main_table\\\" , \\\"\"+((String)globalMap.get(\"schema\"))+\"\\\".\\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\" \"";
+ " \" +((String)globalMap.get(\"schema\"))+ \".\\\"main_table\\\" , \" +((String)globalMap.get(\"schema\"))+ \".\" +((String)globalMap.get(\"lookup_table\"))";
query = manager.buildSqlSelect(dbMapComponent, "grade");
assertEquals(expectedQuery, query);
}
@Test
public void testBuildSqlSelectForGlobalMapForWhereExpression() {
String schema = "((String)globalMap.get(\"schema\"))";
String main_table = "((String)globalMap.get(\"main_table\"))";
String lookup_table = "((String)globalMap.get(\"lookup_table\"))";
// ((String)globalMap.get("tableName")).columnName
init("", main_table, null, lookup_table, null);
PostgresGenerationManager manager = new PostgresGenerationManager();
//////
ExternalDbMapEntry whereEntityExpression = new ExternalDbMapEntry();
whereEntityExpression.setName("where_entity");
whereEntityExpression.setExpression(
"\\\"eltinput\\\".\\\"String\\\">=to_char(now() + '-\" + ((String)globalMap.get(\"days\")) + \" days', 'yyyymmddhh24mi')");
List<ExternalDbMapEntry> whereEntriesExpression = new ArrayList<ExternalDbMapEntry>();
whereEntriesExpression.add(whereEntityExpression);
ExternalDbMapTable externalData = dbMapComponent.getExternalData().getOutputTables().get(0);
externalData.setCustomWhereConditionsEntries(whereEntriesExpression);
String expectedQueryExpression = "\"SELECT\n"
+ "\" +((String)globalMap.get(\"main_table\"))+ \".id, \" +((String)globalMap.get(\"main_table\"))+ \".name, \" +((String)globalMap.get(\"main_table\"))+ \".age, \" +((String)globalMap.get(\"lookup_table\"))+ \".score\n"
+ "FROM\n"
+ " \" +((String)globalMap.get(\"main_table\"))+ \" , \" +((String)globalMap.get(\"lookup_table\"))+ \"\n"
+ "WHERE \\\"eltinput\\\".\\\"String\\\">=to_char(now() + '-\" + ((String)globalMap.get(\"days\")) + \" days', 'yyyymmddhh24mi')\"";
String queryExpression = manager.buildSqlSelect(dbMapComponent, "grade");
assertEquals(expectedQueryExpression, queryExpression);
}
@Test
public void testBuildSqlSelectForGlobalMapForSpecialCharacters() {
// test special charactor in globalmap
@@ -259,10 +284,9 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
String lookup_table = "((String)globalMap.get(\"@lookup_table*\"))";
init("", main_table, null, lookup_table, null);
String expectedQuery = "\"SELECT\n"
+ "\\\"\"+((String)globalMap.get(\"#main_table%\"))+\"\\\".\\\"id\\\", \\\"\"+((String)globalMap.get(\"#main_table%\"))+\"\\\".\\\"name\\\","
+ " \\\"\"+((String)globalMap.get(\"#main_table%\"))+\"\\\".\\\"age\\\", \\\"\"+((String)globalMap.get(\"@lookup_table*\"))+\"\\\".\\\"score\\\"\n"
+ "\" +((String)globalMap.get(\"#main_table%\"))+ \".id, \" +((String)globalMap.get(\"#main_table%\"))+ \".name, \" +((String)globalMap.get(\"#main_table%\"))+ \".age, \" +((String)globalMap.get(\"@lookup_table*\"))+ \".score\n"
+ "FROM\n"
+ " \\\"\"+((String)globalMap.get(\"#main_table%\"))+\"\\\" , \\\"\"+((String)globalMap.get(\"@lookup_table*\"))+\"\\\" \"";
+ " \" +((String)globalMap.get(\"#main_table%\"))+ \" , \" +((String)globalMap.get(\"@lookup_table*\"))";
PostgresGenerationManager manager = new PostgresGenerationManager();
String query = manager.buildSqlSelect(dbMapComponent, "grade");
assertEquals(expectedQuery, query);
@@ -278,9 +302,9 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
String lookup_alias = "";
init(schema, main_table, main_alias, lookup_table, lookup_alias);
String expectedQuery = "\"SELECT\n"
+ "\\\"main_table\\\".\\\"id\\\", \\\"main_table\\\".\\\"name\\\", \\\"main_table\\\".\\\"age\\\", \\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\".\\\"score\\\"\n"
+ "\\\"main_table\\\".\\\"id\\\", \\\"main_table\\\".\\\"name\\\", \\\"main_table\\\".\\\"age\\\", \" +((String)globalMap.get(\"lookup_table\"))+ \".score\n"
+ "FROM\n"
+ " \\\"\"+((String)globalMap.get(\"main_table\"))+\"abc\"+\"\\\" \\\"main_table\\\" , \\\"\"+((String)globalMap.get(\"lookup_table\"))+\"\\\" \"";
+ " \\\"\"+((String)globalMap.get(\"main_table\"))+\"abc\"+\"\\\" \\\"main_table\\\" , \" +((String)globalMap.get(\"lookup_table\"))";
PostgresGenerationManager manager = new PostgresGenerationManager();
String query = manager.buildSqlSelect(dbMapComponent, "grade");
assertEquals(expectedQuery, query);
@@ -460,7 +484,7 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
tableName = TalendTextUtils.removeQuotes(schema) + ".";
}
tableName = TalendTextUtils.removeQuotes(main_table);
expectedValue = "\\\"\"+((String)globalMap.get(\"#main_table%\"))+\"\\\"";
expectedValue = "\" +((String)globalMap.get(\"#main_table%\"))+ \"";
handledTableName = manager.getHandledTableName(dbMapComponent, tableName, main_alias);
Assert.assertEquals(expectedValue, handledTableName);
@@ -603,11 +627,10 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
String query = manager.buildSqlSelect(dbMapComponent, "grade");
String expectedQuery = "\"SELECT\n"
+ "\\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\", \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"name\\\","
+ " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"classNum\\\", \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".\\\"score\\\"\n"
+ "\\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".id, \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".name, \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".classNum, \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".score\n"
+ "FROM\n"
+ " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\" , \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\"\n"
+ "WHERE\n \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\" = \" +context.value";
+ "WHERE\n" + " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\" = \" +context.value";
System.out.println(query);
System.out.println("==========================================");
System.out.println(expectedQuery);
@@ -833,9 +856,9 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
String query = manager.buildSqlSelect(dbMapComponent, "grade");
String expectedQuery = "\"SELECT\n"
+ "\\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\", \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"name\\\", \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"classNum\\\", \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".\\\"score\\\"\n"
+ "\\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".id, \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".name, \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".classNum, \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".score\n"
+ "FROM\n"
+ " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\" INNER JOIN \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\" ON( \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".\\\"id\\\" = \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\" )\n"
+ " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\" INNER JOIN \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\" ON( \\\"\"+context.schema+\"\\\".\\\"\"+context.lookup+\"\\\".\\\"id\\\" = \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".id )\n"
+ "WHERE\n"
+ " \\\"\"+context.schema+\"\\\".\\\"\"+context.main_table+\"\\\".\\\"id\\\" = \" +context.value";
@@ -943,4 +966,105 @@ public class PostgresGenerationManagerTest extends DbGenerationManagerTestHelper
assertEquals(expectedQuery, query);
}
@Test
public void testSelectWithContextAndContextNameEqualsColumnName() {
String schema = "";
String main_table = "context.main_table";
String lookup_table = "context.lookup";
String contextValue = "context.name";
JobContext context = new JobContext("Default");
IContextParameter mainTableContext = new JobContextParameter();
mainTableContext.setName("main_table");
mainTableContext.setValue("mainTable");
mainTableContext.setType("String");
context.getContextParameterList().add(mainTableContext);
IContextParameter lookupTableContext = new JobContextParameter();
lookupTableContext.setName("lookup");
lookupTableContext.setValue("lookupTable");
lookupTableContext.setType("String");
context.getContextParameterList().add(lookupTableContext);
IContextParameter valueContext = new JobContextParameter();
valueContext.setName("name");
valueContext.setValue("999999");
valueContext.setType("Integer");
context.getContextParameterList().add(valueContext);
List<IConnection> incomingConnections = new ArrayList<IConnection>();
String[] mainTableEntities = new String[] { "id", "name", "classNum" };
String[] lookupEndtities = new String[] { "id", "score" };
incomingConnections.add(mockConnection(schema, main_table, mainTableEntities, mainTableEntities));
incomingConnections.add(mockConnection(schema, lookup_table, lookupEndtities, lookupEndtities));
dbMapComponent.setIncomingConnections(incomingConnections);
ExternalDbMapData externalData = new ExternalDbMapData();
List<ExternalDbMapTable> inputs = new ArrayList<ExternalDbMapTable>();
List<ExternalDbMapTable> outputs = new ArrayList<ExternalDbMapTable>();
// main table
ExternalDbMapTable inputTable = new ExternalDbMapTable();
inputTable.setTableName(StringUtils.isNotBlank(schema) ? schema + "." + main_table : main_table);
inputTable.setName(StringUtils.isNotBlank(schema) ? schema + "." + main_table : main_table);
List<ExternalDbMapEntry> entities = getMetadataEntities(mainTableEntities, new String[3]);
ExternalDbMapEntry entity = new ExternalDbMapEntry();
entity.setName("id");
entity.setExpression(contextValue);
entity.setOperator("=");
entities.set(0, entity);
inputTable.setMetadataTableEntries(entities);
inputs.add(inputTable);
// lookup table
inputTable = new ExternalDbMapTable();
inputTable.setTableName(StringUtils.isNotBlank(schema) ? schema + "." + lookup_table : lookup_table);
inputTable.setName(StringUtils.isNotBlank(schema) ? schema + "." + lookup_table : lookup_table);
entities = getMetadataEntities(lookupEndtities, new String[2]);
ExternalDbMapEntry newColumn = entities.get(0);
newColumn.setExpression(StringUtils.isNotBlank(schema) ? schema + "." + main_table + ".id" : main_table + ".id");
newColumn.setOperator("=");
inputTable.setJoinType("INNER_JOIN");
newColumn.setJoin(true);
inputTable.setMetadataTableEntries(entities);
inputs.add(inputTable);
// output
ExternalDbMapTable outputTable = new ExternalDbMapTable();
outputTable.setName("grade");
String[] names = new String[] { "id", "name", "classNum", "score" };
String[] expressions = new String[] { schema + "." + main_table + ".id", schema + "." + main_table + ".name",
schema + "." + main_table + ".classNum", schema + "." + lookup_table + ".score" };
if (StringUtils.isBlank(schema)) {
expressions = new String[] { main_table + ".id", main_table + ".name", main_table + ".classNum",
lookup_table + ".score" };
}
outputTable.setMetadataTableEntries(getMetadataEntities(names, expressions));
outputs.add(outputTable);
externalData.setInputTables(inputs);
externalData.setOutputTables(outputs);
dbMapComponent.setExternalData(externalData);
List<IMetadataTable> metadataList = new ArrayList<IMetadataTable>();
MetadataTable metadataTable = getMetadataTable(names, names);
metadataTable.setLabel("grade");
metadataList.add(metadataTable);
dbMapComponent.setMetadataList(metadataList);
Process process = mock(Process.class);
when(process.getContextManager()).thenReturn(new JobContextManager());
dbMapComponent.setProcess(process);
dbMapComponent.getProcess().getContextManager().setDefaultContext(context);
PostgresGenerationManager manager = new PostgresGenerationManager();
manager.setAddQuotesInColumns(true);
String query = manager.buildSqlSelect(dbMapComponent, "grade");
String expectedQuery = "\"SELECT\n"
+ "\\\"\"+context.main_table+\"\\\".id, \\\"\"+context.main_table+\"\\\".name, \\\"\"+context.main_table+\"\\\".classNum, \\\"\"+context.lookup+\"\\\".score\n"
+ "FROM\n"
+ " context.main_table INNER JOIN context.lookup ON( context.lookup.\\\"id\\\" = \\\"\"+context.main_table+\"\\\".id )\n"
+ "WHERE\n" + " context.main_table.\\\"id\\\" = \" +context.name";
assertEquals(expectedQuery, query);
}
}