This repository has been archived on 2025-12-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
tdi-studio-se/main/plugins/org.talend.designer.components.localprovider/components/tJavaDBOutput/tJavaDBOutput_begin.javajet

102 lines
3.3 KiB
Plaintext

<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.core.model.process.IConnection
java.util.List
java.util.ArrayList
java.util.Map
java.util.HashMap
"
skeleton="../templates/db_output_bulk.skeleton"
%>
<%@ include file="../templates/DB/Output/HelpClass.javajet"%>
<%
class DBOutputBeginUtil extends DefaultDBOutputUtil{
private String frameworkType;
private String dbRootPath;
public void beforeComponentProcess(INode node){
super.beforeComponentProcess(node);
cid = node.getUniqueName();
this.frameworkType = ElementParameterParser.getValue(node,"__FRAMEWORK_TYPE__");
this.dbRootPath = ElementParameterParser.getValue(node, "__DBPATH__");
if(("EMBEDED").equals(frameworkType)){
%>
//set the root path of the database
System.setProperty("derby.system.home",<%=dbRootPath%>);
<%
}else{
String connectionFlag = ElementParameterParser.getValue(node, "__CONNECTION_FLAG__");
if(("false").equals(connectionFlag)) {
%>
org.apache.derby.drda.NetworkServerControl serverControl_<%=cid%>;
serverControl_<%=cid%> = new org.apache.derby.drda.NetworkServerControl(java.net.InetAddress.getByName(<%=dbhost%>),Integer.parseInt(<%=dbport%>));
//start server
serverControl_<%=cid%>.start(new java.io.PrintWriter(System.out,true));
boolean isServerUp_<%=cid%> = false;
int timeOut_<%=cid%> = 5;
while(!isServerUp_<%=cid%> && timeOut_<%=cid%> > 0) {
try {
timeOut_<%=cid%>--;
/*
* testing for connection to see if the network server is up and running.
* if server is not ready yet, this method will throw an exception.
*/
serverControl_<%=cid%>.ping();
isServerUp_<%=cid%> = true;
} catch(java.lang.Exception e) {
//Unable to obtain a connection to network server, trying again after 3000 ms.
Thread.currentThread().sleep(3000);
}
}
if(!isServerUp_<%=cid%>) {
/*
* can not obtain a connection to network server.
*/
throw new java.lang.Exception("Can not obtain a connection to network server");
}
//derby network server started.
<%
}
}
}
public String getDirverClassName(INode node){
if(("EMBEDED").equals(frameworkType)){
return "org.apache.derby.jdbc.EmbeddedDriver";
} else {
if(("JCCJDBC").equals(frameworkType)){
return "com.ibm.db2.jcc.DB2Driver";
} else{
return "org.apache.derby.jdbc.ClientDriver";
}
}
}
public void setURL(INode node) {
if(("EMBEDED").equals(frameworkType)){
%>
String url_<%=cid%> = "jdbc:derby:" + <%=dbname%>;
<%
}
else
{
if(("JCCJDBC").equals(frameworkType)){
%>
String url_<%=cid%> = "jdbc:derby:net://" + <%=dbhost%> + ":" + <%=dbport%> + "/" + <%=dbname%>;
<%
} else{
%>
String url_<%=cid%> = "jdbc:derby://" + <%=dbhost%> + ":" + <%=dbport%> + "/" + <%=dbname%>;
<%
}
}
}
}
dbOutputBeginUtil = new DBOutputBeginUtil();
%>
<%@ include file="../templates/DB/Output/AbstractDBOutputBegin.javajet"%>