Compare commits
38 Commits
allDeltaAn
...
patch/5.6.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b07356abbc | ||
|
|
a8b74ff7c4 | ||
|
|
cf68bcbf60 | ||
|
|
e056a04c45 | ||
|
|
0418ab9a11 | ||
|
|
4b1efc9807 | ||
|
|
7a65fb5567 | ||
|
|
ec0386351e | ||
|
|
d57261d72a | ||
|
|
0cbaae18b5 | ||
|
|
1988d96e28 | ||
|
|
40513495da | ||
|
|
067a307829 | ||
|
|
8abd62b836 | ||
|
|
0935844d99 | ||
|
|
3cd5ba25f7 | ||
|
|
a2dbc1e49f | ||
|
|
8ee6062cab | ||
|
|
53ae623548 | ||
|
|
d42ff63cc1 | ||
|
|
625537b46b | ||
|
|
fa67de1575 | ||
|
|
10d1675541 | ||
|
|
89d57a88fe | ||
|
|
ca7da04bf1 | ||
|
|
cde2076b9c | ||
|
|
cbd8e38b4a | ||
|
|
c6ecfa1714 | ||
|
|
7f14a4cf1b | ||
|
|
04a7b6d2de | ||
|
|
50fbbb6cb2 | ||
|
|
a5a928e33f | ||
|
|
2900b474e4 | ||
|
|
d23810bab2 | ||
|
|
77d0cf119d | ||
|
|
adfb6724cb | ||
|
|
f8f1aefc14 | ||
|
|
f49fa77655 |
@@ -57,16 +57,8 @@
|
|||||||
%>
|
%>
|
||||||
TalendThreadPool mtp_<%=iterateConn.getTarget().getUniqueName() %> = new TalendThreadPool(<%=ElementParameterParser.getValue(iterateConn,"__NUMBER_PARALLEL__") %>);
|
TalendThreadPool mtp_<%=iterateConn.getTarget().getUniqueName() %> = new TalendThreadPool(<%=ElementParameterParser.getValue(iterateConn,"__NUMBER_PARALLEL__") %>);
|
||||||
|
|
||||||
<%
|
globalMap.put("lockWrite_<%=iterateNodeName%>", new Object[0]);
|
||||||
if(!hasParallelIterate){
|
int threadIdCounter_<%=iterateNodeName%> =0;
|
||||||
hasParallelIterate = true;
|
|
||||||
%>
|
|
||||||
final Object[] lockWrite_<%=iterateNodeName%> = new Object[0];
|
|
||||||
int threadIdCounter_<%=iterateNodeName%> =0;
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
|||||||
@@ -112,7 +112,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
<%=node.getUniqueName() %>Thread bt_<%=node.getUniqueName() %> = new <%=node.getUniqueName() %>Thread(globalMap<%=schemaInstanceDeclaration %>,threadIdCounter_<%=node.getUniqueName()%>++);
|
<%=node.getUniqueName() %>Thread bt_<%=node.getUniqueName() %> = new <%=node.getUniqueName() %>Thread(globalMap<%=schemaInstanceDeclaration %>,threadIdCounter_<%=node.getUniqueName()%>++);
|
||||||
bt_<%=node.getUniqueName()%>.assignLock(lockWrite_<%=node.getUniqueName()%>);
|
|
||||||
mtp_<%=node.getUniqueName() %>.execute(bt_<%=node.getUniqueName() %>);
|
mtp_<%=node.getUniqueName() %>.execute(bt_<%=node.getUniqueName() %>);
|
||||||
|
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -888,7 +888,6 @@ public class CodeGenerator implements ICodeGenerator {
|
|||||||
CodeGeneratorArgument argument = new CodeGeneratorArgument();
|
CodeGeneratorArgument argument = new CodeGeneratorArgument();
|
||||||
argument.setNode(node);
|
argument.setNode(node);
|
||||||
argument.setAllMainSubTreeConnections(subProcess.getAllMainSubTreeConnections());
|
argument.setAllMainSubTreeConnections(subProcess.getAllMainSubTreeConnections());
|
||||||
argument.setSubTreeContainsParallelIterate(subProcess.subTreeContainsParallelIterate());
|
|
||||||
argument.setCodePart(part);
|
argument.setCodePart(part);
|
||||||
argument.setStatistics(statistics);
|
argument.setStatistics(statistics);
|
||||||
argument.setTrace(trace);
|
argument.setTrace(trace);
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ public class CodeGeneratorArgument {
|
|||||||
|
|
||||||
private int pauseTime;
|
private int pauseTime;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
private boolean subTreeContainsParallelIterate;
|
private boolean subTreeContainsParallelIterate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -277,10 +278,15 @@ public class CodeGeneratorArgument {
|
|||||||
this.subTree = subTree;
|
this.subTree = subTree;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
/*
|
||||||
|
* use org.talend.core.model.process.AbstractNode.getParallelIterator()
|
||||||
|
*/
|
||||||
public boolean subTreeContainsParallelIterate() {
|
public boolean subTreeContainsParallelIterate() {
|
||||||
return subTreeContainsParallelIterate;
|
return subTreeContainsParallelIterate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public void setSubTreeContainsParallelIterate(boolean subTreeContainsParallelIterate) {
|
public void setSubTreeContainsParallelIterate(boolean subTreeContainsParallelIterate) {
|
||||||
this.subTreeContainsParallelIterate = subTreeContainsParallelIterate;
|
this.subTreeContainsParallelIterate = subTreeContainsParallelIterate;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import java.util.Map;
|
|||||||
|
|
||||||
import org.talend.core.model.process.AbstractNode;
|
import org.talend.core.model.process.AbstractNode;
|
||||||
import org.talend.core.model.process.EConnectionType;
|
import org.talend.core.model.process.EConnectionType;
|
||||||
import org.talend.core.model.process.ElementParameterParser;
|
|
||||||
import org.talend.core.model.process.IConnection;
|
import org.talend.core.model.process.IConnection;
|
||||||
import org.talend.core.model.process.IConnectionCategory;
|
import org.talend.core.model.process.IConnectionCategory;
|
||||||
import org.talend.core.model.process.INode;
|
import org.talend.core.model.process.INode;
|
||||||
@@ -61,6 +60,7 @@ public class NodesSubTree {
|
|||||||
|
|
||||||
List<IConnection> allMainSubTreeConnections = null;
|
List<IConnection> allMainSubTreeConnections = null;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
boolean subTreeContainsParallelIterate = false;
|
boolean subTreeContainsParallelIterate = false;
|
||||||
|
|
||||||
List<INode> mergeBranchStarts;
|
List<INode> mergeBranchStarts;
|
||||||
@@ -280,11 +280,7 @@ public class NodesSubTree {
|
|||||||
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.MAIN)) {
|
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.MAIN)) {
|
||||||
if (!connection.getLineStyle().hasConnectionCategory(IConnectionCategory.USE_ITERATE)) {
|
if (!connection.getLineStyle().hasConnectionCategory(IConnectionCategory.USE_ITERATE)) {
|
||||||
allMainSubTreeConnections.add(connection);
|
allMainSubTreeConnections.add(connection);
|
||||||
} else {
|
}
|
||||||
if (Boolean.TRUE.toString().equals(ElementParameterParser.getValue(connection, "__ENABLE_PARALLEL__"))) { //$NON-NLS-1$
|
|
||||||
subTreeContainsParallelIterate = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (DEBUG) {
|
if (DEBUG) {
|
||||||
System.out.print(" -> "); //$NON-NLS-1$
|
System.out.print(" -> "); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
@@ -537,6 +533,10 @@ public class NodesSubTree {
|
|||||||
this.allMainSubTreeConnections = allMainSubTreeConnections;
|
this.allMainSubTreeConnections = allMainSubTreeConnections;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
/*
|
||||||
|
* use org.talend.core.model.process.AbstractNode.getParallelIterator()
|
||||||
|
*/
|
||||||
public boolean subTreeContainsParallelIterate() {
|
public boolean subTreeContainsParallelIterate() {
|
||||||
return subTreeContainsParallelIterate;
|
return subTreeContainsParallelIterate;
|
||||||
}
|
}
|
||||||
|
|||||||
5
main/plugins/org.talend.designer.components.libs/libs_src/mdm_transaction/.gitignore
vendored
Normal file
5
main/plugins/org.talend.designer.components.libs/libs_src/mdm_transaction/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# IntelliJ IDEA
|
||||||
|
.idea/
|
||||||
|
*.ipr
|
||||||
|
*.iml
|
||||||
|
*.iws
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
package com.talend.mdm.transaction.client;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpClient;
|
|
||||||
import org.apache.commons.httpclient.HttpException;
|
|
||||||
import org.apache.commons.httpclient.HttpMethod;
|
|
||||||
import org.apache.commons.httpclient.UsernamePasswordCredentials;
|
|
||||||
import org.apache.commons.httpclient.auth.AuthScope;
|
|
||||||
import org.apache.commons.httpclient.methods.DeleteMethod;
|
|
||||||
import org.apache.commons.httpclient.methods.PostMethod;
|
|
||||||
|
|
||||||
public class MDMTransaction {
|
|
||||||
|
|
||||||
private String url;
|
|
||||||
private String id;
|
|
||||||
private String username;
|
|
||||||
private String password;
|
|
||||||
|
|
||||||
public void commit() throws IOException {
|
|
||||||
HttpClient client = new HttpClient();
|
|
||||||
client.getState().setCredentials(AuthScope.ANY,
|
|
||||||
new UsernamePasswordCredentials(username, password));
|
|
||||||
|
|
||||||
HttpMethod method = new PostMethod(url + "/" + id);
|
|
||||||
method.setDoAuthentication(true);
|
|
||||||
try {
|
|
||||||
client.executeMethod(method);
|
|
||||||
} catch (HttpException e) {
|
|
||||||
throw e;
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw e;
|
|
||||||
} finally {
|
|
||||||
method.releaseConnection();
|
|
||||||
}
|
|
||||||
|
|
||||||
int statuscode = method.getStatusCode();
|
|
||||||
if (statuscode >= 400) {
|
|
||||||
throw new MDMTransactionException("Commit failed. The commit operation has returned the code " + statuscode + ".");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void rollback() throws IOException {
|
|
||||||
HttpClient client = new HttpClient();
|
|
||||||
client.getState().setCredentials(AuthScope.ANY,
|
|
||||||
new UsernamePasswordCredentials(username, password));
|
|
||||||
|
|
||||||
HttpMethod method = new DeleteMethod(url + "/" + id);
|
|
||||||
method.setDoAuthentication(true);
|
|
||||||
try {
|
|
||||||
client.executeMethod(method);
|
|
||||||
} catch (HttpException e) {
|
|
||||||
throw e;
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw e;
|
|
||||||
} finally {
|
|
||||||
method.releaseConnection();
|
|
||||||
}
|
|
||||||
|
|
||||||
int statuscode = method.getStatusCode();
|
|
||||||
if (statuscode >= 400) {
|
|
||||||
throw new MDMTransactionException("Rollback failed. The rollback operation has returned the code " + statuscode + ".");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUrl(String url) {
|
|
||||||
this.url = url;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(String id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUsername(String username) {
|
|
||||||
this.username = username;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPassword(String password) {
|
|
||||||
this.password = password;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
package com.talend.mdm.transaction.client;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import org.apache.commons.httpclient.HttpClient;
|
|
||||||
import org.apache.commons.httpclient.HttpException;
|
|
||||||
import org.apache.commons.httpclient.UsernamePasswordCredentials;
|
|
||||||
import org.apache.commons.httpclient.auth.AuthScope;
|
|
||||||
import org.apache.commons.httpclient.methods.PutMethod;
|
|
||||||
|
|
||||||
public class MDMTransactionClient {
|
|
||||||
|
|
||||||
public static MDMTransaction newTransaction(String url, String username, String password) throws IOException {
|
|
||||||
HttpClient client = new HttpClient();
|
|
||||||
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
|
|
||||||
|
|
||||||
PutMethod put = new PutMethod(url);
|
|
||||||
put.setDoAuthentication(true);
|
|
||||||
String tid = "";
|
|
||||||
try {
|
|
||||||
client.executeMethod(put);
|
|
||||||
tid = put.getResponseBodyAsString();
|
|
||||||
} catch (HttpException e) {
|
|
||||||
throw e;
|
|
||||||
} catch (IOException e) {
|
|
||||||
throw e;
|
|
||||||
} finally {
|
|
||||||
put.releaseConnection();
|
|
||||||
}
|
|
||||||
|
|
||||||
MDMTransaction result = new MDMTransaction();
|
|
||||||
result.setUrl(url);
|
|
||||||
result.setId(tid);
|
|
||||||
result.setUsername(username);
|
|
||||||
result.setPassword(password);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getMDMTransactionURL(String url) {
|
|
||||||
if(url == null || "".equals(url)) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
int count = 3;
|
|
||||||
int i=0;
|
|
||||||
for(;i<url.length();i++) {
|
|
||||||
char c = url.charAt(i);
|
|
||||||
if('/' == c) {
|
|
||||||
count--;
|
|
||||||
}
|
|
||||||
if(count == 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String result = url.substring(0, i);
|
|
||||||
result += "/datamanager/services/transactions";
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) throws IOException {
|
|
||||||
MDMTransaction mt = MDMTransactionClient.newTransaction("http://localhost:8080/datamanager/services/transactions", "administrator", "administrator");
|
|
||||||
mt.commit();
|
|
||||||
|
|
||||||
MDMTransaction mt1 = MDMTransactionClient.newTransaction("http://localhost:8080/datamanager/services/transactions", "administrator", "administrator");
|
|
||||||
mt1.rollback();
|
|
||||||
|
|
||||||
String url = "http://localhost:8080/talend/TalendPort";
|
|
||||||
String mdmurl = MDMTransactionClient.getMDMTransactionURL(url);
|
|
||||||
System.out.println(mdmurl);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>org.talend</groupId>
|
||||||
|
<artifactId>mdm_transaction</artifactId>
|
||||||
|
<name>mdm_transaction</name>
|
||||||
|
<version>1</version>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-codec</groupId>
|
||||||
|
<artifactId>commons-codec</artifactId>
|
||||||
|
<version>1.7</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-logging</groupId>
|
||||||
|
<artifactId>commons-logging</artifactId>
|
||||||
|
<version>1.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-httpclient</groupId>
|
||||||
|
<artifactId>commons-httpclient</artifactId>
|
||||||
|
<version>3.0</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<finalName>${project.name}</finalName>
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>${basedir}/src/main/java</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>2.3.2</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.6</source>
|
||||||
|
<target>1.6</target>
|
||||||
|
<encoding>UTF-8</encoding>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
|
||||||
|
</build>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
package com.talend.mdm.transaction.client;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.apache.commons.httpclient.HttpClient;
|
||||||
|
import org.apache.commons.httpclient.HttpException;
|
||||||
|
import org.apache.commons.httpclient.HttpMethod;
|
||||||
|
import org.apache.commons.httpclient.UsernamePasswordCredentials;
|
||||||
|
import org.apache.commons.httpclient.auth.AuthScope;
|
||||||
|
import org.apache.commons.httpclient.methods.DeleteMethod;
|
||||||
|
import org.apache.commons.httpclient.methods.PostMethod;
|
||||||
|
|
||||||
|
public class MDMTransaction {
|
||||||
|
|
||||||
|
public static final String JVM_STICKY_SESSION = "sticky_session"; //$NON-NLS-1$
|
||||||
|
public static final String DEFAULT_STICKY_SESSION = "JSESSIONID"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
private String url;
|
||||||
|
private String id;
|
||||||
|
private String username;
|
||||||
|
private String password;
|
||||||
|
private String sessionId;
|
||||||
|
|
||||||
|
public void commit() throws IOException {
|
||||||
|
HttpClient client = new HttpClient();
|
||||||
|
client.getState().setCredentials(AuthScope.ANY,
|
||||||
|
new UsernamePasswordCredentials(username, password));
|
||||||
|
client.getParams().setAuthenticationPreemptive(true);
|
||||||
|
|
||||||
|
HttpMethod method = new PostMethod(url + "/" + id);
|
||||||
|
method.setDoAuthentication(true);
|
||||||
|
try {
|
||||||
|
method.setRequestHeader("Cookie", getStickySession() + "=" + sessionId); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
client.executeMethod(method);
|
||||||
|
} catch (HttpException e) {
|
||||||
|
throw e;
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
method.releaseConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
int statuscode = method.getStatusCode();
|
||||||
|
if (statuscode >= 400) {
|
||||||
|
throw new MDMTransactionException("Commit failed. The commit operation has returned the code " + statuscode + ".");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void rollback() throws IOException {
|
||||||
|
HttpClient client = new HttpClient();
|
||||||
|
client.getState().setCredentials(AuthScope.ANY,
|
||||||
|
new UsernamePasswordCredentials(username, password));
|
||||||
|
client.getParams().setAuthenticationPreemptive(true);
|
||||||
|
|
||||||
|
HttpMethod method = new DeleteMethod(url + "/" + id);
|
||||||
|
method.setDoAuthentication(true);
|
||||||
|
try {
|
||||||
|
method.setRequestHeader("Cookie", getStickySession() + "=" + sessionId); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
client.executeMethod(method);
|
||||||
|
} catch (HttpException e) {
|
||||||
|
throw e;
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
method.releaseConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
int statuscode = method.getStatusCode();
|
||||||
|
if (statuscode >= 400) {
|
||||||
|
throw new MDMTransactionException("Rollback failed. The rollback operation has returned the code " + statuscode + ".");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsername(String username) {
|
||||||
|
this.username = username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSessionId() {
|
||||||
|
return sessionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSessionId(String sessionId) {
|
||||||
|
this.sessionId = sessionId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getStickySession() {
|
||||||
|
String stickySession = System.getProperty(JVM_STICKY_SESSION);
|
||||||
|
if(stickySession == null) {
|
||||||
|
stickySession = DEFAULT_STICKY_SESSION;
|
||||||
|
}
|
||||||
|
return stickySession;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
package com.talend.mdm.transaction.client;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.apache.commons.httpclient.Header;
|
||||||
|
import org.apache.commons.httpclient.HttpClient;
|
||||||
|
import org.apache.commons.httpclient.HttpException;
|
||||||
|
import org.apache.commons.httpclient.HttpMethod;
|
||||||
|
import org.apache.commons.httpclient.UsernamePasswordCredentials;
|
||||||
|
import org.apache.commons.httpclient.auth.AuthScope;
|
||||||
|
import org.apache.commons.httpclient.methods.GetMethod;
|
||||||
|
import org.apache.commons.httpclient.methods.PutMethod;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
public class MDMTransactionClient {
|
||||||
|
|
||||||
|
private static final Log LOG = LogFactory.getLog(MDMTransactionClient.class);
|
||||||
|
|
||||||
|
public static MDMTransaction newTransaction(String url, String username, String password) throws IOException {
|
||||||
|
HttpClient client = new HttpClient();
|
||||||
|
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
|
||||||
|
client.getParams().setAuthenticationPreemptive(true);
|
||||||
|
|
||||||
|
PutMethod put = new PutMethod(url);
|
||||||
|
put.setDoAuthentication(true);
|
||||||
|
String tid;
|
||||||
|
String sessionID;
|
||||||
|
try {
|
||||||
|
client.executeMethod(put);
|
||||||
|
tid = put.getResponseBodyAsString();
|
||||||
|
sessionID = parseSessionID(put);
|
||||||
|
} catch (HttpException e) {
|
||||||
|
throw e;
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
put.releaseConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
MDMTransaction result = new MDMTransaction();
|
||||||
|
result.setUrl(url);
|
||||||
|
result.setId(tid);
|
||||||
|
result.setUsername(username);
|
||||||
|
result.setPassword(password);
|
||||||
|
result.setSessionId(sessionID);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getSessionID(String url, String username, String password) throws IOException {
|
||||||
|
HttpClient client = new HttpClient();
|
||||||
|
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
|
||||||
|
client.getParams().setAuthenticationPreemptive(true);
|
||||||
|
GetMethod get = new GetMethod(url);
|
||||||
|
get.setDoAuthentication(true);
|
||||||
|
String sessionID;
|
||||||
|
try {
|
||||||
|
client.executeMethod(get);
|
||||||
|
sessionID = parseSessionID(get);
|
||||||
|
} catch (HttpException e) {
|
||||||
|
throw e;
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw e;
|
||||||
|
} finally {
|
||||||
|
get.releaseConnection();
|
||||||
|
}
|
||||||
|
return sessionID;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String parseSessionID(HttpMethod method) {
|
||||||
|
String sessionID = null;
|
||||||
|
String stickySession = MDMTransaction.getStickySession();
|
||||||
|
Header[] setCookie = method.getResponseHeaders("Set-Cookie"); //$NON-NLS-1$
|
||||||
|
for(Header header : setCookie) {
|
||||||
|
String headerValue = header.getValue();
|
||||||
|
if(headerValue.startsWith(stickySession + "=")) { //$NON-NLS-1$
|
||||||
|
int beginIndex = (stickySession + "=").length(); //$NON-NLS-1$
|
||||||
|
int endIndex = headerValue.indexOf(";", beginIndex); //$NON-NLS-1$
|
||||||
|
sessionID = headerValue.substring(beginIndex, endIndex);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(sessionID == null) {
|
||||||
|
if(LOG.isDebugEnabled()) {
|
||||||
|
LOG.warn("Cookie for sticky session not found!"); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
sessionID = ""; //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
return sessionID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getMDMTransactionURL(String url) {
|
||||||
|
if(url == null || "".equals(url)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
int count = 3;
|
||||||
|
int i=0;
|
||||||
|
for(;i<url.length();i++) {
|
||||||
|
char c = url.charAt(i);
|
||||||
|
if('/' == c) {
|
||||||
|
count--;
|
||||||
|
}
|
||||||
|
if(count == 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String result = url.substring(0, i);
|
||||||
|
result += "/datamanager/services/transactions"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("nls")
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
String sessionID = MDMTransactionClient.getSessionID("http://localhost:8000/datamanager/services/transactions", "administrator", "administrator");
|
||||||
|
System.out.println(sessionID);
|
||||||
|
|
||||||
|
MDMTransaction mt = MDMTransactionClient.newTransaction("http://localhost:8000/datamanager/services/transactions", "administrator", "administrator");
|
||||||
|
mt.commit();
|
||||||
|
|
||||||
|
MDMTransaction mt1 = MDMTransactionClient.newTransaction("http://localhost:8000/datamanager/services/transactions", "administrator", "administrator");
|
||||||
|
mt1.rollback();
|
||||||
|
|
||||||
|
String url = "http://localhost:8000/talend/TalendPort";
|
||||||
|
String mdmurl = MDMTransactionClient.getMDMTransactionURL(url);
|
||||||
|
System.out.println(mdmurl);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -95,10 +95,10 @@
|
|||||||
boolean isAllRows = "ALL_ROWS".equals(matchingModeStr);
|
boolean isAllRows = "ALL_ROWS".equals(matchingModeStr);
|
||||||
|
|
||||||
boolean includeParallelComps = false;
|
boolean includeParallelComps = false;
|
||||||
List<? extends INode> listPartitions= node.getProcess().getNodesOfType("tPartitioner");
|
INode collectorNode = validTarget.getDesignSubjobStartNode();
|
||||||
if (listPartitions!=null && listPartitions.size() > 0 ) {
|
if ("tCollector".equals(collectorNode.getComponent().getName())) {
|
||||||
includeParallelComps = true;
|
includeParallelComps = true;
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE matchingModeEnum_<%=connectionName%> =
|
org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE matchingModeEnum_<%=connectionName%> =
|
||||||
org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE.<%= matchingModeStr %>;
|
org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE.<%= matchingModeStr %>;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
java.util.List
|
java.util.List
|
||||||
|
org.talend.core.model.process.EConnectionType
|
||||||
org.talend.core.model.process.IHashableInputConnections
|
org.talend.core.model.process.IHashableInputConnections
|
||||||
org.talend.core.model.process.IHashConfiguration
|
org.talend.core.model.process.IHashConfiguration
|
||||||
org.talend.core.model.process.IDataConnection
|
org.talend.core.model.process.IDataConnection
|
||||||
@@ -49,12 +50,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
memoryStorage = !(hashConfiguration != null && hashConfiguration.isPersistent() || bSortOnDisk);
|
memoryStorage = !(hashConfiguration != null && hashConfiguration.isPersistent() || bSortOnDisk);
|
||||||
}
|
|
||||||
|
|
||||||
boolean includeParallelComps = false;
|
boolean includeParallelComps = false;
|
||||||
List<? extends INode> listPartitions= node.getProcess().getNodesOfType("tPartitioner");
|
INode partitionNode = validTarget.getDesignSubjobStartNode();
|
||||||
if (listPartitions!=null && listPartitions.size() > 0 ) {
|
if ("tCollector".equals(partitionNode.getComponent().getName())) {
|
||||||
includeParallelComps = true;
|
includeParallelComps = true;
|
||||||
|
partitionNode = partitionNode.getIncomingConnections(EConnectionType.STARTS).get(0).getSource();
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
tHash_Lookup_<%=connectionName%>.endPut();
|
tHash_Lookup_<%=connectionName%>.endPut();
|
||||||
@@ -62,7 +63,7 @@ tHash_Lookup_<%=connectionName%>.endPut();
|
|||||||
if (includeParallelComps && memoryStorage && !isOneOfReloadLookupMode) {
|
if (includeParallelComps && memoryStorage && !isOneOfReloadLookupMode) {
|
||||||
%>
|
%>
|
||||||
java.util.List<java.util.concurrent.ConcurrentHashMap<String,Object>> mapsList_<%=cid%> =
|
java.util.List<java.util.concurrent.ConcurrentHashMap<String,Object>> mapsList_<%=cid%> =
|
||||||
(java.util.List<java.util.concurrent.ConcurrentHashMap<String,Object>>)globalMap.get("THREAD_MAPS_"+jobName);
|
(java.util.List<java.util.concurrent.ConcurrentHashMap<String,Object>>)globalMap.get("THREAD_MAPS_<%=partitionNode.getUniqueName()%>_"+jobName);
|
||||||
if (mapsList_<%=cid%> != null) {
|
if (mapsList_<%=cid%> != null) {
|
||||||
|
|
||||||
|
|
||||||
@@ -101,6 +102,8 @@ java.util.List<java.util.concurrent.ConcurrentHashMap<String,Object>> mapsList_<
|
|||||||
<%
|
<%
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ imports="
|
|||||||
java.util.List
|
java.util.List
|
||||||
org.talend.core.model.process.IProcess
|
org.talend.core.model.process.IProcess
|
||||||
org.talend.core.model.process.IElementParameter
|
org.talend.core.model.process.IElementParameter
|
||||||
|
org.talend.core.model.process.AbstractNode
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
<%@ include file="../templates/Log4j/Log4jFileUtil.javajet"%>
|
<%@ include file="../templates/Log4j/Log4jFileUtil.javajet"%>
|
||||||
@@ -456,9 +457,9 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -507,7 +508,7 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
@@ -879,9 +880,9 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -930,7 +931,7 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
java.util.List
|
java.util.List
|
||||||
org.talend.core.model.process.IProcess
|
org.talend.core.model.process.IProcess
|
||||||
org.talend.core.model.utils.NodeUtil
|
org.talend.core.model.utils.NodeUtil
|
||||||
|
org.talend.core.model.process.AbstractNode
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
<%@ include file="../templates/Log4j/Log4jFileUtil.javajet"%>
|
<%@ include file="../templates/Log4j/Log4jFileUtil.javajet"%>
|
||||||
@@ -44,9 +45,9 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -139,7 +140,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
java.util.List
|
java.util.List
|
||||||
org.talend.core.model.process.IProcess
|
org.talend.core.model.process.IProcess
|
||||||
org.talend.core.model.utils.NodeUtil
|
org.talend.core.model.utils.NodeUtil
|
||||||
|
org.talend.core.model.process.AbstractNode
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
@@ -43,9 +44,9 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -140,7 +141,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ imports="
|
|||||||
org.talend.core.model.metadata.types.JavaTypesManager
|
org.talend.core.model.metadata.types.JavaTypesManager
|
||||||
org.talend.core.model.metadata.types.JavaType
|
org.talend.core.model.metadata.types.JavaType
|
||||||
org.talend.core.model.utils.NodeUtil
|
org.talend.core.model.utils.NodeUtil
|
||||||
|
org.talend.core.model.process.AbstractNode
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
@@ -81,9 +82,9 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -136,7 +137,7 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
@@ -227,9 +228,9 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -349,7 +350,7 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
@@ -426,9 +427,9 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -497,7 +498,7 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
@@ -585,9 +586,9 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -746,7 +747,7 @@ if(("false").equals(ElementParameterParser.getValue(node,"__CSV_OPTION__"))) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
java.util.List
|
java.util.List
|
||||||
org.talend.core.model.utils.NodeUtil
|
org.talend.core.model.utils.NodeUtil
|
||||||
|
org.talend.core.model.process.AbstractNode
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
@@ -34,9 +35,9 @@
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -61,7 +62,7 @@
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
org.talend.core.model.utils.NodeUtil
|
org.talend.core.model.utils.NodeUtil
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
|
org.talend.core.model.process.AbstractNode
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
@@ -74,9 +75,9 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
|
|||||||
synchronized (multiThreadLockWrite) {
|
synchronized (multiThreadLockWrite) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
synchronized (lockWrite) {
|
synchronized ((Object[])globalMap.get("lockWrite_<%=((AbstractNode)node).getParallelIterator()%>")) {
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (isParallelize) {
|
if (isParallelize) {
|
||||||
@@ -100,7 +101,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
|
|||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if (NodeUtil.subBranchContainsParallelIterate(node)) {
|
if (((AbstractNode)node).getParallelIterator() != null) {
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -87,6 +87,9 @@
|
|||||||
REPOSITORY_VALUE="SID" REQUIRED="true">
|
REPOSITORY_VALUE="SID" REQUIRED="true">
|
||||||
<DEFAULT>""</DEFAULT>
|
<DEFAULT>""</DEFAULT>
|
||||||
</PARAMETER>
|
</PARAMETER>
|
||||||
|
<PARAMETER NAME="DISTRIBUTION" FIELD="TEXT" NUM_ROW="14">
|
||||||
|
<DEFAULT>""</DEFAULT>
|
||||||
|
</PARAMETER>
|
||||||
</PARAMETERS>
|
</PARAMETERS>
|
||||||
|
|
||||||
<ADVANCED_PARAMETERS>
|
<ADVANCED_PARAMETERS>
|
||||||
@@ -125,35 +128,36 @@
|
|||||||
<CODEGENERATION>
|
<CODEGENERATION>
|
||||||
<IMPORTS>
|
<IMPORTS>
|
||||||
<!-- MICROSOFT HD INSIGHT 3.1 -->
|
<!-- MICROSOFT HD INSIGHT 3.1 -->
|
||||||
<IMPORT NAME="talend-webhcat-launcher-1.0.0" MODULE="talend-webhcat-launcher-1.0.0.jar"
|
<IMPORT NAME="talend-webhcat-launcher-1.0.0" MODULE="talend-webhcat-launcher-1.0.0.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="cxf-api-2.7.7" MODULE="cxf-api-2.7.7.jar"
|
<IMPORT NAME="cxf-api-2.7.7" MODULE="cxf-api-2.7.7.jar"
|
||||||
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-api-2.7.7.jar"
|
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-api-2.7.7.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="cxf-rt-bindings-xml-2.7.7" MODULE="cxf-rt-bindings-xml-2.7.7.jar"
|
<IMPORT NAME="cxf-rt-bindings-xml-2.7.7" MODULE="cxf-rt-bindings-xml-2.7.7.jar"
|
||||||
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-bindings-xml-2.7.7.jar"
|
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-bindings-xml-2.7.7.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="cxf-rt-core-2.7.7" MODULE="cxf-rt-core-2.7.7.jar"
|
<IMPORT NAME="cxf-rt-core-2.7.7" MODULE="cxf-rt-core-2.7.7.jar"
|
||||||
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-core-2.7.7.jar"
|
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-core-2.7.7.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="cxf-rt-frontend-jaxrs-2.7.7" MODULE="cxf-rt-frontend-jaxrs-2.7.7.jar"
|
<IMPORT NAME="cxf-rt-frontend-jaxrs-2.7.7" MODULE="cxf-rt-frontend-jaxrs-2.7.7.jar"
|
||||||
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-frontend-jaxrs-2.7.7.jar"
|
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-frontend-jaxrs-2.7.7.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="cxf-rt-transports-http-2.7.7" MODULE="cxf-rt-transports-http-2.7.7.jar"
|
<IMPORT NAME="cxf-rt-transports-http-2.7.7" MODULE="cxf-rt-transports-http-2.7.7.jar"
|
||||||
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-transports-http-2.7.7.jar"
|
UrlPath="platform:/plugin/org.talend.libraries.apache.cxf/lib/cxf-rt-transports-http-2.7.7.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="json-simple" MODULE="json_simple-1.1.jar"
|
<IMPORT NAME="json-simple" MODULE="json_simple-1.1.jar"
|
||||||
UrlPath="platform:/plugin/org.talend.libraries.jackson/lib/json_simple-1.1.jar"
|
UrlPath="platform:/plugin/org.talend.libraries.jackson/lib/json_simple-1.1.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="javax.ws.rs-api-2.0-m10" MODULE="javax.ws.rs-api-2.0-m10.jar"
|
<IMPORT NAME="javax.ws.rs-api-2.0-m10" MODULE="javax.ws.rs-api-2.0-m10.jar"
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<IMPORT NAME="WSDL4J-1_6_2" MODULE="wsdl4j-1.6.2.jar"
|
<IMPORT NAME="WSDL4J-1_6_2" MODULE="wsdl4j-1.6.2.jar"
|
||||||
BundleID="org.apache.servicemix.bundles.wsdl4j" REQUIRED="true" />
|
BundleID="org.apache.servicemix.bundles.wsdl4j" REQUIRED="false"
|
||||||
<IMPORT NAME="azure-storage-1.2.0" MODULE="azure-storage-1.2.0.jar"
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
REQUIRED_IF="USE_EXISTING_CONNECTION=='false'" />
|
<IMPORT NAME="azure-storage-1.2.0" MODULE="azure-storage-1.2.0.jar"
|
||||||
|
REQUIRED_IF="(USE_EXISTING_CONNECTION=='false') AND (DISTRIBUTION=='MICROSOFT_HD_INSIGHT')" />
|
||||||
<!-- #################### -->
|
<!-- #################### -->
|
||||||
</IMPORTS>
|
</IMPORTS>
|
||||||
</CODEGENERATION>
|
</CODEGENERATION>
|
||||||
|
|
||||||
<RETURNS />
|
<RETURNS />
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
|
|||||||
Binary file not shown.
@@ -1,48 +1,63 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
|
||||||
<%
|
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
|
||||||
String cid = node.getUniqueName();
|
|
||||||
|
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
|
||||||
|
|
||||||
String version = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
|
||||||
String dataModule = ElementParameterParser.getValue(node, "__DATAMODEL__");
|
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
|
||||||
String dataEntity = ElementParameterParser.getValue(node, "__DATACONCEPT__");
|
|
||||||
String arraySize = ElementParameterParser.getValue(node,"__MASS_LEVEL__");
|
|
||||||
|
|
||||||
boolean validate = ("true").equals(ElementParameterParser.getValue(node,"__VALIDATE__"));
|
|
||||||
boolean isGenerateId = ("true").equals(ElementParameterParser.getValue(node,"__GENERATE_ID__"));
|
|
||||||
|
|
||||||
boolean useTransaction = ("true").equals(ElementParameterParser.getValue(node,"__USE_TRANSACTION__"));
|
|
||||||
String transactionProvider = ElementParameterParser.getValue(node,"__TRANSACTION_PROVIDER__");
|
|
||||||
String mdmTransaction = "mdmTransaction_" + transactionProvider;
|
|
||||||
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
String passwordFieldName = "__PASSWORD__";
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
|
|
||||||
|
String version = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
|
String dataModule = ElementParameterParser.getValue(node, "__DATAMODEL__");
|
||||||
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
|
String dataEntity = ElementParameterParser.getValue(node, "__DATACONCEPT__");
|
||||||
|
String arraySize = ElementParameterParser.getValue(node,"__MASS_LEVEL__");
|
||||||
|
|
||||||
|
boolean validate = ("true").equals(ElementParameterParser.getValue(node,"__VALIDATE__"));
|
||||||
|
boolean isGenerateId = ("true").equals(ElementParameterParser.getValue(node,"__GENERATE_ID__"));
|
||||||
|
|
||||||
|
boolean useTransaction = ("true").equals(ElementParameterParser.getValue(node,"__USE_TRANSACTION__"));
|
||||||
|
String connection = ElementParameterParser.getValue(node,"__TRANSACTION_PROVIDER__");
|
||||||
|
String trans = "mdmTrans_" + connection;
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
org.talend.mdm.bulkload.client.BulkloadClient bulkloadClient_<%=cid %> = new org.talend.mdm.bulkload.client.BulkloadClient(<%=mdmUrl%>, <%=username %>, decryptedPassword_<%=cid%>, <%=version==null || "".equals(version)? "null":version%>, <%=dataCluster %> + "<%=isStaging?"#STAGING":""%>", <%=dataEntity %>, <%=dataModule%>);
|
org.talend.mdm.bulkload.client.BulkloadClient bulkloadClient_<%=cid %> = new org.talend.mdm.bulkload.client.BulkloadClient(<%=mdmUrl%>, <%=username %>, decryptedPassword_<%=cid%>, <%=version==null || "".equals(version)? "null":version%>, <%=dataCluster %> + "<%=isStaging?"#STAGING":""%>", <%=dataEntity %>, <%=dataModule%>);
|
||||||
<%if(useTransaction) {%>
|
<%if(useTransaction) {%>
|
||||||
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=mdmTransaction%>");
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
if(mdmTransaction_<%=cid%>!=null) {
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
bulkloadClient_<%=cid %>.setTransactionId(mdmTransaction_<%=cid%>.getId());
|
String murl_<%=cid%> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
}
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
}
|
||||||
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
|
}
|
||||||
|
bulkloadClient_<%=cid %>.setSessionId(mdmTransaction_<%=cid%>.getSessionId());
|
||||||
|
bulkloadClient_<%=cid %>.setTransactionId(mdmTransaction_<%=cid%>.getId());
|
||||||
<%}%>
|
<%}%>
|
||||||
|
|
||||||
bulkloadClient_<%=cid %>.startThreadCount();
|
bulkloadClient_<%=cid %>.startThreadCount();
|
||||||
bulkloadClient_<%=cid %>.setOptions(new org.talend.mdm.bulkload.client.BulkloadOptions(<%=isGenerateId %>, <%=validate %>, <%=arraySize%>));
|
bulkloadClient_<%=cid %>.setOptions(new org.talend.mdm.bulkload.client.BulkloadOptions(<%=isGenerateId %>, <%=validate %>, <%=arraySize%>));
|
||||||
int count_<%=cid%> = 0;
|
int count_<%=cid%> = 0;
|
||||||
org.talend.mdm.bulkload.client.InputStreamMerger inputStreamMerger_<%=cid%> = null;
|
org.talend.mdm.bulkload.client.InputStreamMerger inputStreamMerger_<%=cid%> = null;
|
||||||
@@ -1,21 +1,23 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
//for bug TDI-22445
|
//for bug TDI-22445
|
||||||
%>
|
%>
|
||||||
|
|
||||||
if (inputStreamMerger_<%=cid%>!=null) {
|
if (inputStreamMerger_<%=cid%>!=null) {
|
||||||
inputStreamMerger_<%=cid%>.close();
|
inputStreamMerger_<%=cid%>.close();
|
||||||
}
|
}
|
||||||
bulkloadClient_<%=cid %>.waitForEndOfQueue();
|
bulkloadClient_<%=cid %>.waitForEndOfQueue();
|
||||||
bulkloadClient_<%=cid %> = null;
|
bulkloadClient_<%=cid %> = null;
|
||||||
<%//TDI-26145%>
|
<%//TDI-26145%>
|
||||||
if(inputStreamMerger_<%=cid%>!=null && inputStreamMerger_<%=cid%>.getLastReportedFailure()!=null){
|
if(inputStreamMerger_<%=cid%>!=null && inputStreamMerger_<%=cid%>.getLastReportedFailure()!=null){
|
||||||
throw new Exception(inputStreamMerger_<%=cid%>.getLastReportedFailure());
|
throw new Exception(inputStreamMerger_<%=cid%>.getLastReportedFailure());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ if (count_<%=cid%> % <%=arraySize%> == 0) {
|
|||||||
if(inputStreamMerger_<%=cid%> != null)
|
if(inputStreamMerger_<%=cid%> != null)
|
||||||
inputStreamMerger_<%=cid%>.close();
|
inputStreamMerger_<%=cid%>.close();
|
||||||
inputStreamMerger_<%=cid%> = bulkloadClient_<%=cid %>.load();
|
inputStreamMerger_<%=cid%> = bulkloadClient_<%=cid %>.load();
|
||||||
|
resourceMap.put("mdmBulkStream<%=cid %>", inputStreamMerger_<%=cid%>);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(<%=conn.getName()%>.<%=xmlField %>!=null){
|
if(<%=conn.getName()%>.<%=xmlField %>!=null){
|
||||||
|
|||||||
@@ -1,23 +1,27 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
String cid = node.getUniqueName();
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
|
String conn = "xtentisWS_" + connection;
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
|
||||||
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
%>
|
%>
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
|
||||||
if(xtentisWS_<%=cid %> != null)
|
java.util.Iterator it_<%=cid %> = globalMap.keySet().iterator();
|
||||||
{
|
while (it_<%=cid %>.hasNext()) {
|
||||||
xtentisWS_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
String key_<%=cid %> = it_<%=cid %>.next().toString();
|
||||||
}
|
if (key_<%=cid %>.startsWith("<%=conn %>_")) {
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get(key_<%=cid %>);
|
||||||
|
if(xtentisWS_<%=cid %> != null) {
|
||||||
|
xtentisWS_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,33 +1,30 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
String cid = node.getUniqueName();
|
String connection = ElementParameterParser.getValue(node, "__CONNECTION__");
|
||||||
|
boolean close = ("true").equals(ElementParameterParser.getValue(node,"__CLOSE__"));
|
||||||
String connection = ElementParameterParser.getValue(node, "__CONNECTION__");
|
String conn = "xtentisWS_" + connection;
|
||||||
|
String trans = "mdmTrans_" + connection;
|
||||||
boolean close = ("true").equals(ElementParameterParser.getValue(node,"__CLOSE__"));
|
|
||||||
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
String mdmTransaction = "mdmTransaction_" + connection;
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType conn_<%=cid%> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
if(conn_<%=cid%> != null)
|
if(mdmTransaction_<%=cid%> != null) {
|
||||||
{
|
mdmTransaction_<%=cid%>.commit();
|
||||||
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=mdmTransaction%>");
|
|
||||||
if(mdmTransaction_<%=cid%>!=null) {
|
|
||||||
mdmTransaction_<%=cid%>.commit();
|
|
||||||
}
|
|
||||||
<% if(close){%>
|
|
||||||
conn_<%=cid%>.logout(new org.talend.mdm.webservice.WSLogout());
|
|
||||||
<% }%>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<% if(close){%>
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType conn_<%=cid%> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(conn_<%=cid%> != null) {
|
||||||
|
conn_<%=cid%>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
|
}
|
||||||
|
<% }%>
|
||||||
|
|||||||
Binary file not shown.
@@ -1,11 +1,11 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
@@ -16,35 +16,29 @@ String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
|||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
boolean useTransaction = "false".equals(ElementParameterParser.getValue(node, "__AUTO_COMMIT__"));
|
boolean useTransaction = "false".equals(ElementParameterParser.getValue(node, "__AUTO_COMMIT__"));
|
||||||
|
boolean useClientTranId = "true".equals(ElementParameterParser.getValue(node, "__GEN_TRANSACTION_ID__"));
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
<%if(universe == null || ("").equals(universe.trim())){%>
|
||||||
|
String username_<%=cid %> = <%=username %>;
|
||||||
|
<%}else{%>
|
||||||
|
String username_<%=cid %> = <%=universe%> + "/" + <%=username %>;
|
||||||
|
<%}%>
|
||||||
|
|
||||||
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
|
globalMap.put("mdmUrl_<%=cid %>", <%=mdmUrl %>);
|
||||||
|
globalMap.put("username_<%=cid %>", username_<%=cid %>);
|
||||||
|
globalMap.put("password_<%=cid %>", decryptedPassword_<%=cid %>);
|
||||||
|
globalMap.put("useTransaction_<%=cid %>", <%=useTransaction %>);
|
||||||
|
globalMap.put("useClientTranId_<%=cid %>", <%=useClientTranId %>);
|
||||||
|
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
// Authentification
|
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
<%}else{%>
|
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
|
||||||
<%}%>
|
|
||||||
|
|
||||||
<%
|
|
||||||
String passwordFieldName = "__PASSWORD__";
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
|
||||||
|
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());
|
||||||
<%if(useTransaction) {%>
|
xtentisWS_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(<%=mdmUrl %>);
|
|
||||||
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
|
||||||
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
|
||||||
globalMap.put("mdmTransaction_<%=cid %>", mdmTransaction_<%=cid%>);
|
|
||||||
<%}%>
|
|
||||||
|
|
||||||
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
|
||||||
|
|
||||||
globalMap.put("xtentisWS_<%=cid %>", xtentisWS_<%=cid %>);
|
|
||||||
@@ -61,6 +61,15 @@
|
|||||||
<DEFAULT>true</DEFAULT>
|
<DEFAULT>true</DEFAULT>
|
||||||
</PARAMETER>
|
</PARAMETER>
|
||||||
|
|
||||||
|
<PARAMETER
|
||||||
|
NAME="GEN_TRANSACTION_ID"
|
||||||
|
FIELD="CHECK"
|
||||||
|
NUM_ROW="40"
|
||||||
|
SHOW_IF="AUTO_COMMIT=='false'"
|
||||||
|
>
|
||||||
|
<DEFAULT>false</DEFAULT>
|
||||||
|
</PARAMETER>
|
||||||
|
|
||||||
</PARAMETERS>
|
</PARAMETERS>
|
||||||
|
|
||||||
<ADVANCED_PARAMETERS/>
|
<ADVANCED_PARAMETERS/>
|
||||||
|
|||||||
@@ -6,4 +6,5 @@ UNIVERSE.NAME=Version
|
|||||||
HELP=org.talend.help.tMDMConnection
|
HELP=org.talend.help.tMDMConnection
|
||||||
LONG_NAME=Creates a connection to a MDM Server
|
LONG_NAME=Creates a connection to a MDM Server
|
||||||
|
|
||||||
AUTO_COMMIT.NAME=Auto Commit
|
AUTO_COMMIT.NAME=Auto Commit
|
||||||
|
GEN_TRANSACTION_ID.NAME=Use client side transaction id
|
||||||
@@ -1,49 +1,81 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
|
%>
|
||||||
|
|
||||||
|
<%
|
||||||
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
|
String conn = "xtentisWS_" + connection;
|
||||||
|
String trans = "mdmTrans_" + connection;
|
||||||
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
|
|
||||||
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
|
String dataModule = ElementParameterParser.getValue(node, "__CONCEPT__");
|
||||||
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
%>
|
%>
|
||||||
<%
|
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
|
||||||
String cid = node.getUniqueName();
|
|
||||||
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
|
||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
|
||||||
String dataModule = ElementParameterParser.getValue(node, "__CONCEPT__");
|
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
|
||||||
|
|
||||||
%>
|
|
||||||
int nb_line_<%=cid %> = 0;
|
int nb_line_<%=cid %> = 0;
|
||||||
<%if(!useExistingConn){%>
|
<%if(!useExistingConn){%>
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
// Authentification
|
<%if(universe==null || ("").equals(universe.trim())){%>
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
<%}else{%>
|
||||||
<%}else{%>
|
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
<%}%>
|
||||||
<%}%>
|
|
||||||
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
<%
|
|
||||||
String passwordFieldName = "__PASSWORD__";
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(xtentisWS_<%=cid %> == null) {
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername(username_<%=cid%>);
|
||||||
|
stub_<%=cid %>.setPassword(password_<%=cid%>);
|
||||||
|
if((Boolean)globalMap.get("useTransaction_<%=connection %>")) {
|
||||||
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
||||||
|
}
|
||||||
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.client.Call.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE, com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId());
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
||||||
|
globalMap.put("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName(), xtentisWS_<%=cid %>);
|
||||||
|
}
|
||||||
<%}%>
|
<%}%>
|
||||||
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
||||||
@@ -1,18 +1,19 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
%>
|
%>
|
||||||
<%if(!useExistingConn){%>
|
|
||||||
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
<%if(!useExistingConn){%>
|
||||||
<%}%>
|
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
<%}%>
|
||||||
|
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
||||||
@@ -1,15 +1,16 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
@@ -33,61 +34,61 @@ String sourceName = ElementParameterParser.getValue(node,"__SOURCE__");
|
|||||||
String needCheck = ElementParameterParser.getValue(node,"__ISINVOKE__");
|
String needCheck = ElementParameterParser.getValue(node,"__ISINVOKE__");
|
||||||
|
|
||||||
if(spellThrehold==null || ("").equals(spellThrehold)){
|
if(spellThrehold==null || ("").equals(spellThrehold)){
|
||||||
spellThrehold = "0";
|
spellThrehold = "0";
|
||||||
}
|
}
|
||||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||||
if ((metadatas!=null)&&(metadatas.size()>0)) {//1
|
if ((metadatas!=null)&&(metadatas.size()>0)) {//1
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
if (metadata!=null) {//2
|
if (metadata!=null) {//2
|
||||||
|
|
||||||
List< ? extends IConnection> conns = node.getIncomingConnections();
|
List< ? extends IConnection> conns = node.getIncomingConnections();
|
||||||
for (IConnection conn : conns) {//3
|
for (IConnection conn : conns) {//3
|
||||||
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {//4
|
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {//4
|
||||||
if(!useMultConditions){//5
|
if(!useMultConditions){//5
|
||||||
%>
|
%>
|
||||||
String[] wsIds_<%=cid %> = {
|
String[] wsIds_<%=cid %> = {
|
||||||
<%
|
<%
|
||||||
for(int i=0;i<keyValues.size();i++){
|
for(int i=0;i<keyValues.size();i++){
|
||||||
String columnName=keyValues.get(i).get("KEY");
|
String columnName=keyValues.get(i).get("KEY");
|
||||||
%>
|
%>
|
||||||
<%=i==0?"":","%><%=conn.getName()%>.<%=columnName %>
|
<%=i==0?"":","%><%=conn.getName()%>.<%=columnName %>
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>};
|
%>};
|
||||||
org.talend.mdm.webservice.WSItemPK wsPK_<%=cid %> = new org.talend.mdm.webservice.WSItemPK(dataCluster_<%=cid %>,<%=dataModule %>,wsIds_<%=cid %>);
|
org.talend.mdm.webservice.WSItemPK wsPK_<%=cid %> = new org.talend.mdm.webservice.WSItemPK(dataCluster_<%=cid %>,<%=dataModule %>,wsIds_<%=cid %>);
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
|
||||||
try{
|
try{
|
||||||
<%
|
<%
|
||||||
if(isDropItem){
|
if(isDropItem){
|
||||||
%>
|
%>
|
||||||
org.talend.mdm.webservice.WSDropItem item_<%=cid %> = new org.talend.mdm.webservice.WSDropItem();
|
org.talend.mdm.webservice.WSDropItem item_<%=cid %> = new org.talend.mdm.webservice.WSDropItem();
|
||||||
item_<%=cid %>.setPartPath(<%=partPath %>);
|
item_<%=cid %>.setPartPath(<%=partPath %>);
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
org.talend.mdm.webservice.WSDeleteItem item_<%=cid %> = new org.talend.mdm.webservice.WSDeleteItem();
|
org.talend.mdm.webservice.WSDeleteItem item_<%=cid %> = new org.talend.mdm.webservice.WSDeleteItem();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
item_<%=cid %>.setWsItemPK(wsPK_<%=cid %>);
|
item_<%=cid %>.setWsItemPK(wsPK_<%=cid %>);
|
||||||
item_<%=cid %>.setOverride(false);
|
item_<%=cid %>.setOverride(false);
|
||||||
<%
|
<%
|
||||||
if (!isStaging && withReport) {
|
if (!isStaging && withReport) {
|
||||||
%>
|
%>
|
||||||
item_<%=cid %>.setWithReport(true);
|
item_<%=cid %>.setWithReport(true);
|
||||||
item_<%=cid %>.setSource(<%=sourceName%>);
|
item_<%=cid %>.setSource(<%=sourceName%>);
|
||||||
item_<%=cid %>.setInvokeBeforeDeleting(<%=needCheck%>);
|
item_<%=cid %>.setInvokeBeforeDeleting(<%=needCheck%>);
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if(isDropItem){
|
if(isDropItem){
|
||||||
%>
|
%>
|
||||||
|
|
||||||
xtentisWS_<%=cid %>.dropItem(item_<%=cid %>);
|
xtentisWS_<%=cid %>.dropItem(item_<%=cid %>);
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
xtentisWS_<%=cid %>.deleteItem(item_<%=cid %>);
|
xtentisWS_<%=cid %>.deleteItem(item_<%=cid %>);
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
@@ -95,78 +96,78 @@ try{
|
|||||||
<%
|
<%
|
||||||
if(dieOnError){
|
if(dieOnError){
|
||||||
%>
|
%>
|
||||||
throw(e);
|
throw(e);
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
System.err.println(e.getMessage());
|
System.err.println(e.getMessage());
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
nb_line_<%=cid %>++;
|
nb_line_<%=cid %>++;
|
||||||
|
|
||||||
///////////////////////
|
///////////////////////
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}//4
|
}//4
|
||||||
}//3
|
}//3
|
||||||
}//2
|
}//2
|
||||||
}//1
|
}//1
|
||||||
%>
|
%>
|
||||||
<%
|
<%
|
||||||
if(useMultConditions){
|
if(useMultConditions){
|
||||||
%>
|
%>
|
||||||
org.talend.mdm.webservice.WSWhereCondition wc_<%=cid %> = null;
|
org.talend.mdm.webservice.WSWhereCondition wc_<%=cid %> = null;
|
||||||
java.util.List<org.talend.mdm.webservice.WSWhereItem> conditions_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSWhereItem>();
|
java.util.List<org.talend.mdm.webservice.WSWhereItem> conditions_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSWhereItem>();
|
||||||
<%
|
<%
|
||||||
boolean isOnlyOrPredicate=true;
|
boolean isOnlyOrPredicate=true;
|
||||||
for(int i=0; i < operations.size(); i++){
|
for(int i=0; i < operations.size(); i++){
|
||||||
Map<String, String> map= operations.get(i);
|
Map<String, String> map= operations.get(i);
|
||||||
String xpath=map.get("XPATH");
|
String xpath=map.get("XPATH");
|
||||||
String operator=map.get("FUNCTION");
|
String operator=map.get("FUNCTION");
|
||||||
String value = map.get("VALUE");
|
String value = map.get("VALUE");
|
||||||
String predicate = map.get("PREDICATE");
|
String predicate = map.get("PREDICATE");
|
||||||
if((i < operations.size()-1) && (!"OR".equals(predicate))){
|
if((i < operations.size()-1) && (!"OR".equals(predicate))){
|
||||||
isOnlyOrPredicate = false;
|
isOnlyOrPredicate = false;
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
wc_<%=cid %> =new org.talend.mdm.webservice.WSWhereCondition(<%=xpath %>,org.talend.mdm.webservice.WSWhereOperator.<%=operator %>, <%="EMPTY_NULL".equals(operator)? null:value %>, org.talend.mdm.webservice.WSStringPredicate.<%=predicate %>,false);
|
wc_<%=cid %> =new org.talend.mdm.webservice.WSWhereCondition(<%=xpath %>,org.talend.mdm.webservice.WSWhereOperator.<%=operator %>, <%="EMPTY_NULL".equals(operator)? null:value %>, org.talend.mdm.webservice.WSStringPredicate.<%=predicate %>,false);
|
||||||
org.talend.mdm.webservice.WSWhereItem wsItem_<%=i %>_<%=cid %>=new org.talend.mdm.webservice.WSWhereItem(wc_<%=cid %>,null,null);
|
org.talend.mdm.webservice.WSWhereItem wsItem_<%=i %>_<%=cid %>=new org.talend.mdm.webservice.WSWhereItem(wc_<%=cid %>,null,null);
|
||||||
conditions_<%=cid %>.add(wsItem_<%=i %>_<%=cid %>);
|
conditions_<%=cid %>.add(wsItem_<%=i %>_<%=cid %>);
|
||||||
<%
|
<%
|
||||||
}//for
|
}//for
|
||||||
%>
|
%>
|
||||||
org.talend.mdm.webservice.WSWhereItem wsItem_<%=cid %> = null;
|
org.talend.mdm.webservice.WSWhereItem wsItem_<%=cid %> = null;
|
||||||
if(conditions_<%=cid %>.size() > 0){
|
if(conditions_<%=cid %>.size() > 0){
|
||||||
<%
|
<%
|
||||||
if(!isOnlyOrPredicate){
|
if(!isOnlyOrPredicate){
|
||||||
%>
|
%>
|
||||||
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]),null);
|
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]),null);
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]));
|
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]));
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
try{
|
try{
|
||||||
org.talend.mdm.webservice.WSDeleteItems items_<%=cid %> = new org.talend.mdm.webservice.WSDeleteItems(dataCluster_<%=cid %>,<%=dataModule %>,wsItem_<%=cid %>,<%=spellThrehold%>,false);
|
org.talend.mdm.webservice.WSDeleteItems items_<%=cid %> = new org.talend.mdm.webservice.WSDeleteItems(dataCluster_<%=cid %>,<%=dataModule %>,wsItem_<%=cid %>,<%=spellThrehold%>,false);
|
||||||
xtentisWS_<%=cid %>.deleteItems(items_<%=cid %>);
|
xtentisWS_<%=cid %>.deleteItems(items_<%=cid %>);
|
||||||
}catch(java.lang.Exception e_<%=cid%>){
|
}catch(java.lang.Exception e_<%=cid%>){
|
||||||
<%
|
<%
|
||||||
if(dieOnError){
|
if(dieOnError){
|
||||||
%>
|
%>
|
||||||
throw(e_<%=cid%>);
|
throw(e_<%=cid%>);
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
System.err.println(e_<%=cid%>.getMessage());
|
System.err.println(e_<%=cid%>.getMessage());
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
@@ -1,97 +1,139 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
||||||
if(destination!=null && !"".equals(destination)){
|
if(destination!=null && !"".equals(destination)){
|
||||||
cid = destination;
|
cid = destination;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
String conn = "xtentisWS_" + connection;
|
String conn = "xtentisWS_" + connection;
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
String trans = "mdmTrans_" + connection;
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
|
|
||||||
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
|
String dataModule = ElementParameterParser.getValue(node, "__DATAMODEL__");
|
||||||
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
|
boolean isProvisioning = "\"PROVISIONING\"".equalsIgnoreCase(dataCluster);
|
||||||
|
|
||||||
|
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
||||||
|
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
||||||
|
|
||||||
|
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
||||||
|
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
||||||
|
%>
|
||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
|
||||||
String dataModule = ElementParameterParser.getValue(node, "__DATAMODEL__");
|
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
|
||||||
|
|
||||||
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
|
||||||
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
|
||||||
|
|
||||||
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
|
||||||
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
|
||||||
|
|
||||||
%>
|
|
||||||
int nb_line_<%=cid %> = 0;
|
int nb_line_<%=cid %> = 0;
|
||||||
int nb_line_rejected_<%=cid%> = 0;
|
int nb_line_rejected_<%=cid%> = 0;
|
||||||
<%if(!usePartialUpdate){%>
|
<%if(!usePartialUpdate){%>
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
class Util_<%=cid%>{
|
class Util_<%=cid%>{
|
||||||
public org.talend.mdm.webservice.WSUpdateMetadataItem makeUpdateMeteItm(String taskID,org.talend.mdm.webservice.WSItemPK wspk){
|
public org.talend.mdm.webservice.WSUpdateMetadataItem makeUpdateMeteItm(String taskID,org.talend.mdm.webservice.WSItemPK wspk){
|
||||||
org.talend.mdm.webservice.WSUpdateMetadataItem wsUpdateMetadataItem = new org.talend.mdm.webservice.WSUpdateMetadataItem();
|
org.talend.mdm.webservice.WSUpdateMetadataItem wsUpdateMetadataItem = new org.talend.mdm.webservice.WSUpdateMetadataItem();
|
||||||
wsUpdateMetadataItem.setTaskId(taskID);
|
wsUpdateMetadataItem.setTaskId(taskID);
|
||||||
wsUpdateMetadataItem.setWsItemPK(wspk);
|
wsUpdateMetadataItem.setWsItemPK(wspk);
|
||||||
return wsUpdateMetadataItem;
|
return wsUpdateMetadataItem;
|
||||||
}
|
}
|
||||||
public org.talend.mdm.webservice.WSUpdateMetadataItem[] makeUpdateMeteItms(java.util.List<String> taskIDs,org.talend.mdm.webservice.WSItemPK[] wspks){
|
public org.talend.mdm.webservice.WSUpdateMetadataItem[] makeUpdateMeteItms(java.util.List<String> taskIDs,org.talend.mdm.webservice.WSItemPK[] wspks){
|
||||||
java.util.List<org.talend.mdm.webservice.WSUpdateMetadataItem> wsUpdateMetadataItems = new java.util.ArrayList<org.talend.mdm.webservice.WSUpdateMetadataItem>();
|
java.util.List<org.talend.mdm.webservice.WSUpdateMetadataItem> wsUpdateMetadataItems = new java.util.ArrayList<org.talend.mdm.webservice.WSUpdateMetadataItem>();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for(org.talend.mdm.webservice.WSItemPK wspk : wspks){
|
for(org.talend.mdm.webservice.WSItemPK wspk : wspks){
|
||||||
wsUpdateMetadataItems.add(makeUpdateMeteItm(taskIDs.get(i),wspk));
|
wsUpdateMetadataItems.add(makeUpdateMeteItm(taskIDs.get(i),wspk));
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
return wsUpdateMetadataItems.toArray(new org.talend.mdm.webservice.WSUpdateMetadataItem[wsUpdateMetadataItems.size()]);
|
return wsUpdateMetadataItems.toArray(new org.talend.mdm.webservice.WSUpdateMetadataItem[wsUpdateMetadataItems.size()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Util_<%=cid%> util_<%=cid%> = new Util_<%=cid%>();
|
Util_<%=cid%> util_<%=cid%> = new Util_<%=cid%>();
|
||||||
<%}%>
|
<%}%>
|
||||||
<%if(isMassInsert){
|
<%if(isMassInsert){
|
||||||
if(!isStaging && withReport){%>
|
if(!isStaging && withReport){%>
|
||||||
java.util.List <org.talend.mdm.webservice.WSPutItemWithReport> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItemWithReport>();
|
java.util.List <org.talend.mdm.webservice.WSPutItemWithReport> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItemWithReport>();
|
||||||
<% }else{%>
|
<% }else{%>
|
||||||
java.util.List <org.talend.mdm.webservice.WSPutItem> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItem>();
|
java.util.List <org.talend.mdm.webservice.WSPutItem> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItem>();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if(addTaskID){
|
if(addTaskID){
|
||||||
%>
|
%>
|
||||||
java.util.List<String> taskIDs_<%=cid%> = new java.util.ArrayList<String>();
|
java.util.List<String> taskIDs_<%=cid%> = new java.util.ArrayList<String>();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
|
|
||||||
<%if(!useExistingConn){%>
|
<%if(!useExistingConn){%>
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
// Authentification
|
// Authentification
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
<%if(universe==null || ("").equals(universe.trim())){%>
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
||||||
<%}%>
|
<%}%>
|
||||||
|
|
||||||
<%
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
String passwordFieldName = "__PASSWORD__";
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
|
<%}else if(isProvisioning){%>
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername((String)globalMap.get("username_<%=connection %>"));
|
||||||
|
stub_<%=cid %>.setPassword((String)globalMap.get("password_<%=connection %>"));
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(xtentisWS_<%=cid %> == null) {
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername(username_<%=cid%>);
|
||||||
|
stub_<%=cid %>.setPassword(password_<%=cid%>);
|
||||||
|
if((Boolean)globalMap.get("useTransaction_<%=connection %>")) {
|
||||||
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
||||||
|
}
|
||||||
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.client.Call.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE, com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId());
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
||||||
|
globalMap.put("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName(), xtentisWS_<%=cid %>);
|
||||||
|
}
|
||||||
<%}%>
|
<%}%>
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
||||||
@@ -100,4 +142,4 @@ org.talend.mdm.webservice.WSDataModelPK dataModel_<%=cid %> = new org.talend.mdm
|
|||||||
String input_<%=cid %>;
|
String input_<%=cid %>;
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSItemPK[] wspks_<%=cid %>;
|
org.talend.mdm.webservice.WSItemPK[] wspks_<%=cid %>;
|
||||||
org.talend.mdm.webservice.WSItemPK wspk_<%=cid %>;
|
org.talend.mdm.webservice.WSItemPK wspk_<%=cid %>;
|
||||||
@@ -1,63 +1,64 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
||||||
if(destination!=null && !"".equals(destination)){
|
if(destination!=null && !"".equals(destination)){
|
||||||
cid = destination;
|
cid = destination;
|
||||||
}
|
}
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
|
||||||
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
||||||
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
||||||
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
|
|
||||||
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
||||||
String taskID = ElementParameterParser.getValue(node,"__TASKID__");
|
String taskID = ElementParameterParser.getValue(node,"__TASKID__");
|
||||||
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
if(!usePartialUpdate){
|
if(!usePartialUpdate){
|
||||||
if(isMassInsert){
|
if(isMassInsert){
|
||||||
if(!isStaging && withReport){
|
if(!isStaging && withReport){
|
||||||
%>
|
%>
|
||||||
if(miList_<%=cid %>.size() > 0){
|
if(miList_<%=cid %>.size() > 0){
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[miList_<%=cid %>.size()]));
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[miList_<%=cid %>.size()]));
|
||||||
miList_<%=cid %>.clear();
|
miList_<%=cid %>.clear();
|
||||||
miList_<%=cid %> = null;
|
miList_<%=cid %> = null;
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
taskIDs_<%=cid%>.clear();
|
taskIDs_<%=cid%>.clear();
|
||||||
<%}%>
|
<%}%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}else{%>
|
}else{%>
|
||||||
if(miList_<%=cid %>.size() > 0){
|
if(miList_<%=cid %>.size() > 0){
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[miList_<%=cid %>.size()]));
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[miList_<%=cid %>.size()]));
|
||||||
miList_<%=cid %>.clear();
|
miList_<%=cid %>.clear();
|
||||||
miList_<%=cid %> = null;
|
miList_<%=cid %> = null;
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
taskIDs_<%=cid%>.clear();
|
taskIDs_<%=cid%>.clear();
|
||||||
<%}%>
|
<%}%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
<%if(!useExistingConn){%>
|
|
||||||
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
<%if(!useExistingConn){%>
|
||||||
<%}%>
|
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
|
<%}%>
|
||||||
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
|
||||||
globalMap.put("<%=cid %>_NB_LINE_REJECTED",nb_line_rejected_<%=cid%>);
|
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
||||||
|
globalMap.put("<%=cid %>_NB_LINE_REJECTED",nb_line_rejected_<%=cid%>);
|
||||||
@@ -1,17 +1,18 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
org.talend.core.model.metadata.IMetadataColumn
|
org.talend.core.model.metadata.IMetadataColumn
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.process.EConnectionType
|
org.talend.core.model.process.EConnectionType
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
@@ -51,177 +52,186 @@ if (destination != null && !"".equals(destination)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (metadatas != null && metadatas.size()>0) {
|
if (metadatas != null && metadatas.size()>0) {
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
if (metadata != null) {
|
if (metadata != null) {
|
||||||
|
|
||||||
List<? extends IConnection> outputConns = node.getOutgoingConnections(EConnectionType.FLOW_MAIN);
|
List<? extends IConnection> outputConns = node.getOutgoingConnections(EConnectionType.FLOW_MAIN);
|
||||||
List<IMetadataColumn> inputColumnList = null;
|
List<IMetadataColumn> inputColumnList = null;
|
||||||
List<IMetadataColumn> outputColumnList = null;
|
List<IMetadataColumn> outputColumnList = null;
|
||||||
List<IMetadataColumn> columnList =metadata.getListColumns();
|
List<IMetadataColumn> columnList =metadata.getListColumns();
|
||||||
|
|
||||||
String rejectConnName = null;
|
String rejectConnName = null;
|
||||||
List<? extends IConnection> rejectConns = node.getOutgoingConnections("REJECT");
|
List<? extends IConnection> rejectConns = node.getOutgoingConnections("REJECT");
|
||||||
List<IMetadataColumn> rejectColumnList = null;
|
List<IMetadataColumn> rejectColumnList = null;
|
||||||
if (rejectConns != null && rejectConns.size() > 0) {
|
if (rejectConns != null && rejectConns.size() > 0) {
|
||||||
IConnection rejectConn = rejectConns.get(0);
|
IConnection rejectConn = rejectConns.get(0);
|
||||||
if(rejectConn!=null){
|
if(rejectConn!=null){
|
||||||
rejectConnName = rejectConn.getName();
|
rejectConnName = rejectConn.getName();
|
||||||
IMetadataTable metadataTable = rejectConn.getMetadataTable();
|
IMetadataTable metadataTable = rejectConn.getMetadataTable();
|
||||||
if(metadataTable!=null){
|
if(metadataTable!=null){
|
||||||
rejectColumnList = metadataTable.getListColumns();
|
rejectColumnList = metadataTable.getListColumns();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String outConnName = null;
|
String outConnName = null;
|
||||||
String inputConnName = null;
|
String inputConnName = null;
|
||||||
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
||||||
|
|
||||||
for(IConnection tmpconn : outgoingConns) {
|
for(IConnection tmpconn : outgoingConns) {
|
||||||
if (tmpconn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
if (tmpconn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
||||||
if(rejectConnName==null || !rejectConnName.equals(tmpconn.getName())){
|
if(rejectConnName==null || !rejectConnName.equals(tmpconn.getName())){
|
||||||
outConnName=tmpconn.getName();
|
outConnName=tmpconn.getName();
|
||||||
IMetadataTable outputMetadata = tmpconn.getMetadataTable();
|
IMetadataTable outputMetadata = tmpconn.getMetadataTable();
|
||||||
if(outputMetadata!=null){
|
if(outputMetadata!=null){
|
||||||
outputColumnList = outputMetadata.getListColumns();
|
outputColumnList = outputMetadata.getListColumns();
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
<%=tmpconn.getName() %> = null;
|
<%=tmpconn.getName() %> = null;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<? extends IConnection> inputConns = node.getIncomingConnections();
|
List<? extends IConnection> inputConns = node.getIncomingConnections();
|
||||||
if (inputConns != null && inputConns.size() > 0) {
|
if (inputConns != null && inputConns.size() > 0) {
|
||||||
IConnection inputConn = inputConns.get(0);
|
IConnection inputConn = inputConns.get(0);
|
||||||
if(inputConn!=null){
|
if(inputConn!=null){
|
||||||
inputConnName = inputConn.getName();
|
inputConnName = inputConn.getName();
|
||||||
IMetadataTable inputMetadata = inputConn.getMetadataTable();
|
IMetadataTable inputMetadata = inputConn.getMetadataTable();
|
||||||
if(inputMetadata!=null) {
|
if(inputMetadata!=null) {
|
||||||
inputColumnList = inputMetadata.getListColumns();
|
inputColumnList = inputMetadata.getListColumns();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outConnName != null && inputConnName!=null) {
|
if (outConnName != null && inputConnName!=null) {
|
||||||
%>
|
%>
|
||||||
<%=outConnName %> = new <%=outConnName %>Struct();
|
<%=outConnName %> = new <%=outConnName %>Struct();
|
||||||
<%
|
<%
|
||||||
for(IMetadataColumn outputColumn : outputColumnList) {
|
for(IMetadataColumn outputColumn : outputColumnList) {
|
||||||
for(IMetadataColumn inputColumn : inputColumnList) {
|
for(IMetadataColumn inputColumn : inputColumnList) {
|
||||||
if (outputColumn.getLabel().equals(inputColumn.getLabel())) {
|
if (outputColumn.getLabel().equals(inputColumn.getLabel())) {
|
||||||
if(doc!=null && doc.equals(outputColumn.getLabel())) {
|
if(doc!=null && doc.equals(outputColumn.getLabel())) {
|
||||||
if("id_Document".equals(outputColumn.getTalendType())) {
|
if("id_Document".equals(outputColumn.getTalendType())) {
|
||||||
%>
|
%>
|
||||||
<%=outConnName %>.<%=doc%> = <%=inputConnName%>.<%=doc%>;
|
<%=outConnName %>.<%=doc%> = <%=inputConnName%>.<%=doc%>;
|
||||||
<%
|
<%
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
<%=outConnName %>.<%=doc%> = <%=inputConnName%>.<%=doc%>.toString();
|
<%=outConnName %>.<%=doc%> = <%=inputConnName%>.<%=doc%>.toString();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
} else { // to those which do not match doc columns
|
} else { // to those which do not match doc columns
|
||||||
%>
|
%>
|
||||||
<%=outConnName %>.<%=outputColumn.getLabel()%> = <%=inputConnName%>.<%=inputColumn.getLabel()%>;
|
<%=outConnName %>.<%=outputColumn.getLabel()%> = <%=inputConnName%>.<%=inputColumn.getLabel()%>;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
} // if input column matches output column
|
} // if input column matches output column
|
||||||
} // for input column
|
} // for input column
|
||||||
} // for output column
|
} // for output column
|
||||||
}%>
|
}%>
|
||||||
input_<%=cid %> = <%=inputConnName%>.<%=doc%>.toString();
|
input_<%=cid %> = <%=inputConnName%>.<%=doc%>.toString();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
<%if(usePartialUpdate){ // partial%>
|
<%if(usePartialUpdate){ // partial%>
|
||||||
org.talend.mdm.webservice.WSPartialPutItem wsPartialPutItem_<%=cid%> = new org.talend.mdm.webservice.WSPartialPutItem(input_<%=cid %>,<%=dataCluster %>,<%=pivot%>,<%=dataModule %>,<%=key.equals("")?null:key%>,<%=position.equals("")?null:position%>,<%=overwrite%>,<%= true==isStaging?false:withReport%>);
|
<%
|
||||||
wspk_<%=cid %> = xtentisWS_<%=cid %>.partialPutItem(wsPartialPutItem_<%=cid%>);
|
String stagingString = "";
|
||||||
|
if(isStaging){
|
||||||
|
stagingString = dataCluster + " + \"#STAGING\"";
|
||||||
|
} else {
|
||||||
|
stagingString = dataCluster;
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
org.talend.mdm.webservice.WSPartialPutItem wsPartialPutItem_<%=cid%> = new org.talend.mdm.webservice.WSPartialPutItem(input_<%=cid %>,<%=stagingString %>,<%=pivot%>,<%=dataModule %>,<%=key.equals("")?null:key%>,<%=position.equals("")?null:position%>,<%=overwrite%>,<%= true==isStaging?false:withReport%>, <%=sourceName %>);
|
||||||
|
wspk_<%=cid %> = xtentisWS_<%=cid %>.partialPutItem(wsPartialPutItem_<%=cid%>);
|
||||||
|
|
||||||
<%
|
<%
|
||||||
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
||||||
for (int i = 0; i < keysReturn.size(); i++){
|
for (int i = 0; i < keysReturn.size(); i++){
|
||||||
Map<String,String> map = keysReturn.get(i);
|
Map<String,String> map = keysReturn.get(i);
|
||||||
%>
|
%>
|
||||||
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%}else{// not partial %>
|
<%}else{// not partial %>
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSPutItem item_<%=cid %> = new org.talend.mdm.webservice.WSPutItem(dataCluster_<%=cid %>,input_<%=cid %>,dataModel_<%=cid %>, <%=isUpdate %>);
|
org.talend.mdm.webservice.WSPutItem item_<%=cid %> = new org.talend.mdm.webservice.WSPutItem(dataCluster_<%=cid %>,input_<%=cid %>,dataModel_<%=cid %>, <%=isUpdate %>);
|
||||||
<%
|
<%
|
||||||
if (!isStaging && withReport) {%>
|
if (!isStaging && withReport) {%>
|
||||||
org.talend.mdm.webservice.WSPutItemWithReport itemReport_<%=cid %> = new org.talend.mdm.webservice.WSPutItemWithReport(item_<%=cid %>,<%=sourceName %>,<%=needCheck %>);
|
org.talend.mdm.webservice.WSPutItemWithReport itemReport_<%=cid %> = new org.talend.mdm.webservice.WSPutItemWithReport(item_<%=cid %>,<%=sourceName %>,<%=needCheck %>);
|
||||||
|
|
||||||
<%if (isMassInsert) {%>
|
<%if (isMassInsert) {%>
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
taskIDs_<%=cid%>.add(<%=isCustom?taskID:inputConnName + "." + prevColumn%>);
|
taskIDs_<%=cid%>.add(<%=isCustom?taskID:inputConnName + "." + prevColumn%>);
|
||||||
<%}%>
|
<%}%>
|
||||||
miList_<%=cid %>.add(itemReport_<%=cid %>);
|
miList_<%=cid %>.add(itemReport_<%=cid %>);
|
||||||
|
|
||||||
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[<%=numMassInsert %>]));
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[<%=numMassInsert %>]));
|
||||||
miList_<%=cid %>.clear();
|
miList_<%=cid %>.clear();
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
taskIDs_<%=cid%>.clear();
|
taskIDs_<%=cid%>.clear();
|
||||||
<%}%>
|
<%}%>
|
||||||
}
|
}
|
||||||
<%} else {%>
|
<%} else {%>
|
||||||
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReport(itemReport_<%=cid %>);
|
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReport(itemReport_<%=cid %>);
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:inputConnName + "." + prevColumn%>,wspk_<%=cid %>));
|
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:inputConnName + "." + prevColumn%>,wspk_<%=cid %>));
|
||||||
<%}%>
|
<%}%>
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
||||||
|
for (int i = 0; i < keysReturn.size(); i++){
|
||||||
for (int i = 0; i < keysReturn.size(); i++){
|
Map<String,String> map = keysReturn.get(i);
|
||||||
Map<String,String> map = keysReturn.get(i);
|
%>
|
||||||
%>
|
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
||||||
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
<%
|
||||||
<%
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
} else {
|
if (isMassInsert) {
|
||||||
|
%>
|
||||||
if (isMassInsert) {
|
<%if(addTaskID){%>
|
||||||
%>
|
taskIDs_<%=cid%>.add(<%=isCustom?taskID:inputConnName + "." + prevColumn%>);
|
||||||
<%if(addTaskID){%>
|
<%}%>
|
||||||
taskIDs_<%=cid%>.add(<%=isCustom?taskID:inputConnName + "." + prevColumn%>);
|
miList_<%=cid %>.add(item_<%=cid %>);
|
||||||
<%}%>
|
|
||||||
miList_<%=cid %>.add(item_<%=cid %>);
|
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
||||||
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[<%=numMassInsert %>]));
|
||||||
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
miList_<%=cid %>.clear();
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[<%=numMassInsert %>]));
|
<%if(addTaskID){%>
|
||||||
miList_<%=cid %>.clear();
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
<%if(addTaskID){%>
|
taskIDs_<%=cid%>.clear();
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
<%}%>
|
||||||
taskIDs_<%=cid%>.clear();
|
}
|
||||||
<%}%>
|
<%
|
||||||
}
|
} else {%>
|
||||||
<%
|
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItem(item_<%=cid %>);
|
||||||
} else {%>
|
<%if(addTaskID){%>
|
||||||
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItem(item_<%=cid %>);
|
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:inputConnName + "." + prevColumn%>,wspk_<%=cid %>));
|
||||||
<%if(addTaskID){%>
|
<%}%>
|
||||||
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:inputConnName + "." + prevColumn%>,wspk_<%=cid %>));
|
<%
|
||||||
<%}%>
|
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
||||||
<%
|
for (int i = 0; i < keysReturn.size(); i++){
|
||||||
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
Map<String,String> map = keysReturn.get(i);
|
||||||
for (int i = 0; i < keysReturn.size(); i++){
|
%>
|
||||||
Map<String,String> map = keysReturn.get(i);
|
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
||||||
%>
|
<%
|
||||||
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
}
|
||||||
<%
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
%>
|
||||||
}
|
<%}//end partial%>
|
||||||
%>
|
|
||||||
<%}//end partial%>
|
|
||||||
} catch (java.lang.Exception e) {
|
} catch (java.lang.Exception e) {
|
||||||
|
<%if (!usePartialUpdate && isMassInsert) {%>
|
||||||
|
miList_<%=cid %>.clear();
|
||||||
|
<%}%>
|
||||||
<%if (dieOnError) {%>
|
<%if (dieOnError) {%>
|
||||||
throw(e);
|
throw(e);
|
||||||
<%} else {
|
<%} else {
|
||||||
@@ -231,34 +241,34 @@ if (metadatas != null && metadatas.size()>0) {
|
|||||||
<%=outConnName %> = null;
|
<%=outConnName %> = null;
|
||||||
<%}%>
|
<%}%>
|
||||||
<%=rejectConnName %> = new <%=rejectConnName %>Struct();
|
<%=rejectConnName %> = new <%=rejectConnName %>Struct();
|
||||||
|
|
||||||
<%
|
<%
|
||||||
for(IMetadataColumn column : columnList) {
|
for(IMetadataColumn column : columnList) {
|
||||||
if (!"xml".equals(column.getLabel()) && !"errorCode".equals(column.getLabel()) && !"errorMessage".equals(column.getLabel())) {
|
if (!"xml".equals(column.getLabel()) && !"errorCode".equals(column.getLabel()) && !"errorMessage".equals(column.getLabel())) {
|
||||||
if(column.getLabel().equals(doc) && "id_String".equals(column.getTalendType())) {
|
if(column.getLabel().equals(doc) && "id_String".equals(column.getTalendType())) {
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.<%=column.getLabel()%> = <%=inputConnName %>.<%=column.getLabel() %>.toString();
|
<%=rejectConnName%>.<%=column.getLabel()%> = <%=inputConnName %>.<%=column.getLabel() %>.toString();
|
||||||
<%
|
<%
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.<%=column.getLabel()%> = <%=inputConnName %>.<%=column.getLabel() %>;
|
<%=rejectConnName%>.<%=column.getLabel()%> = <%=inputConnName %>.<%=column.getLabel() %>;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if("xml".equals(column.getLabel())){
|
if("xml".equals(column.getLabel())){
|
||||||
if("id_String".equals(column.getTalendType())){
|
if("id_String".equals(column.getTalendType())){
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.xml = input_<%=cid %>;
|
<%=rejectConnName%>.xml = input_<%=cid %>;
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.xml = <%=inputConnName %>.xml;
|
<%=rejectConnName%>.xml = <%=inputConnName %>.xml;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
nb_line_rejected_<%=cid%>++;
|
nb_line_rejected_<%=cid%>++;
|
||||||
<%=rejectConnName %>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>;
|
<%=rejectConnName %>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>;
|
||||||
<%} else {%>
|
<%} else {%>
|
||||||
System.err.println(e.getMessage());
|
System.err.println(e.getMessage());
|
||||||
@@ -268,4 +278,4 @@ if (metadatas != null && metadatas.size()>0) {
|
|||||||
nb_line_<%=cid %>++;
|
nb_line_<%=cid %>++;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
@@ -1,16 +1,17 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.metadata.IMetadataColumn
|
org.talend.core.model.metadata.IMetadataColumn
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
@@ -19,203 +20,234 @@ String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
|||||||
String dieOnErrorStr = ElementParameterParser.getValue(node, "__DIE_ON_ERROR__");
|
String dieOnErrorStr = ElementParameterParser.getValue(node, "__DIE_ON_ERROR__");
|
||||||
boolean dieOnError = (dieOnErrorStr!=null&&!("").equals(dieOnErrorStr))?("true").equals(dieOnErrorStr):false;
|
boolean dieOnError = (dieOnErrorStr!=null&&!("").equals(dieOnErrorStr))?("true").equals(dieOnErrorStr):false;
|
||||||
if(destination!=null && !"".equals(destination)){
|
if(destination!=null && !"".equals(destination)){
|
||||||
cid = destination;
|
cid = destination;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||||
if ((metadatas != null) && (metadatas.size() > 0)) {//1
|
if ((metadatas != null) && (metadatas.size() > 0)) {//1
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
|
|
||||||
if (metadata != null) {//2
|
|
||||||
|
|
||||||
List<IMetadataColumn> columnList = metadata.getListColumns();
|
|
||||||
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
|
||||||
|
|
||||||
// if output columns are defined
|
if (metadata != null) {//2
|
||||||
if (outgoingConns != null && outgoingConns.size() > 0){//3
|
|
||||||
|
|
||||||
IConnection outgoingConn = outgoingConns.get(0);
|
|
||||||
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { //4
|
|
||||||
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
|
||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
List<IMetadataColumn> columnList = metadata.getListColumns();
|
||||||
String concept = ElementParameterParser.getValue(node, "__CONCEPT__");
|
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
||||||
|
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
// if output columns are defined
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
if (outgoingConns != null && outgoingConns.size() > 0){//3
|
||||||
|
|
||||||
boolean isSingle = ("true").equals(ElementParameterParser.getValue(node, "__USE_ITEMS__"));
|
IConnection outgoingConn = outgoingConns.get(0);
|
||||||
List<Map<String, String>> ids = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__IDS__");
|
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { //4
|
||||||
List<Map<String, String>> operations = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__OPERATIONS__");
|
|
||||||
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
String spellThrehold = ElementParameterParser.getValue(node, "__SPELLTHREHOLD__");
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
String skip = ElementParameterParser.getValue(node, "__SKIP__");
|
String conn = "xtentisWS_" + connection;
|
||||||
String bufferSize = ElementParameterParser.getValue(node, "__FETCHSIZE__");
|
String trans = "mdmTrans_" + connection;
|
||||||
String limit = ElementParameterParser.getValue(node, "__MAXVALUE__");
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
if(spellThrehold==null || ("").equals(spellThrehold)){
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
spellThrehold = "0";
|
|
||||||
}
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
if(skip==null || ("").equals(skip)){
|
String concept = ElementParameterParser.getValue(node, "__CONCEPT__");
|
||||||
skip = "0";
|
|
||||||
}
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
if(limit==null || ("").equals(limit)){
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
limit = "0";
|
|
||||||
}
|
boolean isSingle = ("true").equals(ElementParameterParser.getValue(node, "__USE_ITEMS__"));
|
||||||
%>
|
List<Map<String, String>> ids = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__IDS__");
|
||||||
int nb_line_<%=cid %> = 0;
|
List<Map<String, String>> operations = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__OPERATIONS__");
|
||||||
<%if(!useExistingConn){%>
|
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
String spellThrehold = ElementParameterParser.getValue(node, "__SPELLTHREHOLD__");
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
String skip = ElementParameterParser.getValue(node, "__SKIP__");
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
String bufferSize = ElementParameterParser.getValue(node, "__FETCHSIZE__");
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
String limit = ElementParameterParser.getValue(node, "__MAXVALUE__");
|
||||||
|
if(spellThrehold==null || ("").equals(spellThrehold)){
|
||||||
// Authentification
|
spellThrehold = "0";
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
}
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
if(skip==null || ("").equals(skip)){
|
||||||
<%}else{%>
|
skip = "0";
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
}
|
||||||
<%}%>
|
if(limit==null || ("").equals(limit)){
|
||||||
|
limit = "0";
|
||||||
<%
|
}
|
||||||
String passwordFieldName = "__PASSWORD__";
|
%>
|
||||||
%>
|
|
||||||
|
int nb_line_<%=cid %> = 0;
|
||||||
|
<%if(!useExistingConn){%>
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
|
<%if(universe==null || ("").equals(universe.trim())){%>
|
||||||
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
|
<%}else{%>
|
||||||
|
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
||||||
|
<%}%>
|
||||||
|
|
||||||
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
|
||||||
<%}else{%>
|
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
|
||||||
<%}%>
|
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
|
||||||
|
|
||||||
<%if(!isSingle){//item%>
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
String[] ids_<%=cid %> = {
|
<%}else{%>
|
||||||
<%
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
for(int i=0; i<ids.size(); i++){
|
if(xtentisWS_<%=cid %> == null) {
|
||||||
Map<String, String> map = ids.get(i);
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
String idValue = map.get("IDVALUE");
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
%>
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
<%=(i==0? "":",")%><%=idValue %>
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
<%
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
}
|
xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
%>
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
};
|
stub_<%=cid %>.setUsername(username_<%=cid%>);
|
||||||
org.talend.mdm.webservice.WSGetItem wsitem_<%=cid %> =
|
stub_<%=cid %>.setPassword(password_<%=cid%>);
|
||||||
new org.talend.mdm.webservice.WSGetItem(new org.talend.mdm.webservice.WSItemPK(dataCluster_<%=cid %>,<%=concept %>,ids_<%=cid %>));
|
if((Boolean)globalMap.get("useTransaction_<%=connection %>")) {
|
||||||
String <%=outgoingConn.getName() %>_xml = "";
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
try {
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
org.talend.mdm.webservice.WSItem item_<%=cid %>=xtentisWS_<%=cid %>.getItem(wsitem_<%=cid %>);
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
<%=outgoingConn.getName() %>_xml = item_<%=cid %>.getContent();
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
} catch(java.lang.Exception e) {
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
<%if(dieOnError) {%>
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
throw e;
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
<% } else { %>
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
System.err.println(e.getMessage());
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
<% } %>
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
}
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
nb_line_<%=cid %> ++;
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
||||||
<%
|
}
|
||||||
}else{//items
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
%>
|
}
|
||||||
org.talend.mdm.webservice.WSWhereCondition wc_<%=cid %> = null;
|
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
||||||
java.util.List<org.talend.mdm.webservice.WSWhereItem> conditions_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSWhereItem>();
|
stub_<%=cid %>._setProperty(org.apache.axis.client.Call.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
|
||||||
<%
|
stub_<%=cid %>._setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE, com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId());
|
||||||
boolean isOnlyOrPredicate=true;
|
}
|
||||||
for(int i=0; i < operations.size(); i++){
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
||||||
Map<String, String> map= operations.get(i);
|
globalMap.put("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName(), xtentisWS_<%=cid %>);
|
||||||
String xpath=map.get("XPATH");
|
}
|
||||||
String operator=map.get("FUNCTION");
|
<%}%>
|
||||||
String value = map.get("VALUE");
|
|
||||||
String predicate = map.get("PREDICATE");
|
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
||||||
if((i < operations.size()-1) && (!"OR".equals(predicate))){
|
|
||||||
isOnlyOrPredicate = false;
|
<%if(!isSingle){//item%>
|
||||||
}
|
String[] ids_<%=cid %> = {
|
||||||
%>
|
<%
|
||||||
wc_<%=cid %> =new org.talend.mdm.webservice.WSWhereCondition(<%=xpath %>,org.talend.mdm.webservice.WSWhereOperator.<%=operator %>, <%="EMPTY_NULL".equals(operator)? null:value %>, org.talend.mdm.webservice.WSStringPredicate.<%=predicate %>,false);
|
for(int i=0; i<ids.size(); i++){
|
||||||
org.talend.mdm.webservice.WSWhereItem wsItem_<%=i %>_<%=cid %>=new org.talend.mdm.webservice.WSWhereItem(wc_<%=cid %>,null,null);
|
Map<String, String> map = ids.get(i);
|
||||||
conditions_<%=cid %>.add(wsItem_<%=i %>_<%=cid %>);
|
String idValue = map.get("IDVALUE");
|
||||||
<%
|
%>
|
||||||
}//for
|
<%=(i==0? "":",")%><%=idValue %>
|
||||||
%>
|
<%
|
||||||
org.talend.mdm.webservice.WSWhereItem wsItem_<%=cid %> = null;
|
}
|
||||||
if(conditions_<%=cid %>.size() > 0){
|
%>
|
||||||
<%
|
};
|
||||||
if(!isOnlyOrPredicate){
|
org.talend.mdm.webservice.WSGetItem wsitem_<%=cid %> = new org.talend.mdm.webservice.WSGetItem(new org.talend.mdm.webservice.WSItemPK(dataCluster_<%=cid %>,<%=concept %>,ids_<%=cid %>));
|
||||||
%>
|
String <%=outgoingConn.getName() %>_xml = "";
|
||||||
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]),null);
|
try {
|
||||||
<%
|
org.talend.mdm.webservice.WSItem item_<%=cid %>=xtentisWS_<%=cid %>.getItem(wsitem_<%=cid %>);
|
||||||
}else{
|
<%=outgoingConn.getName() %>_xml = item_<%=cid %>.getContent();
|
||||||
%>
|
} catch(java.lang.Exception e) {
|
||||||
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]));
|
<%if(dieOnError) {%>
|
||||||
<%
|
throw e;
|
||||||
}
|
<% } else { %>
|
||||||
%>
|
System.err.println(e.getMessage());
|
||||||
}
|
<% } %>
|
||||||
|
}
|
||||||
int limit_<%=cid%> = <%=limit%>;
|
nb_line_<%=cid %> ++;
|
||||||
int recordsPerPage_<%=cid%> = <%=bufferSize%>;
|
|
||||||
int skip_<%=cid%> = <%=skip%>;
|
<%
|
||||||
|
}else{//items
|
||||||
if (skip_<%=cid%> < 0)
|
%>
|
||||||
skip_<%=cid%> = 0;
|
org.talend.mdm.webservice.WSWhereCondition wc_<%=cid %> = null;
|
||||||
|
java.util.List<org.talend.mdm.webservice.WSWhereItem> conditions_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSWhereItem>();
|
||||||
if (recordsPerPage_<%=cid%> <= 0)
|
<%
|
||||||
recordsPerPage_<%=cid%> = -1;// read whole records in one time
|
boolean isOnlyOrPredicate=true;
|
||||||
|
for(int i=0; i < operations.size(); i++){
|
||||||
if (limit_<%=cid%> <= 0)
|
Map<String, String> map= operations.get(i);
|
||||||
limit_<%=cid%> = -1;// no limit
|
String xpath=map.get("XPATH");
|
||||||
|
String operator=map.get("FUNCTION");
|
||||||
int retrievedCount_<%=cid%> = 0;
|
String value = map.get("VALUE");
|
||||||
int readRecordsSize_<%=cid%> = limit_<%=cid%> == -1 ? recordsPerPage_<%=cid%> : (recordsPerPage_<%=cid%> == -1 ? limit_<%=cid%> : (recordsPerPage_<%=cid%> > limit_<%=cid%> ? limit_<%=cid%>
|
String predicate = map.get("PREDICATE");
|
||||||
|
if((i < operations.size()-1) && (!"OR".equals(predicate))){
|
||||||
|
isOnlyOrPredicate = false;
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
wc_<%=cid %> =new org.talend.mdm.webservice.WSWhereCondition(<%=xpath %>,org.talend.mdm.webservice.WSWhereOperator.<%=operator %>, <%="EMPTY_NULL".equals(operator)? null:value %>, org.talend.mdm.webservice.WSStringPredicate.<%=predicate %>,false);
|
||||||
|
org.talend.mdm.webservice.WSWhereItem wsItem_<%=i %>_<%=cid %>=new org.talend.mdm.webservice.WSWhereItem(wc_<%=cid %>,null,null);
|
||||||
|
conditions_<%=cid %>.add(wsItem_<%=i %>_<%=cid %>);
|
||||||
|
<%
|
||||||
|
}//for
|
||||||
|
%>
|
||||||
|
org.talend.mdm.webservice.WSWhereItem wsItem_<%=cid %> = null;
|
||||||
|
if(conditions_<%=cid %>.size() > 0){
|
||||||
|
<%
|
||||||
|
if(!isOnlyOrPredicate){
|
||||||
|
%>
|
||||||
|
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]),null);
|
||||||
|
<%
|
||||||
|
}else{
|
||||||
|
%>
|
||||||
|
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]));
|
||||||
|
<%
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
}
|
||||||
|
|
||||||
|
int limit_<%=cid%> = <%=limit%>;
|
||||||
|
int recordsPerPage_<%=cid%> = <%=bufferSize%>;
|
||||||
|
int skip_<%=cid%> = <%=skip%>;
|
||||||
|
|
||||||
|
if (skip_<%=cid%> < 0)
|
||||||
|
skip_<%=cid%> = 0;
|
||||||
|
|
||||||
|
if (recordsPerPage_<%=cid%> <= 0)
|
||||||
|
recordsPerPage_<%=cid%> = -1;// read whole records in one time
|
||||||
|
|
||||||
|
if (limit_<%=cid%> <= 0)
|
||||||
|
limit_<%=cid%> = -1;// no limit
|
||||||
|
|
||||||
|
int retrievedCount_<%=cid%> = 0;
|
||||||
|
int readRecordsSize_<%=cid%> = limit_<%=cid%> == -1 ? recordsPerPage_<%=cid%> : (recordsPerPage_<%=cid%> == -1 ? limit_<%=cid%> : (recordsPerPage_<%=cid%> > limit_<%=cid%> ? limit_<%=cid%>
|
||||||
: recordsPerPage_<%=cid%>));
|
: recordsPerPage_<%=cid%>));
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSGetItems getitems_<%=cid %>=null;
|
org.talend.mdm.webservice.WSGetItems getitems_<%=cid %> = null;
|
||||||
|
|
||||||
boolean continueFlag_<%=cid%> = true;
|
boolean continueFlag_<%=cid%> = true;
|
||||||
int totalCount_<%=cid%> = -1;<%//For TDI-26039%>
|
int totalCount_<%=cid%> = -1;<%//For TDI-26039%>
|
||||||
while (continueFlag_<%=cid%>) {
|
while (continueFlag_<%=cid%>) {
|
||||||
|
|
||||||
getitems_<%=cid%>=new org.talend.mdm.webservice.WSGetItems(dataCluster_<%=cid%>, <%=concept%>, wsItem_<%=cid%>,
|
getitems_<%=cid%>=new org.talend.mdm.webservice.WSGetItems(dataCluster_<%=cid%>, <%=concept%>, wsItem_<%=cid%>,
|
||||||
<%=spellThrehold%>, //spell Threshold
|
<%=spellThrehold%>, //spell Threshold
|
||||||
skip_<%=cid%> + retrievedCount_<%=cid%>,
|
skip_<%=cid%> + retrievedCount_<%=cid%>,
|
||||||
readRecordsSize_<%=cid%>,true);
|
readRecordsSize_<%=cid%>,true);
|
||||||
String[] items_<%=cid%> = {};
|
String[] items_<%=cid%> = {};
|
||||||
try {
|
try {
|
||||||
items_<%=cid%> = xtentisWS_<%=cid%>.getItems(getitems_<%=cid%>);
|
items_<%=cid%> = xtentisWS_<%=cid%>.getItems(getitems_<%=cid%>);
|
||||||
if(totalCount_<%=cid%> < 0){
|
if(totalCount_<%=cid%> < 0){
|
||||||
totalCount_<%=cid%> = Integer.valueOf(items_<%=cid%>[0].replaceAll("<totalCount>", "").replaceAll("</totalCount>", ""));
|
totalCount_<%=cid%> = Integer.valueOf(items_<%=cid%>[0].replaceAll("<totalCount>", "").replaceAll("</totalCount>", ""));
|
||||||
}
|
}
|
||||||
} catch(java.lang.Exception e) {
|
} catch(java.lang.Exception e) {
|
||||||
<%if(dieOnError) {%>
|
<%if(dieOnError) {%>
|
||||||
throw e;
|
throw e;
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
System.err.println(e.getMessage());
|
System.err.println(e.getMessage());
|
||||||
<% } %>
|
<% } %>
|
||||||
}
|
}
|
||||||
retrievedCount_<%=cid%> += (items_<%=cid%>.length - 1);
|
retrievedCount_<%=cid%> += (items_<%=cid%>.length - 1);
|
||||||
if (totalCount_<%=cid%> == retrievedCount_<%=cid%> || recordsPerPage_<%=cid%> == -1 || (items_<%=cid%>.length - 1) < readRecordsSize_<%=cid%> || limit_<%=cid%> == retrievedCount_<%=cid%>) {
|
if (totalCount_<%=cid%> == retrievedCount_<%=cid%> || recordsPerPage_<%=cid%> == -1 || (items_<%=cid%>.length - 1) < readRecordsSize_<%=cid%> || limit_<%=cid%> == retrievedCount_<%=cid%>) {
|
||||||
continueFlag_<%=cid%> = false;
|
continueFlag_<%=cid%> = false;
|
||||||
} else if (limit_<%=cid%> != -1 && limit_<%=cid%> < retrievedCount_<%=cid%> + readRecordsSize_<%=cid%>) {
|
} else if (limit_<%=cid%> != -1 && limit_<%=cid%> < retrievedCount_<%=cid%> + readRecordsSize_<%=cid%>) {
|
||||||
readRecordsSize_<%=cid%> = limit_<%=cid%> - retrievedCount_<%=cid%>;
|
readRecordsSize_<%=cid%> = limit_<%=cid%> - retrievedCount_<%=cid%>;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i_<%=cid%> = 1, itemsLength_<%=cid%> = items_<%=cid%>.length; i_<%=cid%> < itemsLength_<%=cid%>; i_<%=cid%>++){
|
for(int i_<%=cid%> = 1, itemsLength_<%=cid%> = items_<%=cid%>.length; i_<%=cid%> < itemsLength_<%=cid%>; i_<%=cid%>++){
|
||||||
nb_line_<%=cid%> ++;
|
nb_line_<%=cid%> ++;
|
||||||
String <%=outgoingConn.getName()%>_xml = items_<%=cid%>[i_<%=cid%>];
|
String <%=outgoingConn.getName()%>_xml = items_<%=cid%>[i_<%=cid%>];
|
||||||
|
|
||||||
<%
|
<%
|
||||||
}//end items
|
}//end items
|
||||||
%>
|
%>
|
||||||
<%
|
<%
|
||||||
}//4
|
}//4
|
||||||
}//3
|
}//3
|
||||||
}//2
|
}//2
|
||||||
}//1
|
}//1
|
||||||
%>
|
%>
|
||||||
@@ -1,67 +1,66 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.metadata.IMetadataColumn
|
org.talend.core.model.metadata.IMetadataColumn
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
java.util.List
|
java.util.List
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
||||||
String dieOnErrorStr = ElementParameterParser.getValue(node, "__DIE_ON_ERROR__");
|
String dieOnErrorStr = ElementParameterParser.getValue(node, "__DIE_ON_ERROR__");
|
||||||
boolean dieOnError = (dieOnErrorStr!=null&&!("").equals(dieOnErrorStr))?("true").equals(dieOnErrorStr):false;
|
boolean dieOnError = (dieOnErrorStr!=null&&!("").equals(dieOnErrorStr))?("true").equals(dieOnErrorStr):false;
|
||||||
if(destination!=null && !"".equals(destination)){
|
if(destination!=null && !"".equals(destination)){
|
||||||
cid = destination;
|
cid = destination;
|
||||||
}
|
}
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
|
||||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||||
if ((metadatas != null) && (metadatas.size() > 0)) {
|
if ((metadatas != null) && (metadatas.size() > 0)) {
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
|
|
||||||
if (metadata != null) {
|
|
||||||
|
|
||||||
List<IMetadataColumn> columnList = metadata.getListColumns();
|
|
||||||
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
|
||||||
|
|
||||||
// if output columns are defined
|
if (metadata != null) {
|
||||||
if (outgoingConns != null && outgoingConns.size() > 0){
|
|
||||||
|
|
||||||
IConnection outgoingConn = outgoingConns.get(0);
|
|
||||||
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
|
||||||
boolean useWhere = ("true").equals(ElementParameterParser.getValue(node, "__USE_ITEMS__"));
|
|
||||||
if(useWhere){
|
|
||||||
%>
|
|
||||||
}
|
|
||||||
}
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%if(!useExistingConn){%>
|
List<IMetadataColumn> columnList = metadata.getListColumns();
|
||||||
try {
|
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
||||||
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
|
||||||
} catch(java.lang.Exception e) {
|
// if output columns are defined
|
||||||
<%if(dieOnError) {%>
|
if (outgoingConns != null && outgoingConns.size() > 0){
|
||||||
throw e;
|
|
||||||
<% } else { %>
|
IConnection outgoingConn = outgoingConns.get(0);
|
||||||
System.err.println(e.getMessage());
|
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
||||||
<% } %>
|
boolean useWhere = ("true").equals(ElementParameterParser.getValue(node, "__USE_ITEMS__"));
|
||||||
}
|
if(useWhere){
|
||||||
<%}%>
|
%>
|
||||||
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
}
|
||||||
<%
|
}
|
||||||
}
|
<%
|
||||||
}
|
}
|
||||||
}
|
%>
|
||||||
|
|
||||||
|
<%if(!useExistingConn){%>
|
||||||
|
try {
|
||||||
|
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
|
} catch(java.lang.Exception e) {
|
||||||
|
<%if(dieOnError) {%>
|
||||||
|
throw e;
|
||||||
|
<% } else { %>
|
||||||
|
System.err.println(e.getMessage());
|
||||||
|
<% } %>
|
||||||
|
}
|
||||||
|
<%}%>
|
||||||
|
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
||||||
|
<%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
|
||||||
@@ -1,34 +1,30 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
String cid = node.getUniqueName();
|
String connection = ElementParameterParser.getValue(node, "__CONNECTION__");
|
||||||
|
boolean close = ("true").equals(ElementParameterParser.getValue(node,"__CLOSE__"));
|
||||||
String connection = ElementParameterParser.getValue(node, "__CONNECTION__");
|
String conn = "xtentisWS_" + connection;
|
||||||
|
String trans = "mdmTrans_" + connection;
|
||||||
boolean close = ("true").equals(ElementParameterParser.getValue(node,"__CLOSE__"));
|
|
||||||
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
String mdmTransaction = "mdmTransaction_" + connection;
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType conn_<%=cid%> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
if(conn_<%=cid%> != null)
|
if(mdmTransaction_<%=cid%> != null) {
|
||||||
{
|
mdmTransaction_<%=cid%>.rollback();
|
||||||
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=mdmTransaction%>");
|
|
||||||
if(mdmTransaction_<%=cid%>!=null) {
|
|
||||||
mdmTransaction_<%=cid%>.rollback();
|
|
||||||
}
|
|
||||||
<% if(close){%>
|
|
||||||
conn_<%=cid%>.logout(new org.talend.mdm.webservice.WSLogout());
|
|
||||||
<% }%>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<% if(close){%>
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType conn_<%=cid%> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(conn_<%=cid%> != null) {
|
||||||
|
conn_<%=cid%>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
|
}
|
||||||
|
<% }%>
|
||||||
|
|||||||
@@ -1,55 +1,88 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
"
|
"
|
||||||
|
%>
|
||||||
|
|
||||||
|
<%
|
||||||
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
|
String conn = "xtentisWS_" + connection;
|
||||||
|
String trans = "mdmTrans_" + connection;
|
||||||
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
|
|
||||||
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
|
String entity = ElementParameterParser.getValue(node, "__ENTITY__");
|
||||||
|
String keyField = ElementParameterParser.getValue(node, "__KEYFIELD__");
|
||||||
|
|
||||||
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
|
|
||||||
|
List<Map<String, String>> ids = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__IDS__");
|
||||||
%>
|
%>
|
||||||
<%
|
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
|
||||||
String cid = node.getUniqueName();
|
|
||||||
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
|
||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
|
||||||
String entity = ElementParameterParser.getValue(node, "__ENTITY__");
|
|
||||||
String keyField = ElementParameterParser.getValue(node, "__KEYFIELD__");
|
|
||||||
|
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
|
||||||
|
|
||||||
List<Map<String, String>> ids = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__IDS__");
|
|
||||||
%>
|
|
||||||
int nb_line_<%=cid %> = 0;
|
int nb_line_<%=cid %> = 0;
|
||||||
<%if(!useExistingConn){%>
|
<%if(!useExistingConn){%>
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
// Authentification
|
<%if(universe==null || ("").equals(universe.trim())){%>
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
<%}else{%>
|
||||||
<%}else{%>
|
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
<%}%>
|
||||||
<%}%>
|
|
||||||
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
<%
|
|
||||||
String passwordFieldName = "__PASSWORD__";
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(xtentisWS_<%=cid %> == null) {
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername(username_<%=cid%>);
|
||||||
|
stub_<%=cid %>.setPassword(password_<%=cid%>);
|
||||||
|
if((Boolean)globalMap.get("useTransaction_<%=connection %>")) {
|
||||||
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
||||||
|
}
|
||||||
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.client.Call.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE, com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId());
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
||||||
|
globalMap.put("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName(), xtentisWS_<%=cid %>);
|
||||||
|
}
|
||||||
<%}%>
|
<%}%>
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
||||||
@@ -65,9 +98,9 @@ for(Map<String, String> map:ids){
|
|||||||
%>
|
%>
|
||||||
<%=isfirst?"":","%><%=map.get("ID")%>
|
<%=isfirst?"":","%><%=map.get("ID")%>
|
||||||
<%
|
<%
|
||||||
isfirst =false;
|
isfirst =false;
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
});
|
});
|
||||||
wsRouteItem_<%=cid %>.setWsItemPK(wsItemPK_<%=cid %>);
|
wsRouteItem_<%=cid %>.setWsItemPK(wsItemPK_<%=cid %>);
|
||||||
org.talend.mdm.webservice.WSRoutingRulePK[] wsRoutingRulePKArray_<%=cid %> = xtentisWS_<%=cid %>.routeItemV2(wsRouteItem_<%=cid %>);
|
org.talend.mdm.webservice.WSRoutingRulePK[] wsRoutingRulePKArray_<%=cid %> = xtentisWS_<%=cid %>.routeItemV2(wsRouteItem_<%=cid %>);
|
||||||
@@ -1,59 +1,87 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
|
||||||
<%
|
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
|
||||||
String cid = node.getUniqueName();
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
|
||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
|
||||||
String spName = ElementParameterParser.getValue(node, "__SPNAME__");
|
|
||||||
%>
|
|
||||||
int nb_line_<%=cid %> = 0;
|
|
||||||
|
|
||||||
<%if(!useExistingConn){%>
|
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
|
||||||
|
|
||||||
// Authentification
|
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
|
||||||
<%}else{%>
|
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
|
||||||
<%}%>
|
|
||||||
|
|
||||||
<%
|
|
||||||
String passwordFieldName = "__PASSWORD__";
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
|
||||||
|
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
|
||||||
<%
|
|
||||||
}else{
|
|
||||||
%>
|
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
<%
|
||||||
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
|
String conn = "xtentisWS_" + connection;
|
||||||
|
String trans = "mdmTrans_" + connection;
|
||||||
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSExecuteStoredProcedure wsExeProc_<%=cid %> = new org.talend.mdm.webservice.WSExecuteStoredProcedure();
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
wsExeProc_<%=cid %>.setWsDataClusterPK(dataCluster_<%=cid %>);
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
org.talend.mdm.webservice.WSStoredProcedurePK wsStoredProcPK_<%=cid %> = new org.talend.mdm.webservice.WSStoredProcedurePK();
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
wsStoredProcPK_<%=cid %>.setPk(<%=spName %>);
|
String spName = ElementParameterParser.getValue(node, "__SPNAME__");
|
||||||
wsExeProc_<%=cid %>.setWsStoredProcedurePK(wsStoredProcPK_<%=cid %>);
|
%>
|
||||||
|
|
||||||
|
int nb_line_<%=cid %> = 0;
|
||||||
|
<%if(!useExistingConn){%>
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
|
<%if(universe==null || ("").equals(universe.trim())){%>
|
||||||
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
|
<%}else{%>
|
||||||
|
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
||||||
|
<%}%>
|
||||||
|
|
||||||
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
|
<%}else{%>
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(xtentisWS_<%=cid %> == null) {
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername(username_<%=cid%>);
|
||||||
|
stub_<%=cid %>.setPassword(password_<%=cid%>);
|
||||||
|
if((Boolean)globalMap.get("useTransaction_<%=connection %>")) {
|
||||||
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
||||||
|
}
|
||||||
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.client.Call.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE, com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId());
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
||||||
|
globalMap.put("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName(), xtentisWS_<%=cid %>);
|
||||||
|
}
|
||||||
|
<%}%>
|
||||||
|
|
||||||
|
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
||||||
|
|
||||||
|
org.talend.mdm.webservice.WSExecuteStoredProcedure wsExeProc_<%=cid %> = new org.talend.mdm.webservice.WSExecuteStoredProcedure();
|
||||||
|
wsExeProc_<%=cid %>.setWsDataClusterPK(dataCluster_<%=cid %>);
|
||||||
|
org.talend.mdm.webservice.WSStoredProcedurePK wsStoredProcPK_<%=cid %> = new org.talend.mdm.webservice.WSStoredProcedurePK();
|
||||||
|
wsStoredProcPK_<%=cid %>.setPk(<%=spName %>);
|
||||||
|
wsExeProc_<%=cid %>.setWsStoredProcedurePK(wsStoredProcPK_<%=cid %>);
|
||||||
@@ -1,20 +1,20 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
"
|
"
|
||||||
%>
|
|
||||||
<%
|
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
|
||||||
String cid = node.getUniqueName();
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
|
||||||
|
|
||||||
if(!useExistingConn){
|
|
||||||
%>
|
|
||||||
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
<%
|
||||||
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
|
||||||
|
if(!useExistingConn){
|
||||||
|
%>
|
||||||
|
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
|
<%
|
||||||
|
}
|
||||||
|
%>
|
||||||
@@ -1,82 +1,81 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.metadata.IMetadataColumn
|
org.talend.core.model.metadata.IMetadataColumn
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
<%
|
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
|
||||||
String cid = node.getUniqueName();
|
|
||||||
|
|
||||||
String spName = ElementParameterParser.getValue(node, "__SPNAME__");
|
<%
|
||||||
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
List<Map<String, String>> spArgs = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__SP_ARGS__");
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
List<? extends IConnection> inConnections = node.getIncomingConnections();
|
String spName = ElementParameterParser.getValue(node, "__SPNAME__");
|
||||||
IConnection inConnection = null;
|
|
||||||
IMetadataTable metadata = null;
|
|
||||||
if (inConnections != null) {
|
|
||||||
for (int i = 0; i < inConnections.size(); i++) {
|
|
||||||
IConnection connection = inConnections.get(i);
|
|
||||||
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
|
||||||
inConnection = connection;
|
|
||||||
metadata=connection.getMetadataTable();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
List<Map<String, String>> spArgs = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__SP_ARGS__");
|
||||||
if(inConnection!=null){
|
|
||||||
if(spArgs.size()>0){
|
List<? extends IConnection> inConnections = node.getIncomingConnections();
|
||||||
|
IConnection inConnection = null;
|
||||||
|
IMetadataTable metadata = null;
|
||||||
|
if (inConnections != null) {
|
||||||
|
for (int i = 0; i < inConnections.size(); i++) {
|
||||||
|
IConnection connection = inConnections.get(i);
|
||||||
|
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
||||||
|
inConnection = connection;
|
||||||
|
metadata=connection.getMetadataTable();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
||||||
|
if(inConnection!=null){
|
||||||
|
if(spArgs.size()>0){
|
||||||
%>
|
%>
|
||||||
wsExeProc_<%=cid %>.setParameters(new String[]{
|
wsExeProc_<%=cid %>.setParameters(new String[]{
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
for(int i=0;i<spArgs.size();i++){
|
for(int i=0;i<spArgs.size();i++){
|
||||||
Map<String, String> map = spArgs.get(i);
|
Map<String, String> map = spArgs.get(i);
|
||||||
String clmName = map.get("COLUMN");
|
String clmName = map.get("COLUMN");
|
||||||
for(IMetadataColumn column:metadata.getListColumns()){
|
for(IMetadataColumn column:metadata.getListColumns()){
|
||||||
if(column.getLabel().equals(clmName)){
|
if(column.getLabel().equals(clmName)){
|
||||||
%>
|
%>
|
||||||
<%=i==0?"":","%><%=inConnection.getName()%>.<%=column.getLabel() %>
|
<%=i==0?"":","%><%=inConnection.getName()%>.<%=column.getLabel() %>
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(spArgs.size()>0){
|
if(spArgs.size()>0){
|
||||||
%>
|
%>
|
||||||
});
|
});
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if output columns are defined
|
// if output columns are defined
|
||||||
if (outgoingConns != null && outgoingConns.size() > 0){
|
if (outgoingConns != null && outgoingConns.size() > 0){
|
||||||
IConnection outgoingConn = outgoingConns.get(0);
|
IConnection outgoingConn = outgoingConns.get(0);
|
||||||
String outputCol = null;
|
String outputCol = null;
|
||||||
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
||||||
%>
|
%>
|
||||||
for(String xmlField_<%=cid %> : xtentisWS_<%=cid %>.executeStoredProcedure(wsExeProc_<%=cid %>)){
|
for(String xmlField_<%=cid %> : xtentisWS_<%=cid %>.executeStoredProcedure(wsExeProc_<%=cid %>)){
|
||||||
<%=outgoingConn.getName()%>.xmlField = xmlField_<%=cid %>;
|
<%=outgoingConn.getName()%>.xmlField = xmlField_<%=cid %>;
|
||||||
<%
|
<%
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
xtentisWS_<%=cid %>.executeStoredProcedure(wsExeProc_<%=cid %>);
|
xtentisWS_<%=cid %>.executeStoredProcedure(wsExeProc_<%=cid %>);
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
%>
|
%>
|
||||||
xtentisWS_<%=cid %>.executeStoredProcedure(wsExeProc_<%=cid %>);
|
xtentisWS_<%=cid %>.executeStoredProcedure(wsExeProc_<%=cid %>);
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
|
||||||
@@ -1,42 +1,42 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
java.util.List
|
java.util.List
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
|
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
|
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||||
|
|
||||||
if ((metadatas!=null) && (metadatas.size() > 0)) {
|
if ((metadatas!=null) && (metadatas.size() > 0)) {
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
if (metadata != null) {
|
if (metadata != null) {
|
||||||
|
|
||||||
List< ? extends IConnection> conns = node.getOutgoingSortedConnections();
|
List< ? extends IConnection> conns = node.getOutgoingSortedConnections();
|
||||||
if (conns != null){
|
if (conns != null){
|
||||||
|
|
||||||
if (conns.size()>0){
|
if (conns.size()>0){
|
||||||
|
|
||||||
IConnection conn =conns.get(0);
|
IConnection conn =conns.get(0);
|
||||||
String connName = conn.getName();
|
String connName = conn.getName();
|
||||||
|
|
||||||
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
||||||
%>
|
%>
|
||||||
<%=connName%>.MDM_Message = MDMInputMessage;
|
<%=connName%>.MDM_Message = MDMInputMessage;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
@@ -5,34 +5,30 @@ imports="
|
|||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
|
|
||||||
java.util.List;
|
java.util.List;
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||||
if ((metadatas != null) && (metadatas.size() > 0)) {
|
if ((metadatas != null) && (metadatas.size() > 0)) {
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
if (metadata != null) {
|
if (metadata != null) {
|
||||||
|
String incomingName = "";
|
||||||
String incomingName = "";
|
List<? extends IConnection> inputConns = node.getIncomingConnections(EConnectionType.FLOW_MAIN);
|
||||||
|
if ((inputConns!=null)&&(inputConns.size()>0)) {
|
||||||
List<? extends IConnection> inputConns = node.getIncomingConnections(EConnectionType.FLOW_MAIN);
|
IConnection incomingConn = inputConns.get(0);
|
||||||
if ((inputConns!=null)&&(inputConns.size()>0)) {
|
incomingName = incomingConn.getName();
|
||||||
IConnection incomingConn = inputConns.get(0);
|
}else{
|
||||||
incomingName = incomingConn.getName();
|
return "";
|
||||||
}else{
|
}
|
||||||
return "";
|
%>
|
||||||
}
|
MDMOutputMessage = <%=incomingName %>.MDM_Message;
|
||||||
%>
|
<%
|
||||||
MDMOutputMessage = <%=incomingName %>.MDM_Message;
|
}
|
||||||
|
}
|
||||||
<%
|
%>
|
||||||
}
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
@@ -1,192 +1,224 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.metadata.IMetadataColumn
|
org.talend.core.model.metadata.IMetadataColumn
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
|
|
||||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||||
if ((metadatas != null) && (metadatas.size() > 0)) {
|
if ((metadatas != null) && (metadatas.size() > 0)) {
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
|
|
||||||
if (metadata != null) {
|
|
||||||
|
|
||||||
List<IMetadataColumn> columnList = metadata.getListColumns();
|
|
||||||
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
|
||||||
|
|
||||||
// if output columns are defined
|
if (metadata != null) {
|
||||||
if (outgoingConns != null && outgoingConns.size() > 0){
|
|
||||||
|
|
||||||
IConnection outgoingConn = outgoingConns.get(0);
|
|
||||||
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
|
||||||
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
|
||||||
String conn = "xtentisWS_" + connection;
|
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
|
||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
List<IMetadataColumn> columnList = metadata.getListColumns();
|
||||||
//String concept = ElementParameterParser.getValue(node, "__CONCEPT__");
|
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
||||||
String xmlField = ElementParameterParser.getValue(node, "__XMLFIELD__");
|
|
||||||
|
// if output columns are defined
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
if (outgoingConns != null && outgoingConns.size() > 0){
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
|
||||||
String viewName = ElementParameterParser.getValue(node, "__VIEWNAME__");
|
IConnection outgoingConn = outgoingConns.get(0);
|
||||||
|
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
||||||
List<Map<String, String>> operations = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__OPERATIONS__");
|
|
||||||
List<Map<String, String>> orders = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__ORDER_TABLE__");
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
String spellThrehold = ElementParameterParser.getValue(node, "__SPELLTHREHOLD__");
|
String conn = "xtentisWS_" + connection;
|
||||||
String skip = ElementParameterParser.getValue(node, "__SKIP__");
|
String trans = "mdmTrans_" + connection;
|
||||||
String limit = ElementParameterParser.getValue(node, "__MAXVALUE__");
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
String bufferSize = ElementParameterParser.getValue(node, "__FETCHSIZE__");
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
if(spellThrehold==null || ("").equals(spellThrehold)){
|
|
||||||
spellThrehold = "-1";
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
}
|
//String concept = ElementParameterParser.getValue(node, "__CONCEPT__");
|
||||||
if(skip==null || ("").equals(skip)){
|
String xmlField = ElementParameterParser.getValue(node, "__XMLFIELD__");
|
||||||
skip = "0";
|
|
||||||
}
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
if(limit==null || ("").equals(limit)){
|
String viewName = ElementParameterParser.getValue(node, "__VIEWNAME__");
|
||||||
limit = "-1";
|
|
||||||
}
|
List<Map<String, String>> operations = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__OPERATIONS__");
|
||||||
%>
|
List<Map<String, String>> orders = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__ORDER_TABLE__");
|
||||||
int nb_line_<%=cid %> = 0;
|
|
||||||
<%if(!useExistingConn){%>
|
String spellThrehold = ElementParameterParser.getValue(node, "__SPELLTHREHOLD__");
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
String skip = ElementParameterParser.getValue(node, "__SKIP__");
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
String limit = ElementParameterParser.getValue(node, "__MAXVALUE__");
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
String bufferSize = ElementParameterParser.getValue(node, "__FETCHSIZE__");
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
if(spellThrehold==null || ("").equals(spellThrehold)){
|
||||||
|
spellThrehold = "-1";
|
||||||
// Authentification
|
}
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
if(skip==null || ("").equals(skip)){
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
skip = "0";
|
||||||
<%}else{%>
|
}
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
|
||||||
<%}%>
|
if(limit==null || ("").equals(limit)){
|
||||||
|
limit = "-1";
|
||||||
<%
|
}
|
||||||
String passwordFieldName = "__PASSWORD__";
|
%>
|
||||||
|
|
||||||
|
int nb_line_<%=cid %> = 0;
|
||||||
|
<%if(!useExistingConn){%>
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
|
<%if(universe==null || ("").equals(universe.trim())){%>
|
||||||
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
|
<%}else{%>
|
||||||
|
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
||||||
|
<%}%>
|
||||||
|
|
||||||
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
|
<%}else{%>
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(xtentisWS_<%=cid %> == null) {
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername(username_<%=cid%>);
|
||||||
|
stub_<%=cid %>.setPassword(password_<%=cid%>);
|
||||||
|
if((Boolean)globalMap.get("useTransaction_<%=connection %>")) {
|
||||||
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
||||||
|
}
|
||||||
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.client.Call.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE, com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId());
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
||||||
|
globalMap.put("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName(), xtentisWS_<%=cid %>);
|
||||||
|
}
|
||||||
|
<%}%>
|
||||||
|
|
||||||
|
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
||||||
|
|
||||||
|
org.talend.mdm.webservice.WSWhereCondition wc_<%=cid %> = null;
|
||||||
|
java.util.List<org.talend.mdm.webservice.WSWhereItem> conditions_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSWhereItem>();
|
||||||
|
<%
|
||||||
|
boolean isOnlyOrPredicate=true;
|
||||||
|
for(int i=0; i < operations.size(); i++){
|
||||||
|
Map<String, String> map= operations.get(i);
|
||||||
|
String xpath=map.get("XPATH");
|
||||||
|
String operator=map.get("FUNCTION");
|
||||||
|
String value = map.get("VALUE");
|
||||||
|
String predicate = map.get("PREDICATE");
|
||||||
|
if((i < operations.size()-1) && (!"OR".equals(predicate))){
|
||||||
|
isOnlyOrPredicate = false;
|
||||||
|
}
|
||||||
%>
|
%>
|
||||||
|
wc_<%=cid %> =new org.talend.mdm.webservice.WSWhereCondition(<%=xpath %>,org.talend.mdm.webservice.WSWhereOperator.<%=operator %>, <%="EMPTY_NULL".equals(operator)? null:value %>, org.talend.mdm.webservice.WSStringPredicate.<%=predicate %>,false);
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
org.talend.mdm.webservice.WSWhereItem wsItem_<%=i %>=new org.talend.mdm.webservice.WSWhereItem(wc_<%=cid %>,null,null);
|
||||||
|
conditions_<%=cid %>.add(wsItem_<%=i %>);
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
<%
|
||||||
<%}else{%>
|
}//for
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
%>
|
||||||
<%}%>
|
org.talend.mdm.webservice.WSWhereItem wsItem_<%=cid %> = null;
|
||||||
|
if(conditions_<%=cid %>.size() > 0){
|
||||||
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
<%
|
||||||
|
if(!isOnlyOrPredicate){
|
||||||
org.talend.mdm.webservice.WSWhereCondition wc_<%=cid %> = null;
|
%>
|
||||||
java.util.List<org.talend.mdm.webservice.WSWhereItem> conditions_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSWhereItem>();
|
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]),null);
|
||||||
<%
|
<%
|
||||||
boolean isOnlyOrPredicate=true;
|
}else{
|
||||||
for(int i=0; i < operations.size(); i++){
|
%>
|
||||||
Map<String, String> map= operations.get(i);
|
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]));
|
||||||
String xpath=map.get("XPATH");
|
<%
|
||||||
String operator=map.get("FUNCTION");
|
}
|
||||||
String value = map.get("VALUE");
|
%>
|
||||||
String predicate = map.get("PREDICATE");
|
}
|
||||||
if((i < operations.size()-1) && (!"OR".equals(predicate))){
|
|
||||||
isOnlyOrPredicate = false;
|
org.talend.mdm.webservice.WSViewSearch wsViewSearch_<%=cid %> = null;
|
||||||
}
|
|
||||||
%>
|
int limit_<%=cid%> = <%=limit%>;
|
||||||
wc_<%=cid %> =new org.talend.mdm.webservice.WSWhereCondition(<%=xpath %>,org.talend.mdm.webservice.WSWhereOperator.<%=operator %>, <%="EMPTY_NULL".equals(operator)? null:value %>, org.talend.mdm.webservice.WSStringPredicate.<%=predicate %>,false);
|
int recordsPerPage_<%=cid%> = <%=bufferSize%>;
|
||||||
org.talend.mdm.webservice.WSWhereItem wsItem_<%=i %>=new org.talend.mdm.webservice.WSWhereItem(wc_<%=cid %>,null,null);
|
int skip_<%=cid%> = <%=skip%>;
|
||||||
conditions_<%=cid %>.add(wsItem_<%=i %>);
|
|
||||||
<%
|
if (skip_<%=cid%> < 0)
|
||||||
}//for
|
skip_<%=cid%> = 0;
|
||||||
%>
|
|
||||||
org.talend.mdm.webservice.WSWhereItem wsItem_<%=cid %> = null;
|
if (recordsPerPage_<%=cid%> <= 0)
|
||||||
if(conditions_<%=cid %>.size() > 0){
|
recordsPerPage_<%=cid%> = -1;// read whole records in one time
|
||||||
<%
|
|
||||||
if(!isOnlyOrPredicate){
|
if (limit_<%=cid%> <= 0)
|
||||||
%>
|
limit_<%=cid%> = -1;// no limit
|
||||||
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]),null);
|
|
||||||
<%
|
int retrievedCount_<%=cid%> = 0;
|
||||||
}else{
|
int readRecordsSize_<%=cid%> = limit_<%=cid%> == -1 ? recordsPerPage_<%=cid%> : (recordsPerPage_<%=cid%> == -1 ? limit_<%=cid%> : (recordsPerPage_<%=cid%> > limit_<%=cid%> ? limit_<%=cid%>
|
||||||
%>
|
|
||||||
wsItem_<%=cid %> =new org.talend.mdm.webservice.WSWhereItem(null,null,conditions_<%=cid %>.toArray(new org.talend.mdm.webservice.WSWhereItem[conditions_<%=cid %>.size()]));
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
}
|
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSViewSearch wsViewSearch_<%=cid %> = null;
|
|
||||||
|
|
||||||
int limit_<%=cid%> = <%=limit%>;
|
|
||||||
int recordsPerPage_<%=cid%> = <%=bufferSize%>;
|
|
||||||
int skip_<%=cid%> = <%=skip%>;
|
|
||||||
|
|
||||||
if (skip_<%=cid%> < 0)
|
|
||||||
skip_<%=cid%> = 0;
|
|
||||||
|
|
||||||
if (recordsPerPage_<%=cid%> <= 0)
|
|
||||||
recordsPerPage_<%=cid%> = -1;// read whole records in one time
|
|
||||||
|
|
||||||
if (limit_<%=cid%> <= 0)
|
|
||||||
limit_<%=cid%> = -1;// no limit
|
|
||||||
|
|
||||||
int retrievedCount_<%=cid%> = 0;
|
|
||||||
int readRecordsSize_<%=cid%> = limit_<%=cid%> == -1 ? recordsPerPage_<%=cid%> : (recordsPerPage_<%=cid%> == -1 ? limit_<%=cid%> : (recordsPerPage_<%=cid%> > limit_<%=cid%> ? limit_<%=cid%>
|
|
||||||
: recordsPerPage_<%=cid%>));
|
: recordsPerPage_<%=cid%>));
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSGetItems getitems_<%=cid %>=null;
|
org.talend.mdm.webservice.WSGetItems getitems_<%=cid %>=null;
|
||||||
|
|
||||||
boolean continueFlag_<%=cid%> = true;
|
boolean continueFlag_<%=cid%> = true;
|
||||||
int totalCount_<%=cid%> = -1;<%//For TDI-26039%>
|
int totalCount_<%=cid%> = -1;<%//For TDI-26039%>
|
||||||
while (continueFlag_<%=cid%>) {
|
while (continueFlag_<%=cid%>) {
|
||||||
wsViewSearch_<%=cid%> = new org.talend.mdm.webservice.WSViewSearch();
|
wsViewSearch_<%=cid%> = new org.talend.mdm.webservice.WSViewSearch();
|
||||||
wsViewSearch_<%=cid%>.setWsDataClusterPK(dataCluster_<%=cid%>);
|
wsViewSearch_<%=cid%>.setWsDataClusterPK(dataCluster_<%=cid%>);
|
||||||
wsViewSearch_<%=cid%>.setWsViewPK(new org.talend.mdm.webservice.WSViewPK(<%=viewName%>));
|
wsViewSearch_<%=cid%>.setWsViewPK(new org.talend.mdm.webservice.WSViewPK(<%=viewName%>));
|
||||||
|
wsViewSearch_<%=cid%>.setSpellTreshold(<%=spellThrehold%>);
|
||||||
wsViewSearch_<%=cid%>.setSpellTreshold(<%=spellThrehold%>);
|
wsViewSearch_<%=cid%>.setSkip(skip_<%=cid%> + retrievedCount_<%=cid%>);
|
||||||
wsViewSearch_<%=cid%>.setSkip(skip_<%=cid%> + retrievedCount_<%=cid%>);
|
wsViewSearch_<%=cid%>.setMaxItems(readRecordsSize_<%=cid%>);
|
||||||
wsViewSearch_<%=cid%>.setMaxItems(readRecordsSize_<%=cid%>);
|
|
||||||
|
<%
|
||||||
<%
|
for(int i=0; i< orders.size(); i++){ // only the first one will be effective.
|
||||||
for(int i=0; i< orders.size(); i++){ // only the first one will be effective.
|
Map<String, String> map= orders.get(i);
|
||||||
Map<String, String> map= orders.get(i);
|
%>
|
||||||
%>
|
wsViewSearch_<%=cid%>.setOrderBy(<%=map.get("XPATH")%>); // OPTIONAL
|
||||||
wsViewSearch_<%=cid%>.setOrderBy(<%=map.get("XPATH")%>); // OPTIONAL
|
wsViewSearch_<%=cid%>.setDirection("<%=map.get("ORDER")%>"); // OPTIONAL
|
||||||
wsViewSearch_<%=cid%>.setDirection("<%=map.get("ORDER")%>"); // OPTIONAL
|
<%
|
||||||
<%
|
break;
|
||||||
break;
|
}
|
||||||
}
|
%>
|
||||||
%>
|
wsViewSearch_<%=cid%>.setWhereItem(wsItem_<%=cid%>); // OPTIONAL
|
||||||
wsViewSearch_<%=cid%>.setWhereItem(wsItem_<%=cid%>); // OPTIONAL
|
|
||||||
|
String[] items_<%=cid%> = xtentisWS_<%=cid%>.viewSearch(wsViewSearch_<%=cid%>);
|
||||||
String[] items_<%=cid%> = xtentisWS_<%=cid%>.viewSearch(wsViewSearch_<%=cid%>);
|
if(totalCount_<%=cid%> < 0){
|
||||||
if(totalCount_<%=cid%> < 0){
|
totalCount_<%=cid%> = Integer.valueOf(items_<%=cid%>[0].replaceAll("<totalCount>", "").replaceAll("</totalCount>", ""));
|
||||||
totalCount_<%=cid%> = Integer.valueOf(items_<%=cid%>[0].replaceAll("<totalCount>", "").replaceAll("</totalCount>", ""));
|
}
|
||||||
}
|
|
||||||
|
retrievedCount_<%=cid%> += items_<%=cid%>.length - 1; // for header
|
||||||
retrievedCount_<%=cid%> += items_<%=cid%>.length - 1; // for header
|
if (totalCount_<%=cid%> == retrievedCount_<%=cid%> || recordsPerPage_<%=cid%> == -1 || items_<%=cid%>.length < readRecordsSize_<%=cid%> || limit_<%=cid%> == retrievedCount_<%=cid%>) {
|
||||||
if (totalCount_<%=cid%> == retrievedCount_<%=cid%> || recordsPerPage_<%=cid%> == -1 || items_<%=cid%>.length < readRecordsSize_<%=cid%> || limit_<%=cid%> == retrievedCount_<%=cid%>) {
|
continueFlag_<%=cid%> = false;
|
||||||
continueFlag_<%=cid%> = false;
|
} else if (limit_<%=cid%> != -1 && limit_<%=cid%> < retrievedCount_<%=cid%> + readRecordsSize_<%=cid%>) {
|
||||||
} else if (limit_<%=cid%> != -1 && limit_<%=cid%> < retrievedCount_<%=cid%> + readRecordsSize_<%=cid%>) {
|
readRecordsSize_<%=cid%> = limit_<%=cid%> - retrievedCount_<%=cid%>;
|
||||||
readRecordsSize_<%=cid%> = limit_<%=cid%> - retrievedCount_<%=cid%>;
|
}
|
||||||
}
|
|
||||||
|
for(int i_<%=cid %>=1;i_<%=cid %> < items_<%=cid %>.length; i_<%=cid %>++){
|
||||||
for(int i_<%=cid %>=1;i_<%=cid %> < items_<%=cid %>.length; i_<%=cid %>++){
|
nb_line_<%=cid %> ++;
|
||||||
nb_line_<%=cid %> ++;
|
<%=outgoingConn.getName() %>.<%=xmlField %> = items_<%=cid %>[i_<%=cid %>];
|
||||||
<%=outgoingConn.getName() %>.<%=xmlField %> = items_<%=cid %>[i_<%=cid %>];
|
<%
|
||||||
<%
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
@@ -1,48 +1,47 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.metadata.IMetadataColumn
|
org.talend.core.model.metadata.IMetadataColumn
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
java.util.List
|
java.util.List
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
|
|
||||||
List<IMetadataTable> metadatas = node.getMetadataList();
|
List<IMetadataTable> metadatas = node.getMetadataList();
|
||||||
if ((metadatas != null) && (metadatas.size() > 0)) {
|
if ((metadatas != null) && (metadatas.size() > 0)) {
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
|
|
||||||
if (metadata != null) {
|
|
||||||
|
|
||||||
List<IMetadataColumn> columnList = metadata.getListColumns();
|
|
||||||
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
|
||||||
|
|
||||||
// if output columns are defined
|
if (metadata != null) {
|
||||||
if (outgoingConns != null && outgoingConns.size() > 0){
|
|
||||||
|
List<IMetadataColumn> columnList = metadata.getListColumns();
|
||||||
IConnection outgoingConn = outgoingConns.get(0);
|
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
||||||
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
|
||||||
%>
|
// if output columns are defined
|
||||||
}
|
if (outgoingConns != null && outgoingConns.size() > 0){
|
||||||
}
|
|
||||||
<%if(!useExistingConn){%>
|
IConnection outgoingConn = outgoingConns.get(0);
|
||||||
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { // start 1
|
||||||
<%}%>
|
%>
|
||||||
|
}
|
||||||
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
}
|
||||||
<%
|
<%if(!useExistingConn){%>
|
||||||
}
|
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
}
|
<%}%>
|
||||||
}
|
|
||||||
|
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
||||||
|
<%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
|
||||||
@@ -1,103 +1,146 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.process.EConnectionType
|
org.talend.core.model.process.EConnectionType
|
||||||
org.talend.core.model.utils.NodeUtil
|
org.talend.core.model.utils.NodeUtil
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
String virtualcid = cid;
|
String virtualcid = cid;
|
||||||
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
||||||
if(destination!=null && !"".equals(destination)){
|
if(destination!=null && !"".equals(destination)){
|
||||||
cid = destination;
|
cid = destination;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
|
||||||
String conn = "xtentisWS_" + connection;
|
String conn = "xtentisWS_" + connection;
|
||||||
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
String trans = "mdmTrans_" + connection;
|
||||||
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__");
|
||||||
|
String username = ElementParameterParser.getValue(node, "__USERNAME__");
|
||||||
|
|
||||||
|
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
||||||
|
String dataModule = ElementParameterParser.getValue(node, "__DATAMODEL__");
|
||||||
|
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
||||||
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
|
boolean isProvisioning = "\"PROVISIONING\"".equalsIgnoreCase(dataCluster);
|
||||||
|
|
||||||
|
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
||||||
|
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
||||||
|
|
||||||
|
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
||||||
|
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
||||||
|
|
||||||
|
boolean storeFlow = ("true").equals(ElementParameterParser.getValue(node, "__STORE_FLOW__"));
|
||||||
|
%>
|
||||||
|
|
||||||
String universe = ElementParameterParser.getValue(node, "__UNIVERSE__");
|
|
||||||
String dataModule = ElementParameterParser.getValue(node, "__DATAMODEL__");
|
|
||||||
String dataCluster = ElementParameterParser.getValue(node, "__DATACLUSTER__");
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
|
||||||
|
|
||||||
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
|
||||||
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
|
||||||
|
|
||||||
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
|
||||||
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
|
||||||
|
|
||||||
boolean storeFlow = ("true").equals(ElementParameterParser.getValue(node, "__STORE_FLOW__"));
|
|
||||||
%>
|
|
||||||
int nb_line_<%=cid %> = 0;
|
int nb_line_<%=cid %> = 0;
|
||||||
int nb_line_rejected_<%=cid%> = 0;
|
int nb_line_rejected_<%=cid%> = 0;
|
||||||
<%if(!usePartialUpdate){%>
|
<%if(!usePartialUpdate){%>
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
class Util_<%=cid%>{
|
class Util_<%=cid%>{
|
||||||
public org.talend.mdm.webservice.WSUpdateMetadataItem makeUpdateMeteItm(String taskID,org.talend.mdm.webservice.WSItemPK wspk){
|
public org.talend.mdm.webservice.WSUpdateMetadataItem makeUpdateMeteItm(String taskID,org.talend.mdm.webservice.WSItemPK wspk){
|
||||||
org.talend.mdm.webservice.WSUpdateMetadataItem wsUpdateMetadataItem = new org.talend.mdm.webservice.WSUpdateMetadataItem();
|
org.talend.mdm.webservice.WSUpdateMetadataItem wsUpdateMetadataItem = new org.talend.mdm.webservice.WSUpdateMetadataItem();
|
||||||
wsUpdateMetadataItem.setTaskId(taskID);
|
wsUpdateMetadataItem.setTaskId(taskID);
|
||||||
wsUpdateMetadataItem.setWsItemPK(wspk);
|
wsUpdateMetadataItem.setWsItemPK(wspk);
|
||||||
return wsUpdateMetadataItem;
|
return wsUpdateMetadataItem;
|
||||||
}
|
}
|
||||||
public org.talend.mdm.webservice.WSUpdateMetadataItem[] makeUpdateMeteItms(java.util.List<String> taskIDs,org.talend.mdm.webservice.WSItemPK[] wspks){
|
public org.talend.mdm.webservice.WSUpdateMetadataItem[] makeUpdateMeteItms(java.util.List<String> taskIDs,org.talend.mdm.webservice.WSItemPK[] wspks){
|
||||||
java.util.List<org.talend.mdm.webservice.WSUpdateMetadataItem> wsUpdateMetadataItems = new java.util.ArrayList<org.talend.mdm.webservice.WSUpdateMetadataItem>();
|
java.util.List<org.talend.mdm.webservice.WSUpdateMetadataItem> wsUpdateMetadataItems = new java.util.ArrayList<org.talend.mdm.webservice.WSUpdateMetadataItem>();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for(org.talend.mdm.webservice.WSItemPK wspk : wspks){
|
for(org.talend.mdm.webservice.WSItemPK wspk : wspks){
|
||||||
wsUpdateMetadataItems.add(makeUpdateMeteItm(taskIDs.get(i),wspk));
|
wsUpdateMetadataItems.add(makeUpdateMeteItm(taskIDs.get(i),wspk));
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
return wsUpdateMetadataItems.toArray(new org.talend.mdm.webservice.WSUpdateMetadataItem[wsUpdateMetadataItems.size()]);
|
return wsUpdateMetadataItems.toArray(new org.talend.mdm.webservice.WSUpdateMetadataItem[wsUpdateMetadataItems.size()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Util_<%=cid%> util_<%=cid%> = new Util_<%=cid%>();
|
Util_<%=cid%> util_<%=cid%> = new Util_<%=cid%>();
|
||||||
<%}%>
|
<%}%>
|
||||||
<%if(isMassInsert){
|
<%if(isMassInsert){
|
||||||
if(!isStaging && withReport){%>
|
if(!isStaging && withReport){%>
|
||||||
java.util.List <org.talend.mdm.webservice.WSPutItemWithReport> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItemWithReport>();
|
java.util.List <org.talend.mdm.webservice.WSPutItemWithReport> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItemWithReport>();
|
||||||
<% }else{%>
|
<% }else{%>
|
||||||
java.util.List <org.talend.mdm.webservice.WSPutItem> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItem>();
|
java.util.List <org.talend.mdm.webservice.WSPutItem> miList_<%=cid %> = new java.util.ArrayList<org.talend.mdm.webservice.WSPutItem>();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if(addTaskID){
|
if(addTaskID){
|
||||||
%>
|
%>
|
||||||
java.util.List<String> taskIDs_<%=cid%> = new java.util.ArrayList<String>();
|
java.util.List<String> taskIDs_<%=cid%> = new java.util.ArrayList<String>();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
|
|
||||||
<%if(!useExistingConn){%>
|
<%if(!useExistingConn){%>
|
||||||
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(<%=mdmUrl %>);
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
|
||||||
// Authentification
|
// Authentification
|
||||||
<%if(universe==null || ("").equals(universe.trim())){%>
|
<%if(universe==null || ("").equals(universe.trim())){%>
|
||||||
stub_<%=cid %>.setUsername(<%=username %>);
|
stub_<%=cid %>.setUsername(<%=username %>);
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
stub_<%=cid %>.setUsername(<%=universe%> + "/" + <%=username %>);
|
||||||
<%}%>
|
<%}%>
|
||||||
|
|
||||||
<%
|
<% String passwordFieldName = "__PASSWORD__"; %>
|
||||||
String passwordFieldName = "__PASSWORD__";
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/password.javajet"%>
|
||||||
|
|
||||||
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
stub_<%=cid %>.setPassword(decryptedPassword_<%=cid%>);
|
||||||
|
<%}else if(isProvisioning){%>
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername((String)globalMap.get("username_<%=connection %>"));
|
||||||
|
stub_<%=cid %>.setPassword((String)globalMap.get("password_<%=connection %>"));
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>");
|
org.talend.mdm.webservice.XtentisPort_PortType xtentisWS_<%=cid %> = (org.talend.mdm.webservice.XtentisPort_PortType)globalMap.get("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(xtentisWS_<%=cid %> == null) {
|
||||||
|
String murl_<%=cid %> = (String)globalMap.get("mdmUrl_<%=connection %>");
|
||||||
|
String username_<%=cid%> = (String)globalMap.get("username_<%=connection %>");
|
||||||
|
String password_<%=cid%> = (String)globalMap.get("password_<%=connection %>");
|
||||||
|
org.talend.mdm.webservice.XtentisServiceLocator xtentisService_<%=cid %> = new org.talend.mdm.webservice.XtentisServiceLocator();
|
||||||
|
xtentisService_<%=cid %>.setXtentisPortEndpointAddress(murl_<%=cid %>);
|
||||||
|
xtentisWS_<%=cid %> = xtentisService_<%=cid %>.getXtentisPort();
|
||||||
|
org.talend.mdm.webservice.XtentisBindingStub stub_<%=cid %> = (org.talend.mdm.webservice.XtentisBindingStub)xtentisWS_<%=cid %>;
|
||||||
|
stub_<%=cid %>.setUsername(username_<%=cid%>);
|
||||||
|
stub_<%=cid %>.setPassword(password_<%=cid%>);
|
||||||
|
if((Boolean)globalMap.get("useTransaction_<%=connection %>")) {
|
||||||
|
String turl_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getMDMTransactionURL(murl_<%=cid %>);
|
||||||
|
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid%> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName());
|
||||||
|
if(mdmTransaction_<%=cid%> == null) {
|
||||||
|
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
|
||||||
|
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%> = new com.talend.mdm.transaction.client.MDMTransaction();
|
||||||
|
mdmTransaction_<%=cid%>.setUrl(turl_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setId("<%=cid%>_" + java.util.UUID.randomUUID());
|
||||||
|
mdmTransaction_<%=cid%>.setUsername(username_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setPassword(password_<%=cid%>);
|
||||||
|
mdmTransaction_<%=cid%>.setSessionId(sessionID_<%=cid%>);
|
||||||
|
} else {
|
||||||
|
mdmTransaction_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid%>,stub_<%=cid %>.getUsername(),stub_<%=cid %>.getPassword());
|
||||||
|
}
|
||||||
|
globalMap.put("<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(), mdmTransaction_<%=cid %>);
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.setHeader(new org.apache.axis.message.SOAPHeaderElement("http://www.talend.com/mdm", "transaction-id", mdmTransaction_<%=cid%>.getId()));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.client.Call.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
|
||||||
|
stub_<%=cid %>._setProperty(org.apache.axis.transport.http.HTTPConstants.HEADER_COOKIE, com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId());
|
||||||
|
}
|
||||||
|
stub_<%=cid %>.ping(new org.talend.mdm.webservice.WSPing());<%//For TDI-26109%>
|
||||||
|
globalMap.put("<%=conn%>_" + Thread.currentThread().getThreadGroup().getName(), xtentisWS_<%=cid %>);
|
||||||
|
}
|
||||||
<%}%>
|
<%}%>
|
||||||
|
|
||||||
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
org.talend.mdm.webservice.WSDataClusterPK dataCluster_<%=cid %> = new org.talend.mdm.webservice.WSDataClusterPK(<%=dataCluster %> + "<%=isStaging?"#STAGING":""%>");
|
||||||
@@ -114,77 +157,77 @@ String virtualSourceCid = sourceNode.getUniqueName();
|
|||||||
INode startNode = NodeUtil.getSpecificStartNode(sourceNode);
|
INode startNode = NodeUtil.getSpecificStartNode(sourceNode);
|
||||||
String startNodeCid = null;
|
String startNodeCid = null;
|
||||||
if(startNode != null){
|
if(startNode != null){
|
||||||
startNodeCid = startNode.getUniqueName();
|
startNodeCid = startNode.getUniqueName();
|
||||||
}
|
}
|
||||||
IConnection nextMergeConn = NodeUtil.getNextMergeConnection(node);
|
IConnection nextMergeConn = NodeUtil.getNextMergeConnection(node);
|
||||||
if(nextMergeConn != null && nextMergeConn.getInputId()>1 && startNodeCid != null){
|
if(nextMergeConn != null && nextMergeConn.getInputId()>1 && startNodeCid != null) {
|
||||||
%>
|
%>
|
||||||
java.util.Queue<String> queue_<%=cid%> = new java.util.concurrent.ConcurrentLinkedQueue<String>();
|
java.util.Queue<String> queue_<%=cid%> = new java.util.concurrent.ConcurrentLinkedQueue<String>();
|
||||||
<%
|
<%
|
||||||
if(storeFlow){
|
if(storeFlow){
|
||||||
%>
|
%>
|
||||||
java.util.List<java.util.Map<String,String>> xmlFlowList_<%=cid%> = java.util.Collections.synchronizedList(new java.util.ArrayList<java.util.Map<String,String>>());
|
java.util.List<java.util.Map<String,String>> xmlFlowList_<%=cid%> = java.util.Collections.synchronizedList(new java.util.ArrayList<java.util.Map<String,String>>());
|
||||||
int flowNum_<%=cid%> = 0;
|
int flowNum_<%=cid%> = 0;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
class ThreadXMLField_<%=cid%> extends Thread {
|
class ThreadXMLField_<%=cid%> extends Thread {
|
||||||
java.util.Queue<String> queue;
|
java.util.Queue<String> queue;
|
||||||
java.util.List<java.util.Map<String,String>> flows;
|
java.util.List<java.util.Map<String,String>> flows;
|
||||||
java.lang.Exception lastException;
|
java.lang.Exception lastException;
|
||||||
String currentComponent;
|
String currentComponent;
|
||||||
|
|
||||||
ThreadXMLField_<%=cid%>(java.util.Queue q) {
|
ThreadXMLField_<%=cid%>(java.util.Queue q) {
|
||||||
this.queue = q;
|
this.queue = q;
|
||||||
globalMap.put("queue_<%=virtualSourceCid%>", queue);
|
globalMap.put("queue_<%=virtualSourceCid%>", queue);
|
||||||
lastException = null;
|
lastException = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
ThreadXMLField_<%=cid%>(java.util.Queue q, java.util.List<java.util.Map<String,String>> l) {
|
ThreadXMLField_<%=cid%>(java.util.Queue q, java.util.List<java.util.Map<String,String>> l) {
|
||||||
this.queue = q;
|
this.queue = q;
|
||||||
this.flows = l;
|
this.flows = l;
|
||||||
lastException = null;
|
lastException = null;
|
||||||
globalMap.put("queue_<%=virtualSourceCid%>", queue);
|
globalMap.put("queue_<%=virtualSourceCid%>", queue);
|
||||||
globalMap.put("flows_<%=virtualSourceCid%>", flows);
|
globalMap.put("flows_<%=virtualSourceCid%>", flows);
|
||||||
}
|
}
|
||||||
|
|
||||||
public java.lang.Exception getLastException() {
|
public java.lang.Exception getLastException() {
|
||||||
return this.lastException;
|
return this.lastException;
|
||||||
}
|
}
|
||||||
public String getCurrentComponent() {
|
public String getCurrentComponent() {
|
||||||
return this.currentComponent;
|
return this.currentComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
<%=startNodeCid%>Process(globalMap);
|
<%=startNodeCid%>Process(globalMap);
|
||||||
} catch (TalendException te) {
|
} catch (TalendException te) {
|
||||||
this.lastException = te.getException();
|
this.lastException = te.getException();
|
||||||
this.currentComponent = te.getCurrentComponent();
|
this.currentComponent = te.getCurrentComponent();
|
||||||
globalMap.put("<%=virtualcid%>_FINISH" + (this.queue==null?"":this.queue.hashCode()), "true");
|
globalMap.put("<%=virtualcid%>_FINISH" + (this.queue==null?"":this.queue.hashCode()), "true");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<%if(storeFlow){%>
|
<%if(storeFlow){%>
|
||||||
ThreadXMLField_<%=cid%> txf_<%=cid%> = new ThreadXMLField_<%=cid%>(queue_<%=cid%>, xmlFlowList_<%=cid%>);
|
ThreadXMLField_<%=cid%> txf_<%=cid%> = new ThreadXMLField_<%=cid%>(queue_<%=cid%>, xmlFlowList_<%=cid%>);
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
ThreadXMLField_<%=cid%> txf_<%=cid%> = new ThreadXMLField_<%=cid%>(queue_<%=cid%>);
|
ThreadXMLField_<%=cid%> txf_<%=cid%> = new ThreadXMLField_<%=cid%>(queue_<%=cid%>);
|
||||||
<%}%>
|
<%}%>
|
||||||
txf_<%=cid%>.start();
|
txf_<%=cid%>.start();
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
if(storeFlow){
|
if(storeFlow){
|
||||||
%>
|
%>
|
||||||
java.util.List<java.util.Map<String,String>> xmlFlowList_<%=cid%> = (java.util.List<java.util.Map<String,String>>)globalMap.get("flows_<%=virtualcid%>");
|
java.util.List<java.util.Map<String,String>> xmlFlowList_<%=cid%> = (java.util.List<java.util.Map<String,String>>)globalMap.get("flows_<%=virtualcid%>");
|
||||||
int flowNum_<%=cid%> = 0;
|
int flowNum_<%=cid%> = 0;
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
java.util.Queue<String> queue_<%=cid%> = (java.util.Queue<String>) globalMap.get("queue_<%=virtualcid%>");
|
java.util.Queue<String> queue_<%=cid%> = (java.util.Queue<String>) globalMap.get("queue_<%=virtualcid%>");
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
String readFinishMarkWithPipeId_<%=cid%> = "<%=virtualcid%>_FINISH"+(queue_<%=cid%>==null?"":queue_<%=cid%>.hashCode());
|
String readFinishMarkWithPipeId_<%=cid%> = "<%=virtualcid%>_FINISH"+(queue_<%=cid%>==null?"":queue_<%=cid%>.hashCode());
|
||||||
while(!globalMap.containsKey(readFinishMarkWithPipeId_<%=cid%>) || !queue_<%=cid%>.isEmpty()) {
|
while(!globalMap.containsKey(readFinishMarkWithPipeId_<%=cid%>) || !queue_<%=cid%>.isEmpty()) {
|
||||||
if (!queue_<%=cid%>.isEmpty()) {
|
if (!queue_<%=cid%>.isEmpty()) {
|
||||||
|
|||||||
@@ -1,36 +1,34 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.process.EConnectionType
|
org.talend.core.model.process.EConnectionType
|
||||||
org.talend.core.model.utils.NodeUtil
|
org.talend.core.model.utils.NodeUtil
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
String cid = node.getUniqueName();
|
String cid = node.getUniqueName();
|
||||||
String virtualcid = cid;
|
String virtualcid = cid;
|
||||||
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
String destination = ElementParameterParser.getValue(node, "__DESTINATION__");
|
||||||
if(destination!=null && !"".equals(destination)){
|
if(destination!=null && !"".equals(destination)){
|
||||||
cid = destination;
|
cid = destination;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
boolean isStaging = "STAGING".equalsIgnoreCase(ElementParameterParser.getValue(node, "__CONTAINER_TYPE__"));
|
||||||
|
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
||||||
boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
|
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
||||||
|
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
||||||
boolean isMassInsert =("true").equals(ElementParameterParser.getValue(node,"__EXTENDINSERT__"));
|
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
||||||
boolean withReport = ("true").equals(ElementParameterParser.getValue(node,"__WITHREPORT__"));
|
String taskID = ElementParameterParser.getValue(node,"__TASKID__");
|
||||||
|
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
||||||
boolean addTaskID = ("true").equals(ElementParameterParser.getValue(node,"__ADD_TASKID__"));
|
|
||||||
String taskID = ElementParameterParser.getValue(node,"__TASKID__");
|
|
||||||
boolean usePartialUpdate = ("true").equals(ElementParameterParser.getValue(node,"__USE_PARTIAL_UPDATE__"));
|
|
||||||
%>
|
%>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
INode sourceNode = node.getIncomingConnections(EConnectionType.ON_COMPONENT_OK).get(0).getSource();
|
INode sourceNode = node.getIncomingConnections(EConnectionType.ON_COMPONENT_OK).get(0).getSource();
|
||||||
@@ -38,27 +36,27 @@ String virtualSourceCid = sourceNode.getUniqueName();
|
|||||||
INode startNode = NodeUtil.getSpecificStartNode(sourceNode);
|
INode startNode = NodeUtil.getSpecificStartNode(sourceNode);
|
||||||
String startNodeCid = null;
|
String startNodeCid = null;
|
||||||
if(startNode != null){
|
if(startNode != null){
|
||||||
startNodeCid = startNode.getUniqueName();
|
startNodeCid = startNode.getUniqueName();
|
||||||
}
|
}
|
||||||
IConnection nextMergeConn = NodeUtil.getNextMergeConnection(node);
|
IConnection nextMergeConn = NodeUtil.getNextMergeConnection(node);
|
||||||
if(nextMergeConn != null && nextMergeConn.getInputId()>1 && startNodeCid != null){
|
if(nextMergeConn != null && nextMergeConn.getInputId()>1 && startNodeCid != null){
|
||||||
%>
|
%>
|
||||||
txf_<%=cid%>.join();
|
txf_<%=cid%>.join();
|
||||||
if(txf_<%=cid%>.getLastException()!=null) {
|
if(txf_<%=cid%>.getLastException()!=null) {
|
||||||
currentComponent = txf_<%=cid%>.getCurrentComponent();
|
currentComponent = txf_<%=cid%>.getCurrentComponent();
|
||||||
throw txf_<%=cid%>.getLastException();
|
throw txf_<%=cid%>.getLastException();
|
||||||
}
|
}
|
||||||
globalMap.remove("queue_<%=virtualSourceCid%>");
|
globalMap.remove("queue_<%=virtualSourceCid%>");
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
String readFinishWithExceptionMarkWithPipeId_<%=cid%> = "<%=cid%>_FINISH_WITH_EXCEPTION"+(queue_<%=cid%>==null?"":queue_<%=cid%>.hashCode());
|
String readFinishWithExceptionMarkWithPipeId_<%=cid%> = "<%=cid%>_FINISH_WITH_EXCEPTION"+(queue_<%=cid%>==null?"":queue_<%=cid%>.hashCode());
|
||||||
if(globalMap.containsKey(readFinishWithExceptionMarkWithPipeId_<%=cid%>)){
|
if(globalMap.containsKey(readFinishWithExceptionMarkWithPipeId_<%=cid%>)){
|
||||||
globalMap.put(readFinishWithExceptionMarkWithPipeId_<%=cid%>, null);// syn
|
globalMap.put(readFinishWithExceptionMarkWithPipeId_<%=cid%>, null);// syn
|
||||||
globalMap.remove(readFinishWithExceptionMarkWithPipeId_<%=cid%>);
|
globalMap.remove(readFinishWithExceptionMarkWithPipeId_<%=cid%>);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
globalMap.remove("queue_<%=node.getUniqueName()%>");
|
globalMap.remove("queue_<%=node.getUniqueName()%>");
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
@@ -66,37 +64,37 @@ globalMap.put(readFinishMarkWithPipeId_<%=cid%>,null);//syn
|
|||||||
globalMap.remove(readFinishMarkWithPipeId_<%=cid%>);
|
globalMap.remove(readFinishMarkWithPipeId_<%=cid%>);
|
||||||
<%
|
<%
|
||||||
if(!usePartialUpdate){
|
if(!usePartialUpdate){
|
||||||
if(isMassInsert){
|
if(isMassInsert){
|
||||||
if(!isStaging && withReport){
|
if(!isStaging && withReport){
|
||||||
%>
|
%>
|
||||||
if(miList_<%=cid %>.size() > 0){
|
if(miList_<%=cid %>.size() > 0){
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[miList_<%=cid %>.size()]));
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[miList_<%=cid %>.size()]));
|
||||||
miList_<%=cid %>.clear();
|
miList_<%=cid %>.clear();
|
||||||
miList_<%=cid %> = null;
|
miList_<%=cid %> = null;
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
taskIDs_<%=cid%>.clear();
|
taskIDs_<%=cid%>.clear();
|
||||||
<%}%>
|
<%}%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}else{%>
|
}else{%>
|
||||||
if(miList_<%=cid %>.size() > 0){
|
if(miList_<%=cid %>.size() > 0){
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[miList_<%=cid %>.size()]));
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[miList_<%=cid %>.size()]));
|
||||||
miList_<%=cid %>.clear();
|
miList_<%=cid %>.clear();
|
||||||
miList_<%=cid %> = null;
|
miList_<%=cid %> = null;
|
||||||
<%if(addTaskID){%>
|
<%if(addTaskID){%>
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
taskIDs_<%=cid%>.clear();
|
taskIDs_<%=cid%>.clear();
|
||||||
<%}%>
|
<%}%>
|
||||||
}
|
}
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
<%if(!useExistingConn){%>
|
|
||||||
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
<%if(!useExistingConn){%>
|
||||||
<%}%>
|
stub_<%=cid %>.logout(new org.talend.mdm.webservice.WSLogout());
|
||||||
|
<%}%>
|
||||||
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
|
||||||
globalMap.put("<%=cid %>_NB_LINE_REJECTED",nb_line_rejected_<%=cid%>);
|
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid %>);
|
||||||
|
globalMap.put("<%=cid %>_NB_LINE_REJECTED",nb_line_rejected_<%=cid%>);
|
||||||
@@ -1,18 +1,19 @@
|
|||||||
<%@ jet
|
<%@ jet
|
||||||
imports="
|
imports="
|
||||||
org.talend.core.model.process.INode
|
org.talend.core.model.process.INode
|
||||||
org.talend.core.model.process.ElementParameterParser
|
org.talend.core.model.process.ElementParameterParser
|
||||||
org.talend.core.model.metadata.IMetadataTable
|
org.talend.core.model.metadata.IMetadataTable
|
||||||
org.talend.core.model.metadata.IMetadataColumn
|
org.talend.core.model.metadata.IMetadataColumn
|
||||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||||
org.talend.core.model.process.IConnection
|
org.talend.core.model.process.IConnection
|
||||||
org.talend.core.model.process.IConnectionCategory
|
org.talend.core.model.process.IConnectionCategory
|
||||||
org.talend.core.model.metadata.types.JavaTypesManager
|
org.talend.core.model.metadata.types.JavaTypesManager
|
||||||
org.talend.core.model.metadata.types.JavaType
|
org.talend.core.model.metadata.types.JavaType
|
||||||
java.util.List
|
java.util.List
|
||||||
java.util.Map
|
java.util.Map
|
||||||
"
|
"
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
|
||||||
INode node = (INode)codeGenArgument.getArgument();
|
INode node = (INode)codeGenArgument.getArgument();
|
||||||
@@ -55,7 +56,7 @@ if (destination != null && !"".equals(destination)) {
|
|||||||
if (metadatas != null && metadatas.size()>0) {
|
if (metadatas != null && metadatas.size()>0) {
|
||||||
IMetadataTable metadata = metadatas.get(0);
|
IMetadataTable metadata = metadatas.get(0);
|
||||||
if (metadata != null) {
|
if (metadata != null) {
|
||||||
|
|
||||||
String rejectConnName = null;
|
String rejectConnName = null;
|
||||||
List<? extends IConnection> rejectConns = node.getOutgoingConnections("REJECT");
|
List<? extends IConnection> rejectConns = node.getOutgoingConnections("REJECT");
|
||||||
List<IMetadataColumn> rejectColumnList = null;
|
List<IMetadataColumn> rejectColumnList = null;
|
||||||
@@ -63,15 +64,13 @@ if (metadatas != null && metadatas.size()>0) {
|
|||||||
if (rejectConns != null && rejectConns.size() > 0) {
|
if (rejectConns != null && rejectConns.size() > 0) {
|
||||||
IConnection rejectConn = rejectConns.get(0);
|
IConnection rejectConn = rejectConns.get(0);
|
||||||
if(rejectConn!=null){
|
if(rejectConn!=null){
|
||||||
rejectConnName = rejectConn.getName();
|
rejectConnName = rejectConn.getName();
|
||||||
IMetadataTable metadataTable = rejectConn.getMetadataTable();
|
IMetadataTable metadataTable = rejectConn.getMetadataTable();
|
||||||
if(metadataTable!=null){
|
if(metadataTable!=null){
|
||||||
rejectColumnList = metadataTable.getListColumns();
|
rejectColumnList = metadataTable.getListColumns();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String outConnName = null;
|
String outConnName = null;
|
||||||
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
List<? extends IConnection> outgoingConns = node.getOutgoingSortedConnections();
|
||||||
@@ -81,11 +80,11 @@ if (metadatas != null && metadatas.size()>0) {
|
|||||||
if (tmpconn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
if (tmpconn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
|
||||||
if(rejectConnName==null || !rejectConnName.equals(tmpconn.getName())){
|
if(rejectConnName==null || !rejectConnName.equals(tmpconn.getName())){
|
||||||
outConnName=tmpconn.getName();
|
outConnName=tmpconn.getName();
|
||||||
IMetadataTable outputMetadata = tmpconn.getMetadataTable();
|
IMetadataTable outputMetadata = tmpconn.getMetadataTable();
|
||||||
if(outputMetadata!=null){
|
if(outputMetadata!=null){
|
||||||
outputColumnList = outputMetadata.getListColumns();
|
outputColumnList = outputMetadata.getListColumns();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
<%=tmpconn.getName() %> = null;
|
<%=tmpconn.getName() %> = null;
|
||||||
<%
|
<%
|
||||||
@@ -95,159 +94,170 @@ if (metadatas != null && metadatas.size()>0) {
|
|||||||
if (outConnName != null) {
|
if (outConnName != null) {
|
||||||
%>
|
%>
|
||||||
<%=outConnName %> = new <%=outConnName %>Struct();
|
<%=outConnName %> = new <%=outConnName %>Struct();
|
||||||
<%
|
<%
|
||||||
if(outputColumnList!=null){
|
if(outputColumnList!=null){
|
||||||
for(IMetadataColumn column:outputColumnList) {
|
for(IMetadataColumn column:outputColumnList) {
|
||||||
if(column.getLabel().equals(xmlField) && "id_Document".equals(column.getTalendType())) {
|
if(column.getLabel().equals(xmlField) && "id_Document".equals(column.getTalendType())) {
|
||||||
xmlFieldDocType=true;
|
xmlFieldDocType=true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(xmlFieldDocType) {
|
if(xmlFieldDocType) {
|
||||||
%>
|
%>
|
||||||
<%=outConnName %>.<%=xmlField %> = ParserUtils.parseTo_Document(queue_<%=cid %>.peek());
|
<%=outConnName %>.<%=xmlField %> = ParserUtils.parseTo_Document(queue_<%=cid %>.peek());
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
<%=outConnName %>.<%=xmlField %> = queue_<%=cid %>.peek();
|
<%=outConnName %>.<%=xmlField %> = queue_<%=cid %>.peek();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
if(storeFlow){%>
|
if(storeFlow){%>
|
||||||
java.util.Map<String,String> xmlFlow_<%=cid%> = xmlFlowList_<%=cid%>.get(flowNum_<%=cid%>);
|
java.util.Map<String,String> xmlFlow_<%=cid%> = xmlFlowList_<%=cid%>.get(flowNum_<%=cid%>);
|
||||||
String valueStr_<%=cid%>;
|
String valueStr_<%=cid%>;
|
||||||
<%
|
<%
|
||||||
if(outputColumnList!=null){
|
if(outputColumnList!=null){
|
||||||
for( int i = 0; i < outputColumnList.size(); i++) {
|
for( int i = 0; i < outputColumnList.size(); i++) {
|
||||||
IMetadataColumn column = outputColumnList.get(i);
|
IMetadataColumn column = outputColumnList.get(i);
|
||||||
String typeToGenerate = JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable());
|
String typeToGenerate = JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable());
|
||||||
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
|
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
|
||||||
String patternValue = column.getPattern() == null || column.getPattern().trim().length() == 0 ? null : column.getPattern();
|
String patternValue = column.getPattern() == null || column.getPattern().trim().length() == 0 ? null : column.getPattern();
|
||||||
if(xmlField.equals(column.getLabel())){
|
if(xmlField.equals(column.getLabel())){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
valueStr_<%=cid%> = xmlFlow_<%=cid%>.get("<%=column.getLabel()%>");
|
valueStr_<%=cid%> = xmlFlow_<%=cid%>.get("<%=column.getLabel()%>");
|
||||||
if (valueStr_<%=cid%> != null){
|
if (valueStr_<%=cid%> != null){
|
||||||
<%
|
<%
|
||||||
if (javaType == JavaTypesManager.STRING || javaType == JavaTypesManager.OBJECT) { // String or Object
|
if (javaType == JavaTypesManager.STRING || javaType == JavaTypesManager.OBJECT) { // String or Object
|
||||||
%>
|
%>
|
||||||
<%=outConnName%>.<%=column.getLabel()%> = valueStr_<%=cid%>;
|
<%=outConnName%>.<%=column.getLabel()%> = valueStr_<%=cid%>;
|
||||||
<%
|
<%
|
||||||
} else if(javaType == JavaTypesManager.DATE) { // Date
|
} else if(javaType == JavaTypesManager.DATE) { // Date
|
||||||
%>
|
%>
|
||||||
<%=outConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_Date(valueStr_<%=cid%>, <%= patternValue %>);
|
<%=outConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_Date(valueStr_<%=cid%>, <%= patternValue %>);
|
||||||
<%
|
<%
|
||||||
} else if(javaType == JavaTypesManager.BYTE_ARRAY) { // byte[]
|
} else if(javaType == JavaTypesManager.BYTE_ARRAY) { // byte[]
|
||||||
%>
|
%>
|
||||||
<%=outConnName%>.<%=column.getLabel()%> = valueStr_<%=cid%>.getBytes();
|
<%=outConnName%>.<%=column.getLabel()%> = valueStr_<%=cid%>.getBytes();
|
||||||
<%
|
<%
|
||||||
} else { // other
|
} else { // other
|
||||||
%>
|
%>
|
||||||
<%=outConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_<%= typeToGenerate %>(valueStr_<%=cid%>);
|
<%=outConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_<%= typeToGenerate %>(valueStr_<%=cid%>);
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
} else {
|
} else {
|
||||||
<%=outConnName%>.<%=column.getLabel()%> = <%=JavaTypesManager.getDefaultValueFromJavaType(typeToGenerate)%>;
|
<%=outConnName%>.<%=column.getLabel()%> = <%=JavaTypesManager.getDefaultValueFromJavaType(typeToGenerate)%>;
|
||||||
}
|
}
|
||||||
<%}
|
<%}
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
<%}%>
|
<%}%>
|
||||||
input_<%=cid %> = queue_<%=cid %>.peek();
|
input_<%=cid %> = queue_<%=cid %>.peek();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
<%if(usePartialUpdate){ // partial%>
|
<%if(usePartialUpdate){ // partial%>
|
||||||
org.talend.mdm.webservice.WSPartialPutItem wsPartialPutItem_<%=cid%> = new org.talend.mdm.webservice.WSPartialPutItem(input_<%=cid %>,<%=dataCluster %>,<%=pivot%>,<%=dataModule %>,<%=key.equals("")?null:key%>,<%=position.equals("")?null:position%>,<%=overwrite%>,<%= true==isStaging?false:withReport%>);
|
<%
|
||||||
wspk_<%=cid %> = xtentisWS_<%=cid %>.partialPutItem(wsPartialPutItem_<%=cid%>);
|
String stagingString = "";
|
||||||
|
if(isStaging){
|
||||||
|
stagingString = dataCluster + " + \"#STAGING\"";
|
||||||
|
} else {
|
||||||
|
stagingString = dataCluster;
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
org.talend.mdm.webservice.WSPartialPutItem wsPartialPutItem_<%=cid%> = new org.talend.mdm.webservice.WSPartialPutItem(input_<%=cid %>,<%=stagingString %>,<%=pivot%>,<%=dataModule %>,<%=key.equals("")?null:key%>,<%=position.equals("")?null:position%>,<%=overwrite%>,<%= true==isStaging?false:withReport%>, <%=sourceName %>);
|
||||||
|
wspk_<%=cid %> = xtentisWS_<%=cid %>.partialPutItem(wsPartialPutItem_<%=cid%>);
|
||||||
|
|
||||||
|
<%
|
||||||
|
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
||||||
|
for (int i = 0; i < keysReturn.size(); i++){
|
||||||
|
Map<String,String> map = keysReturn.get(i);
|
||||||
|
%>
|
||||||
|
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
||||||
|
<%
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%>
|
||||||
|
|
||||||
|
<%}else{// not partial %>
|
||||||
|
|
||||||
|
org.talend.mdm.webservice.WSPutItem item_<%=cid %> = new org.talend.mdm.webservice.WSPutItem(dataCluster_<%=cid %>,input_<%=cid %>,dataModel_<%=cid %>, <%=isUpdate %>);
|
||||||
|
<%
|
||||||
|
if (!isStaging && withReport) {%>
|
||||||
|
org.talend.mdm.webservice.WSPutItemWithReport itemReport_<%=cid %> = new org.talend.mdm.webservice.WSPutItemWithReport(item_<%=cid %>,<%=sourceName %>,<%=needCheck %>);
|
||||||
|
|
||||||
|
<%if (isMassInsert) {%>
|
||||||
|
<%if(addTaskID){%>
|
||||||
|
taskIDs_<%=cid%>.add(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>);
|
||||||
|
<%}%>
|
||||||
|
miList_<%=cid %>.add(itemReport_<%=cid %>);
|
||||||
|
|
||||||
|
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
||||||
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[<%=numMassInsert %>]));
|
||||||
|
miList_<%=cid %>.clear();
|
||||||
|
<%if(addTaskID){%>
|
||||||
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
|
taskIDs_<%=cid%>.clear();
|
||||||
|
<%}%>
|
||||||
|
}
|
||||||
|
<%} else {%>
|
||||||
|
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReport(itemReport_<%=cid %>);
|
||||||
|
<%if(addTaskID){%>
|
||||||
|
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>,wspk_<%=cid %>));
|
||||||
|
<%}%>
|
||||||
<%
|
<%
|
||||||
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
}
|
||||||
for (int i = 0; i < keysReturn.size(); i++){
|
|
||||||
Map<String,String> map = keysReturn.get(i);
|
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
||||||
%>
|
|
||||||
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
|
|
||||||
<%}else{// not partial %>
|
for (int i = 0; i < keysReturn.size(); i++){
|
||||||
|
Map<String,String> map = keysReturn.get(i);
|
||||||
org.talend.mdm.webservice.WSPutItem item_<%=cid %> = new org.talend.mdm.webservice.WSPutItem(dataCluster_<%=cid %>,input_<%=cid %>,dataModel_<%=cid %>, <%=isUpdate %>);
|
%>
|
||||||
<%
|
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
||||||
if (!isStaging && withReport) {%>
|
<%
|
||||||
org.talend.mdm.webservice.WSPutItemWithReport itemReport_<%=cid %> = new org.talend.mdm.webservice.WSPutItemWithReport(item_<%=cid %>,<%=sourceName %>,<%=needCheck %>);
|
}
|
||||||
|
}
|
||||||
<%if (isMassInsert) {%>
|
} else {
|
||||||
<%if(addTaskID){%>
|
|
||||||
taskIDs_<%=cid%>.add(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>);
|
if (isMassInsert) {
|
||||||
<%}%>
|
%>
|
||||||
miList_<%=cid %>.add(itemReport_<%=cid %>);
|
<%if(addTaskID){%>
|
||||||
|
taskIDs_<%=cid%>.add(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>);
|
||||||
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
<%}%>
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReportArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItemWithReport[<%=numMassInsert %>]));
|
miList_<%=cid %>.add(item_<%=cid %>);
|
||||||
miList_<%=cid %>.clear();
|
|
||||||
<%if(addTaskID){%>
|
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[<%=numMassInsert %>]));
|
||||||
taskIDs_<%=cid%>.clear();
|
miList_<%=cid %>.clear();
|
||||||
<%}%>
|
<%if(addTaskID){%>
|
||||||
}
|
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
||||||
<%} else {%>
|
taskIDs_<%=cid%>.clear();
|
||||||
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItemWithReport(itemReport_<%=cid %>);
|
<%}%>
|
||||||
<%if(addTaskID){%>
|
}
|
||||||
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>,wspk_<%=cid %>));
|
<%
|
||||||
<%}%>
|
} else {%>
|
||||||
<%
|
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItem(item_<%=cid %>);
|
||||||
}
|
<%if(addTaskID){%>
|
||||||
|
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>,wspk_<%=cid %>));
|
||||||
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
<%}%>
|
||||||
|
<%
|
||||||
for (int i = 0; i < keysReturn.size(); i++){
|
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
||||||
Map<String,String> map = keysReturn.get(i);
|
for (int i = 0; i < keysReturn.size(); i++){
|
||||||
%>
|
Map<String,String> map = keysReturn.get(i);
|
||||||
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
%>
|
||||||
<%
|
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
||||||
}
|
<%
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
}
|
||||||
if (isMassInsert) {
|
}
|
||||||
%>
|
%>
|
||||||
<%if(addTaskID){%>
|
<%}//end partial%>
|
||||||
taskIDs_<%=cid%>.add(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>);
|
|
||||||
<%}%>
|
|
||||||
miList_<%=cid %>.add(item_<%=cid %>);
|
|
||||||
|
|
||||||
if (miList_<%=cid %>.size() >= <%=numMassInsert %>) {
|
|
||||||
wspks_<%=cid %> = xtentisWS_<%=cid %>.putItemArray(miList_<%=cid %>.toArray(new org.talend.mdm.webservice.WSPutItem[<%=numMassInsert %>]));
|
|
||||||
miList_<%=cid %>.clear();
|
|
||||||
<%if(addTaskID){%>
|
|
||||||
xtentisWS_<%=cid %>.updateItemArrayMetadata(util_<%=cid%>. makeUpdateMeteItms(taskIDs_<%=cid%>,wspks_<%=cid %>));
|
|
||||||
taskIDs_<%=cid%>.clear();
|
|
||||||
<%}%>
|
|
||||||
}
|
|
||||||
<%
|
|
||||||
} else {%>
|
|
||||||
wspk_<%=cid %> = xtentisWS_<%=cid %>.putItem(item_<%=cid %>);
|
|
||||||
<%if(addTaskID){%>
|
|
||||||
xtentisWS_<%=cid %>.updateItemMetadata(util_<%=cid%>. makeUpdateMeteItm(<%=isCustom?taskID:"xmlFlowList_" + cid + ".get(flowNum_" + cid + ").get(\"" + prevColumn + "\")"%>,wspk_<%=cid %>));
|
|
||||||
<%}%>
|
|
||||||
<%
|
|
||||||
if (outConnName !=null && !isMassInsert && keysReturn.size() > 0) {
|
|
||||||
for (int i = 0; i < keysReturn.size(); i++){
|
|
||||||
Map<String,String> map = keysReturn.get(i);
|
|
||||||
%>
|
|
||||||
<%=outConnName %>.<%=map.get("OUTPUT_COLUMN")%>= wspk_<%=cid%>.getIds(<%=i %>);
|
|
||||||
<%
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
<%}//end partial%>
|
|
||||||
} catch (java.lang.Exception e) {
|
} catch (java.lang.Exception e) {
|
||||||
|
<%if (!usePartialUpdate && isMassInsert) {%>
|
||||||
|
miList_<%=cid %>.clear();
|
||||||
|
<%}%>
|
||||||
<%if (dieOnError) {%>
|
<%if (dieOnError) {%>
|
||||||
throw(e);
|
throw(e);
|
||||||
<%} else {
|
<%} else {
|
||||||
@@ -259,57 +269,57 @@ if (metadatas != null && metadatas.size()>0) {
|
|||||||
<%=rejectConnName %> = new <%=rejectConnName %>Struct();
|
<%=rejectConnName %> = new <%=rejectConnName %>Struct();
|
||||||
|
|
||||||
<%if(storeFlow){%>
|
<%if(storeFlow){%>
|
||||||
java.util.Map<String,String> rejectXmlFlow_<%=cid%> = xmlFlowList_<%=cid%>.get(flowNum_<%=cid%>);
|
java.util.Map<String,String> rejectXmlFlow_<%=cid%> = xmlFlowList_<%=cid%>.get(flowNum_<%=cid%>);
|
||||||
String rejectValueStr_<%=cid%>;
|
String rejectValueStr_<%=cid%>;
|
||||||
<%
|
<%
|
||||||
if(rejectColumnList!=null){
|
if(rejectColumnList!=null){
|
||||||
for( int i = 0; i < rejectColumnList.size(); i++) {
|
for( int i = 0; i < rejectColumnList.size(); i++) {
|
||||||
IMetadataColumn column = rejectColumnList.get(i);
|
IMetadataColumn column = rejectColumnList.get(i);
|
||||||
String typeToGenerate = JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable());
|
String typeToGenerate = JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable());
|
||||||
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
|
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
|
||||||
String patternValue = column.getPattern() == null || column.getPattern().trim().length() == 0 ? null : column.getPattern();
|
String patternValue = column.getPattern() == null || column.getPattern().trim().length() == 0 ? null : column.getPattern();
|
||||||
if(xmlField.equals(column.getLabel())){
|
if(xmlField.equals(column.getLabel())){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
rejectValueStr_<%=cid%> = rejectXmlFlow_<%=cid%>.get("<%=column.getLabel()%>");
|
rejectValueStr_<%=cid%> = rejectXmlFlow_<%=cid%>.get("<%=column.getLabel()%>");
|
||||||
if (rejectValueStr_<%=cid%> != null){
|
if (rejectValueStr_<%=cid%> != null){
|
||||||
<%
|
<%
|
||||||
if (javaType == JavaTypesManager.STRING || javaType == JavaTypesManager.OBJECT) { // String or Object
|
if (javaType == JavaTypesManager.STRING || javaType == JavaTypesManager.OBJECT) { // String or Object
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.<%=column.getLabel()%> = rejectValueStr_<%=cid%>;
|
<%=rejectConnName%>.<%=column.getLabel()%> = rejectValueStr_<%=cid%>;
|
||||||
<%
|
<%
|
||||||
} else if(javaType == JavaTypesManager.DATE) { // Date
|
} else if(javaType == JavaTypesManager.DATE) { // Date
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_Date(rejectValueStr_<%=cid%>, <%= patternValue %>);
|
<%=rejectConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_Date(rejectValueStr_<%=cid%>, <%= patternValue %>);
|
||||||
<%
|
<%
|
||||||
} else if(javaType == JavaTypesManager.BYTE_ARRAY) { // byte[]
|
} else if(javaType == JavaTypesManager.BYTE_ARRAY) { // byte[]
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.<%=column.getLabel()%> = rejectValueStr_<%=cid%>.getBytes();
|
<%=rejectConnName%>.<%=column.getLabel()%> = rejectValueStr_<%=cid%>.getBytes();
|
||||||
<%
|
<%
|
||||||
} else { // other
|
} else { // other
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_<%= typeToGenerate %>(rejectValueStr_<%=cid%>);
|
<%=rejectConnName%>.<%=column.getLabel()%> = ParserUtils.parseTo_<%= typeToGenerate %>(rejectValueStr_<%=cid%>);
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
} else {
|
} else {
|
||||||
<%=rejectConnName%>.<%=column.getLabel()%> = <%=JavaTypesManager.getDefaultValueFromJavaType(typeToGenerate)%>;
|
<%=rejectConnName%>.<%=column.getLabel()%> = <%=JavaTypesManager.getDefaultValueFromJavaType(typeToGenerate)%>;
|
||||||
}
|
}
|
||||||
<%}
|
<%}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(xmlFieldDocType) {
|
if(xmlFieldDocType) {
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName %>.<%=xmlField %> = ParserUtils.parseTo_Document(queue_<%=cid %>.peek());
|
<%=rejectConnName %>.<%=xmlField %> = ParserUtils.parseTo_Document(queue_<%=cid %>.peek());
|
||||||
<%
|
<%
|
||||||
}else{
|
}else{
|
||||||
%>
|
%>
|
||||||
<%=rejectConnName %>.<%=xmlField %> = queue_<%=cid %>.peek();
|
<%=rejectConnName %>.<%=xmlField %> = queue_<%=cid %>.peek();
|
||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
nb_line_rejected_<%=cid%>++;
|
nb_line_rejected_<%=cid%>++;
|
||||||
<%=rejectConnName %>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>;
|
<%=rejectConnName %>.errorMessage = e.getMessage() + " - Line: " + tos_count_<%=node.getUniqueName() %>;
|
||||||
<%} else {%>
|
<%} else {%>
|
||||||
System.err.println(e.getMessage());
|
System.err.println(e.getMessage());
|
||||||
@@ -323,4 +333,4 @@ if (metadatas != null && metadatas.size()>0) {
|
|||||||
<%
|
<%
|
||||||
}
|
}
|
||||||
}%>
|
}%>
|
||||||
queue_<%=cid %>.remove();
|
queue_<%=cid %>.remove();
|
||||||
@@ -642,13 +642,6 @@
|
|||||||
uripath="platform:/plugin/org.talend.libraries.hadoop.hdp.2.0/lib/datanucleus-rdbms-3.2.1.jar">
|
uripath="platform:/plugin/org.talend.libraries.hadoop.hdp.2.0/lib/datanucleus-rdbms-3.2.1.jar">
|
||||||
</libraryNeeded>
|
</libraryNeeded>
|
||||||
|
|
||||||
<libraryNeeded
|
|
||||||
context="plugin:org.talend.libraries.jdbc.h2"
|
|
||||||
id="h2-1.3.160.jar"
|
|
||||||
name="h2-1.3.160.jar"
|
|
||||||
uripath="platform:/plugin/org.talend.libraries.jdbc.h2/lib/h2-1.3.160.jar">
|
|
||||||
</libraryNeeded>
|
|
||||||
|
|
||||||
<libraryNeeded
|
<libraryNeeded
|
||||||
context="plugin:org.talend.libraries.jdbc.derby"
|
context="plugin:org.talend.libraries.jdbc.derby"
|
||||||
id="derby-10.4.2.0.jar"
|
id="derby-10.4.2.0.jar"
|
||||||
|
|||||||
@@ -464,6 +464,7 @@ Node.onlyOneDynamicPerSchema=There should be only one Dynamic type in one schema
|
|||||||
Node.output=outputs\:(
|
Node.output=outputs\:(
|
||||||
Node.outputNeedInputLink=If this component has output, there must be an input link to propagate the data.
|
Node.outputNeedInputLink=If this component has output, there must be an input link to propagate the data.
|
||||||
Node.parameterEmpty=Parameter ({0}) is empty but is required.
|
Node.parameterEmpty=Parameter ({0}) is empty but is required.
|
||||||
|
Node.parameterWrong=The value of Parameter ({0}) is not exist.
|
||||||
Node.parameterNotExist=Parameter ({0}) has a value ({1}) that doesn't exist anymore.
|
Node.parameterNotExist=Parameter ({0}) has a value ({1}) that doesn't exist anymore.
|
||||||
Node.PatterErrorMessage=A value must be set for Date Pattern
|
Node.PatterErrorMessage=A value must be set for Date Pattern
|
||||||
Node.QueryLosed=XPath query lost
|
Node.QueryLosed=XPath query lost
|
||||||
@@ -711,6 +712,8 @@ PerformancePreferencePage.RepositoryPreferencePage.RefreshCreated=Refresh when c
|
|||||||
PerformancePreferencePage.RepositoryPreferencePage.ReferenceProjectMerged=Merge the reference project
|
PerformancePreferencePage.RepositoryPreferencePage.ReferenceProjectMerged=Merge the reference project
|
||||||
PerformancePreferencePage.RepositoryPreferencePage.RefreshManually=Refresh Manually
|
PerformancePreferencePage.RepositoryPreferencePage.RefreshManually=Refresh Manually
|
||||||
PerformancePreferencePage.RepositoryPreferencePage.RefreshSaved=Refresh when saving an item
|
PerformancePreferencePage.RepositoryPreferencePage.RefreshSaved=Refresh when saving an item
|
||||||
|
PerformancePreferencePage.autoCheckField=Auto check of svn to detect the update
|
||||||
|
PerformancePreferencePage.autoCheckTime=Detect update in each (seconds)
|
||||||
|
|
||||||
CamelPerformancePreferencePage.display.deactiveRepositoryUpdate=Deactivate auto detect/update after a modification in the repository
|
CamelPerformancePreferencePage.display.deactiveRepositoryUpdate=Deactivate auto detect/update after a modification in the repository
|
||||||
CamelPerformancePreferencePage.propertyCodeCheck=Check the property fields when generating code (disable will make the components properties faster)
|
CamelPerformancePreferencePage.propertyCodeCheck=Check the property fields when generating code (disable will make the components properties faster)
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ import org.talend.core.model.process.AbstractNode;
|
|||||||
import org.talend.core.model.process.EComponentCategory;
|
import org.talend.core.model.process.EComponentCategory;
|
||||||
import org.talend.core.model.process.EConnectionType;
|
import org.talend.core.model.process.EConnectionType;
|
||||||
import org.talend.core.model.process.EParameterFieldType;
|
import org.talend.core.model.process.EParameterFieldType;
|
||||||
|
import org.talend.core.model.process.ElementParameterParser;
|
||||||
import org.talend.core.model.process.IConnection;
|
import org.talend.core.model.process.IConnection;
|
||||||
import org.talend.core.model.process.IConnectionCategory;
|
import org.talend.core.model.process.IConnectionCategory;
|
||||||
import org.talend.core.model.process.IElement;
|
import org.talend.core.model.process.IElement;
|
||||||
@@ -880,7 +881,9 @@ public class DataProcess implements IGeneratingProcess {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// propagate metadataLists for output component. only apply to multi-input virtual component
|
// propagate metadataLists for output component. only apply to multi-input virtual component
|
||||||
if (multipleComponentManager.isSetConnector() && multipleComponentManager.getOutputName().equals(curItem.getName())) {
|
boolean isSAPBapi = graphicalNode.getComponent() != null && "tSAPBapi".equals(graphicalNode.getComponent().getName());//$NON-NLS-1$
|
||||||
|
if (multipleComponentManager.isSetConnector()
|
||||||
|
&& (multipleComponentManager.getOutputName().equals(curItem.getName()) || isSAPBapi)) {
|
||||||
// deactivate dummy component
|
// deactivate dummy component
|
||||||
if (curNode.getComponentName().equals("tDummyRow")) {// or use //$NON-NLS-1$
|
if (curNode.getComponentName().equals("tDummyRow")) {// or use //$NON-NLS-1$
|
||||||
// "!multipleComponentManager.existsLinkTo()"
|
// "!multipleComponentManager.existsLinkTo()"
|
||||||
@@ -1772,6 +1775,19 @@ public class DataProcess implements IGeneratingProcess {
|
|||||||
dataNodeList.add(0, preStaLogConNode);
|
dataNodeList.add(0, preStaLogConNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tag all the components after Iterator(Parallel)
|
||||||
|
// !iterator with parallel shouldn't work on merge!
|
||||||
|
for (INode node : dataNodeList) {
|
||||||
|
if (node.isSubProcessStart() && node.isActivate()) {
|
||||||
|
tagComponentAfterParallelIterator(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (INode node : dataNodeList) {
|
||||||
|
if (node.isSubProcessStart() && node.isActivate()) {
|
||||||
|
tagSubProcessAfterParallelIterator(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
checkRefList = null;
|
checkRefList = null;
|
||||||
checkMultipleMap = null;
|
checkMultipleMap = null;
|
||||||
checktUniteMap = null;
|
checktUniteMap = null;
|
||||||
@@ -1783,6 +1799,50 @@ public class DataProcess implements IGeneratingProcess {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DOC bchen Comment method "tagSubProcessAfterParallelIterator".
|
||||||
|
*
|
||||||
|
* @param node
|
||||||
|
*/
|
||||||
|
private void tagSubProcessAfterParallelIterator(INode node) {
|
||||||
|
if (node.getIncomingConnections() != null && node.getIncomingConnections().size() != 0) {
|
||||||
|
IConnection connection = node.getIncomingConnections().get(0);
|
||||||
|
if (connection.getLineStyle().equals(EConnectionType.ON_COMPONENT_OK)
|
||||||
|
|| connection.getLineStyle().equals(EConnectionType.ON_COMPONENT_ERROR)
|
||||||
|
|| connection.getLineStyle().equals(EConnectionType.ON_SUBJOB_OK)
|
||||||
|
|| connection.getLineStyle().equals(EConnectionType.ON_SUBJOB_ERROR)
|
||||||
|
|| connection.getLineStyle().equals(EConnectionType.RUN_IF)) {// add if you think it should be count
|
||||||
|
// for parallel Iterator
|
||||||
|
if (((AbstractNode) connection.getSource()).getParallelIterator() != null) {
|
||||||
|
((AbstractNode) node).setParallelIterator(((AbstractNode) connection.getSource()).getParallelIterator());
|
||||||
|
tagComponentAfterParallelIterator(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DOC bchen Comment method "tagComponentAfterParallelIterator".
|
||||||
|
*
|
||||||
|
* @param node
|
||||||
|
*/
|
||||||
|
private void tagComponentAfterParallelIterator(INode node) {
|
||||||
|
for (IConnection connection : node.getOutgoingSortedConnections()) {
|
||||||
|
if (connection.getTarget().isActivate()) {
|
||||||
|
|
||||||
|
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.MAIN | IConnectionCategory.USE_ITERATE)) {
|
||||||
|
if (((AbstractNode) node).getParallelIterator() != null) {
|
||||||
|
((AbstractNode) connection.getTarget()).setParallelIterator(((AbstractNode) node).getParallelIterator());
|
||||||
|
} else if (connection.getLineStyle().equals(EConnectionType.ITERATE)
|
||||||
|
&& Boolean.TRUE.toString().equals(ElementParameterParser.getValue(connection, "__ENABLE_PARALLEL__"))) {
|
||||||
|
((AbstractNode) connection.getTarget()).setParallelIterator(connection.getTarget().getUniqueName());
|
||||||
|
}
|
||||||
|
tagComponentAfterParallelIterator(connection.getTarget());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void checkPigLoadComponent() {
|
private void checkPigLoadComponent() {
|
||||||
// if (PluginChecker.isPigudfPluginLoaded()) {
|
// if (PluginChecker.isPigudfPluginLoaded()) {
|
||||||
// for (INode dataNode : dataNodeList) {
|
// for (INode dataNode : dataNodeList) {
|
||||||
@@ -2546,10 +2606,11 @@ public class DataProcess implements IGeneratingProcess {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (IConnection connection : node.getOutgoingConnections()) {
|
for (IConnection connection : node.getOutgoingConnections()) {
|
||||||
if(connection.getLineStyle() == EConnectionType.ON_SUBJOB_OK || connection.getLineStyle() == EConnectionType.ON_SUBJOB_ERROR) {
|
if (connection.getLineStyle() == EConnectionType.ON_SUBJOB_OK
|
||||||
|
|| connection.getLineStyle() == EConnectionType.ON_SUBJOB_ERROR) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (connection.isActivate()) {
|
if (connection.isActivate()) {
|
||||||
if (!hasSingleMergeComponent(connection.getTarget(), checkedNodes, mergeFound || merge)) {
|
if (!hasSingleMergeComponent(connection.getTarget(), checkedNodes, mergeFound || merge)) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ public class JobSettingsManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* create parameter for extra tab.
|
* create parameter for extra tab.
|
||||||
*/
|
*/
|
||||||
private static List<IElementParameter> getExtraParameters(IProcess process) {
|
private static List<IElementParameter> getExtraParameters(IProcess process) {
|
||||||
@@ -641,7 +641,7 @@ public class JobSettingsManager {
|
|||||||
final String schemaCondition = JobSettingsConstants
|
final String schemaCondition = JobSettingsConstants
|
||||||
.addBrackets(dbTypeName
|
.addBrackets(dbTypeName
|
||||||
+ " =='OCLE' or " + dbTypeName //$NON-NLS-1$
|
+ " =='OCLE' or " + dbTypeName //$NON-NLS-1$
|
||||||
+ " =='POSTGRESQL' or " + dbTypeName + " =='POSTGRESPLUS' or " + dbTypeName + " =='OCLE_OCI' or " + dbTypeName + " =='MSSQL' or " + dbTypeName + " =='INFORMIX' or " + dbTypeName + " =='IBM_DB2' or " + dbTypeName + " =='SYBASE'"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$//$NON-NLS-5$
|
+ " =='POSTGRESQL' or " + dbTypeName + " =='POSTGRESPLUS' or " + dbTypeName + " =='OCLE_OCI' or " + dbTypeName + " =='MSSQL' or " + dbTypeName + " =='INFORMIX' or " + dbTypeName + " =='IBM_DB2' or " + dbTypeName + " =='SYBASE'"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$//$NON-NLS-5$//$NON-NLS-6$//$NON-NLS-7$
|
||||||
param.setShowIf(schemaCondition + " and " + dbCondition); //$NON-NLS-1$
|
param.setShowIf(schemaCondition + " and " + dbCondition); //$NON-NLS-1$
|
||||||
param.setGroup(IMPLICIT_GROUP);
|
param.setGroup(IMPLICIT_GROUP);
|
||||||
paramList.add(param);
|
paramList.add(param);
|
||||||
@@ -827,9 +827,9 @@ public class JobSettingsManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* DOC ggu Comment method "isStatsAndLogsActivated".
|
* DOC ggu Comment method "isStatsAndLogsActivated".
|
||||||
*
|
*
|
||||||
* for stats & logs settings
|
* for stats & logs settings
|
||||||
*/
|
*/
|
||||||
public static boolean isStatsAndLogsActivated(IProcess process) {
|
public static boolean isStatsAndLogsActivated(IProcess process) {
|
||||||
@@ -841,9 +841,9 @@ public class JobSettingsManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* DOC ggu Comment method "isImplicittContextLoadActived".
|
* DOC ggu Comment method "isImplicittContextLoadActived".
|
||||||
*
|
*
|
||||||
* for implictit tContextLoad in extra settings
|
* for implictit tContextLoad in extra settings
|
||||||
*/
|
*/
|
||||||
public static boolean isImplicittContextLoadActived(IProcess process) {
|
public static boolean isImplicittContextLoadActived(IProcess process) {
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ public abstract class AbstractMultiPageTalendEditor extends MultiPageEditorPart
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Property property = processEditorInput.getItem().getProperty();
|
Property property = processEditorInput.getItem().getProperty();
|
||||||
if (!CollectionUtils.isEqualCollection(propertyInformation, property.getInformations())) {
|
if (propertyInformation != null && !CollectionUtils.isEqualCollection(propertyInformation, property.getInformations())) {
|
||||||
Problems.computePropertyMaxInformationLevel(property, true);
|
Problems.computePropertyMaxInformationLevel(property, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ public class ActiveProcessTracker implements IPartListener {
|
|||||||
if (testedPart instanceof AbstractMultiPageTalendEditor) {
|
if (testedPart instanceof AbstractMultiPageTalendEditor) {
|
||||||
AbstractMultiPageTalendEditor mpte = (AbstractMultiPageTalendEditor) testedPart;
|
AbstractMultiPageTalendEditor mpte = (AbstractMultiPageTalendEditor) testedPart;
|
||||||
mpte.setName();
|
mpte.setName();
|
||||||
Contexts.setTitle(mpte.getTitle());
|
|
||||||
IProcess2 process = mpte.getTalendEditor().getProcess();
|
IProcess2 process = mpte.getTalendEditor().getProcess();
|
||||||
return process;
|
return process;
|
||||||
} else {
|
} else {
|
||||||
@@ -127,6 +126,7 @@ public class ActiveProcessTracker implements IPartListener {
|
|||||||
if (process != null && currentProcess != process) {
|
if (process != null && currentProcess != process) {
|
||||||
changedProcess = true;
|
changedProcess = true;
|
||||||
currentProcess = process;
|
currentProcess = process;
|
||||||
|
Contexts.setTitle(process.getLabel());
|
||||||
setContextsView(process);
|
setContextsView(process);
|
||||||
// setStatsAndLogsView(process);
|
// setStatsAndLogsView(process);
|
||||||
JobSettings.switchToCurJobSettingsView();
|
JobSettings.switchToCurJobSettingsView();
|
||||||
|
|||||||
@@ -16,9 +16,15 @@ import java.lang.reflect.InvocationTargetException;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.core.resources.IResource;
|
import org.eclipse.core.resources.IResource;
|
||||||
|
import org.eclipse.core.resources.IWorkspace;
|
||||||
|
import org.eclipse.core.resources.IWorkspaceRunnable;
|
||||||
import org.eclipse.core.resources.IncrementalProjectBuilder;
|
import org.eclipse.core.resources.IncrementalProjectBuilder;
|
||||||
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IProgressMonitor;
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
|
import org.eclipse.core.runtime.IStatus;
|
||||||
|
import org.eclipse.core.runtime.Status;
|
||||||
|
import org.eclipse.core.runtime.jobs.ISchedulingRule;
|
||||||
import org.eclipse.emf.common.notify.Notification;
|
import org.eclipse.emf.common.notify.Notification;
|
||||||
import org.eclipse.emf.common.notify.impl.AdapterImpl;
|
import org.eclipse.emf.common.notify.impl.AdapterImpl;
|
||||||
import org.eclipse.emf.common.util.EList;
|
import org.eclipse.emf.common.util.EList;
|
||||||
@@ -51,16 +57,19 @@ import org.talend.commons.ui.runtime.image.ImageProvider;
|
|||||||
import org.talend.commons.utils.VersionUtils;
|
import org.talend.commons.utils.VersionUtils;
|
||||||
import org.talend.core.CorePlugin;
|
import org.talend.core.CorePlugin;
|
||||||
import org.talend.core.GlobalServiceRegister;
|
import org.talend.core.GlobalServiceRegister;
|
||||||
|
import org.talend.core.model.general.Project;
|
||||||
import org.talend.core.model.properties.ByteArray;
|
import org.talend.core.model.properties.ByteArray;
|
||||||
import org.talend.core.model.properties.FileItem;
|
import org.talend.core.model.properties.FileItem;
|
||||||
import org.talend.core.model.properties.Information;
|
import org.talend.core.model.properties.Information;
|
||||||
import org.talend.core.model.properties.Item;
|
import org.talend.core.model.properties.Item;
|
||||||
|
import org.talend.core.model.properties.Property;
|
||||||
import org.talend.core.model.properties.RoutineItem;
|
import org.talend.core.model.properties.RoutineItem;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
import org.talend.core.model.repository.Folder;
|
import org.talend.core.model.repository.Folder;
|
||||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||||
import org.talend.core.model.utils.RepositoryManagerHelper;
|
import org.talend.core.model.utils.RepositoryManagerHelper;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.core.runtime.CoreRuntimePlugin;
|
||||||
import org.talend.core.ui.ILastVersionChecker;
|
import org.talend.core.ui.ILastVersionChecker;
|
||||||
import org.talend.core.ui.IUIRefresher;
|
import org.talend.core.ui.IUIRefresher;
|
||||||
import org.talend.core.ui.branding.IBrandingService;
|
import org.talend.core.ui.branding.IBrandingService;
|
||||||
@@ -70,6 +79,7 @@ import org.talend.designer.core.ui.action.SaveAsRoutineAction;
|
|||||||
import org.talend.designer.core.ui.action.SaveAsSQLPatternAction;
|
import org.talend.designer.core.ui.action.SaveAsSQLPatternAction;
|
||||||
import org.talend.designer.core.ui.views.problems.Problems;
|
import org.talend.designer.core.ui.views.problems.Problems;
|
||||||
import org.talend.designer.core.utils.DesignerColorUtils;
|
import org.talend.designer.core.utils.DesignerColorUtils;
|
||||||
|
import org.talend.repository.ProjectManager;
|
||||||
import org.talend.repository.RepositoryWorkUnit;
|
import org.talend.repository.RepositoryWorkUnit;
|
||||||
import org.talend.repository.editor.RepositoryEditorInput;
|
import org.talend.repository.editor.RepositoryEditorInput;
|
||||||
import org.talend.repository.model.ERepositoryStatus;
|
import org.talend.repository.model.ERepositoryStatus;
|
||||||
@@ -280,6 +290,27 @@ public class StandAloneTalendJavaEditor extends CompilationUnitEditor implements
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void resetItem() throws PersistenceException {
|
||||||
|
if (item.getProperty().eResource() == null || item.eResource() == null) {
|
||||||
|
IRepositoryService service = CoreRuntimePlugin.getInstance().getRepositoryService();
|
||||||
|
IProxyRepositoryFactory factory = service.getProxyRepositoryFactory();
|
||||||
|
//
|
||||||
|
// Property updated = factory.getUptodateProperty(getItem().getProperty());
|
||||||
|
Property updatedProperty = null;
|
||||||
|
try {
|
||||||
|
factory.initialize();
|
||||||
|
IRepositoryViewObject repositoryViewObject = factory.getLastVersion(new Project(ProjectManager.getInstance()
|
||||||
|
.getProject(item.getProperty().getItem())), item.getProperty().getId());
|
||||||
|
if (repositoryViewObject != null) {
|
||||||
|
updatedProperty = repositoryViewObject.getProperty();
|
||||||
|
item = (FileItem) updatedProperty.getItem();
|
||||||
|
}
|
||||||
|
} catch (PersistenceException e) {
|
||||||
|
ExceptionHandler.process(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void doSave(final IProgressMonitor monitor) {
|
public void doSave(final IProgressMonitor monitor) {
|
||||||
IRepositoryService service = CorePlugin.getDefault().getRepositoryService();
|
IRepositoryService service = CorePlugin.getDefault().getRepositoryService();
|
||||||
@@ -306,6 +337,7 @@ public class StandAloneTalendJavaEditor extends CompilationUnitEditor implements
|
|||||||
super.doSave(monitor);
|
super.doSave(monitor);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
resetItem();
|
||||||
ByteArray byteArray = item.getContent();
|
ByteArray byteArray = item.getContent();
|
||||||
byteArray.setInnerContentFromFile(((FileEditorInput) getEditorInput()).getFile());
|
byteArray.setInnerContentFromFile(((FileEditorInput) getEditorInput()).getFile());
|
||||||
try {
|
try {
|
||||||
@@ -324,7 +356,10 @@ public class StandAloneTalendJavaEditor extends CompilationUnitEditor implements
|
|||||||
refreshJobAndSave(repFactory);
|
refreshJobAndSave(repFactory);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
repositoryWorkUnit.setAvoidSvnUpdate(true);
|
||||||
|
repositoryWorkUnit.setAvoidUnloadResources(true);
|
||||||
repFactory.executeRepositoryWorkUnit(repositoryWorkUnit);
|
repFactory.executeRepositoryWorkUnit(repositoryWorkUnit);
|
||||||
|
repositoryWorkUnit.throwPersistenceExceptionIfAny();
|
||||||
|
|
||||||
// for bug 11930: Unable to save Routines.* in db project
|
// for bug 11930: Unable to save Routines.* in db project
|
||||||
|
|
||||||
@@ -338,13 +373,47 @@ public class StandAloneTalendJavaEditor extends CompilationUnitEditor implements
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshJobAndSave(final IProxyRepositoryFactory repFactory) {
|
private void refreshJobAndSave(final IProxyRepositoryFactory repFactory) throws PersistenceException {
|
||||||
|
|
||||||
|
final IWorkspaceRunnable op = new IWorkspaceRunnable() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run(IProgressMonitor monitor) throws CoreException {
|
||||||
|
try {
|
||||||
|
repFactory.save(item);
|
||||||
|
} catch (PersistenceException e) {
|
||||||
|
throw new CoreException(new Status(IStatus.ERROR, DesignerPlugin.ID, "Save Routine failed!", e));
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
IRunnableWithProgress iRunnableWithProgress = new IRunnableWithProgress() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
|
||||||
|
IWorkspace workspace = ResourcesPlugin.getWorkspace();
|
||||||
|
try {
|
||||||
|
ISchedulingRule schedulingRule = workspace.getRoot();
|
||||||
|
// the update the project files need to be done in the workspace runnable to avoid all
|
||||||
|
// notification
|
||||||
|
// of changes before the end of the modifications.
|
||||||
|
workspace.run(op, schedulingRule, IWorkspace.AVOID_UPDATE, monitor);
|
||||||
|
} catch (CoreException e) {
|
||||||
|
throw new InvocationTargetException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// cause it to update MaxInformationLevel
|
PlatformUI.getWorkbench().getProgressService().run(false, false, iRunnableWithProgress);
|
||||||
repFactory.save(item);
|
} catch (InvocationTargetException e) {
|
||||||
} catch (Exception e) {
|
throw new PersistenceException(e);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new PersistenceException(e);
|
||||||
}
|
}
|
||||||
// update editor image
|
|
||||||
setTitleImage(getTitleImage());
|
setTitleImage(getTitleImage());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import org.eclipse.ui.PlatformUI;
|
|||||||
import org.talend.core.model.components.EComponentType;
|
import org.talend.core.model.components.EComponentType;
|
||||||
import org.talend.core.model.process.IElementParameter;
|
import org.talend.core.model.process.IElementParameter;
|
||||||
import org.talend.core.model.process.IGraphicalNode;
|
import org.talend.core.model.process.IGraphicalNode;
|
||||||
|
import org.talend.core.model.process.INode;
|
||||||
import org.talend.core.model.update.IUpdateItemType;
|
import org.talend.core.model.update.IUpdateItemType;
|
||||||
import org.talend.core.model.update.UpdateManagerHelper;
|
import org.talend.core.model.update.UpdateManagerHelper;
|
||||||
import org.talend.core.model.update.extension.UpdateManagerProviderDetector;
|
import org.talend.core.model.update.extension.UpdateManagerProviderDetector;
|
||||||
@@ -27,6 +28,7 @@ import org.talend.designer.core.i18n.Messages;
|
|||||||
import org.talend.designer.core.model.components.EParameterName;
|
import org.talend.designer.core.model.components.EParameterName;
|
||||||
import org.talend.designer.core.model.process.AbstractProcessProvider;
|
import org.talend.designer.core.model.process.AbstractProcessProvider;
|
||||||
import org.talend.designer.core.ui.editor.nodecontainer.NodeContainer;
|
import org.talend.designer.core.ui.editor.nodecontainer.NodeContainer;
|
||||||
|
import org.talend.designer.core.ui.editor.nodes.Node;
|
||||||
import org.talend.designer.core.ui.editor.process.Process;
|
import org.talend.designer.core.ui.editor.process.Process;
|
||||||
import org.talend.designer.core.ui.views.problems.Problems;
|
import org.talend.designer.core.ui.views.problems.Problems;
|
||||||
|
|
||||||
@@ -93,6 +95,7 @@ public class CreateNodeContainerCommand extends CreateCommand {
|
|||||||
process.checkStartNodes();
|
process.checkStartNodes();
|
||||||
|
|
||||||
nodeContainer.getNode().checkAndRefreshNode();
|
nodeContainer.getNode().checkAndRefreshNode();
|
||||||
|
refreshRelatedNodes();
|
||||||
// update joblet context.
|
// update joblet context.
|
||||||
// AbstractProcessProvider provider =
|
// AbstractProcessProvider provider =
|
||||||
// AbstractProcessProvider.findProcessProviderFromPID(nodeContainer.getNode()
|
// AbstractProcessProvider.findProcessProviderFromPID(nodeContainer.getNode()
|
||||||
@@ -117,6 +120,21 @@ public class CreateNodeContainerCommand extends CreateCommand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void refreshRelatedNodes() {
|
||||||
|
Node node = nodeContainer.getNode();
|
||||||
|
for (INode inode : this.process.getGraphicalNodes()) {
|
||||||
|
if (inode.getUniqueName().equals(node.getUniqueName())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (inode.getElementParameter("CONNECTION") != null) {
|
||||||
|
IElementParameter para = inode.getElementParameter("CONNECTION");
|
||||||
|
if (para.getFilter() != null && para.getFilter().equals(node.getComponent().getName())) {
|
||||||
|
((Node) inode).checkAndRefreshNode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void undo() {
|
public void undo() {
|
||||||
this.process.removeNodeContainer(this.nodeContainer);
|
this.process.removeNodeContainer(this.nodeContainer);
|
||||||
|
|||||||
@@ -477,11 +477,15 @@ public class NodesPasteCommand extends Command {
|
|||||||
Map<String, Object> newMap = new HashMap<String, Object>();
|
Map<String, Object> newMap = new HashMap<String, Object>();
|
||||||
newMap.putAll(map);
|
newMap.putAll(map);
|
||||||
// rename schemas
|
// rename schemas
|
||||||
if (EParameterName.SCHEMAS.name().equals(param.getName()) && !oldMetaToNewMeta.isEmpty()) {
|
if (!oldMetaToNewMeta.isEmpty()) {
|
||||||
String newSchemaName = oldMetaToNewMeta.get(pastedNode.getUniqueName() + ":"
|
boolean isSAPBapiInputSchema = "MAPPING_INPUT".equals(param.getName()) //$NON-NLS-1$
|
||||||
+ map.get(EParameterName.SCHEMA.getName()));
|
&& "tSAPBapi".equals(copiedNode.getComponent().getName()); //$NON-NLS-1$
|
||||||
if (newSchemaName != null) {
|
if (EParameterName.SCHEMAS.name().equals(param.getName()) || isSAPBapiInputSchema) {
|
||||||
newMap.put(EParameterName.SCHEMA.getName(), newSchemaName);
|
String newSchemaName = oldMetaToNewMeta.get(pastedNode.getUniqueName() + ":"
|
||||||
|
+ map.get(EParameterName.SCHEMA.getName()));
|
||||||
|
if (newSchemaName != null) {
|
||||||
|
newMap.put(EParameterName.SCHEMA.getName(), newSchemaName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ public class JobletUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nodePart.setModel(cloneNode);
|
nodePart.setModel(cloneNode);
|
||||||
cloneNode.setLabel(node.getLabel());
|
|
||||||
// if (lock == null) {
|
// if (lock == null) {
|
||||||
// cloneNode.setReadOnly(true);
|
// cloneNode.setReadOnly(true);
|
||||||
// } else {
|
// } else {
|
||||||
@@ -380,7 +380,8 @@ public class JobletUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
cloneNode.setLabel(node.getLabel());
|
||||||
|
cloneNode.setPropertyValue(EParameterName.LABEL.getName(), node.getLabel());
|
||||||
return cloneNode;
|
return cloneNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ import org.talend.core.model.process.Element;
|
|||||||
import org.talend.core.model.process.ElementParameterParser;
|
import org.talend.core.model.process.ElementParameterParser;
|
||||||
import org.talend.core.model.process.IConnection;
|
import org.talend.core.model.process.IConnection;
|
||||||
import org.talend.core.model.process.IConnectionCategory;
|
import org.talend.core.model.process.IConnectionCategory;
|
||||||
|
import org.talend.core.model.process.IElement;
|
||||||
import org.talend.core.model.process.IElementParameter;
|
import org.talend.core.model.process.IElementParameter;
|
||||||
import org.talend.core.model.process.IExternalData;
|
import org.talend.core.model.process.IExternalData;
|
||||||
import org.talend.core.model.process.IExternalNode;
|
import org.talend.core.model.process.IExternalNode;
|
||||||
@@ -102,6 +103,7 @@ import org.talend.designer.core.ui.ActiveProcessTracker;
|
|||||||
import org.talend.designer.core.ui.editor.AbstractTalendEditor;
|
import org.talend.designer.core.ui.editor.AbstractTalendEditor;
|
||||||
import org.talend.designer.core.ui.editor.cmd.ChangeMetadataCommand;
|
import org.talend.designer.core.ui.editor.cmd.ChangeMetadataCommand;
|
||||||
import org.talend.designer.core.ui.editor.cmd.ConnectionCreateCommand;
|
import org.talend.designer.core.ui.editor.cmd.ConnectionCreateCommand;
|
||||||
|
import org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand;
|
||||||
import org.talend.designer.core.ui.editor.connections.Connection;
|
import org.talend.designer.core.ui.editor.connections.Connection;
|
||||||
import org.talend.designer.core.ui.editor.jobletcontainer.JobletContainer;
|
import org.talend.designer.core.ui.editor.jobletcontainer.JobletContainer;
|
||||||
import org.talend.designer.core.ui.editor.nodecontainer.NodeContainer;
|
import org.talend.designer.core.ui.editor.nodecontainer.NodeContainer;
|
||||||
@@ -2716,6 +2718,44 @@ public class Node extends Element implements IGraphicalNode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case COMPONENT_LIST:
|
||||||
|
if (param != null) {
|
||||||
|
String errorMessage = Messages.getString("Node.parameterEmpty", param.getDisplayName()); //$NON-NLS-1$
|
||||||
|
if (isUseExistedConnetion(this)) {
|
||||||
|
List<INode> list = (List<INode>) this.getProcess().getNodesOfType(param.getFilter());
|
||||||
|
if (list == null || list.size() == 0 || list.isEmpty()) {
|
||||||
|
Problems.add(ProblemStatus.ERROR, this, errorMessage);
|
||||||
|
} else {
|
||||||
|
List<INode> nodeList = new ArrayList<INode>();
|
||||||
|
for (INode datanode : list) {
|
||||||
|
if (!datanode.isVirtualGenerateNode()) {
|
||||||
|
nodeList.add(datanode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (nodeList.size() == 0 || nodeList.isEmpty()) {
|
||||||
|
Problems.add(ProblemStatus.ERROR, this, errorMessage);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
boolean foundValue = false;
|
||||||
|
for (INode datanode : nodeList) {
|
||||||
|
if (datanode.getUniqueName().equals(param.getValue())) {
|
||||||
|
foundValue = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
errorMessage = Messages.getString("Node.parameterWrong", param.getDisplayName()); //$NON-NLS-1$
|
||||||
|
if (!foundValue) {
|
||||||
|
Problems.add(ProblemStatus.ERROR, this, errorMessage);
|
||||||
|
PropertyChangeCommand changeCommand = new PropertyChangeCommand(this, param.getName(),
|
||||||
|
nodeList.get(0).getUniqueName());
|
||||||
|
if (this.getCommandStack() != null) {
|
||||||
|
this.getCommandStack().execute(changeCommand);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
if (param.getValue() != null && !(param.getValue() instanceof String)) {
|
if (param.getValue() != null && !(param.getValue() instanceof String)) {
|
||||||
break;
|
break;
|
||||||
@@ -2765,6 +2805,19 @@ public class Node extends Element implements IGraphicalNode {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isUseExistedConnetion(IElement currentElem) {
|
||||||
|
IElementParameter param = currentElem.getElementParameter("USE_EXISTING_CONNECTION"); //$NON-NLS-1$
|
||||||
|
if (param != null) {
|
||||||
|
Object value = param.getValue();
|
||||||
|
if (value instanceof Boolean) {
|
||||||
|
return (Boolean) value;
|
||||||
|
} else if (value instanceof String) {
|
||||||
|
return Boolean.parseBoolean((String) value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private List<String> getColumnLabels(IMetadataTable metadataTable) {
|
private List<String> getColumnLabels(IMetadataTable metadataTable) {
|
||||||
List<String> columnLabels = new ArrayList<String>();
|
List<String> columnLabels = new ArrayList<String>();
|
||||||
if (metadataTable == null) {
|
if (metadataTable == null) {
|
||||||
|
|||||||
@@ -151,6 +151,7 @@ import org.talend.designer.core.ui.editor.nodecontainer.NodeContainer;
|
|||||||
import org.talend.designer.core.ui.editor.nodes.Node;
|
import org.talend.designer.core.ui.editor.nodes.Node;
|
||||||
import org.talend.designer.core.ui.editor.notes.Note;
|
import org.talend.designer.core.ui.editor.notes.Note;
|
||||||
import org.talend.designer.core.ui.editor.properties.controllers.ColumnListController;
|
import org.talend.designer.core.ui.editor.properties.controllers.ColumnListController;
|
||||||
|
import org.talend.designer.core.ui.editor.properties.controllers.ComponentListController;
|
||||||
import org.talend.designer.core.ui.editor.properties.controllers.ConnectionListController;
|
import org.talend.designer.core.ui.editor.properties.controllers.ConnectionListController;
|
||||||
import org.talend.designer.core.ui.editor.subjobcontainer.SubjobContainer;
|
import org.talend.designer.core.ui.editor.subjobcontainer.SubjobContainer;
|
||||||
import org.talend.designer.core.ui.preferences.TalendDesignerPrefConstants;
|
import org.talend.designer.core.ui.preferences.TalendDesignerPrefConstants;
|
||||||
@@ -182,6 +183,11 @@ import org.talend.repository.ui.utils.Log4jPrefsSettingManager;
|
|||||||
*/
|
*/
|
||||||
public class Process extends Element implements IProcess2, IGEFProcess, ILastVersionChecker {
|
public class Process extends Element implements IProcess2, IGEFProcess, ILastVersionChecker {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final String PROCESS_SCREENSHOT_KEY = "process"; //$NON-NLS-1$
|
||||||
|
|
||||||
protected List<INode> nodes = new ArrayList<INode>();
|
protected List<INode> nodes = new ArrayList<INode>();
|
||||||
|
|
||||||
protected List<Element> elem = new ArrayList<Element>();
|
protected List<Element> elem = new ArrayList<Element>();
|
||||||
@@ -1364,7 +1370,22 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
|||||||
*/
|
*/
|
||||||
processType.setDefaultContext(contextManager.getDefaultContext().getName());
|
processType.setDefaultContext(contextManager.getDefaultContext().getName());
|
||||||
if (getScreenshot() != null) {
|
if (getScreenshot() != null) {
|
||||||
processType.getScreenshots().put("process", getScreenshot());
|
processType.getScreenshots().put(PROCESS_SCREENSHOT_KEY, getScreenshot());
|
||||||
|
// fix a bug (TUP-2278) of synch between inner process item and newly created process item during save, this
|
||||||
|
// is very dirty but inherent to the current archi.
|
||||||
|
// copy all the screenshot items appart from the "process" one that is already handled here.
|
||||||
|
if (property != null && (property.getItem() != null) && (property.getItem() instanceof ProcessItem)) {
|
||||||
|
ProcessItem pi = (ProcessItem) property.getItem();
|
||||||
|
ProcessType pt = pi.getProcess();
|
||||||
|
if (pt != null) {
|
||||||
|
EMap delegateScreenshots = pt.getScreenshots();
|
||||||
|
for (Object objkey : delegateScreenshots.keySet()) {
|
||||||
|
if (!PROCESS_SCREENSHOT_KEY.equals(objkey)) {
|
||||||
|
processType.getScreenshots().put(objkey, delegateScreenshots.get(objkey));
|
||||||
|
}// else keep looking
|
||||||
|
}
|
||||||
|
}// else no process available so ignor
|
||||||
|
}// else not a type we can handle so ignor
|
||||||
}
|
}
|
||||||
setScreenshot(null); // once be saved, set the screenshot to null to free memory
|
setScreenshot(null); // once be saved, set the screenshot to null to free memory
|
||||||
contextManager.saveToEmf(processType.getContext());
|
contextManager.saveToEmf(processType.getContext());
|
||||||
@@ -1758,6 +1779,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
|||||||
loadSubjobs(processType);
|
loadSubjobs(processType);
|
||||||
|
|
||||||
initExternalComponents();
|
initExternalComponents();
|
||||||
|
initJobletComponents();
|
||||||
setActivate(true);
|
setActivate(true);
|
||||||
checkStartNodes();
|
checkStartNodes();
|
||||||
// (bug 5365)
|
// (bug 5365)
|
||||||
@@ -1867,6 +1889,22 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initJobletComponents() {
|
||||||
|
for (INode node : nodes) {
|
||||||
|
if ((node instanceof Node) && ((Node) node).isJoblet()) {
|
||||||
|
List<? extends IElementParameter> parametersWithChildrens = node.getElementParametersWithChildrens();
|
||||||
|
for (IElementParameter param : parametersWithChildrens) {
|
||||||
|
if (param.getFieldType() == EParameterFieldType.COMPONENT_LIST) {
|
||||||
|
if (param.getValue() == null || ((String) param.getValue()).length() <= 0) {
|
||||||
|
ComponentListController.updateComponentList(node, param);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// private void checkProjectsettingParameters() {
|
// private void checkProjectsettingParameters() {
|
||||||
// boolean statsLog = (Boolean) this.getElementParameter(EParameterName.STATANDLOG_USE_PROJECT_SETTINGS.getName())
|
// boolean statsLog = (Boolean) this.getElementParameter(EParameterName.STATANDLOG_USE_PROJECT_SETTINGS.getName())
|
||||||
// .getValue();
|
// .getValue();
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ import org.eclipse.swt.widgets.Control;
|
|||||||
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
|
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
|
||||||
import org.talend.core.GlobalServiceRegister;
|
import org.talend.core.GlobalServiceRegister;
|
||||||
import org.talend.core.PluginChecker;
|
import org.talend.core.PluginChecker;
|
||||||
|
import org.talend.core.model.metadata.IMetadataTable;
|
||||||
import org.talend.core.model.process.EParameterFieldType;
|
import org.talend.core.model.process.EParameterFieldType;
|
||||||
import org.talend.core.model.process.IConnection;
|
import org.talend.core.model.process.IConnection;
|
||||||
import org.talend.core.model.process.IElement;
|
import org.talend.core.model.process.IElement;
|
||||||
@@ -320,6 +321,30 @@ public class ConnectionListController extends AbstractElementPropertySectionCont
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (connectionName.equals(oldConnectionName)) {
|
if (connectionName.equals(oldConnectionName)) {
|
||||||
|
if (elem instanceof INode) {
|
||||||
|
INode node = (INode) elem;
|
||||||
|
if (node.getComponent() != null && "tSAPBapi".equals(node.getComponent().getName())) {
|
||||||
|
// if SCHEMA_TYPE is renamed,rename the corresponding metadata table
|
||||||
|
// name and connection meta name
|
||||||
|
List<IMetadataTable> metadataList = node.getMetadataList();
|
||||||
|
for (IMetadataTable metadataTable : metadataList) {
|
||||||
|
if (metadataTable.getTableName() != null
|
||||||
|
&& metadataTable.getTableName().equals(oldConnectionName)) {
|
||||||
|
metadataTable.setTableName(newConnectionName);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<? extends IConnection> outgoingConnections = node.getOutgoingConnections();
|
||||||
|
for (IConnection connection : outgoingConnections) {
|
||||||
|
if (connection.getMetaName() != null
|
||||||
|
&& connection.getMetaName().equals(oldConnectionName)) {
|
||||||
|
connection.setMetaName(newConnectionName);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
curLine.put(param.getName(), newConnectionName);
|
curLine.put(param.getName(), newConnectionName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ package org.talend.designer.core.ui.editor.properties.controllers;
|
|||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
@@ -48,7 +47,8 @@ import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
|||||||
import org.talend.commons.ui.runtime.image.ImageProvider;
|
import org.talend.commons.ui.runtime.image.ImageProvider;
|
||||||
import org.talend.commons.utils.io.FilesUtils;
|
import org.talend.commons.utils.io.FilesUtils;
|
||||||
import org.talend.core.CorePlugin;
|
import org.talend.core.CorePlugin;
|
||||||
import org.talend.core.model.general.ModuleNeeded;
|
import org.talend.core.GlobalServiceRegister;
|
||||||
|
import org.talend.core.ILibraryManagerService;
|
||||||
import org.talend.core.model.process.EParameterFieldType;
|
import org.talend.core.model.process.EParameterFieldType;
|
||||||
import org.talend.core.model.process.IElementParameter;
|
import org.talend.core.model.process.IElementParameter;
|
||||||
import org.talend.core.model.process.IExternalNode;
|
import org.talend.core.model.process.IExternalNode;
|
||||||
@@ -61,7 +61,6 @@ import org.talend.designer.core.ui.dialog.BrmsDialog;
|
|||||||
import org.talend.designer.core.ui.dialog.IBrmsExtension;
|
import org.talend.designer.core.ui.dialog.IBrmsExtension;
|
||||||
import org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand;
|
import org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand;
|
||||||
import org.talend.designer.core.ui.editor.nodes.Node;
|
import org.talend.designer.core.ui.editor.nodes.Node;
|
||||||
import org.talend.librariesmanager.model.ModulesNeededProvider;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DOC yzhang class global comment. Detailled comment <br/>
|
* DOC yzhang class global comment. Detailled comment <br/>
|
||||||
@@ -319,14 +318,14 @@ public class ModuleListController extends AbstractElementPropertySectionControll
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void updateModuleList(Node node) {
|
public static void updateModuleList(Node node) {
|
||||||
List<ModuleNeeded> moduleNeededList = ModulesNeededProvider.getModulesNeeded();
|
ILibraryManagerService repositoryBundleService = (ILibraryManagerService) GlobalServiceRegister.getDefault().getService(
|
||||||
|
ILibraryManagerService.class);
|
||||||
|
Set<String> existLibraries = repositoryBundleService.list();
|
||||||
Set<String> moduleNameList = new TreeSet<String>();
|
Set<String> moduleNameList = new TreeSet<String>();
|
||||||
Set<String> moduleValueList = new TreeSet<String>();
|
Set<String> moduleValueList = new TreeSet<String>();
|
||||||
for (ModuleNeeded module : moduleNeededList) {
|
for (String lib : existLibraries) {
|
||||||
|
moduleNameList.add(lib);
|
||||||
String moduleName = module.getModuleName();
|
moduleValueList.add(TalendTextUtils.addQuotes(lib));
|
||||||
moduleNameList.add(moduleName);
|
|
||||||
moduleValueList.add(TalendTextUtils.addQuotes(moduleName));
|
|
||||||
}
|
}
|
||||||
Comparator<String> comprarator = new IgnoreCaseComparator();
|
Comparator<String> comprarator = new IgnoreCaseComparator();
|
||||||
String[] moduleNameArray = moduleNameList.toArray(new String[0]);
|
String[] moduleNameArray = moduleNameList.toArray(new String[0]);
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.eclipse.ui.IWorkbench;
|
|||||||
import org.eclipse.ui.IWorkbenchPreferencePage;
|
import org.eclipse.ui.IWorkbenchPreferencePage;
|
||||||
import org.talend.commons.ui.swt.preferences.CheckBoxFieldEditor;
|
import org.talend.commons.ui.swt.preferences.CheckBoxFieldEditor;
|
||||||
import org.talend.core.GlobalServiceRegister;
|
import org.talend.core.GlobalServiceRegister;
|
||||||
|
import org.talend.core.PluginChecker;
|
||||||
import org.talend.core.prefs.ITalendCorePrefConstants;
|
import org.talend.core.prefs.ITalendCorePrefConstants;
|
||||||
import org.talend.core.ui.branding.IBrandingService;
|
import org.talend.core.ui.branding.IBrandingService;
|
||||||
import org.talend.designer.core.DesignerPlugin;
|
import org.talend.designer.core.DesignerPlugin;
|
||||||
@@ -83,6 +84,7 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
|
|||||||
|
|
||||||
addField(dbConnTimeoutActive);
|
addField(dbConnTimeoutActive);
|
||||||
addField(dbConnTimeout);
|
addField(dbConnTimeout);
|
||||||
|
addSVNInforAutoCheckFiled();
|
||||||
} else {
|
} else {
|
||||||
addField(new BooleanFieldEditor(ITalendCorePrefConstants.DEACTIVE_REPOSITORY_UPDATE,
|
addField(new BooleanFieldEditor(ITalendCorePrefConstants.DEACTIVE_REPOSITORY_UPDATE,
|
||||||
Messages.getString("PerformancePreferencePage.display.deactiveRepositoryUpdate"),//$NON-NLS-1$
|
Messages.getString("PerformancePreferencePage.display.deactiveRepositoryUpdate"),//$NON-NLS-1$
|
||||||
@@ -127,15 +129,46 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
|
|||||||
// addField(new BooleanFieldEditor(ITalendCorePrefConstants.ADD_SYSTEM_ROUTINES, Messages
|
// addField(new BooleanFieldEditor(ITalendCorePrefConstants.ADD_SYSTEM_ROUTINES, Messages
|
||||||
// .getString("PerformancePreferencePage.addAllSystemRoutines"),//$NON-NLS-1$
|
// .getString("PerformancePreferencePage.addAllSystemRoutines"),//$NON-NLS-1$
|
||||||
// getFieldEditorParent()));
|
// getFieldEditorParent()));
|
||||||
|
addSVNInforAutoCheckFiled();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addSVNInforAutoCheckFiled() {
|
||||||
|
if (PluginChecker.isSVNProviderPluginLoaded()) {
|
||||||
|
final CheckBoxFieldEditor autoCheckField = new CheckBoxFieldEditor(
|
||||||
|
ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK,
|
||||||
|
Messages.getString("PerformancePreferencePage.autoCheckField"), getFieldEditorParent()); //$NON-NLS-1$
|
||||||
|
addField(autoCheckField);
|
||||||
|
final IntegerFieldEditor autoCheckTime = new IntegerFieldEditor(
|
||||||
|
ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK_TIME_INTERVAL,
|
||||||
|
Messages.getString("PerformancePreferencePage.autoCheckTime"), //$NON-NLS-1$
|
||||||
|
getFieldEditorParent());
|
||||||
|
autoCheckTime.setValidRange(1, 30);
|
||||||
|
autoCheckTime.setEnabled(getPreferenceStore().getBoolean(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK),
|
||||||
|
getFieldEditorParent());
|
||||||
|
addField(autoCheckTime);
|
||||||
|
autoCheckField.getButton().addSelectionListener(new SelectionAdapter() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void widgetSelected(SelectionEvent e) {
|
||||||
|
if (autoCheckField.getButton().getSelection()) {
|
||||||
|
autoCheckTime.setEnabled(true, getFieldEditorParent());
|
||||||
|
} else {
|
||||||
|
autoCheckTime.setEnabled(false, getFieldEditorParent());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
*
|
*
|
||||||
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
|
* @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
public void init(IWorkbench workbench) {
|
public void init(IWorkbench workbench) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import org.talend.commons.exception.ExceptionHandler;
|
|||||||
import org.talend.commons.ui.runtime.CommonUIPlugin;
|
import org.talend.commons.ui.runtime.CommonUIPlugin;
|
||||||
import org.talend.commons.ui.swt.colorstyledtext.ColorManager;
|
import org.talend.commons.ui.swt.colorstyledtext.ColorManager;
|
||||||
import org.talend.core.CorePlugin;
|
import org.talend.core.CorePlugin;
|
||||||
|
import org.talend.core.PluginChecker;
|
||||||
import org.talend.core.language.ECodeLanguage;
|
import org.talend.core.language.ECodeLanguage;
|
||||||
import org.talend.core.model.metadata.types.JavaTypesManager;
|
import org.talend.core.model.metadata.types.JavaTypesManager;
|
||||||
import org.talend.core.model.repository.IRepositoryPrefConstants;
|
import org.talend.core.model.repository.IRepositoryPrefConstants;
|
||||||
@@ -165,9 +166,12 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
|
|||||||
store.setDefault(IRepositoryPrefConstants.USE_EXPORT_SAVE, false);
|
store.setDefault(IRepositoryPrefConstants.USE_EXPORT_SAVE, false);
|
||||||
store.setDefault(IRepositoryPrefConstants.ADD_CLASSPATH_JAR, false);
|
store.setDefault(IRepositoryPrefConstants.ADD_CLASSPATH_JAR, false);
|
||||||
|
|
||||||
store.setDefault(
|
store.setDefault(TalendDesignerPrefConstants.NOT_SHOW_WARNING_WHEN_DELETE_LINK_WITH_JOBLETTRIGGERLINKCOMPONENT, false);
|
||||||
TalendDesignerPrefConstants.NOT_SHOW_WARNING_WHEN_DELETE_LINK_WITH_JOBLETTRIGGERLINKCOMPONENT,
|
|
||||||
false);
|
if (PluginChecker.isSVNProviderPluginLoaded()) {
|
||||||
|
store.setDefault(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK, true);
|
||||||
|
store.setDefault(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK_TIME_INTERVAL, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if (!CommonUIPlugin.isFullyHeadless()) {
|
if (!CommonUIPlugin.isFullyHeadless()) {
|
||||||
Display display = Display.getDefault();
|
Display display = Display.getDefault();
|
||||||
@@ -175,7 +179,7 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
|
|||||||
display = Display.getCurrent();
|
display = Display.getCurrent();
|
||||||
}
|
}
|
||||||
if (display != null) {
|
if (display != null) {
|
||||||
display.syncExec(new Runnable() {
|
display.asyncExec(new Runnable() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
Element elem = (Element) pro.getInitialContextLoad();
|
Element elem = (Element) pro.getInitialContextLoad();
|
||||||
if (elem == null) {
|
if (elem == null) {
|
||||||
elem = new ImplicitContextLoadElement();
|
elem = new ImplicitContextLoadElement();
|
||||||
ProjectSettingManager.createImplicitContextLoadParameters((ImplicitContextLoadElement) elem);
|
ProjectSettingManager.createImplicitContextLoadParameters(elem);
|
||||||
pro.setInitialContextLoad(elem);
|
pro.setInitialContextLoad(elem);
|
||||||
}
|
}
|
||||||
return elem;
|
return elem;
|
||||||
@@ -151,7 +151,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
Element elem = (Element) pro.getStatsAndLog();
|
Element elem = (Element) pro.getStatsAndLog();
|
||||||
if (elem == null) {
|
if (elem == null) {
|
||||||
elem = new StatsAndLogsElement();
|
elem = new StatsAndLogsElement();
|
||||||
StatsAndLogsHelper.createStatsAndLogsParameters((StatsAndLogsElement) elem);
|
StatsAndLogsHelper.createStatsAndLogsParameters(elem);
|
||||||
pro.setStatsAndLog(elem);
|
pro.setStatsAndLog(elem);
|
||||||
}
|
}
|
||||||
return elem;
|
return elem;
|
||||||
@@ -177,7 +177,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
createStatsAndLogsElement(pro);
|
createStatsAndLogsElement(pro);
|
||||||
ParametersType stats = pro.getEmfProject().getStatAndLogsSettings().getParameters();
|
ParametersType stats = pro.getEmfProject().getStatAndLogsSettings().getParameters();
|
||||||
// load the project settings to process
|
// load the project settings to process
|
||||||
ElementParameter2ParameterType.loadElementParameters(process, stats, EParameterName.PROPERTY_TYPE.getName() + ":" //$NON-NLS-N$
|
ElementParameter2ParameterType.loadElementParameters(process, stats, EParameterName.PROPERTY_TYPE.getName() + ":"
|
||||||
+ EParameterName.PROPERTY_TYPE.getName());
|
+ EParameterName.PROPERTY_TYPE.getName());
|
||||||
// change repository item
|
// change repository item
|
||||||
// TODO
|
// TODO
|
||||||
@@ -263,8 +263,9 @@ public class ProjectSettingManager extends Utils {
|
|||||||
* @param pItem
|
* @param pItem
|
||||||
*/
|
*/
|
||||||
public static void defaultUseProjectSetting(org.talend.designer.core.ui.editor.process.Process process) {
|
public static void defaultUseProjectSetting(org.talend.designer.core.ui.editor.process.Process process) {
|
||||||
if (process == null)
|
if (process == null) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
ImplicitContextSettings implicit = ProjectManager.getInstance().getCurrentProject().getEmfProject()
|
ImplicitContextSettings implicit = ProjectManager.getInstance().getCurrentProject().getEmfProject()
|
||||||
.getImplicitContextSettings();
|
.getImplicitContextSettings();
|
||||||
Boolean bImplicit = false;
|
Boolean bImplicit = false;
|
||||||
@@ -463,7 +464,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
param.setListItemsValue(new String[] {});
|
param.setListItemsValue(new String[] {});
|
||||||
param.setValue(preferenceStore.getString(getPreferenceName(EParameterName.REPOSITORY_PROPERTY_TYPE)// +
|
param.setValue(preferenceStore.getString(getPreferenceName(EParameterName.REPOSITORY_PROPERTY_TYPE)// +
|
||||||
// CONNECTION_ITEM_LABEL
|
// CONNECTION_ITEM_LABEL
|
||||||
)); //$NON-NLS-1$
|
));
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
param.setFieldType(EParameterFieldType.TECHNICAL);
|
param.setFieldType(EParameterFieldType.TECHNICAL);
|
||||||
param.setShow(false);
|
param.setShow(false);
|
||||||
@@ -514,7 +515,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// host
|
// host
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.HOST.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.HOST.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.HOST)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.HOST))));
|
||||||
param.setDisplayName(EParameterName.HOST.getDisplayName());
|
param.setDisplayName(EParameterName.HOST.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.TEXT);
|
param.setFieldType(EParameterFieldType.TEXT);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
@@ -529,7 +530,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// port
|
// port
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PORT.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PORT.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PORT)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PORT))));
|
||||||
param.setDisplayName(EParameterName.PORT.getDisplayName());
|
param.setDisplayName(EParameterName.PORT.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.TEXT);
|
param.setFieldType(EParameterFieldType.TEXT);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
@@ -544,7 +545,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// dbName
|
// dbName
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBNAME.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBNAME.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.DBNAME)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.DBNAME))));
|
||||||
param.setDisplayName(EParameterName.DBNAME.getDisplayName());
|
param.setDisplayName(EParameterName.DBNAME.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.TEXT);
|
param.setFieldType(EParameterFieldType.TEXT);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
@@ -575,7 +576,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// additional parameters
|
// additional parameters
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTIES.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PROPERTIES.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PROPERTIES)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PROPERTIES))));
|
||||||
param.setDisplayName(EParameterName.PROPERTIES.getDisplayName());
|
param.setDisplayName(EParameterName.PROPERTIES.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.TEXT);
|
param.setFieldType(EParameterFieldType.TEXT);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
@@ -592,7 +593,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// schema
|
// schema
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.SCHEMA_DB.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.SCHEMA_DB.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.SCHEMA_DB)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.SCHEMA_DB))));
|
||||||
param.setDisplayName(EParameterName.SCHEMA_DB.getDisplayName());
|
param.setDisplayName(EParameterName.SCHEMA_DB.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.TEXT);
|
param.setFieldType(EParameterFieldType.TEXT);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
@@ -600,7 +601,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
param.setRepositoryValue("SCHEMA"); //$NON-NLS-1$
|
param.setRepositoryValue("SCHEMA"); //$NON-NLS-1$
|
||||||
final String schemaCondition = JobSettingsConstants
|
final String schemaCondition = JobSettingsConstants
|
||||||
.addBrackets(dbTypeName
|
.addBrackets(dbTypeName
|
||||||
+ " =='OCLE' or " + dbTypeName + " =='OCLE_OCI' or " + dbTypeName + " =='POSTGRESQL' or " + dbTypeName + " =='POSTGRESPLUS' or " + dbTypeName + " =='MSSQL' or " + dbTypeName + " =='INFORMIX'"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$//$NON-NLS-5$//$NON-NLS-6$
|
+ " =='OCLE' or " + dbTypeName + " =='OCLE_OCI' or " + dbTypeName + " =='POSTGRESQL' or " + dbTypeName + " =='POSTGRESPLUS' or " + dbTypeName + " =='MSSQL' or " + dbTypeName + " =='INFORMIX' or " + dbTypeName + " =='IBM_DB2' or " + dbTypeName + " =='SYBASE'"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$//$NON-NLS-5$//$NON-NLS-6$//$NON-NLS-7$//$NON-NLS-8$
|
||||||
param.setShowIf(schemaCondition + " and " + dbCondition); //$NON-NLS-1$
|
param.setShowIf(schemaCondition + " and " + dbCondition); //$NON-NLS-1$
|
||||||
param.setGroup(IMPLICIT_GROUP);
|
param.setGroup(IMPLICIT_GROUP);
|
||||||
paramList.add(param);
|
paramList.add(param);
|
||||||
@@ -608,7 +609,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// username
|
// username
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.USER.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.USER.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.USER)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.USER))));
|
||||||
param.setDisplayName(EParameterName.USER.getDisplayName());
|
param.setDisplayName(EParameterName.USER.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.TEXT);
|
param.setFieldType(EParameterFieldType.TEXT);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
@@ -623,7 +624,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// password
|
// password
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PASS.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.PASS.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PASS)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.PASS))));
|
||||||
param.setDisplayName(EParameterName.PASS.getDisplayName());
|
param.setDisplayName(EParameterName.PASS.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.PASSWORD);
|
param.setFieldType(EParameterFieldType.PASSWORD);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
@@ -651,7 +652,7 @@ public class ProjectSettingManager extends Utils {
|
|||||||
// table
|
// table
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBTABLE.getName()));
|
param.setName(JobSettingsConstants.getExtraParameterName(EParameterName.DBTABLE.getName()));
|
||||||
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.DBTABLE)))); //$NON-NLS-1$
|
param.setValue(addQuotes(preferenceStore.getString(getPreferenceName(EParameterName.DBTABLE))));
|
||||||
param.setDisplayName(EParameterName.DBTABLE.getDisplayName());
|
param.setDisplayName(EParameterName.DBTABLE.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.DBTABLE);
|
param.setFieldType(EParameterFieldType.DBTABLE);
|
||||||
param.setCategory(EComponentCategory.EXTRA);
|
param.setCategory(EComponentCategory.EXTRA);
|
||||||
|
|||||||
@@ -232,8 +232,8 @@ public class StatsAndLogsHelper extends Utils {
|
|||||||
|
|
||||||
// stats log encoding
|
// stats log encoding
|
||||||
ElementParameter encodingParam = new ElementParameter(elem);
|
ElementParameter encodingParam = new ElementParameter(elem);
|
||||||
encodingParam.setName(EParameterName.ENCODING.getName()); //$NON-NLS-1$
|
encodingParam.setName(EParameterName.ENCODING.getName());
|
||||||
encodingParam.setDisplayName(EParameterName.ENCODING.getDisplayName());//$NON-NLS-1$
|
encodingParam.setDisplayName(EParameterName.ENCODING.getDisplayName());
|
||||||
encodingParam.setCategory(EComponentCategory.STATSANDLOGS);
|
encodingParam.setCategory(EComponentCategory.STATSANDLOGS);
|
||||||
encodingParam.setFieldType(EParameterFieldType.ENCODING_TYPE);
|
encodingParam.setFieldType(EParameterFieldType.ENCODING_TYPE);
|
||||||
encodingParam
|
encodingParam
|
||||||
@@ -368,7 +368,7 @@ public class StatsAndLogsHelper extends Utils {
|
|||||||
// ProjectSettingManager
|
// ProjectSettingManager
|
||||||
// .
|
// .
|
||||||
// CONNECTION_ITEM_LABEL
|
// CONNECTION_ITEM_LABEL
|
||||||
)); //$NON-NLS-1$
|
));
|
||||||
param.setShow(false);
|
param.setShow(false);
|
||||||
param.setRequired(true);
|
param.setRequired(true);
|
||||||
// paramList.add(param);
|
// paramList.add(param);
|
||||||
@@ -540,7 +540,7 @@ public class StatsAndLogsHelper extends Utils {
|
|||||||
param.setCategory(EComponentCategory.STATSANDLOGS);
|
param.setCategory(EComponentCategory.STATSANDLOGS);
|
||||||
param.setNumRow(54);
|
param.setNumRow(54);
|
||||||
param.setRepositoryValue("SCHEMA"); //$NON-NLS-1$
|
param.setRepositoryValue("SCHEMA"); //$NON-NLS-1$
|
||||||
param.setShowIf("(DB_TYPE=='OCLE' or DB_TYPE=='OCLE_OCI' or DB_TYPE=='POSTGRESQL' or DB_TYPE=='POSTGRESPLUS' or DB_TYPE=='MSSQL' or DB_TYPE=='INFORMIX') and (ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')"); //$NON-NLS-1$
|
param.setShowIf("(DB_TYPE=='OCLE' or DB_TYPE=='OCLE_OCI' or DB_TYPE=='POSTGRESQL' or DB_TYPE=='POSTGRESPLUS' or DB_TYPE=='MSSQL' or DB_TYPE=='INFORMIX' or DB_TYPE=='IBM_DB2' or DB_TYPE=='SYBASE') and (ON_DATABASE_FLAG == 'true') and (ON_STATCATCHER_FLAG == 'true' or ON_LOGCATCHER_FLAG == 'true' or ON_METERCATCHER_FLAG == 'true')"); //$NON-NLS-1$
|
||||||
paramList.add(param);
|
paramList.add(param);
|
||||||
|
|
||||||
// username
|
// username
|
||||||
@@ -603,7 +603,7 @@ public class StatsAndLogsHelper extends Utils {
|
|||||||
|
|
||||||
// Metter table
|
// Metter table
|
||||||
param = new ElementParameter(elem);
|
param = new ElementParameter(elem);
|
||||||
param.setName(EParameterName.TABLE_METER.getName()); //$NON-NLS-1$
|
param.setName(EParameterName.TABLE_METER.getName());
|
||||||
param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.TABLE_METER.getName())));
|
param.setValue(addQuotes(preferenceStore.getString(languagePrefix + EParameterName.TABLE_METER.getName())));
|
||||||
param.setDisplayName(EParameterName.TABLE_METER.getDisplayName());
|
param.setDisplayName(EParameterName.TABLE_METER.getDisplayName());
|
||||||
param.setFieldType(EParameterFieldType.DBTABLE);
|
param.setFieldType(EParameterFieldType.DBTABLE);
|
||||||
@@ -615,6 +615,7 @@ public class StatsAndLogsHelper extends Utils {
|
|||||||
|
|
||||||
private final static class IgnoreCaseComparator implements Comparator<String> {
|
private final static class IgnoreCaseComparator implements Comparator<String> {
|
||||||
|
|
||||||
|
@Override
|
||||||
public int compare(String o1, String o2) {
|
public int compare(String o1, String o2) {
|
||||||
return o1.compareToIgnoreCase(o2);
|
return o1.compareToIgnoreCase(o2);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,21 +12,17 @@
|
|||||||
// ============================================================================
|
// ============================================================================
|
||||||
package org.talend.designer.mapper.ui.visualmap.zone.toolbar;
|
package org.talend.designer.mapper.ui.visualmap.zone.toolbar;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
import org.eclipse.swt.events.SelectionEvent;
|
|
||||||
import org.eclipse.swt.events.SelectionListener;
|
|
||||||
import org.eclipse.swt.graphics.Image;
|
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
import org.eclipse.swt.widgets.Event;
|
import org.eclipse.swt.widgets.Event;
|
||||||
import org.eclipse.swt.widgets.Listener;
|
import org.eclipse.swt.widgets.Listener;
|
||||||
import org.eclipse.swt.widgets.ToolItem;
|
import org.eclipse.swt.widgets.ToolItem;
|
||||||
import org.talend.commons.ui.runtime.image.EImage;
|
import org.talend.commons.ui.runtime.image.EImage;
|
||||||
import org.talend.core.model.process.IElementParameter;
|
|
||||||
import org.talend.designer.abstractmap.AbstractMapComponent;
|
|
||||||
import org.talend.designer.mapper.i18n.Messages;
|
import org.talend.designer.mapper.i18n.Messages;
|
||||||
import org.talend.designer.mapper.managers.MapperManager;
|
import org.talend.designer.mapper.managers.MapperManager;
|
||||||
import org.talend.designer.mapper.ui.image.ImageInfo;
|
import org.talend.designer.mapper.ui.visualmap.table.DataMapTableView;
|
||||||
import org.talend.designer.mapper.ui.image.ImageProviderMapper;
|
|
||||||
import org.talend.designer.mapper.ui.visualmap.zone.Zone;
|
import org.talend.designer.mapper.ui.visualmap.zone.Zone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -133,48 +129,32 @@ public class ToolbarOutputZone extends ToolbarZone {
|
|||||||
guessItem.addListener(SWT.Selection, new Listener() {
|
guessItem.addListener(SWT.Selection, new Listener() {
|
||||||
|
|
||||||
public void handleEvent(Event event) {
|
public void handleEvent(Event event) {
|
||||||
|
List<DataMapTableView> outputsTablesView = getMapperManager().getUiManager().getOutputsTablesView();
|
||||||
|
for (DataMapTableView dataMapTableView : outputsTablesView) {
|
||||||
|
dataMapTableView.notifyFocusLost();
|
||||||
|
}
|
||||||
getMapperManager().mapAutomaticallly();
|
getMapperManager().mapAutomaticallly();
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// dieOnError.addSelectionListener(new SelectionListener() {
|
|
||||||
//
|
|
||||||
// public void widgetDefaultSelected(SelectionEvent e) {
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void widgetSelected(SelectionEvent e) {
|
|
||||||
// Image image = null;
|
|
||||||
// if (dieOnError.getSelection()) {
|
|
||||||
// image = ImageProviderMapper.getImage(ImageInfo.CHECKED_ICON);
|
|
||||||
// getMapperManager().removeRejectOutput();
|
|
||||||
// } else {
|
|
||||||
// image = ImageProviderMapper.getImage(ImageInfo.UNCHECKED_ICON);
|
|
||||||
// if (!getMapperManager().hasRejectOutput(getMapperManager().getOutputTables())) {
|
|
||||||
// getMapperManager().addRejectOutput();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// dieOnError.setImage(image);
|
|
||||||
// getMapperManager().setDieOnError(dieOnError.getSelection());
|
|
||||||
// getMapperManager().setDieOnErrorValueChanged(true);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// });
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getMinimizeTooltipText() {
|
public String getMinimizeTooltipText() {
|
||||||
return MINIMIZE_TOOLTIP;
|
return MINIMIZE_TOOLTIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getRestoreTooltipText() {
|
public String getRestoreTooltipText() {
|
||||||
return RESTORE_TOOLTIP;
|
return RESTORE_TOOLTIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getMoveUpTooltipText() {
|
public String getMoveUpTooltipText() {
|
||||||
return MOVE_UP_TOOLTIP;
|
return MOVE_UP_TOOLTIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String getMoveDownTooltipText() {
|
public String getMoveDownTooltipText() {
|
||||||
return MOVE_DOWN_TOOLTIP;
|
return MOVE_DOWN_TOOLTIP;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,13 +12,22 @@
|
|||||||
// ============================================================================
|
// ============================================================================
|
||||||
package org.talend.designer.publish.core.models;
|
package org.talend.designer.publish.core.models;
|
||||||
|
|
||||||
|
import java.io.StringWriter;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringEscapeUtils;
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.transform.OutputKeys;
|
||||||
|
import javax.xml.transform.Transformer;
|
||||||
|
import javax.xml.transform.TransformerFactory;
|
||||||
|
import javax.xml.transform.dom.DOMSource;
|
||||||
|
import javax.xml.transform.stream.StreamResult;
|
||||||
|
|
||||||
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
public class FeaturesModel extends BaseModel {
|
public class FeaturesModel extends BaseModel {
|
||||||
|
|
||||||
@@ -34,7 +43,7 @@ public class FeaturesModel extends BaseModel {
|
|||||||
|
|
||||||
private String configName;
|
private String configName;
|
||||||
|
|
||||||
private Collection<String> subFeatures = new HashSet<String>();
|
private Collection<FeatureModel> subFeatures = new HashSet<FeatureModel>();
|
||||||
|
|
||||||
private Collection<BundleModel> subBundles = new HashSet<BundleModel>();
|
private Collection<BundleModel> subBundles = new HashSet<BundleModel>();
|
||||||
|
|
||||||
@@ -51,13 +60,7 @@ public class FeaturesModel extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addFeature(FeatureModel feature) {
|
public void addFeature(FeatureModel feature) {
|
||||||
StringBuilder sb = new StringBuilder();
|
subFeatures.add(feature);
|
||||||
sb.append("<feature version='");
|
|
||||||
sb.append(feature.getVersion());
|
|
||||||
sb.append("\'>");
|
|
||||||
sb.append(feature.getArtifactId());
|
|
||||||
sb.append("</feature>");
|
|
||||||
subFeatures.add(sb.toString());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addBundle(BundleModel model) {
|
public boolean addBundle(BundleModel model) {
|
||||||
@@ -90,87 +93,100 @@ public class FeaturesModel extends BaseModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static String toBundleString(BundleModel model) {
|
private static String toBundleString(BundleModel model) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder("mvn:");
|
||||||
sb.append("<bundle>mvn:");
|
|
||||||
sb.append(model.getGroupId());
|
sb.append(model.getGroupId());
|
||||||
sb.append('/');
|
sb.append('/');
|
||||||
sb.append(model.getArtifactId());
|
sb.append(model.getArtifactId());
|
||||||
sb.append('/');
|
sb.append('/');
|
||||||
sb.append(model.getVersion());
|
sb.append(model.getVersion());
|
||||||
sb.append("</bundle>");
|
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getContent() {
|
public String getContent() {
|
||||||
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
|
try {
|
||||||
sb.append("<features name=\"").append(getArtifactId()).append("\" xmlns=\"http://karaf.apache.org/xmlns/features/v1.0.0\">\n");
|
return internalGetContent();
|
||||||
sb.append("\t<feature name=\"");
|
} catch (Exception e) {
|
||||||
sb.append(getArtifactId());
|
throw new RuntimeException(e);
|
||||||
sb.append("\" version=\"");
|
}
|
||||||
sb.append(getVersion());
|
}
|
||||||
sb.append("\">\n");
|
|
||||||
// add sub features
|
|
||||||
for (String s : subFeatures) {
|
|
||||||
sb.append("\t\t");
|
|
||||||
sb.append(s);
|
|
||||||
sb.append("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
// add sub bundles
|
private String internalGetContent() throws Exception {
|
||||||
for (BundleModel s : subBundles) {
|
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
|
||||||
sb.append("\t\t");
|
|
||||||
sb.append(toBundleString(s));
|
|
||||||
sb.append("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (null == contexts || contexts.isEmpty()) {
|
Element features = document.createElement("features");
|
||||||
// add config
|
features.setAttribute("xmlns", "http://karaf.apache.org/xmlns/features/v1.0.0");
|
||||||
sb.append("\t\t<config name=\"");
|
features.setAttribute("name", getArtifactId());
|
||||||
sb.append(configName);
|
document.appendChild(features);
|
||||||
sb.append("\">\n");
|
|
||||||
sb.append("\t\t\ttalendcontext=\"");
|
|
||||||
for (int i = 0; i < contextList.length; i++) {
|
|
||||||
if (i != 0) {
|
|
||||||
sb.append(',');
|
|
||||||
}
|
|
||||||
sb.append(StringEscapeUtils.escapeXml(contextList[i]));
|
|
||||||
}
|
|
||||||
sb.append("\"\n");
|
|
||||||
sb.append("\t\t</config>\n");
|
|
||||||
} else {
|
|
||||||
// add contexts config
|
|
||||||
for (Map.Entry<String, Map<String, String>> context : contexts.entrySet()) {
|
|
||||||
sb.append("\t\t<config name=\"");
|
|
||||||
sb.append(name).append(".talendcontext.").append(StringEscapeUtils.escapeXml(context.getKey()));
|
|
||||||
sb.append("\">\n");
|
|
||||||
for (Map.Entry<String, String> property : context.getValue().entrySet()) {
|
|
||||||
sb.append("\t\t\t");
|
|
||||||
sb.append(StringEscapeUtils.escapeXml(property.getKey()));
|
|
||||||
sb.append('=');
|
|
||||||
sb.append(StringEscapeUtils.escapeXml(property.getValue()));
|
|
||||||
sb.append("\n");
|
|
||||||
}
|
|
||||||
sb.append("\t\t</config>\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sb.append("\t</feature>\n");
|
|
||||||
sb.append("</features>");
|
|
||||||
|
|
||||||
return sb.toString();
|
Element feature = document.createElement("feature");
|
||||||
|
feature.setAttribute("name", getArtifactId());
|
||||||
|
feature.setAttribute("version", getVersion());
|
||||||
|
features.appendChild(feature);
|
||||||
|
|
||||||
|
// add sub features
|
||||||
|
for (FeatureModel fm : subFeatures) {
|
||||||
|
Element subFeature = document.createElement("feature");
|
||||||
|
if (null != fm.getVersion() && !fm.getVersion().isEmpty()) {
|
||||||
|
subFeature.setAttribute("version", fm.getVersion());
|
||||||
|
}
|
||||||
|
subFeature.appendChild(document.createTextNode(fm.getArtifactId()));
|
||||||
|
feature.appendChild(subFeature);
|
||||||
|
}
|
||||||
|
|
||||||
|
// add sub bundles
|
||||||
|
for (BundleModel bm : subBundles) {
|
||||||
|
Element bundle = document.createElement("bundle");
|
||||||
|
bundle.appendChild(document.createTextNode(toBundleString(bm)));
|
||||||
|
feature.appendChild(bundle);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null == contexts || contexts.isEmpty()) {
|
||||||
|
// add config
|
||||||
|
Element config = document.createElement("config");
|
||||||
|
config.setAttribute("name", configName);
|
||||||
|
StringBuilder sb = new StringBuilder("talendcontext=\"");
|
||||||
|
for (int i = 0; i < contextList.length; i++) {
|
||||||
|
if (i != 0) {
|
||||||
|
sb.append(',');
|
||||||
|
}
|
||||||
|
sb.append(contextList[i]);
|
||||||
|
}
|
||||||
|
sb.append('"');
|
||||||
|
config.appendChild(document.createTextNode(sb.toString()));
|
||||||
|
feature.appendChild(config);
|
||||||
|
} else {
|
||||||
|
// add contexts config
|
||||||
|
for (Map.Entry<String, Map<String, String>> context : contexts.entrySet()) {
|
||||||
|
Element config = document.createElement("config");
|
||||||
|
config.setAttribute("name", name +".talendcontext."+ context.getKey());
|
||||||
|
StringBuilder sb = new StringBuilder("\n");
|
||||||
|
for (Map.Entry<String, String> property : context.getValue().entrySet()) {
|
||||||
|
sb.append(property.getKey());
|
||||||
|
sb.append('=');
|
||||||
|
sb.append(property.getValue());
|
||||||
|
sb.append('\n');
|
||||||
|
}
|
||||||
|
config.appendChild(document.createTextNode(sb.toString()));
|
||||||
|
feature.appendChild(config);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||||
|
DOMSource source = new DOMSource(document);
|
||||||
|
StringWriter writer = new StringWriter();
|
||||||
|
StreamResult result = new StreamResult(writer);
|
||||||
|
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||||
|
transformer.transform(source, result);
|
||||||
|
return writer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// public static void main(String[] args) {
|
// public static void main(String[] args) {
|
||||||
// FeaturesModel featureModel = new FeaturesModel("aaa",
|
// FeaturesModel featureModel = new FeaturesModel("aaa", "CustomService", "1.0.0");
|
||||||
// "CustomService", "1.0.0");
|
// featureModel.addBundle(new BundleModel("talend", "job-control-bundle", "1.0"));
|
||||||
// featureModel.addBundle(new BundleModel("talend", "job-control-bundle", "1.0"));
|
// featureModel.addBundle(new BundleModel("talend", "ProviderJob", "1.0"));
|
||||||
// featureModel.addBundle(new BundleModel("talend", "ProviderJob", "1.0"));
|
// featureModel.addBundle(new BundleModel("talend", "ESBProvider2", "1.0"));
|
||||||
// featureModel.addBundle(new BundleModel("talend", "ESBProvider2", "1.0"));
|
// featureModel.addFeature(new FeatureModel("custom-feature", "2.0"));
|
||||||
// featureModel.addFeature(new FeatureModel("custom-feature", "2.0"));
|
// featureModel.setContexts(java.util.Collections.singletonMap("name", java.util.Collections.singletonMap("key", "開始")));
|
||||||
// featureModel.setConfigName("aa.bb");
|
// System.out.println(featureModel.getContent());
|
||||||
// featureModel
|
// }
|
||||||
// .setContextList(new String[] { "Default", "Product", "Dev" });
|
|
||||||
// System.out.println(featureModel.getContent());
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,12 @@ public class JSONDragAndDropHandler extends AbstractDragAndDropServiceHandler {
|
|||||||
return connection.getJSONFilePath();
|
return connection.getJSONFilePath();
|
||||||
} else {
|
} else {
|
||||||
Path p = new Path(connection.getJSONFilePath());
|
Path p = new Path(connection.getJSONFilePath());
|
||||||
return TalendQuoteUtils.addQuotes(p.toPortableString());
|
if (p.toFile().isFile()) {
|
||||||
|
return TalendQuoteUtils.addQuotes(p.toPortableString());
|
||||||
|
} else {
|
||||||
|
return TalendQuoteUtils.addQuotes(p.toString());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (value.equals("OUT_FILE_PATH")) {
|
if (value.equals("OUT_FILE_PATH")) {
|
||||||
@@ -98,7 +103,12 @@ public class JSONDragAndDropHandler extends AbstractDragAndDropServiceHandler {
|
|||||||
return connection.getOutputFilePath();
|
return connection.getOutputFilePath();
|
||||||
} else {
|
} else {
|
||||||
Path p = new Path(connection.getOutputFilePath());
|
Path p = new Path(connection.getOutputFilePath());
|
||||||
return TalendQuoteUtils.addQuotes(p.toPortableString());
|
if (p.toFile().isFile()) {
|
||||||
|
return TalendQuoteUtils.addQuotes(p.toPortableString());
|
||||||
|
} else {
|
||||||
|
return TalendQuoteUtils.addQuotes(p.toString());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (value.equals("LIMIT")) { //$NON-NLS-1$
|
if (value.equals("LIMIT")) { //$NON-NLS-1$
|
||||||
|
|||||||
@@ -358,7 +358,12 @@ public class JSONFileOutputStep1Form extends AbstractJSONFileStepForm {
|
|||||||
} else {
|
} else {
|
||||||
xsdPathChanged = false;
|
xsdPathChanged = false;
|
||||||
}
|
}
|
||||||
getConnection().setJSONFilePath(PathUtils.getPortablePath(jsonFilePath.getText()));
|
if (Path.fromOSString(jsonFilePath.getText()).toFile().isFile()) {
|
||||||
|
getConnection().setJSONFilePath(PathUtils.getPortablePath(jsonFilePath.getText()));
|
||||||
|
} else {
|
||||||
|
getConnection().setJSONFilePath(jsonFilePath.getText());
|
||||||
|
}
|
||||||
|
|
||||||
// updateConnection(text);
|
// updateConnection(text);
|
||||||
|
|
||||||
StringBuilder fileContent = new StringBuilder();
|
StringBuilder fileContent = new StringBuilder();
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import org.apache.oro.text.regex.Perl5Compiler;
|
|||||||
import org.apache.oro.text.regex.Perl5Matcher;
|
import org.apache.oro.text.regex.Perl5Matcher;
|
||||||
import org.eclipse.core.resources.IProject;
|
import org.eclipse.core.resources.IProject;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
import org.eclipse.core.runtime.IStatus;
|
||||||
|
import org.eclipse.core.runtime.Path;
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
import org.eclipse.swt.events.FocusEvent;
|
import org.eclipse.swt.events.FocusEvent;
|
||||||
import org.eclipse.swt.events.FocusListener;
|
import org.eclipse.swt.events.FocusListener;
|
||||||
@@ -171,8 +172,8 @@ public class JSONFileStep1Form extends AbstractJSONFileStepForm {
|
|||||||
jsonFilePath = TalendQuoteUtils.removeQuotes(ConnectionContextHelper.getOriginalValue(contextType,
|
jsonFilePath = TalendQuoteUtils.removeQuotes(ConnectionContextHelper.getOriginalValue(contextType,
|
||||||
fileFieldJSON.getText()));
|
fileFieldJSON.getText()));
|
||||||
}
|
}
|
||||||
if (!new File(jsonFilePath).exists() && getConnection().getFileContent() != null
|
File file = new File(jsonFilePath);
|
||||||
&& getConnection().getFileContent().length > 0) {
|
if (!file.exists() && getConnection().getFileContent() != null && getConnection().getFileContent().length > 0) {
|
||||||
initFileContent();
|
initFileContent();
|
||||||
jsonFilePath = tempJSONXsdPath;
|
jsonFilePath = tempJSONXsdPath;
|
||||||
}
|
}
|
||||||
@@ -447,6 +448,11 @@ public class JSONFileStep1Form extends AbstractJSONFileStepForm {
|
|||||||
}
|
}
|
||||||
// getConnection().setJSONFilePath(PathUtils.getPortablePath(JSONXsdFilePath.getText()));
|
// getConnection().setJSONFilePath(PathUtils.getPortablePath(JSONXsdFilePath.getText()));
|
||||||
File file = new File(text);
|
File file = new File(text);
|
||||||
|
if (file.isDirectory()) {
|
||||||
|
valid = false;
|
||||||
|
checkFieldsValue();
|
||||||
|
return;
|
||||||
|
}
|
||||||
// if (file.exists()) {
|
// if (file.exists()) {
|
||||||
// if (file.exists()) {
|
// if (file.exists()) {
|
||||||
String tempxml = JSONUtil.changeJsonToXml(text);
|
String tempxml = JSONUtil.changeJsonToXml(text);
|
||||||
@@ -472,7 +478,11 @@ public class JSONFileStep1Form extends AbstractJSONFileStepForm {
|
|||||||
} else {
|
} else {
|
||||||
xsdPathChanged = false;
|
xsdPathChanged = false;
|
||||||
}
|
}
|
||||||
getConnection().setJSONFilePath(PathUtils.getPortablePath(jsonPath));
|
if (Path.fromOSString(jsonPath).toFile().isFile()) {
|
||||||
|
getConnection().setJSONFilePath(PathUtils.getPortablePath(jsonPath));
|
||||||
|
} else {
|
||||||
|
getConnection().setJSONFilePath(jsonPath);
|
||||||
|
}
|
||||||
|
|
||||||
JSONWizard wizard = ((JSONWizard) getPage().getWizard());
|
JSONWizard wizard = ((JSONWizard) getPage().getWizard());
|
||||||
wizard.setTreeRootNode(treeNode);
|
wizard.setTreeRootNode(treeNode);
|
||||||
@@ -604,6 +614,12 @@ public class JSONFileStep1Form extends AbstractJSONFileStepForm {
|
|||||||
updateStatus(IStatus.ERROR, ""); //$NON-NLS-1$
|
updateStatus(IStatus.ERROR, ""); //$NON-NLS-1$
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
File file = new File(jsonFilePathText);
|
||||||
|
if (file.isFile() && !file.exists()) {
|
||||||
|
valid = false;
|
||||||
|
} else if (file.isDirectory()) {
|
||||||
|
valid = false;
|
||||||
|
}
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
if (isContextMode()) {
|
if (isContextMode()) {
|
||||||
ContextType contextType = ConnectionContextHelper.getContextTypeForContextMode(connectionItem.getConnection());
|
ContextType contextType = ConnectionContextHelper.getContextTypeForContextMode(connectionItem.getConnection());
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import java.io.FileNotFoundException;
|
|||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
@@ -133,18 +134,37 @@ public class JSONUtil {
|
|||||||
java.io.ByteArrayOutputStream outStream = new java.io.ByteArrayOutputStream();
|
java.io.ByteArrayOutputStream outStream = new java.io.ByteArrayOutputStream();
|
||||||
InputStream inStream = null;
|
InputStream inStream = null;
|
||||||
File file = new File(jsonPath);
|
File file = new File(jsonPath);
|
||||||
|
|
||||||
// String filename = file.getName().replaceAll("\\.", "_");
|
// String filename = file.getName().replaceAll("\\.", "_");
|
||||||
// filename = "tempTest";
|
// filename = "tempTest";
|
||||||
boolean isFromUrl = false;
|
boolean isFromUrl = false;
|
||||||
try {
|
boolean illegalURL = false;
|
||||||
InputStream input = null;
|
InputStream input = null;
|
||||||
if (file.exists()) {
|
|
||||||
input = new FileInputStream(file);
|
|
||||||
|
|
||||||
} else {
|
if (file.exists()) {
|
||||||
isFromUrl = true;
|
if (file.isDirectory()) {
|
||||||
input = new URL(jsonPath).openStream();
|
return "";
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
input = new FileInputStream(file);
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
ExceptionHandler.process(e);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
isFromUrl = true;
|
||||||
|
try {
|
||||||
|
input = new URL(jsonPath).openStream();
|
||||||
|
} catch (MalformedURLException e) {
|
||||||
|
illegalURL = true;
|
||||||
|
} catch (IOException e) {
|
||||||
|
illegalURL = true;
|
||||||
|
}
|
||||||
|
if (illegalURL) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
String jsonStr = IOUtils.toString(input);
|
String jsonStr = IOUtils.toString(input);
|
||||||
|
|
||||||
convertJSON.setJsonString(jsonStr);
|
convertJSON.setJsonString(jsonStr);
|
||||||
@@ -172,10 +192,6 @@ public class JSONUtil {
|
|||||||
if (isFromUrl) {
|
if (isFromUrl) {
|
||||||
tempJSONXsdPath = temPath;
|
tempJSONXsdPath = temPath;
|
||||||
}
|
}
|
||||||
} catch (FileNotFoundException e1) {
|
|
||||||
ExceptionHandler.process(e1);
|
|
||||||
} catch (IOException e1) {
|
|
||||||
ExceptionHandler.process(e1);
|
|
||||||
} catch (java.lang.Exception e) {
|
} catch (java.lang.Exception e) {
|
||||||
ExceptionHandler.process(e);
|
ExceptionHandler.process(e);
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -490,7 +490,7 @@
|
|||||||
<importItemsProvider
|
<importItemsProvider
|
||||||
id="org.talend.repository.view.di.importProvider.context"
|
id="org.talend.repository.view.di.importProvider.context"
|
||||||
name="Context importer"
|
name="Context importer"
|
||||||
priority="NORMAL">
|
priority="HIGH">
|
||||||
<importItemsHandler
|
<importItemsHandler
|
||||||
class="org.talend.repository.view.di.viewer.handlers.ContextImportHandler">
|
class="org.talend.repository.view.di.viewer.handlers.ContextImportHandler">
|
||||||
<parameter
|
<parameter
|
||||||
|
|||||||
@@ -2311,6 +2311,15 @@
|
|||||||
name="Set tStoreResult associated tPigLoad"
|
name="Set tStoreResult associated tPigLoad"
|
||||||
description="The tPigStoreResult is now linked to a tPigLoad, we need to set the option for old jobs"
|
description="The tPigStoreResult is now linked to a tPigLoad, we need to set the option for old jobs"
|
||||||
version="5.6.1">
|
version="5.6.1">
|
||||||
|
</projecttask>
|
||||||
|
<projecttask
|
||||||
|
beforeLogon="false"
|
||||||
|
breaks="5.6.1"
|
||||||
|
class="org.talend.repository.model.migration.UpdateJobletContextInJobMigrationTask"
|
||||||
|
description="Update Joblet context in jobs"
|
||||||
|
id="org.talend.repository.model.migration.UpdateJobletContextInJobMigrationTask"
|
||||||
|
name="UpdateJobletContextInJobMigrationTask"
|
||||||
|
version="5.6.1">
|
||||||
</projecttask>
|
</projecttask>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
|
|||||||
@@ -147,18 +147,20 @@ public class ExportItemUtil {
|
|||||||
* @param progressMonitor, to show the progress during export
|
* @param progressMonitor, to show the progress during export
|
||||||
* @throws Exception in case of problem
|
* @throws Exception in case of problem
|
||||||
*/
|
*/
|
||||||
public void exportItems(File destination, Collection<Item> items, boolean exportAllVersions, IProgressMonitor progressMonitor)
|
public void exportItems(File destination, final Collection<Item> items, List<String> folders, boolean exportAllVersions,
|
||||||
throws Exception {
|
IProgressMonitor progressMonitor) throws Exception {
|
||||||
|
|
||||||
// bug 11301 :export 0 items
|
// bug 11301 :export 0 items
|
||||||
if (items == null) {
|
Collection<Item> workItems = items;
|
||||||
items = new ArrayList<Item>();
|
if (workItems == null) {
|
||||||
|
workItems = new ArrayList<Item>();
|
||||||
}
|
}
|
||||||
|
|
||||||
Collection<Item> otherVersions = new ArrayList<Item>();
|
Collection<Item> otherVersions = new ArrayList<Item>();
|
||||||
// get all versions of the exported items if wanted
|
// get all versions of the exported items if wanted
|
||||||
if (exportAllVersions) {
|
if (exportAllVersions) {
|
||||||
otherVersions = getOtherVersions(items);
|
otherVersions = getOtherVersions(workItems);
|
||||||
items.addAll(otherVersions);
|
workItems.addAll(otherVersions);
|
||||||
otherVersions.clear();
|
otherVersions.clear();
|
||||||
}// else keep current items version only
|
}// else keep current items version only
|
||||||
try {
|
try {
|
||||||
@@ -188,7 +190,7 @@ public class ExportItemUtil {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (exporter != null) {
|
if (exporter != null) {
|
||||||
toExport = exportItems2(items, tmpDirectory, true, progressMonitor);
|
toExport = exportItems2(workItems, tmpDirectory, true, progressMonitor);
|
||||||
|
|
||||||
// in case of .tar.gz we remove extension twice
|
// in case of .tar.gz we remove extension twice
|
||||||
// IPath rootPath = new Path(destination.getName()).removeFileExtension().removeFileExtension();
|
// IPath rootPath = new Path(destination.getName()).removeFileExtension().removeFileExtension();
|
||||||
@@ -197,8 +199,43 @@ public class ExportItemUtil {
|
|||||||
// exporter.write(file.getAbsolutePath(), rootPath.append(path).toString());
|
// exporter.write(file.getAbsolutePath(), rootPath.append(path).toString());
|
||||||
exporter.write(file.getAbsolutePath(), path.toString());
|
exporter.write(file.getAbsolutePath(), path.toString());
|
||||||
}
|
}
|
||||||
|
if (folders != null) {
|
||||||
|
// filter folders that already created
|
||||||
|
List<String> toRemove = new ArrayList<String>();
|
||||||
|
for (String folderPath : folders) {
|
||||||
|
for (IPath resourcePath : toExport.values()) {
|
||||||
|
if (resourcePath.toPortableString().contains(folderPath)) {
|
||||||
|
toRemove.add(folderPath);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
folders.removeAll(toRemove);
|
||||||
|
for (String folderPath : folders) {
|
||||||
|
exporter.writeFolder(folderPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
toExport = exportItems2(items, destination, true, progressMonitor);
|
toExport = exportItems2(workItems, destination, true, progressMonitor);
|
||||||
|
if (folders != null) {
|
||||||
|
// filter folders that already created
|
||||||
|
List<String> toRemove = new ArrayList<String>();
|
||||||
|
for (String folderPath : folders) {
|
||||||
|
for (IPath resourcePath : toExport.values()) {
|
||||||
|
if (resourcePath.toPortableString().contains(folderPath)) {
|
||||||
|
toRemove.add(folderPath);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
folders.removeAll(toRemove);
|
||||||
|
for (String folderPath : folders) {
|
||||||
|
IPath fullPath = new Path(destination.getAbsolutePath());
|
||||||
|
fullPath = fullPath.append(folderPath);
|
||||||
|
FilesUtils.createFoldersIfNotExists(fullPath.toPortableString(), false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw e;
|
throw e;
|
||||||
@@ -217,6 +254,21 @@ public class ExportItemUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* export the sected TOS model elements to the destination
|
||||||
|
*
|
||||||
|
* @param destination zip file or folder to store the exported elements
|
||||||
|
* @param items, the items to be exported
|
||||||
|
* @param exportAllVersions whether all the versions are export or only the selected once
|
||||||
|
* @param progressMonitor, to show the progress during export
|
||||||
|
* @throws Exception in case of problem
|
||||||
|
*/
|
||||||
|
public void exportItems(File destination, final Collection<Item> items, boolean exportAllVersions,
|
||||||
|
IProgressMonitor progressMonitor) throws Exception {
|
||||||
|
exportItems(destination, items, null, exportAllVersions, progressMonitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import org.talend.core.model.properties.JobletProcessItem;
|
|||||||
import org.talend.core.model.properties.ProcessItem;
|
import org.talend.core.model.properties.ProcessItem;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
|
||||||
|
|
||||||
@@ -102,13 +103,13 @@ public class EncryptDbPasswordMigrationTask extends AbstractItemMigrationTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void encryptPassword(DatabaseConnection dbConn) throws Exception {
|
private void encryptPassword(DatabaseConnection dbConn) throws Exception {
|
||||||
String password = PasswordEncryptUtil.encryptPassword(dbConn.getPassword());
|
String password = PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(dbConn.getPassword()));
|
||||||
dbConn.setPassword(password);
|
dbConn.setPassword(password);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void encryptPassword(ContextParameterType param) throws Exception {
|
private void encryptPassword(ContextParameterType param) throws Exception {
|
||||||
// before migration task, the value should be raw. so keep it.
|
// before migration task, the value should be raw. so keep it.
|
||||||
String password = PasswordEncryptUtil.encryptPassword(param.getValue());
|
String password = PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(param.getValue()));
|
||||||
param.setValue(password);
|
param.setValue(password);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.talend.core.model.properties.DatabaseConnectionItem;
|
|||||||
import org.talend.core.model.properties.Item;
|
import org.talend.core.model.properties.Item;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DOC zli class global comment. Detailled comment For
|
* DOC zli class global comment. Detailled comment For
|
||||||
@@ -67,7 +68,7 @@ public class EncryptDbPasswordforItemFileMigrationTask extends AbstractItemMigra
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void encryptPassword(DatabaseConnection dbConn) throws Exception {
|
public void encryptPassword(DatabaseConnection dbConn) throws Exception {
|
||||||
String password = PasswordEncryptUtil.encryptPassword(dbConn.getPassword());
|
String password = PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(dbConn.getPassword()));
|
||||||
dbConn.setPassword(password);
|
dbConn.setPassword(password);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.talend.core.model.properties.FTPConnectionItem;
|
|||||||
import org.talend.core.model.properties.Item;
|
import org.talend.core.model.properties.Item;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* created by hcyi on Jul 8, 2014 Detailled comment
|
* created by hcyi on Jul 8, 2014 Detailled comment
|
||||||
@@ -63,25 +64,26 @@ public class EncryptPassword4FTPItemFileMigrationTask extends AbstractItemMigrat
|
|||||||
public boolean encryptPassword(FTPConnection ftpConn) throws Exception {
|
public boolean encryptPassword(FTPConnection ftpConn) throws Exception {
|
||||||
boolean modified = false;
|
boolean modified = false;
|
||||||
if (ftpConn.getPassword() != null) {
|
if (ftpConn.getPassword() != null) {
|
||||||
String password = PasswordEncryptUtil.encryptPassword(ftpConn.getPassword());
|
String password = PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(ftpConn.getPassword()));
|
||||||
ftpConn.setPassword(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
ftpConn.setPassword(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ftpConn.getPassphrase() != null) {
|
if (ftpConn.getPassphrase() != null) {
|
||||||
String password = PasswordEncryptUtil.encryptPassword(ftpConn.getPassphrase());
|
String password = PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(ftpConn.getPassphrase()));
|
||||||
ftpConn.setPassphrase(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
ftpConn.setPassphrase(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ftpConn.getKeystorePassword() != null) {
|
if (ftpConn.getKeystorePassword() != null) {
|
||||||
String password = PasswordEncryptUtil.encryptPassword(ftpConn.getKeystorePassword());
|
String password = PasswordEncryptUtil
|
||||||
|
.encryptPassword(ConnectionHelper.getCleanPassword(ftpConn.getKeystorePassword()));
|
||||||
ftpConn.setKeystorePassword(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
ftpConn.setKeystorePassword(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ftpConn.getProxypassword() != null) {
|
if (ftpConn.getProxypassword() != null) {
|
||||||
String password = PasswordEncryptUtil.encryptPassword(ftpConn.getProxypassword());
|
String password = PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(ftpConn.getProxypassword()));
|
||||||
ftpConn.setProxypassword(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
ftpConn.setProxypassword(password + PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import org.talend.core.model.properties.JobletProcessItem;
|
|||||||
import org.talend.core.model.properties.ProcessItem;
|
import org.talend.core.model.properties.ProcessItem;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
||||||
@@ -125,7 +126,8 @@ public class EncryptPasswordInComponentsMigrationTask extends AbstractItemMigrat
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!encrypted) {
|
if (!encrypted) {
|
||||||
param.setValue(PasswordEncryptUtil.encryptPassword(param.getValue())
|
param.setValue(
|
||||||
|
PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(param.getValue()))
|
||||||
+ PasswordEncryptUtil.ENCRYPT_KEY);
|
+ PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import org.talend.core.model.properties.JobletProcessItem;
|
|||||||
import org.talend.core.model.properties.ProcessItem;
|
import org.talend.core.model.properties.ProcessItem;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
||||||
|
|
||||||
@@ -127,7 +128,8 @@ public class EncryptPasswordInJobSettingsMigrationTask extends AbstractItemMigra
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!encrypted) {
|
if (!encrypted) {
|
||||||
param.setValue(PasswordEncryptUtil.encryptPassword(param.getValue()) + PasswordEncryptUtil.ENCRYPT_KEY);
|
param.setValue(PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(param.getValue()))
|
||||||
|
+ PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
return modified;
|
return modified;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import org.talend.core.model.general.Project;
|
|||||||
import org.talend.core.model.properties.ImplicitContextSettings;
|
import org.talend.core.model.properties.ImplicitContextSettings;
|
||||||
import org.talend.core.model.properties.Item;
|
import org.talend.core.model.properties.Item;
|
||||||
import org.talend.core.model.properties.StatAndLogsSettings;
|
import org.talend.core.model.properties.StatAndLogsSettings;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ParametersType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ParametersType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.impl.ElementParameterTypeImpl;
|
import org.talend.designer.core.model.utils.emf.talendfile.impl.ElementParameterTypeImpl;
|
||||||
@@ -144,7 +145,8 @@ public class EncryptPasswordInProjectSettingsMigrationTask extends AbstractMigra
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!encrypted) {
|
if (!encrypted) {
|
||||||
param.setValue(PasswordEncryptUtil.encryptPassword(param.getValue()) + PasswordEncryptUtil.ENCRYPT_KEY);
|
param.setValue(PasswordEncryptUtil.encryptPassword(ConnectionHelper.getCleanPassword(param.getValue()))
|
||||||
|
+ PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
modified = true;
|
modified = true;
|
||||||
}
|
}
|
||||||
return modified;
|
return modified;
|
||||||
|
|||||||
@@ -53,16 +53,18 @@ public class UnifyPasswordEncryption4ContextMigrationTask extends UnifyPasswordE
|
|||||||
List<ContextParameterType> paramTypes = type.getContextParameter();
|
List<ContextParameterType> paramTypes = type.getContextParameter();
|
||||||
if (paramTypes != null) {
|
if (paramTypes != null) {
|
||||||
for (ContextParameterType param : paramTypes) {
|
for (ContextParameterType param : paramTypes) {
|
||||||
try {
|
String value = param.getValue();
|
||||||
String value = param.getValue();
|
if (value != null && PasswordEncryptUtil.isPasswordType(param.getType())) {
|
||||||
if (value != null && PasswordEncryptUtil.isPasswordType(param.getType())) {
|
value = cleanPassword(value);
|
||||||
String rawPassword = PasswordEncryptUtil.decryptPassword(value);
|
String rawPassword;
|
||||||
|
try {
|
||||||
|
rawPassword = PasswordEncryptUtil.decryptPassword(value);
|
||||||
param.setRawValue(rawPassword);
|
param.setRawValue(rawPassword);
|
||||||
modify = true;
|
modify = true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
param.setRawValue(value);
|
||||||
|
modify = true;
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
ExceptionHandler.process(e);
|
|
||||||
return ExecutionResult.FAILURE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import org.talend.core.model.metadata.builder.connection.DatabaseConnection;
|
|||||||
import org.talend.core.model.properties.DatabaseConnectionItem;
|
import org.talend.core.model.properties.DatabaseConnectionItem;
|
||||||
import org.talend.core.model.properties.Item;
|
import org.talend.core.model.properties.Item;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
import org.talend.cwm.helper.ConnectionHelper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* created by ggu on Aug 21, 2014 Detailled comment
|
* created by ggu on Aug 21, 2014 Detailled comment
|
||||||
@@ -52,12 +51,11 @@ public class UnifyPasswordEncryption4DBConnectionMigrationTask extends UnifyPass
|
|||||||
if (!dbConn.isContextMode()) {
|
if (!dbConn.isContextMode()) {
|
||||||
String pass = dbConn.getPassword();
|
String pass = dbConn.getPassword();
|
||||||
String rawPass = null;
|
String rawPass = null;
|
||||||
|
pass = cleanPassword(pass);
|
||||||
try {
|
try {
|
||||||
rawPass = PasswordEncryptUtil.decryptPassword(pass);
|
rawPass = PasswordEncryptUtil.decryptPassword(pass);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// MOD xqliu 2010-07-07 bug 13826
|
rawPass = pass;
|
||||||
rawPass = ConnectionHelper.getDecryptPassword(pass);
|
|
||||||
// ~ 13826
|
|
||||||
}
|
}
|
||||||
// decrypt the old password.
|
// decrypt the old password.
|
||||||
dbConn.setRawPassword(rawPass);
|
dbConn.setRawPassword(rawPass);
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import java.util.GregorianCalendar;
|
|||||||
|
|
||||||
import org.talend.core.model.migration.AbstractItemMigrationTask;
|
import org.talend.core.model.migration.AbstractItemMigrationTask;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* created by ggu on Aug 21, 2014 Detailled comment
|
* created by ggu on Aug 21, 2014 Detailled comment
|
||||||
@@ -37,4 +38,8 @@ public abstract class UnifyPasswordEncryption4ItemMigrationTask extends Abstract
|
|||||||
return gc.getTime();
|
return gc.getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected String cleanPassword(String password) {
|
||||||
|
return ConnectionHelper.getCleanPassword(password);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,7 +108,9 @@ public class UnifyPasswordEncryption4ParametersInJobMigrationTask extends UnifyP
|
|||||||
if (paramTypes != null) {
|
if (paramTypes != null) {
|
||||||
for (ContextParameterType param : paramTypes) {
|
for (ContextParameterType param : paramTypes) {
|
||||||
String value = param.getValue();
|
String value = param.getValue();
|
||||||
if (value != null && PasswordEncryptUtil.isPasswordType(param.getType())) {
|
if (value != null && (PasswordEncryptUtil.isPasswordType(param.getType())
|
||||||
|
|| PasswordEncryptUtil.isPasswordField(param.getName()))) {
|
||||||
|
value = cleanPassword(value);
|
||||||
try {
|
try {
|
||||||
String rawPassword = PasswordEncryptUtil.decryptPassword(value);
|
String rawPassword = PasswordEncryptUtil.decryptPassword(value);
|
||||||
param.setRawValue(rawPassword);
|
param.setRawValue(rawPassword);
|
||||||
@@ -182,6 +184,7 @@ public class UnifyPasswordEncryption4ParametersInJobMigrationTask extends UnifyP
|
|||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private boolean reencryptValueIfNeeded(ElementParameterType param) throws Exception {
|
private boolean reencryptValueIfNeeded(ElementParameterType param) throws Exception {
|
||||||
String value = param.getValue();
|
String value = param.getValue();
|
||||||
|
value = cleanPassword(value);
|
||||||
int index = value.lastIndexOf(PasswordEncryptUtil.ENCRYPT_KEY);
|
int index = value.lastIndexOf(PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
value = new StringBuilder(value).replace(index, index + PasswordEncryptUtil.ENCRYPT_KEY.length(), "").toString(); //$NON-NLS-1$
|
value = new StringBuilder(value).replace(index, index + PasswordEncryptUtil.ENCRYPT_KEY.length(), "").toString(); //$NON-NLS-1$
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.talend.core.model.process.EParameterFieldType;
|
|||||||
import org.talend.core.model.properties.ImplicitContextSettings;
|
import org.talend.core.model.properties.ImplicitContextSettings;
|
||||||
import org.talend.core.model.properties.StatAndLogsSettings;
|
import org.talend.core.model.properties.StatAndLogsSettings;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.cwm.helper.ConnectionHelper;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.ParametersType;
|
import org.talend.designer.core.model.utils.emf.talendfile.ParametersType;
|
||||||
import org.talend.designer.core.model.utils.emf.talendfile.impl.ElementParameterTypeImpl;
|
import org.talend.designer.core.model.utils.emf.talendfile.impl.ElementParameterTypeImpl;
|
||||||
@@ -109,6 +110,7 @@ public class UnifyPasswordEncryption4ProjectSettingsMigrationTask extends Abstra
|
|||||||
|
|
||||||
private boolean reencryptValueIfNeeded(ElementParameterType param) throws Exception {
|
private boolean reencryptValueIfNeeded(ElementParameterType param) throws Exception {
|
||||||
String value = param.getValue();
|
String value = param.getValue();
|
||||||
|
value = ConnectionHelper.getCleanPassword(value);
|
||||||
int index = value.lastIndexOf(PasswordEncryptUtil.ENCRYPT_KEY);
|
int index = value.lastIndexOf(PasswordEncryptUtil.ENCRYPT_KEY);
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
value = new StringBuilder(value).replace(index, index + PasswordEncryptUtil.ENCRYPT_KEY.length(), "").toString(); //$NON-NLS-1$
|
value = new StringBuilder(value).replace(index, index + PasswordEncryptUtil.ENCRYPT_KEY.length(), "").toString(); //$NON-NLS-1$
|
||||||
|
|||||||
@@ -0,0 +1,82 @@
|
|||||||
|
package org.talend.repository.model.migration;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.talend.commons.exception.ExceptionHandler;
|
||||||
|
import org.talend.commons.exception.PersistenceException;
|
||||||
|
import org.talend.core.model.migration.AbstractItemMigrationTask;
|
||||||
|
import org.talend.core.model.properties.Item;
|
||||||
|
import org.talend.core.model.properties.ProcessItem;
|
||||||
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
|
import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType;
|
||||||
|
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
|
||||||
|
|
||||||
|
public class UpdateJobletContextInJobMigrationTask extends AbstractItemMigrationTask {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Date getOrder() {
|
||||||
|
GregorianCalendar gc = new GregorianCalendar(2016, 5, 17, 16, 0, 0);
|
||||||
|
return gc.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ExecutionResult execute(Item item) {
|
||||||
|
if (item instanceof ProcessItem) {
|
||||||
|
ProcessItem processItem = (ProcessItem) item;
|
||||||
|
List<ContextType> contexts = processItem.getProcess().getContext();
|
||||||
|
if (contexts.size() > 1) {
|
||||||
|
boolean isModified = false;
|
||||||
|
for (ContextType context1 : contexts) {
|
||||||
|
List<ContextParameterType> params1 = context1.getContextParameter();
|
||||||
|
for (ContextParameterType param1 : params1) {
|
||||||
|
String id = param1.getRepositoryContextId();
|
||||||
|
if (id != null) {
|
||||||
|
for (ContextType context2 : contexts) {
|
||||||
|
if (context2 != context1) {
|
||||||
|
List<ContextParameterType> params2 = context2.getContextParameter();
|
||||||
|
for (ContextParameterType param2 : params2) {
|
||||||
|
if (param2.getName().equals(param1.getName())
|
||||||
|
&& param2.getRepositoryContextId() == null) {
|
||||||
|
param2.setRepositoryContextId(id);
|
||||||
|
isModified = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isModified) {
|
||||||
|
try {
|
||||||
|
ProxyRepositoryFactory.getInstance().save(item, true);
|
||||||
|
} catch (PersistenceException e) {
|
||||||
|
ExceptionHandler.process(e);
|
||||||
|
return ExecutionResult.FAILURE;
|
||||||
|
}
|
||||||
|
return ExecutionResult.SUCCESS_NO_ALERT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ExecutionResult.NOTHING_TO_DO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ERepositoryObjectType> getTypes() {
|
||||||
|
List<ERepositoryObjectType> allTypes = new ArrayList<ERepositoryObjectType>();
|
||||||
|
if (ERepositoryObjectType.PROCESS != null) {
|
||||||
|
allTypes.add(ERepositoryObjectType.PROCESS);
|
||||||
|
}
|
||||||
|
if (ERepositoryObjectType.PROCESS_MR != null) {
|
||||||
|
allTypes.add(ERepositoryObjectType.PROCESS_MR);
|
||||||
|
}
|
||||||
|
if (ERepositoryObjectType.PROCESS_STORM != null) {
|
||||||
|
allTypes.add(ERepositoryObjectType.PROCESS_STORM);
|
||||||
|
}
|
||||||
|
return allTypes;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,6 +23,7 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.eclipse.core.resources.ResourcesPlugin;
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.IProgressMonitor;
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
import org.eclipse.core.runtime.Path;
|
import org.eclipse.core.runtime.Path;
|
||||||
@@ -76,6 +77,7 @@ import org.talend.core.model.properties.Item;
|
|||||||
import org.talend.core.model.properties.Project;
|
import org.talend.core.model.properties.Project;
|
||||||
import org.talend.core.model.properties.Property;
|
import org.talend.core.model.properties.Property;
|
||||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||||
|
import org.talend.core.model.repository.Folder;
|
||||||
import org.talend.core.model.repository.IExtendedRepositoryNodeHandler;
|
import org.talend.core.model.repository.IExtendedRepositoryNodeHandler;
|
||||||
import org.talend.core.model.repository.IRepositoryReviewFilter;
|
import org.talend.core.model.repository.IRepositoryReviewFilter;
|
||||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||||
@@ -91,6 +93,7 @@ import org.talend.repository.model.IRepositoryNode.ENodeType;
|
|||||||
import org.talend.repository.model.ProjectRepositoryNode;
|
import org.talend.repository.model.ProjectRepositoryNode;
|
||||||
import org.talend.repository.model.RepositoryNode;
|
import org.talend.repository.model.RepositoryNode;
|
||||||
import org.talend.repository.model.RepositoryNodeUtilities;
|
import org.talend.repository.model.RepositoryNodeUtilities;
|
||||||
|
import org.talend.repository.model.nodes.IProjectRepositoryNode;
|
||||||
import org.talend.repository.viewer.ui.provider.INavigatorContentServiceProvider;
|
import org.talend.repository.viewer.ui.provider.INavigatorContentServiceProvider;
|
||||||
import org.talend.repository.viewer.ui.provider.RepoCommonViewerProvider;
|
import org.talend.repository.viewer.ui.provider.RepoCommonViewerProvider;
|
||||||
|
|
||||||
@@ -1025,6 +1028,28 @@ public class ExportItemWizardPage extends WizardPage {
|
|||||||
selectedItems.add(object.getProperty().getItem());
|
selectedItems.add(object.getProperty().getItem());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
List<String> folders = new ArrayList<String>();
|
||||||
|
for (Object obj : filteredCheckboxTree.getViewer().getCheckedElements()) {
|
||||||
|
if (obj instanceof RepositoryNode) {
|
||||||
|
RepositoryNode repositoryNode = (RepositoryNode) obj;
|
||||||
|
if (repositoryNode.getType() == ENodeType.SIMPLE_FOLDER && repositoryNode.getObject() instanceof Folder) {
|
||||||
|
Folder folder = (Folder) repositoryNode.getObject();
|
||||||
|
ERepositoryObjectType contentType = repositoryNode.getContentType();
|
||||||
|
IProjectRepositoryNode root = repositoryNode.getRoot();
|
||||||
|
if (root != null && root.getProject() != null) {
|
||||||
|
IPath path = new Path(root.getProject().getTechnicalLabel());
|
||||||
|
path = path.append(contentType.getFolder());
|
||||||
|
String folderPath = folder.getPath();
|
||||||
|
if (folderPath != null && !"".equals(folderPath)) {
|
||||||
|
path = path.append(folderPath);
|
||||||
|
}
|
||||||
|
path = path.append(folder.getLabel());
|
||||||
|
folders.add(path.toPortableString() + "/");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ExportItemUtil exportItemUtil = new ExportItemUtil();
|
ExportItemUtil exportItemUtil = new ExportItemUtil();
|
||||||
if (itemFromArchiveRadio.getSelection()) {
|
if (itemFromArchiveRadio.getSelection()) {
|
||||||
@@ -1037,7 +1062,7 @@ public class ExportItemWizardPage extends WizardPage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// MOD sgandon 31/03/2010 bug 12229: moved getAllVersion into ExportItemUtil.exportitems() method.
|
// MOD sgandon 31/03/2010 bug 12229: moved getAllVersion into ExportItemUtil.exportitems() method.
|
||||||
exportItemUtil.exportItems(new File(lastPath), selectedItems, true, new NullProgressMonitor());
|
exportItemUtil.exportItems(new File(lastPath), selectedItems, folders, true, new NullProgressMonitor());
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
MessageBoxExceptionHandler.process(e);
|
MessageBoxExceptionHandler.process(e);
|
||||||
|
|||||||
@@ -332,13 +332,8 @@ public class RepositoryReviewDialog extends Dialog {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
protected Control createDialogArea(Composite parent, String specifiedPId) {
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
protected Control createDialogArea(Composite parent) {
|
|
||||||
Composite container = (Composite) super.createDialogArea(parent);
|
Composite container = (Composite) super.createDialogArea(parent);
|
||||||
TimeMeasure.step(RepositoryReviewDialog.class.getSimpleName(), "before createDialogArea..."); //$NON-NLS-1$
|
TimeMeasure.step(RepositoryReviewDialog.class.getSimpleName(), "before createDialogArea..."); //$NON-NLS-1$
|
||||||
GridData data = (GridData) container.getLayoutData();
|
GridData data = (GridData) container.getLayoutData();
|
||||||
@@ -354,7 +349,7 @@ public class RepositoryReviewDialog extends Dialog {
|
|||||||
viewContainer.setLayout(new GridLayout());
|
viewContainer.setLayout(new GridLayout());
|
||||||
viewContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
|
viewContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||||
|
|
||||||
repositoryTreeViewer = RepoCommonViewerProvider.NORMAL.createViewer(viewContainer);
|
repositoryTreeViewer = RepoCommonViewerProvider.NORMAL.createViewer(viewContainer, specifiedPId);
|
||||||
|
|
||||||
TimeMeasure.step(RepositoryReviewDialog.class.getSimpleName(), "finshed createViewer"); //$NON-NLS-1$
|
TimeMeasure.step(RepositoryReviewDialog.class.getSimpleName(), "finshed createViewer"); //$NON-NLS-1$
|
||||||
|
|
||||||
@@ -420,6 +415,16 @@ public class RepositoryReviewDialog extends Dialog {
|
|||||||
return container;
|
return container;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected Control createDialogArea(Composite parent) {
|
||||||
|
return createDialogArea(parent, null);
|
||||||
|
}
|
||||||
|
|
||||||
public void addFilter(ViewerFilter filter) {
|
public void addFilter(ViewerFilter filter) {
|
||||||
if (filter != null) {
|
if (filter != null) {
|
||||||
getRepositoryTreeViewer().addFilter(filter);
|
getRepositoryTreeViewer().addFilter(filter);
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ import org.talend.commons.exception.BusinessException;
|
|||||||
import org.talend.commons.exception.PersistenceException;
|
import org.talend.commons.exception.PersistenceException;
|
||||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||||
import org.talend.commons.ui.runtime.image.ImageProvider;
|
import org.talend.commons.ui.runtime.image.ImageProvider;
|
||||||
|
import org.talend.commons.utils.system.EclipseCommandLine;
|
||||||
import org.talend.commons.utils.system.EnvironmentUtils;
|
import org.talend.commons.utils.system.EnvironmentUtils;
|
||||||
import org.talend.core.CorePlugin;
|
import org.talend.core.CorePlugin;
|
||||||
import org.talend.core.GlobalServiceRegister;
|
import org.talend.core.GlobalServiceRegister;
|
||||||
@@ -67,6 +68,7 @@ import org.talend.core.model.general.ConnectionBean;
|
|||||||
import org.talend.core.model.general.Project;
|
import org.talend.core.model.general.Project;
|
||||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||||
import org.talend.core.ui.branding.IBrandingService;
|
import org.talend.core.ui.branding.IBrandingService;
|
||||||
|
import org.talend.core.ui.workspace.ChooseWorkspaceData;
|
||||||
import org.talend.repository.i18n.Messages;
|
import org.talend.repository.i18n.Messages;
|
||||||
import org.talend.repository.ui.ERepositoryImages;
|
import org.talend.repository.ui.ERepositoryImages;
|
||||||
import org.talend.repository.ui.actions.importproject.ImportDemoProjectAction;
|
import org.talend.repository.ui.actions.importproject.ImportDemoProjectAction;
|
||||||
@@ -690,7 +692,15 @@ public class TOSLoginComposite extends Composite {
|
|||||||
@Override
|
@Override
|
||||||
public void widgetSelected(SelectionEvent e) {
|
public void widgetSelected(SelectionEvent e) {
|
||||||
LoginComposite.isRestart = true;
|
LoginComposite.isRestart = true;
|
||||||
perReader.saveLastConnectionBean(loginComposite.getConnection());
|
ConnectionBean connection = loginComposite.getConnection();
|
||||||
|
perReader.saveLastConnectionBean(connection);
|
||||||
|
// update the restart command line to specify the workspace to launch
|
||||||
|
// if relaunch, should delete the "disableLoginDialog" argument in eclipse data for bug TDI-19214
|
||||||
|
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand("-data", connection.getWorkSpace(), false); //$NON-NLS-1$
|
||||||
|
// store the workspace in the eclipse history so that it is rememebered on next studio launch
|
||||||
|
ChooseWorkspaceData workspaceData = new ChooseWorkspaceData(""); //$NON-NLS-1$
|
||||||
|
workspaceData.workspaceSelected(connection.getWorkSpace());
|
||||||
|
workspaceData.writePersistedData();
|
||||||
dialog.okPressed();
|
dialog.okPressed();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -201,6 +201,7 @@ public class JavaJobExportReArchieveCreator {
|
|||||||
if (libFolder != null) {
|
if (libFolder != null) {
|
||||||
File[] files = libFolder.listFiles(new FilenameFilter() {
|
File[] files = libFolder.listFiles(new FilenameFilter() {
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean accept(File dir, String name) {
|
public boolean accept(File dir, String name) {
|
||||||
return name.toLowerCase().endsWith(FileConstants.JAR_FILE_SUFFIX)
|
return name.toLowerCase().endsWith(FileConstants.JAR_FILE_SUFFIX)
|
||||||
|| name.toLowerCase().endsWith(FileConstants.ZIP_FILE_SUFFIX) ? true : false;
|
|| name.toLowerCase().endsWith(FileConstants.ZIP_FILE_SUFFIX) ? true : false;
|
||||||
@@ -221,6 +222,7 @@ public class JavaJobExportReArchieveCreator {
|
|||||||
if (drlFolder != null) {
|
if (drlFolder != null) {
|
||||||
File[] files = drlFolder.listFiles(new FilenameFilter() {
|
File[] files = drlFolder.listFiles(new FilenameFilter() {
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean accept(File dir, String name) {
|
public boolean accept(File dir, String name) {
|
||||||
return name.toLowerCase().endsWith(".drl") //$NON-NLS-1$
|
return name.toLowerCase().endsWith(".drl") //$NON-NLS-1$
|
||||||
? true
|
? true
|
||||||
@@ -240,6 +242,7 @@ public class JavaJobExportReArchieveCreator {
|
|||||||
if (xlsFolder != null) {
|
if (xlsFolder != null) {
|
||||||
File[] files = xlsFolder.listFiles(new FilenameFilter() {
|
File[] files = xlsFolder.listFiles(new FilenameFilter() {
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean accept(File dir, String name) {
|
public boolean accept(File dir, String name) {
|
||||||
return name.toLowerCase().endsWith(".xls") //$NON-NLS-1$
|
return name.toLowerCase().endsWith(".xls") //$NON-NLS-1$
|
||||||
? true
|
? true
|
||||||
@@ -257,6 +260,7 @@ public class JavaJobExportReArchieveCreator {
|
|||||||
private String[] getJobFolderJarFilenames() {
|
private String[] getJobFolderJarFilenames() {
|
||||||
File[] files = jobFolder.listFiles(new FilenameFilter() {
|
File[] files = jobFolder.listFiles(new FilenameFilter() {
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean accept(File dir, String name) {
|
public boolean accept(File dir, String name) {
|
||||||
return name.toLowerCase().endsWith(FileConstants.JAR_FILE_SUFFIX)
|
return name.toLowerCase().endsWith(FileConstants.JAR_FILE_SUFFIX)
|
||||||
|| name.toLowerCase().endsWith(FileConstants.ZIP_FILE_SUFFIX) ? true : false;
|
|| name.toLowerCase().endsWith(FileConstants.ZIP_FILE_SUFFIX) ? true : false;
|
||||||
@@ -316,7 +320,17 @@ public class JavaJobExportReArchieveCreator {
|
|||||||
if (needjars != null) {
|
if (needjars != null) {
|
||||||
for (String needjar : needjars) {
|
for (String needjar : needjars) {
|
||||||
if (".".equals(needjar)) {
|
if (".".equals(needjar)) {
|
||||||
break;
|
continue;
|
||||||
|
}
|
||||||
|
boolean found = false;
|
||||||
|
for (String jobJar : fs) {
|
||||||
|
if (jobJar != null && jobJar.equals(needjar)) {
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (found) {
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
sb.append(needjar + " ");
|
sb.append(needjar + " ");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,12 +13,15 @@
|
|||||||
package org.talend.repository.ui.wizards.exportjob.scriptsmanager.esb;
|
package org.talend.repository.ui.wizards.exportjob.scriptsmanager.esb;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.talend.core.model.properties.ProcessItem;
|
import org.talend.core.model.properties.ProcessItem;
|
||||||
import org.talend.designer.runprocess.IProcessor;
|
import org.talend.designer.runprocess.IProcessor;
|
||||||
|
import org.talend.designer.runprocess.ProcessorException;
|
||||||
import org.talend.repository.documentation.ExportFileResource;
|
import org.talend.repository.documentation.ExportFileResource;
|
||||||
|
|
||||||
import aQute.bnd.osgi.Analyzer;
|
import aQute.bnd.osgi.Analyzer;
|
||||||
@@ -33,12 +36,18 @@ import aQute.bnd.osgi.Analyzer;
|
|||||||
*/
|
*/
|
||||||
public class RouteUsedJobManager extends JobJavaScriptOSGIForESBManager {
|
public class RouteUsedJobManager extends JobJavaScriptOSGIForESBManager {
|
||||||
|
|
||||||
private String routeName;
|
private static final String DLL = ".dll";
|
||||||
|
private static final String OSGI_OS = System.getProperty("osgi.os");
|
||||||
|
private static final String OSGI_ARCH = System.getProperty("osgi.arch");
|
||||||
|
|
||||||
|
private String routeName;
|
||||||
private String bundleName;
|
private String bundleName;
|
||||||
private String routeVersion;
|
private String routeVersion;
|
||||||
private String groupId;
|
private String groupId;
|
||||||
private String artifactId;
|
private String artifactId;
|
||||||
private String artifactVersion;
|
private String artifactVersion;
|
||||||
|
private List<URL> dllLibraries = new java.util.ArrayList<URL>();
|
||||||
|
|
||||||
|
|
||||||
public RouteUsedJobManager(Map<ExportChoice, Object> exportChoiceMap) {
|
public RouteUsedJobManager(Map<ExportChoice, Object> exportChoiceMap) {
|
||||||
super(exportChoiceMap, null, null, IProcessor.NO_STATISTICS, IProcessor.NO_TRACES);
|
super(exportChoiceMap, null, null, IProcessor.NO_STATISTICS, IProcessor.NO_TRACES);
|
||||||
@@ -83,11 +92,34 @@ public class RouteUsedJobManager extends JobJavaScriptOSGIForESBManager {
|
|||||||
extraParams.put("artifactId", artifactId);
|
extraParams.put("artifactId", artifactId);
|
||||||
extraParams.put("artifactVersion", artifactVersion);
|
extraParams.put("artifactVersion", artifactVersion);
|
||||||
appendExportServiceParams(analyzer, extraParams);
|
appendExportServiceParams(analyzer, extraParams);
|
||||||
|
|
||||||
|
// TESB-15680: Add bundle manifest using the Bundle-NativeCode header
|
||||||
|
appendBundleNativeCodeForDll(analyzer, libResource);
|
||||||
|
|
||||||
return analyzer;
|
return analyzer;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void appendExportServiceParams(Analyzer analyzer, Map<String, String> extraParams) {
|
/**
|
||||||
|
* Add Bundle-NativeCode in Manifest
|
||||||
|
*/
|
||||||
|
private void appendBundleNativeCodeForDll(Analyzer analyzer, ExportFileResource libResource) {
|
||||||
|
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (URL url : libResource.getResourcesByRelativePath("")) {
|
||||||
|
String path = url.toString();
|
||||||
|
if (path.endsWith(DLL)) {
|
||||||
|
dllLibraries.add(url);
|
||||||
|
sb.append(path.substring(path.lastIndexOf('/') + 1, path.length())).append(';').append("osname=").append(OSGI_OS)
|
||||||
|
.append(';').append("processor=").append(OSGI_ARCH).append(',');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (sb.length() > 0) {
|
||||||
|
sb.setLength(sb.length() - 1);
|
||||||
|
analyzer.setProperty(Analyzer.BUNDLE_NATIVECODE, sb.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void appendExportServiceParams(Analyzer analyzer, Map<String, String> extraParams) {
|
||||||
if (!extraParams.isEmpty()) {
|
if (!extraParams.isEmpty()) {
|
||||||
StringBuilder sb = new StringBuilder(analyzer.getProperty(Analyzer.EXPORT_SERVICE));
|
StringBuilder sb = new StringBuilder(analyzer.getProperty(Analyzer.EXPORT_SERVICE));
|
||||||
for (Entry<String, String> e : extraParams.entrySet()) {
|
for (Entry<String, String> e : extraParams.entrySet()) {
|
||||||
@@ -100,4 +132,22 @@ public class RouteUsedJobManager extends JobJavaScriptOSGIForESBManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add DLLs in root path
|
||||||
|
*
|
||||||
|
* @see
|
||||||
|
* org.talend.repository.ui.wizards.exportjob.scriptsmanager.esb.JobJavaScriptOSGIForESBManager#getExportResources
|
||||||
|
* (org.talend.repository.documentation.ExportFileResource[], java.lang.String[])
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<ExportFileResource> getExportResources(ExportFileResource[] processes, String... codeOptions)
|
||||||
|
throws ProcessorException {
|
||||||
|
List<ExportFileResource> list = super.getExportResources(processes, codeOptions);
|
||||||
|
if (dllLibraries.size() > 0) {
|
||||||
|
ExportFileResource dllResource = new ExportFileResource(null, ""); //$NON-NLS-1$;
|
||||||
|
dllResource.addResources(dllLibraries);
|
||||||
|
list.add(dllResource);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user