public void logCompSetting() { if (log4jEnabled) { stringBuffer.append(TEXT_10); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_11); stringBuffer.append(TEXT_12); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_13); java.util.Set<org.talend.core.model.process.EParameterFieldType> ignoredParamsTypes = new java.util.HashSet<org.talend.core.model.process.EParameterFieldType>(); ignoredParamsTypes.addAll( java.util.Arrays.asList( org.talend.core.model.process.EParameterFieldType.SCHEMA_TYPE, org.talend.core.model.process.EParameterFieldType.LABEL, org.talend.core.model.process.EParameterFieldType.EXTERNAL, org.talend.core.model.process.EParameterFieldType.MAPPING_TYPE, org.talend.core.model.process.EParameterFieldType.IMAGE, org.talend.core.model.process.EParameterFieldType.TNS_EDITOR, org.talend.core.model.process.EParameterFieldType.WSDL2JAVA, org.talend.core.model.process.EParameterFieldType.GENERATEGRAMMARCONTROLLER, org.talend.core.model.process.EParameterFieldType .GENERATE_SURVIVORSHIP_RULES_CONTROLLER, org.talend.core.model.process.EParameterFieldType.REFRESH_REPORTS, org.talend.core.model.process.EParameterFieldType.BROWSE_REPORTS, org.talend.core.model.process.EParameterFieldType.PALO_DIM_SELECTION, org.talend.core.model.process.EParameterFieldType.GUESS_SCHEMA, org.talend.core.model.process.EParameterFieldType.MATCH_RULE_IMEX_CONTROLLER, org.talend.core.model.process.EParameterFieldType.MEMO_PERL, org.talend.core.model.process.EParameterFieldType.DBTYPE_LIST, org.talend.core.model.process.EParameterFieldType.VERSION, org.talend.core.model.process.EParameterFieldType.TECHNICAL, org.talend.core.model.process.EParameterFieldType.ICON_SELECTION, org.talend.core.model.process.EParameterFieldType.JAVA_COMMAND, org.talend.core.model.process.EParameterFieldType.TREE_TABLE, org.talend.core.model.process.EParameterFieldType.VALIDATION_RULE_TYPE, org.talend.core.model.process.EParameterFieldType.DCSCHEMA, org.talend.core.model.process.EParameterFieldType.SURVIVOR_RELATION, org.talend.core.model.process.EParameterFieldType.REST_RESPONSE_SCHEMA_TYPE)); for (org.talend.core.model.process.IElementParameter ep : org.talend.core.model.utils.NodeUtil.getDisplayedParameters(node)) { if (!ep.isLog4JEnabled() || ignoredParamsTypes.contains(ep.getFieldType())) { continue; } String name = ep.getName(); if (org.talend.core.model.process.EParameterFieldType.PASSWORD.equals( ep.getFieldType())) { String epName = "__" + name + "__"; String password = ""; if (org.talend.core.model.process.ElementParameterParser.canEncrypt(node, epName)) { password = org.talend.core.model.process.ElementParameterParser.getEncryptedValue( node, epName); } else { String passwordValue = org.talend.core.model.process.ElementParameterParser.getValue(node, epName); if (passwordValue == null || "".equals(passwordValue.trim())) { // for the value which empty passwordValue = "\"\""; } password = "******" + passwordValue + ")"; } stringBuffer.append(TEXT_14); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_15); stringBuffer.append(name); stringBuffer.append(TEXT_16); stringBuffer.append(password); stringBuffer.append(TEXT_17); } else { String value = org.talend.core.model.utils.NodeUtil.getNormalizeParameterValue(node, ep); stringBuffer.append(TEXT_18); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_19); stringBuffer.append(name); stringBuffer.append(TEXT_20); stringBuffer.append(value); stringBuffer.append(TEXT_21); } stringBuffer.append(TEXT_22); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_23); } } debug(var("log4jParamters")); }
public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); // this util class use by set log4j debug paramters class DefaultLog4jFileUtil { INode node = null; String cid = null; boolean isLog4jEnabled = false; String label = null; public DefaultLog4jFileUtil() {} public DefaultLog4jFileUtil(INode node) { this.node = node; this.cid = node.getUniqueName(); this.label = cid; this.isLog4jEnabled = ("true") .equals( org.talend.core.model.process.ElementParameterParser.getValue( node.getProcess(), "__LOG4J_ACTIVATE__")); } public void setCid(String cid) { this.cid = cid; } // for all tFileinput* components public void startRetriveDataInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_1); stringBuffer.append(label); stringBuffer.append(TEXT_2); } } public void retrievedDataNumberInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_3); stringBuffer.append(label); stringBuffer.append(TEXT_4); stringBuffer.append(cid); stringBuffer.append(TEXT_5); } } public void retrievedDataNumberInfoFromGlobalMap(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_6); stringBuffer.append(label); stringBuffer.append(TEXT_7); stringBuffer.append(cid); stringBuffer.append(TEXT_8); } } // for all tFileinput* components public void retrievedDataNumberInfo(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_9); stringBuffer.append(label); stringBuffer.append(TEXT_10); stringBuffer.append(cid); stringBuffer.append(TEXT_11); } } public void writeDataFinishInfo(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_12); stringBuffer.append(label); stringBuffer.append(TEXT_13); stringBuffer.append(cid); stringBuffer.append(TEXT_14); } } // TODO delete it and remove all log4jSb parameter from components public void componentStartInfo(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_15); stringBuffer.append(cid); stringBuffer.append(TEXT_16); } } // TODO rename or delete it public void debugRetriveData(INode node, boolean hasIncreased) { if (isLog4jEnabled) { stringBuffer.append(TEXT_17); stringBuffer.append(label); stringBuffer.append(TEXT_18); stringBuffer.append(cid); stringBuffer.append(hasIncreased ? "" : "+1"); stringBuffer.append(TEXT_19); } } // TODO rename or delete it public void debugRetriveData(INode node) { debugRetriveData(node, true); } // TODO rename or delete it public void debugWriteData(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_20); stringBuffer.append(label); stringBuffer.append(TEXT_21); stringBuffer.append(cid); stringBuffer.append(TEXT_22); } } public void logCurrentRowNumberInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_23); stringBuffer.append(label); stringBuffer.append(TEXT_24); stringBuffer.append(cid); stringBuffer.append(TEXT_25); } } public void logDataCountInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_26); stringBuffer.append(label); stringBuffer.append(TEXT_27); stringBuffer.append(cid); stringBuffer.append(TEXT_28); } } } final DefaultLog4jFileUtil log4jFileUtil = new DefaultLog4jFileUtil( (INode) (((org.talend.designer.codegen.config.CodeGeneratorArgument) argument) .getArgument())); class DefaultLog4jCodeGenerateUtil extends DefaultLog4jFileUtil { String connection = ""; boolean hasInit = false; String dataAction; String dataOperationPrefix; String useBatchSize; String batchSize; String dbSchema; boolean logCommitCounter = false; public DefaultLog4jCodeGenerateUtil() {} public DefaultLog4jCodeGenerateUtil(INode node) { super(node); init(); } public void beforeComponentProcess(INode node) { this.node = node; init(); } private void init() { if (hasInit) { return; } this.cid = node.getUniqueName(); this.isLog4jEnabled = ("true") .equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__")); String useConn = ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__"); if (useConn == null || "".equals(useConn) || "true".equals(useConn)) { connection = ElementParameterParser.getValue(node, "__CONNECTION__"); if (!"".equals(connection)) { connection = "'" + connection + "' "; } } // for output dataAction = ElementParameterParser.getValue(node, "__DATA_ACTION__"); if (dataAction != null && !("").equals(dataAction)) { logCommitCounter = true; } useBatchSize = ElementParameterParser.getValue(node, "__USE_BATCH_SIZE__"); batchSize = ElementParameterParser.getValue(node, "__BATCH_SIZE__"); hasInit = true; } public void debugDriverClassName() { logInfo(node, "debug", cid + " - Driver ClassName: \"+driverClass_" + cid + "+\"."); } public void debugConnectionParams(INode node) { beforeComponentProcess(node); debugDriverClassName(); } public void useExistConnection(INode node) { beforeComponentProcess(node); if (isLog4jEnabled) { stringBuffer.append(TEXT_29); stringBuffer.append(cid); stringBuffer.append(TEXT_30); stringBuffer.append(cid); stringBuffer.append(TEXT_31); if (cid.startsWith("tImpala") || cid.startsWith("tHive")) { stringBuffer.append(TEXT_32); stringBuffer.append(cid); stringBuffer.append(TEXT_33); stringBuffer.append(connection); stringBuffer.append(TEXT_34); } else { stringBuffer.append(TEXT_35); stringBuffer.append(cid); stringBuffer.append(TEXT_36); stringBuffer.append(cid); stringBuffer.append(TEXT_37); stringBuffer.append(cid); stringBuffer.append(TEXT_38); } stringBuffer.append(TEXT_39); } } public void connect(INode node) { beforeComponentProcess(node); connect(); } public void connect() { connect_begin(); stringBuffer.append(TEXT_40); stringBuffer.append(cid); stringBuffer.append(TEXT_41); stringBuffer.append(cid); stringBuffer.append(TEXT_42); stringBuffer.append(cid); stringBuffer.append(TEXT_43); stringBuffer.append(cid); stringBuffer.append(TEXT_44); connect_end(); } public void connect_begin() { logInfo( node, "info", cid + " - Connection attempt to '\" + url_" + cid + " + \"' with the username '\" + dbUser_" + cid + " + \"'."); } public void connect_begin_noUser() { logInfo(node, "info", cid + " - Connection attempt to '\" + url_" + cid + " + \"'."); } public void connect_end() { logInfo(node, "info", cid + " - Connection to '\" + url_" + cid + " + \"' has succeeded."); } public void rollback(INode node) { beforeComponentProcess(node); logInfo(node, "debug", cid + " - Connection " + connection + "starting to rollback."); stringBuffer.append(TEXT_45); stringBuffer.append(cid); stringBuffer.append(TEXT_46); logInfo(node, "debug", cid + " - Connection " + connection + "rollback has succeeded."); } public void commit(INode node) { beforeComponentProcess(node); commit(); } private void commit() { commit_begin(); stringBuffer.append(TEXT_47); stringBuffer.append(cid); stringBuffer.append(TEXT_48); commit_end(); } private void commit_begin() { if (logCommitCounter) { logInfo( node, "debug", cid + " - Connection " + connection + "starting to commit \" + commitCounter_" + cid + "+ \" records."); } else { logInfo(node, "debug", cid + " - Connection " + connection + "starting to commit."); } } private void commit_end() { logInfo(node, "debug", cid + " - Connection " + connection + "commit has succeeded."); } public void close(INode node) { beforeComponentProcess(node); close(); } private void close() { close_begin(); stringBuffer.append(TEXT_49); stringBuffer.append(cid); stringBuffer.append(TEXT_50); close_end(); } public void close_begin() { logInfo(node, "info", cid + " - Closing the connection " + connection + "to the database."); } public void close_end() { logInfo(node, "info", cid + " - Connection " + connection + "to the database closed."); } public void autoCommit(INode node, boolean autoCommit) { beforeComponentProcess(node); logInfo(node, "debug", cid + " - Connection is set auto commit to '" + autoCommit + "'."); stringBuffer.append(TEXT_51); stringBuffer.append(cid); stringBuffer.append(TEXT_52); stringBuffer.append(autoCommit); stringBuffer.append(TEXT_53); } public void query(INode node) { beforeComponentProcess(node); // for input String dbquery = ElementParameterParser.getValue(node, "__QUERY__"); dbquery = dbquery.replaceAll("\n", " "); dbquery = dbquery.replaceAll("\r", " "); logInfo(node, "info", cid + " - Executing the query: '\" + " + dbquery + " + \"'."); } public void retrieveRecordsCount(INode node) { beforeComponentProcess(node); logInfo(node, "info", cid + " - Retrieved records count: \"+nb_line_" + cid + " + \" ."); } public void logError(INode node, String logLevel, String exception) { beforeComponentProcess(node); if (isLog4jEnabled) { stringBuffer.append(TEXT_54); stringBuffer.append(logLevel); stringBuffer.append(TEXT_55); stringBuffer.append(cid); stringBuffer.append(TEXT_56); stringBuffer.append(exception); stringBuffer.append(TEXT_57); } } public void logError(INode node, String logLevel) { logError(node, logLevel, "e"); } public void logInfo(INode node, String logLevel, String message) { beforeComponentProcess(node); if (isLog4jEnabled) { stringBuffer.append(TEXT_58); stringBuffer.append(logLevel); stringBuffer.append(TEXT_59); stringBuffer.append(message); stringBuffer.append(TEXT_60); } } /** * batchType : 1: do not get return value of executeBatch(); 2: get return value of * executeBatch(); */ public void executeBatch(INode node, int batchType) { beforeComponentProcess(node); boolean logBatch = ("true").equals(useBatchSize) && !("").equals(batchSize) && !("0").equals(batchSize); if (logBatch) { logInfo(node, "debug", cid + " - Executing the " + dataAction + " batch."); } if (batchType == 1) { stringBuffer.append(TEXT_61); stringBuffer.append(cid); stringBuffer.append(TEXT_62); } else if (batchType == 2) { boolean isMysqlBatchInsert = false; if ((node.getUniqueName().contains("tMysqlOutput") || node.getUniqueName().contains("tAmazonMysqlOutput")) && ("INSERT").equals(dataAction)) { isMysqlBatchInsert = true; } stringBuffer.append(TEXT_63); stringBuffer.append(cid); stringBuffer.append(TEXT_64); stringBuffer.append(cid); stringBuffer.append(TEXT_65); stringBuffer.append(cid); stringBuffer.append(TEXT_66); stringBuffer.append(cid); stringBuffer.append(TEXT_67); stringBuffer.append(cid); stringBuffer.append(TEXT_68); stringBuffer.append(isMysqlBatchInsert ? "1" : "countEach_" + cid); stringBuffer.append(TEXT_69); } if (logBatch) { logInfo(node, "debug", cid + " - The " + dataAction + " batch execution has succeeded."); } } } DefaultLog4jCodeGenerateUtil log4jCodeGenerateUtil = new DefaultLog4jCodeGenerateUtil(); CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode) codeGenArgument.getArgument(); String cid = node.getUniqueName(); String localServiceName = ElementParameterParser.getValue(node, "__LOCAL_SERVICE_NAME__"); String dbuser = ElementParameterParser.getValue(node, "__USER__"); String dataTable = ElementParameterParser.getValue(node, "__DATATABLE__"); String tableSchema = ElementParameterParser.getValue(node, "__SCHEMA_DB__"); String dbVersion = ElementParameterParser.getValue(node, "__DB_VERSION__"); boolean setDataSchema = "true".equals(ElementParameterParser.getValue(node, "__SET_DATA_TABLE_SCHEMA__")); String dataSchema = ElementParameterParser.getValue(node, "__DATA_TABLE_SCHEMA__"); String inBoundServer = ElementParameterParser.getValue(node, "__INBOUND_SERVER__"); boolean isUseExistingConn = "true".equals(ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__")); String inputField = ElementParameterParser.getValue(node, "__INPUT_FIELD__"); String ackInterval = ElementParameterParser.getValue(node, "__ACK_INTERVAL__"); List<IMetadataTable> metadatas = node.getMetadataList(); if ((metadatas != null) && (metadatas.size() > 0)) { IMetadataTable metadata = metadatas.get(0); if (metadata != null) { stringBuffer.append(TEXT_70); stringBuffer.append(cid); stringBuffer.append(TEXT_71); stringBuffer.append(cid); stringBuffer.append(TEXT_72); if (isUseExistingConn) { String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); String conn = "conn_" + connection; stringBuffer.append(TEXT_73); stringBuffer.append(cid); stringBuffer.append(TEXT_74); stringBuffer.append(conn); stringBuffer.append(TEXT_75); log4jCodeGenerateUtil.useExistConnection(node); } else { stringBuffer.append(TEXT_76); if ("ORACLE_11".equals(dbVersion) || "ORACLE_11-6".equals(dbVersion) || "ORACLE_12".equals(dbVersion)) { stringBuffer.append(TEXT_77); stringBuffer.append(cid); stringBuffer.append(TEXT_78); } else { stringBuffer.append(TEXT_79); } stringBuffer.append(TEXT_80); stringBuffer.append(cid); stringBuffer.append(TEXT_81); stringBuffer.append(cid); stringBuffer.append(TEXT_82); stringBuffer.append(localServiceName); stringBuffer.append(TEXT_83); stringBuffer.append(cid); stringBuffer.append(TEXT_84); stringBuffer.append(dbuser); stringBuffer.append(TEXT_85); String passwordFieldName = "__PASS__"; stringBuffer.append(TEXT_86); if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_87); stringBuffer.append(cid); stringBuffer.append(TEXT_88); stringBuffer.append(ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_89); } else { stringBuffer.append(TEXT_90); stringBuffer.append(cid); stringBuffer.append(TEXT_91); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_92); } stringBuffer.append(TEXT_93); stringBuffer.append(cid); stringBuffer.append(TEXT_94); stringBuffer.append(cid); stringBuffer.append(TEXT_95); log4jCodeGenerateUtil.debugConnectionParams(node); log4jCodeGenerateUtil.connect(node); } List<IMetadataColumn> columns = metadata.getListColumns(); boolean isInputLCRObj = false; boolean isInputXMLDoc = false; for (IMetadataColumn column : columns) { JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType()); boolean isPrimitive = JavaTypesManager.isJavaPrimitiveType(javaType, column.isNullable()); if (inputField.equals(column.getLabel())) { if ("id_Document".equals(column.getTalendType())) { isInputXMLDoc = true; } if ((javaType == JavaTypesManager.OBJECT)) { isInputLCRObj = true; } } break; } if (!isInputXMLDoc && !isInputLCRObj) { stringBuffer.append(TEXT_96); stringBuffer.append(inputField); stringBuffer.append(TEXT_97); } if (isInputXMLDoc) { stringBuffer.append(TEXT_98); stringBuffer.append(cid); stringBuffer.append(TEXT_99); stringBuffer.append(cid); stringBuffer.append(TEXT_100); stringBuffer.append(cid); stringBuffer.append(TEXT_101); stringBuffer.append(cid); stringBuffer.append(TEXT_102); } stringBuffer.append(TEXT_103); stringBuffer.append(cid); stringBuffer.append(TEXT_104); stringBuffer.append(cid); stringBuffer.append(TEXT_105); stringBuffer.append(cid); stringBuffer.append(TEXT_106); stringBuffer.append(cid); stringBuffer.append(TEXT_107); stringBuffer.append(cid); stringBuffer.append(TEXT_108); stringBuffer.append(cid); stringBuffer.append(TEXT_109); log4jCodeGenerateUtil.logInfo( node, "info", cid + " - Try to attach to inbound server:\"+" + inBoundServer + "+\""); stringBuffer.append(TEXT_110); stringBuffer.append(cid); stringBuffer.append(TEXT_111); stringBuffer.append(cid); stringBuffer.append(TEXT_112); stringBuffer.append(inBoundServer); stringBuffer.append(TEXT_113); stringBuffer.append(cid); stringBuffer.append(TEXT_114); stringBuffer.append(ackInterval); stringBuffer.append(TEXT_115); log4jCodeGenerateUtil.logInfo(node, "info", cid + " - Attached successfully."); stringBuffer.append(TEXT_116); stringBuffer.append(cid); stringBuffer.append(TEXT_117); stringBuffer.append(inBoundServer); stringBuffer.append(TEXT_118); log4jCodeGenerateUtil.logInfo( node, "error", cid + " - Cannot attach to the inbound server: \"+" + inBoundServer + "+\""); stringBuffer.append(TEXT_119); stringBuffer.append(cid); stringBuffer.append(TEXT_120); stringBuffer.append(cid); stringBuffer.append(TEXT_121); stringBuffer.append(cid); stringBuffer.append(TEXT_122); stringBuffer.append(cid); stringBuffer.append(TEXT_123); stringBuffer.append(cid); stringBuffer.append(TEXT_124); stringBuffer.append(cid); stringBuffer.append(TEXT_125); stringBuffer.append(cid); stringBuffer.append(TEXT_126); stringBuffer.append(cid); stringBuffer.append(TEXT_127); stringBuffer.append(cid); stringBuffer.append(TEXT_128); stringBuffer.append(cid); stringBuffer.append(TEXT_129); stringBuffer.append(cid); stringBuffer.append(TEXT_130); stringBuffer.append(cid); stringBuffer.append(TEXT_131); stringBuffer.append(cid); stringBuffer.append(TEXT_132); stringBuffer.append(cid); stringBuffer.append(TEXT_133); stringBuffer.append(cid); stringBuffer.append(TEXT_134); stringBuffer.append(cid); stringBuffer.append(TEXT_135); stringBuffer.append(cid); stringBuffer.append(TEXT_136); stringBuffer.append(cid); stringBuffer.append(TEXT_137); stringBuffer.append(cid); stringBuffer.append(TEXT_138); stringBuffer.append(cid); stringBuffer.append(TEXT_139); stringBuffer.append(cid); stringBuffer.append(TEXT_140); } } stringBuffer.append(TEXT_141); stringBuffer.append(TEXT_142); return stringBuffer.toString(); }
public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(TEXT_1); CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode) codeGenArgument.getArgument(); String cid = node.getUniqueName(); List<? extends IConnection> outputConnections = node.getOutgoingSortedConnections(); if ((outputConnections == null) || (outputConnections.size() == 0)) { return ""; } IConnection outputConnection = outputConnections.get(0); if (!outputConnection.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { return ""; } List<IMetadataTable> metadatas = node.getMetadataList(); if ((metadatas == null) && (metadatas.size() == 0) || (metadatas.get(0) == null)) { return ""; } IMetadataTable metadata = metadatas.get(0); List<IMetadataColumn> columnList = metadata.getListColumns(); if ((columnList == null) || (columnList.size() == 0)) { return ""; } String client = ElementParameterParser.getValue(node, "__CLIENT__"); String userid = ElementParameterParser.getValue(node, "__USERID__"); String password = ElementParameterParser.getValue(node, "__PASSWORD__"); String language = ElementParameterParser.getValue(node, "__LANGUAGE__"); String hostname = ElementParameterParser.getValue(node, "__HOSTNAME__"); String systemnumber = ElementParameterParser.getValue(node, "__SYSTEMNUMBER__"); String systemId = ElementParameterParser.getValue(node, "__SYSTEMID__"); String groupName = ElementParameterParser.getValue(node, "__GROUPNAME__"); String serverType = ElementParameterParser.getValue(node, "__SERVERTYPE__"); String tableName = ElementParameterParser.getValue(node, "__TABLE__"); String filter = ElementParameterParser.getValue(node, "__FILTER__"); String startRowNumber = ElementParameterParser.getValue(node, "__START_ROW__"); String maxRowCount = ElementParameterParser.getValue(node, "__MAX_ROW_COUNT__"); List<Map<String, String>> sapProps = (List<Map<String, String>>) ElementParameterParser.getObjectValue(node, "__SAP_PROPERTIES__"); String passwordFieldName = "__PASSWORD__"; boolean activeSNC = ("true").equals(ElementParameterParser.getValue(node, "__SNC_ACTIVE__")); String partnerSNCName = ElementParameterParser.getValue(node, "__SNC_PARTNER_NAME__"); String mySNCName = ElementParameterParser.getValue(node, "__SNC_MY_NAME__"); String sncLevel = ElementParameterParser.getValue(node, "__SNC_LEVEL__"); String sncLibPath = ElementParameterParser.getValue(node, "__SNC_LIB_PATH__"); boolean hasSNCLibPath = sncLibPath != null && !"".equals(sncLibPath); boolean hasMySNCName = mySNCName != null && !"".equals(mySNCName); boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__")); String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); stringBuffer.append(TEXT_2); if (useExistingConn) { stringBuffer.append(TEXT_3); stringBuffer.append(cid); stringBuffer.append(TEXT_4); stringBuffer.append(connection); stringBuffer.append(TEXT_5); INode connectionNode = null; for (INode processNode : node.getProcess().getGeneratingNodes()) { if (connection.equals(processNode.getUniqueName())) { connectionNode = processNode; break; } } boolean specify_alias = "true" .equals( ElementParameterParser.getValue(connectionNode, "__SPECIFY_DATASOURCE_ALIAS__")); if (specify_alias) { String alias = ElementParameterParser.getValue(connectionNode, "__SAP_DATASOURCE_ALIAS__"); if (null != alias && !("".equals(alias))) { stringBuffer.append(TEXT_6); stringBuffer.append(cid); stringBuffer.append(TEXT_7); stringBuffer.append(cid); stringBuffer.append(TEXT_8); stringBuffer.append(alias); stringBuffer.append(TEXT_9); } } stringBuffer.append(TEXT_10); } else { stringBuffer.append(TEXT_11); stringBuffer.append(cid); stringBuffer.append(TEXT_12); boolean specify_alias = "true".equals(ElementParameterParser.getValue(node, "__SPECIFY_DATASOURCE_ALIAS__")); if (specify_alias) { String alias = ElementParameterParser.getValue(node, "__SAP_DATASOURCE_ALIAS__"); if (null != alias && !("".equals(alias))) { stringBuffer.append(TEXT_13); stringBuffer.append(cid); stringBuffer.append(TEXT_14); stringBuffer.append(alias); stringBuffer.append(TEXT_15); } stringBuffer.append(TEXT_16); stringBuffer.append(cid); stringBuffer.append(TEXT_17); } stringBuffer.append(TEXT_18); if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_19); stringBuffer.append(cid); stringBuffer.append(TEXT_20); stringBuffer.append(ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_21); } else { stringBuffer.append(TEXT_22); stringBuffer.append(cid); stringBuffer.append(TEXT_23); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_24); } stringBuffer.append(TEXT_25); stringBuffer.append(cid); stringBuffer.append(TEXT_26); stringBuffer.append(cid); stringBuffer.append(TEXT_27); stringBuffer.append(client); stringBuffer.append(TEXT_28); stringBuffer.append(cid); stringBuffer.append(TEXT_29); stringBuffer.append(userid); stringBuffer.append(TEXT_30); stringBuffer.append(cid); stringBuffer.append(TEXT_31); stringBuffer.append(cid); stringBuffer.append(TEXT_32); stringBuffer.append(cid); stringBuffer.append(TEXT_33); stringBuffer.append(language); stringBuffer.append(TEXT_34); if ("ApplicationServer".equals(serverType)) { stringBuffer.append(TEXT_35); stringBuffer.append(cid); stringBuffer.append(TEXT_36); stringBuffer.append(hostname); stringBuffer.append(TEXT_37); stringBuffer.append(cid); stringBuffer.append(TEXT_38); stringBuffer.append(systemnumber); stringBuffer.append(TEXT_39); } else { stringBuffer.append(TEXT_40); stringBuffer.append(cid); stringBuffer.append(TEXT_41); stringBuffer.append(hostname); stringBuffer.append(TEXT_42); stringBuffer.append(cid); stringBuffer.append(TEXT_43); stringBuffer.append(systemId); stringBuffer.append(TEXT_44); stringBuffer.append(cid); stringBuffer.append(TEXT_45); stringBuffer.append(groupName); stringBuffer.append(TEXT_46); } stringBuffer.append(TEXT_47); if (activeSNC) { stringBuffer.append(TEXT_48); stringBuffer.append(cid); stringBuffer.append(TEXT_49); stringBuffer.append(cid); stringBuffer.append(TEXT_50); stringBuffer.append(partnerSNCName); stringBuffer.append(TEXT_51); stringBuffer.append(cid); stringBuffer.append(TEXT_52); stringBuffer.append(sncLevel); stringBuffer.append(TEXT_53); if (hasMySNCName) { stringBuffer.append(TEXT_54); stringBuffer.append(mySNCName); stringBuffer.append(TEXT_55); stringBuffer.append(cid); stringBuffer.append(TEXT_56); stringBuffer.append(mySNCName); stringBuffer.append(TEXT_57); } stringBuffer.append(TEXT_58); if (hasSNCLibPath) { stringBuffer.append(TEXT_59); stringBuffer.append(sncLibPath); stringBuffer.append(TEXT_60); stringBuffer.append(cid); stringBuffer.append(TEXT_61); stringBuffer.append(sncLibPath); stringBuffer.append(TEXT_62); } stringBuffer.append(TEXT_63); } stringBuffer.append(TEXT_64); if (sapProps != null) { for (Map<String, String> item : sapProps) { stringBuffer.append(TEXT_65); stringBuffer.append(cid); stringBuffer.append(TEXT_66); stringBuffer.append(item.get("PROPERTY")); stringBuffer.append(TEXT_67); stringBuffer.append(item.get("VALUE")); stringBuffer.append(TEXT_68); } } stringBuffer.append(TEXT_69); stringBuffer.append(cid); stringBuffer.append(TEXT_70); stringBuffer.append(cid); stringBuffer.append(TEXT_71); if (specify_alias) { stringBuffer.append(TEXT_72); } } stringBuffer.append(TEXT_73); stringBuffer.append(cid); stringBuffer.append(TEXT_74); stringBuffer.append(cid); stringBuffer.append(TEXT_75); stringBuffer.append(cid); stringBuffer.append(TEXT_76); for (int i = 0; i < columnList.size(); i++) { IMetadataColumn column = columnList.get(i); String tableField = column.getOriginalDbColumnName(); stringBuffer.append(TEXT_77); stringBuffer.append(cid); stringBuffer.append(TEXT_78); stringBuffer.append(tableField); stringBuffer.append(TEXT_79); } stringBuffer.append(TEXT_80); stringBuffer.append(cid); stringBuffer.append(TEXT_81); stringBuffer.append(cid); stringBuffer.append(TEXT_82); stringBuffer.append(tableName); stringBuffer.append(TEXT_83); stringBuffer.append(cid); stringBuffer.append(TEXT_84); stringBuffer.append(filter); stringBuffer.append(TEXT_85); stringBuffer.append(maxRowCount); stringBuffer.append(TEXT_86); stringBuffer.append(startRowNumber); stringBuffer.append(TEXT_87); stringBuffer.append(cid); stringBuffer.append(TEXT_88); stringBuffer.append(cid); stringBuffer.append(TEXT_89); stringBuffer.append(cid); stringBuffer.append(TEXT_90); stringBuffer.append(cid); stringBuffer.append(TEXT_91); stringBuffer.append(cid); stringBuffer.append(TEXT_92); for (int i = 0; i < columnList.size(); i++) { IMetadataColumn column = columnList.get(i); String typeToGenerate = JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable()); JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType()); String dbType = column.getType(); if (javaType == JavaTypesManager.STRING) { stringBuffer.append(TEXT_93); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_94); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_95); stringBuffer.append(cid); stringBuffer.append(TEXT_96); stringBuffer.append(i); stringBuffer.append(TEXT_97); } else if (javaType == JavaTypesManager.INTEGER) { stringBuffer.append(TEXT_98); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_99); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_100); stringBuffer.append(cid); stringBuffer.append(TEXT_101); stringBuffer.append(i); stringBuffer.append(TEXT_102); } else if (javaType == JavaTypesManager.SHORT) { stringBuffer.append(TEXT_103); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_104); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_105); stringBuffer.append(cid); stringBuffer.append(TEXT_106); stringBuffer.append(i); stringBuffer.append(TEXT_107); } else if (javaType == JavaTypesManager.DATE) { stringBuffer.append(TEXT_108); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_109); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_110); stringBuffer.append(cid); stringBuffer.append(TEXT_111); stringBuffer.append(i); stringBuffer.append(TEXT_112); } else if (javaType == JavaTypesManager.BYTE) { stringBuffer.append(TEXT_113); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_114); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_115); stringBuffer.append(cid); stringBuffer.append(TEXT_116); stringBuffer.append(i); stringBuffer.append(TEXT_117); } else if (javaType == JavaTypesManager.BYTE_ARRAY) { stringBuffer.append(TEXT_118); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_119); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_120); stringBuffer.append(cid); stringBuffer.append(TEXT_121); stringBuffer.append(i); stringBuffer.append(TEXT_122); } else if (javaType == JavaTypesManager.DOUBLE) { stringBuffer.append(TEXT_123); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_124); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_125); stringBuffer.append(cid); stringBuffer.append(TEXT_126); stringBuffer.append(i); stringBuffer.append(TEXT_127); } else if (javaType == JavaTypesManager.BIGDECIMAL) { stringBuffer.append(TEXT_128); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_129); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_130); stringBuffer.append(cid); stringBuffer.append(TEXT_131); stringBuffer.append(i); stringBuffer.append(TEXT_132); } else if (javaType == JavaTypesManager.OBJECT && "BIG_INTEGER".equals(dbType)) { stringBuffer.append(TEXT_133); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_134); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_135); stringBuffer.append(cid); stringBuffer.append(TEXT_136); stringBuffer.append(i); stringBuffer.append(TEXT_137); } else if (javaType == JavaTypesManager.OBJECT) { stringBuffer.append(TEXT_138); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_139); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_140); stringBuffer.append(cid); stringBuffer.append(TEXT_141); stringBuffer.append(i); stringBuffer.append(TEXT_142); } else { stringBuffer.append(TEXT_143); stringBuffer.append(outputConnection.getName()); stringBuffer.append(TEXT_144); stringBuffer.append(column.getLabel()); stringBuffer.append(TEXT_145); stringBuffer.append(typeToGenerate); stringBuffer.append(TEXT_146); stringBuffer.append(cid); stringBuffer.append(TEXT_147); stringBuffer.append(i); stringBuffer.append(TEXT_148); } } return stringBuffer.toString(); }
public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode) codeGenArgument.getArgument(); String cid = node.getUniqueName(); String destination = ElementParameterParser.getValue(node, "__DESTINATION__"); if (destination != null && !"".equals(destination)) { cid = destination; } boolean useExistingConn = ("true").equals(ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__")); String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); String conn = "TMDMService_" + connection; String mdmUrl = ElementParameterParser.getValue(node, "__MDMURL__"); String username = ElementParameterParser.getValue(node, "__USERNAME__"); String dataModel = 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 usePartialDelete = ("true").equals(ElementParameterParser.getValue(node, "__PARTIAL_DELETE__")); boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__")); stringBuffer.append(TEXT_1); stringBuffer.append(cid); stringBuffer.append(TEXT_2); stringBuffer.append(cid); stringBuffer.append(TEXT_3); if (!usePartialUpdate) { stringBuffer.append(TEXT_4); if (addTaskID) { stringBuffer.append(TEXT_5); stringBuffer.append(cid); stringBuffer.append(TEXT_6); stringBuffer.append(cid); stringBuffer.append(TEXT_7); stringBuffer.append(cid); stringBuffer.append(TEXT_8); stringBuffer.append(cid); stringBuffer.append(TEXT_9); } stringBuffer.append(TEXT_10); if (isMassInsert) { if (!isStaging && withReport) { stringBuffer.append(TEXT_11); stringBuffer.append(cid); stringBuffer.append(TEXT_12); } else { stringBuffer.append(TEXT_13); stringBuffer.append(cid); stringBuffer.append(TEXT_14); } if (addTaskID) { stringBuffer.append(TEXT_15); stringBuffer.append(cid); stringBuffer.append(TEXT_16); } } } stringBuffer.append(TEXT_17); if (!useExistingConn) { stringBuffer.append(TEXT_18); stringBuffer.append(mdmUrl); stringBuffer.append(TEXT_19); stringBuffer.append(cid); stringBuffer.append(TEXT_20); stringBuffer.append(cid); stringBuffer.append(TEXT_21); stringBuffer.append(cid); stringBuffer.append(TEXT_22); stringBuffer.append(cid); stringBuffer.append(TEXT_23); stringBuffer.append(cid); stringBuffer.append(TEXT_24); stringBuffer.append(cid); stringBuffer.append(TEXT_25); stringBuffer.append(cid); stringBuffer.append(TEXT_26); stringBuffer.append(cid); stringBuffer.append(TEXT_27); stringBuffer.append(cid); stringBuffer.append(TEXT_28); stringBuffer.append(username); stringBuffer.append(TEXT_29); stringBuffer.append(cid); stringBuffer.append(TEXT_30); String passwordFieldName = "__PASSWORD__"; stringBuffer.append(TEXT_31); if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_32); stringBuffer.append(cid); stringBuffer.append(TEXT_33); stringBuffer.append(ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_34); } else { stringBuffer.append(TEXT_35); stringBuffer.append(cid); stringBuffer.append(TEXT_36); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_37); } stringBuffer.append(TEXT_38); stringBuffer.append(cid); stringBuffer.append(TEXT_39); stringBuffer.append(cid); stringBuffer.append(TEXT_40); } else { stringBuffer.append(TEXT_41); stringBuffer.append(cid); stringBuffer.append(TEXT_42); stringBuffer.append(conn); stringBuffer.append(TEXT_43); } stringBuffer.append(TEXT_44); stringBuffer.append(cid); stringBuffer.append(TEXT_45); stringBuffer.append(dataCluster); stringBuffer.append(TEXT_46); stringBuffer.append(isStaging ? "#STAGING" : ""); stringBuffer.append(TEXT_47); stringBuffer.append(cid); stringBuffer.append(TEXT_48); stringBuffer.append(dataModel); stringBuffer.append(TEXT_49); stringBuffer.append(cid); stringBuffer.append(TEXT_50); stringBuffer.append(cid); stringBuffer.append(TEXT_51); stringBuffer.append(cid); stringBuffer.append(TEXT_52); stringBuffer.append(TEXT_53); return stringBuffer.toString(); }
public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(TEXT_1); CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode) codeGenArgument.getArgument(); String cid = node.getUniqueName(); String dbhost = ElementParameterParser.getValue(node, "__HOST__"); String dbname = ElementParameterParser.getValue(node, "__DATABASE__"); String dbuser = ElementParameterParser.getValue(node, "__USERNAME__"); String dbpass = ElementParameterParser.getValue(node, "__PASSWORD__"); boolean authentication = "true" .equalsIgnoreCase(ElementParameterParser.getValue(node, "__REQUIRED_AUTHENTICATION__")); if (!authentication) { dbuser = null; dbpass = null; } String passwordFieldName = "__PASSWORD__"; stringBuffer.append(TEXT_2); stringBuffer.append(cid); stringBuffer.append(TEXT_3); if (!authentication) { // do nothing } else if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_4); stringBuffer.append(cid); stringBuffer.append(TEXT_5); stringBuffer.append(ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_6); } else { stringBuffer.append(TEXT_7); stringBuffer.append(cid); stringBuffer.append(TEXT_8); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_9); } boolean useTriggerReplicate = "true".equalsIgnoreCase(ElementParameterParser.getValue(node, "__USE_TRIGGER_REPLICATE__")); String dbport = ElementParameterParser.getValue(node, "__PORT__"); List<Map<String, String>> replicaTargetDB = (List<Map<String, String>>) ElementParameterParser.getObjectValue(node, "__REPLICATE_TARGET_DB__"); boolean useExistingConn = "true" .equalsIgnoreCase(ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__")); String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__")); stringBuffer.append(TEXT_10); stringBuffer.append(cid); stringBuffer.append(TEXT_11); stringBuffer.append(cid); stringBuffer.append(TEXT_12); stringBuffer.append(cid); stringBuffer.append(TEXT_13); stringBuffer.append(cid); stringBuffer.append(TEXT_14); stringBuffer.append(cid); stringBuffer.append(TEXT_15); stringBuffer.append(cid); stringBuffer.append(TEXT_16); stringBuffer.append(cid); stringBuffer.append(TEXT_17); stringBuffer.append(cid); stringBuffer.append(TEXT_18); if (useExistingConn) { INode connectionNode = NodeUtil.getNodeByUniqueName(node.getProcess(), connection); dbname = ElementParameterParser.getValue(connectionNode, "__DATABASE__"); stringBuffer.append(TEXT_19); stringBuffer.append(cid); stringBuffer.append(TEXT_20); stringBuffer.append(connection); stringBuffer.append(TEXT_21); if (isLog4jEnabled) { stringBuffer.append(TEXT_22); stringBuffer.append(cid); stringBuffer.append(TEXT_23); stringBuffer.append(cid); stringBuffer.append(TEXT_24); stringBuffer.append(connection); stringBuffer.append(TEXT_25); } } else { stringBuffer.append(TEXT_26); stringBuffer.append(cid); stringBuffer.append(TEXT_27); stringBuffer.append(dbname); stringBuffer.append(TEXT_28); stringBuffer.append(dbhost); stringBuffer.append(TEXT_29); stringBuffer.append(dbport); stringBuffer.append(TEXT_30); stringBuffer.append(dbuser); stringBuffer.append(TEXT_31); stringBuffer.append(cid); stringBuffer.append(TEXT_32); if (useTriggerReplicate) { stringBuffer.append(TEXT_33); stringBuffer.append(cid); stringBuffer.append(TEXT_34); stringBuffer.append(cid); stringBuffer.append(TEXT_35); int index = 0; for (Map<String, String> targetDB : replicaTargetDB) { String targetDBName = targetDB.get("TARGET_DB_NAME"); boolean isCreateTargetDB = "true".equalsIgnoreCase(targetDB.get("CREATE_TARGET")); boolean isContinuous = "true".equalsIgnoreCase(targetDB.get("CONTINUOUS")); boolean isCancel = "true".equalsIgnoreCase(targetDB.get("CANCEL_REPLICATE")); stringBuffer.append(TEXT_36); stringBuffer.append(cid); stringBuffer.append(TEXT_37); stringBuffer.append(cid); stringBuffer.append(TEXT_38); stringBuffer.append(dbname); stringBuffer.append(TEXT_39); stringBuffer.append(targetDBName); stringBuffer.append(TEXT_40); stringBuffer.append(isCreateTargetDB); stringBuffer.append(TEXT_41); stringBuffer.append(isContinuous); stringBuffer.append(TEXT_42); if (isContinuous && isCancel) { stringBuffer.append(TEXT_43); stringBuffer.append(cid); stringBuffer.append(TEXT_44); stringBuffer.append(cid); stringBuffer.append(TEXT_45); stringBuffer.append(index); stringBuffer.append(TEXT_46); stringBuffer.append(cid); stringBuffer.append(TEXT_47); stringBuffer.append(dbname); stringBuffer.append(TEXT_48); stringBuffer.append(targetDBName); stringBuffer.append(TEXT_49); stringBuffer.append(isCreateTargetDB); stringBuffer.append(TEXT_50); stringBuffer.append(isContinuous); stringBuffer.append(TEXT_51); stringBuffer.append(isCancel); stringBuffer.append(TEXT_52); stringBuffer.append(cid); stringBuffer.append(TEXT_53); stringBuffer.append(cid); stringBuffer.append(TEXT_54); stringBuffer.append(index); stringBuffer.append(TEXT_55); index++; } } } } if (isLog4jEnabled) { stringBuffer.append(TEXT_56); stringBuffer.append(cid); stringBuffer.append(TEXT_57); stringBuffer.append(dbname); stringBuffer.append(TEXT_58); } return stringBuffer.toString(); }
public void createConnection(INode node, boolean needUserAndPassword) { useExistingConn = ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__"); if (("true").equals(useExistingConn)) { String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); String conn = "conn_" + connection; ; stringBuffer.append(TEXT_80); stringBuffer.append(cid); stringBuffer.append(TEXT_81); stringBuffer.append(conn); stringBuffer.append(TEXT_82); INode connectionNode = null; for (INode processNode : node.getProcess().getGeneratingNodes()) { if (connection.equals(processNode.getUniqueName())) { connectionNode = processNode; break; } } boolean specify_alias = "true" .equals( ElementParameterParser.getValue( connectionNode, "__SPECIFY_DATASOURCE_ALIAS__")); if (specify_alias) { String alias = ElementParameterParser.getValue(connectionNode, "__DATASOURCE_ALIAS__"); String autoCommit = "true".equals(ElementParameterParser.getValue(connectionNode, "__AUTO_COMMIT__")) ? "true" : "false"; stringBuffer.append(TEXT_83); stringBuffer.append(cid); stringBuffer.append(TEXT_84); stringBuffer.append(cid); stringBuffer.append(TEXT_85); stringBuffer.append(cid); stringBuffer.append(TEXT_86); stringBuffer.append(cid); stringBuffer.append(TEXT_87); stringBuffer.append((null != alias && !("".equals(alias))) ? alias : "\"\""); stringBuffer.append(TEXT_88); stringBuffer.append(cid); stringBuffer.append(TEXT_89); stringBuffer.append(cid); stringBuffer.append(TEXT_90); stringBuffer.append(autoCommit); stringBuffer.append(TEXT_91); } this.afterUseExistConnection(node); } else { boolean specify_alias = "true".equals(ElementParameterParser.getValue(node, "__SPECIFY_DATASOURCE_ALIAS__")); if (specify_alias) { stringBuffer.append(TEXT_92); stringBuffer.append(cid); stringBuffer.append(TEXT_93); stringBuffer.append(cid); stringBuffer.append(TEXT_94); String alias = ElementParameterParser.getValue(node, "__DATASOURCE_ALIAS__"); stringBuffer.append(TEXT_95); stringBuffer.append(cid); stringBuffer.append(TEXT_96); stringBuffer.append(cid); stringBuffer.append(TEXT_97); stringBuffer.append((null != alias && !("".equals(alias))) ? alias : "\"\""); stringBuffer.append(TEXT_98); } this.classForName(node); this.setURL(node); log4jCodeGenerateUtil.debugConnectionParams(node); if (needUserAndPassword) { stringBuffer.append(TEXT_99); stringBuffer.append(cid); stringBuffer.append(TEXT_100); stringBuffer.append(dbuser); stringBuffer.append(TEXT_101); String passwordFieldName = "__PASS__"; stringBuffer.append(TEXT_102); if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_103); stringBuffer.append(cid); stringBuffer.append(TEXT_104); stringBuffer.append( ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_105); } else { stringBuffer.append(TEXT_106); stringBuffer.append(cid); stringBuffer.append(TEXT_107); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_108); } stringBuffer.append(TEXT_109); stringBuffer.append(cid); stringBuffer.append(TEXT_110); stringBuffer.append(cid); stringBuffer.append(TEXT_111); log4jCodeGenerateUtil.connect_begin(); newConnection(); } else { log4jCodeGenerateUtil.connect_begin_noUser(); stringBuffer.append(TEXT_112); stringBuffer.append(cid); stringBuffer.append(TEXT_113); stringBuffer.append(cid); stringBuffer.append(TEXT_114); } log4jCodeGenerateUtil.connect_end(); if (specify_alias) { stringBuffer.append(TEXT_115); } } }
public void createDatabaseService() { if (this.useExistingConnection) { stringBuffer.append(TEXT_37); stringBuffer.append(cid); stringBuffer.append(TEXT_38); stringBuffer.append(dbConnectionName); stringBuffer.append(TEXT_39); } else { if (this.remoteServer) { String serverUrl = ElementParameterParser.getValue(node, "__SERVER_URL__"); boolean setUsername = ElementParameterParser.getBooleanValue(node, "__SET_USERNAME__"); String username = ElementParameterParser.getValue(node, "__USERNAME__"); String passwordFieldName = "__PASSWORD__"; if ((setUsername) || ("NEO4J_2_2_X".equals(dbVersion))) { if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_40); stringBuffer.append(cid); stringBuffer.append(TEXT_41); stringBuffer.append( ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_42); } else { stringBuffer.append(TEXT_43); stringBuffer.append(cid); stringBuffer.append(TEXT_44); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_45); } stringBuffer.append(TEXT_46); stringBuffer.append(cid); stringBuffer.append(TEXT_47); stringBuffer.append(serverUrl); stringBuffer.append(TEXT_48); stringBuffer.append(username); stringBuffer.append(TEXT_49); stringBuffer.append(cid); stringBuffer.append(TEXT_50); } else { stringBuffer.append(TEXT_51); stringBuffer.append(cid); stringBuffer.append(TEXT_52); stringBuffer.append(serverUrl); stringBuffer.append(TEXT_53); } } else { String databasePath = ElementParameterParser.getValue(node, "__DATABASE_PATH__"); stringBuffer.append(TEXT_54); stringBuffer.append(cid); stringBuffer.append(TEXT_55); stringBuffer.append(cid); stringBuffer.append(TEXT_56); stringBuffer.append(databasePath); stringBuffer.append(TEXT_57); } } }
public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(TEXT_1); CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode) codeGenArgument.getArgument(); String cid = node.getUniqueName(); String bucket = ElementParameterParser.getValue(node, "__BUCKET__"); String key = ElementParameterParser.getValue(node, "__KEY__"); String file = ElementParameterParser.getValue(node, "__FILE__"); boolean dieOnError = "true".equals(ElementParameterParser.getValue(node, "__DIE_ON_ERROR__")); stringBuffer.append(TEXT_2); boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__")); String accessKey = ElementParameterParser.getValue(node, "__ACCESS_KEY__"); boolean configClient = "true".equals(ElementParameterParser.getValue(node, "__CONFIG_CLIENT__")); String useExistingConn = ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__"); List<Map<String, String>> clientConfiguration = (List<Map<String, String>>) ElementParameterParser.getObjectValue(node, "__CLIENT_CONFIGURATION__"); String region = ElementParameterParser.getValue(node, "__REGION__"); if (("true").equals(useExistingConn)) { String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); String conn = "conn_" + connection; ; stringBuffer.append(TEXT_3); stringBuffer.append(cid); stringBuffer.append(TEXT_4); stringBuffer.append(conn); stringBuffer.append(TEXT_5); if (isLog4jEnabled) { stringBuffer.append(TEXT_6); stringBuffer.append(cid); stringBuffer.append(TEXT_7); stringBuffer.append(connection); stringBuffer.append(TEXT_8); } } else { stringBuffer.append(TEXT_9); if (isLog4jEnabled) { stringBuffer.append(TEXT_10); stringBuffer.append(cid); stringBuffer.append(TEXT_11); } String passwordFieldName = "__SECRET_KEY__"; stringBuffer.append(TEXT_12); if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_13); stringBuffer.append(cid); stringBuffer.append(TEXT_14); stringBuffer.append(ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_15); } else { stringBuffer.append(TEXT_16); stringBuffer.append(cid); stringBuffer.append(TEXT_17); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_18); } stringBuffer.append(TEXT_19); stringBuffer.append(cid); stringBuffer.append(TEXT_20); stringBuffer.append(accessKey); stringBuffer.append(TEXT_21); stringBuffer.append(cid); stringBuffer.append(TEXT_22); if (configClient && clientConfiguration.size() > 0) { stringBuffer.append(TEXT_23); stringBuffer.append(cid); stringBuffer.append(TEXT_24); boolean setBuffer = false; for (Map<String, String> map : clientConfiguration) { String client_parameter = map.get("CLIENT_PARAMETER"); String value = map.get("VALUE"); if (!setBuffer && ("SocketSendBufferSizeHints".equals(client_parameter) || "SocketReceiveBufferSizeHints".equals(client_parameter))) { setBuffer = true; stringBuffer.append(TEXT_25); stringBuffer.append(cid); stringBuffer.append(TEXT_26); stringBuffer.append(cid); stringBuffer.append(TEXT_27); } if ("SocketSendBufferSizeHints".equals(client_parameter)) { stringBuffer.append(TEXT_28); stringBuffer.append(cid); stringBuffer.append(TEXT_29); stringBuffer.append(value); stringBuffer.append(TEXT_30); } else if ("SocketReceiveBufferSizeHints".equals(client_parameter)) { stringBuffer.append(TEXT_31); stringBuffer.append(cid); stringBuffer.append(TEXT_32); stringBuffer.append(value); stringBuffer.append(TEXT_33); } else if ("Protocol".equals(client_parameter)) { stringBuffer.append(TEXT_34); stringBuffer.append(cid); stringBuffer.append(TEXT_35); stringBuffer.append(value.toUpperCase().replaceAll("\"", "")); stringBuffer.append(TEXT_36); } else { stringBuffer.append(TEXT_37); stringBuffer.append(cid); stringBuffer.append(TEXT_38); stringBuffer.append(client_parameter); stringBuffer.append(TEXT_39); stringBuffer.append(value); stringBuffer.append(TEXT_40); } } if (setBuffer) { stringBuffer.append(TEXT_41); stringBuffer.append(cid); stringBuffer.append(TEXT_42); stringBuffer.append(cid); stringBuffer.append(TEXT_43); stringBuffer.append(cid); stringBuffer.append(TEXT_44); } stringBuffer.append(TEXT_45); stringBuffer.append(cid); stringBuffer.append(TEXT_46); stringBuffer.append(cid); stringBuffer.append(TEXT_47); stringBuffer.append(cid); stringBuffer.append(TEXT_48); } else { stringBuffer.append(TEXT_49); stringBuffer.append(cid); stringBuffer.append(TEXT_50); stringBuffer.append(cid); stringBuffer.append(TEXT_51); } if (region != null && !region.isEmpty() && !"DEFAULT".equalsIgnoreCase(region)) { stringBuffer.append(TEXT_52); stringBuffer.append(cid); stringBuffer.append(TEXT_53); stringBuffer.append(region); stringBuffer.append(TEXT_54); } if (isLog4jEnabled) { stringBuffer.append(TEXT_55); stringBuffer.append(cid); stringBuffer.append(TEXT_56); } } stringBuffer.append(TEXT_57); if (isLog4jEnabled) { stringBuffer.append(TEXT_58); stringBuffer.append(cid); stringBuffer.append(TEXT_59); stringBuffer.append(key); stringBuffer.append(TEXT_60); } stringBuffer.append(TEXT_61); stringBuffer.append(cid); stringBuffer.append(TEXT_62); stringBuffer.append(bucket); stringBuffer.append(TEXT_63); stringBuffer.append(key); stringBuffer.append(TEXT_64); stringBuffer.append(file); stringBuffer.append(TEXT_65); if (isLog4jEnabled) { stringBuffer.append(TEXT_66); stringBuffer.append(cid); stringBuffer.append(TEXT_67); } stringBuffer.append(TEXT_68); stringBuffer.append(cid); stringBuffer.append(TEXT_69); if (dieOnError) { stringBuffer.append(TEXT_70); stringBuffer.append(cid); stringBuffer.append(TEXT_71); } else { if (isLog4jEnabled) { stringBuffer.append(TEXT_72); stringBuffer.append(cid); stringBuffer.append(TEXT_73); stringBuffer.append(cid); stringBuffer.append(TEXT_74); } stringBuffer.append(TEXT_75); stringBuffer.append(cid); stringBuffer.append(TEXT_76); } if (!("true").equals(useExistingConn)) { stringBuffer.append(TEXT_77); stringBuffer.append(cid); stringBuffer.append(TEXT_78); stringBuffer.append(cid); stringBuffer.append(TEXT_79); } stringBuffer.append(TEXT_80); stringBuffer.append(TEXT_81); return stringBuffer.toString(); }
public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(TEXT_1); // this util class use by set log4j debug paramters class DefaultLog4jFileUtil { INode node = null; String cid = null; boolean isLog4jEnabled = false; String label = null; public DefaultLog4jFileUtil() {} public DefaultLog4jFileUtil(INode node) { this.node = node; this.cid = node.getUniqueName(); this.label = cid; this.isLog4jEnabled = ("true") .equals( org.talend.core.model.process.ElementParameterParser.getValue( node.getProcess(), "__LOG4J_ACTIVATE__")); } public void setCid(String cid) { this.cid = cid; } // for all tFileinput* components public void startRetriveDataInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_2); stringBuffer.append(label); stringBuffer.append(TEXT_3); } } public void retrievedDataNumberInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_4); stringBuffer.append(label); stringBuffer.append(TEXT_5); stringBuffer.append(cid); stringBuffer.append(TEXT_6); } } public void retrievedDataNumberInfoFromGlobalMap(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_7); stringBuffer.append(label); stringBuffer.append(TEXT_8); stringBuffer.append(cid); stringBuffer.append(TEXT_9); } } // for all tFileinput* components public void retrievedDataNumberInfo(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_10); stringBuffer.append(label); stringBuffer.append(TEXT_11); stringBuffer.append(cid); stringBuffer.append(TEXT_12); } } public void writeDataFinishInfo(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_13); stringBuffer.append(label); stringBuffer.append(TEXT_14); stringBuffer.append(cid); stringBuffer.append(TEXT_15); } } // TODO delete it and remove all log4jSb parameter from components public void componentStartInfo(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_16); stringBuffer.append(cid); stringBuffer.append(TEXT_17); } } // TODO rename or delete it public void debugRetriveData(INode node, boolean hasIncreased) { if (isLog4jEnabled) { stringBuffer.append(TEXT_18); stringBuffer.append(label); stringBuffer.append(TEXT_19); stringBuffer.append(cid); stringBuffer.append(hasIncreased ? "" : "+1"); stringBuffer.append(TEXT_20); } } // TODO rename or delete it public void debugRetriveData(INode node) { debugRetriveData(node, true); } // TODO rename or delete it public void debugWriteData(INode node) { if (isLog4jEnabled) { stringBuffer.append(TEXT_21); stringBuffer.append(label); stringBuffer.append(TEXT_22); stringBuffer.append(cid); stringBuffer.append(TEXT_23); } } public void logCurrentRowNumberInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_24); stringBuffer.append(label); stringBuffer.append(TEXT_25); stringBuffer.append(cid); stringBuffer.append(TEXT_26); } } public void logDataCountInfo() { if (isLog4jEnabled) { stringBuffer.append(TEXT_27); stringBuffer.append(label); stringBuffer.append(TEXT_28); stringBuffer.append(cid); stringBuffer.append(TEXT_29); } } } final DefaultLog4jFileUtil log4jFileUtil = new DefaultLog4jFileUtil( (INode) (((org.talend.designer.codegen.config.CodeGeneratorArgument) argument) .getArgument())); stringBuffer.append(TEXT_30); CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode) codeGenArgument.getArgument(); String cid = node.getUniqueName(); String clientId = ElementParameterParser.getValue(node, "__CLIENT_ID__"); String clientSecret = ElementParameterParser.getValue(node, "__CLIENT_SECRET__"); String projectId = ElementParameterParser.getValue(node, "__PROJECT_ID__"); String authorizationCode = ElementParameterParser.getValue(node, "__AUTHORIZATION_CODE__"); String query = ElementParameterParser.getValue(node, "__QUERY__"); query = query.replaceAll("\n", " "); query = query.replaceAll("\r", " "); String tokenFile = ElementParameterParser.getValue(node, "__TOKEN_NAME__"); boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__")); stringBuffer.append(TEXT_31); stringBuffer.append(cid); stringBuffer.append(TEXT_32); stringBuffer.append(clientId); stringBuffer.append(TEXT_33); String passwordFieldName = "__CLIENT_SECRET__"; stringBuffer.append(TEXT_34); if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_35); stringBuffer.append(cid); stringBuffer.append(TEXT_36); stringBuffer.append(ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_37); } else { stringBuffer.append(TEXT_38); stringBuffer.append(cid); stringBuffer.append(TEXT_39); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_40); } stringBuffer.append(TEXT_41); stringBuffer.append(cid); stringBuffer.append(TEXT_42); stringBuffer.append(clientId); stringBuffer.append(TEXT_43); stringBuffer.append(cid); stringBuffer.append(TEXT_44); stringBuffer.append(cid); stringBuffer.append(TEXT_45); stringBuffer.append(projectId); stringBuffer.append(TEXT_46); stringBuffer.append(cid); stringBuffer.append(TEXT_47); stringBuffer.append(cid); stringBuffer.append(TEXT_48); stringBuffer.append(cid); stringBuffer.append(TEXT_49); stringBuffer.append(cid); stringBuffer.append(TEXT_50); stringBuffer.append(cid); stringBuffer.append(TEXT_51); stringBuffer.append(cid); stringBuffer.append(TEXT_52); stringBuffer.append(cid); stringBuffer.append(TEXT_53); stringBuffer.append(cid); stringBuffer.append(TEXT_54); stringBuffer.append(cid); stringBuffer.append(TEXT_55); if (isLog4jEnabled) { stringBuffer.append(TEXT_56); stringBuffer.append(cid); stringBuffer.append(TEXT_57); stringBuffer.append(cid); stringBuffer.append(TEXT_58); stringBuffer.append(cid); stringBuffer.append(TEXT_59); } stringBuffer.append(TEXT_60); stringBuffer.append(cid); stringBuffer.append(TEXT_61); stringBuffer.append(tokenFile); stringBuffer.append(TEXT_62); stringBuffer.append(cid); stringBuffer.append(TEXT_63); stringBuffer.append(cid); stringBuffer.append(TEXT_64); stringBuffer.append(cid); stringBuffer.append(TEXT_65); stringBuffer.append(cid); stringBuffer.append(TEXT_66); stringBuffer.append(cid); stringBuffer.append(TEXT_67); stringBuffer.append(cid); stringBuffer.append(TEXT_68); stringBuffer.append(cid); stringBuffer.append(TEXT_69); if (isLog4jEnabled) { stringBuffer.append(TEXT_70); stringBuffer.append(cid); stringBuffer.append(TEXT_71); stringBuffer.append(cid); stringBuffer.append(TEXT_72); } stringBuffer.append(TEXT_73); stringBuffer.append(cid); stringBuffer.append(TEXT_74); if (isLog4jEnabled) { stringBuffer.append(TEXT_75); stringBuffer.append(cid); stringBuffer.append(TEXT_76); stringBuffer.append(cid); stringBuffer.append(TEXT_77); } stringBuffer.append(TEXT_78); stringBuffer.append(cid); stringBuffer.append(TEXT_79); stringBuffer.append(cid); stringBuffer.append(TEXT_80); stringBuffer.append(cid); stringBuffer.append(TEXT_81); stringBuffer.append(cid); stringBuffer.append(TEXT_82); stringBuffer.append(cid); stringBuffer.append(TEXT_83); stringBuffer.append(cid); stringBuffer.append(TEXT_84); stringBuffer.append(cid); stringBuffer.append(TEXT_85); stringBuffer.append(cid); stringBuffer.append(TEXT_86); stringBuffer.append(cid); stringBuffer.append(TEXT_87); if (isLog4jEnabled) { stringBuffer.append(TEXT_88); stringBuffer.append(cid); stringBuffer.append(TEXT_89); } stringBuffer.append(TEXT_90); stringBuffer.append(cid); stringBuffer.append(TEXT_91); stringBuffer.append(cid); stringBuffer.append(TEXT_92); if (isLog4jEnabled) { stringBuffer.append(TEXT_93); stringBuffer.append(cid); stringBuffer.append(TEXT_94); } if (authorizationCode == null || "".equals(authorizationCode) || "\"\"".equals(authorizationCode)) { stringBuffer.append(TEXT_95); stringBuffer.append(cid); stringBuffer.append(TEXT_96); stringBuffer.append(cid); stringBuffer.append(TEXT_97); stringBuffer.append(cid); stringBuffer.append(TEXT_98); stringBuffer.append(cid); stringBuffer.append(TEXT_99); stringBuffer.append(cid); stringBuffer.append(TEXT_100); if (isLog4jEnabled) { stringBuffer.append(TEXT_101); stringBuffer.append(cid); stringBuffer.append(TEXT_102); stringBuffer.append(cid); stringBuffer.append(TEXT_103); } stringBuffer.append(TEXT_104); } else { stringBuffer.append(TEXT_105); stringBuffer.append(cid); stringBuffer.append(TEXT_106); stringBuffer.append(authorizationCode); stringBuffer.append(TEXT_107); if (isLog4jEnabled) { stringBuffer.append(TEXT_108); stringBuffer.append(cid); stringBuffer.append(TEXT_109); } stringBuffer.append(TEXT_110); stringBuffer.append(cid); stringBuffer.append(TEXT_111); stringBuffer.append(cid); stringBuffer.append(TEXT_112); stringBuffer.append(cid); stringBuffer.append(TEXT_113); stringBuffer.append(cid); stringBuffer.append(TEXT_114); stringBuffer.append(cid); stringBuffer.append(TEXT_115); stringBuffer.append(cid); stringBuffer.append(TEXT_116); stringBuffer.append(cid); stringBuffer.append(TEXT_117); stringBuffer.append(cid); stringBuffer.append(TEXT_118); stringBuffer.append(cid); stringBuffer.append(TEXT_119); stringBuffer.append(cid); stringBuffer.append(TEXT_120); stringBuffer.append(cid); stringBuffer.append(TEXT_121); if (isLog4jEnabled) { stringBuffer.append(TEXT_122); stringBuffer.append(cid); stringBuffer.append(TEXT_123); } stringBuffer.append(TEXT_124); stringBuffer.append(cid); stringBuffer.append(TEXT_125); stringBuffer.append(cid); stringBuffer.append(TEXT_126); stringBuffer.append(cid); stringBuffer.append(TEXT_127); stringBuffer.append(cid); stringBuffer.append(TEXT_128); stringBuffer.append(cid); stringBuffer.append(TEXT_129); stringBuffer.append(cid); stringBuffer.append(TEXT_130); stringBuffer.append(cid); stringBuffer.append(TEXT_131); stringBuffer.append(cid); stringBuffer.append(TEXT_132); stringBuffer.append(cid); stringBuffer.append(TEXT_133); stringBuffer.append(cid); stringBuffer.append(TEXT_134); stringBuffer.append(cid); stringBuffer.append(TEXT_135); } stringBuffer.append(TEXT_136); stringBuffer.append(cid); stringBuffer.append(TEXT_137); stringBuffer.append(query); stringBuffer.append(TEXT_138); stringBuffer.append(cid); stringBuffer.append(TEXT_139); if (isLog4jEnabled) { stringBuffer.append(TEXT_140); stringBuffer.append(cid); stringBuffer.append(TEXT_141); stringBuffer.append(cid); stringBuffer.append(TEXT_142); } stringBuffer.append(TEXT_143); stringBuffer.append(cid); stringBuffer.append(TEXT_144); stringBuffer.append(cid); stringBuffer.append(TEXT_145); stringBuffer.append(cid); stringBuffer.append(TEXT_146); stringBuffer.append(cid); stringBuffer.append(TEXT_147); stringBuffer.append(cid); stringBuffer.append(TEXT_148); stringBuffer.append(cid); stringBuffer.append(TEXT_149); stringBuffer.append(cid); stringBuffer.append(TEXT_150); stringBuffer.append(cid); stringBuffer.append(TEXT_151); stringBuffer.append(cid); stringBuffer.append(TEXT_152); stringBuffer.append(cid); stringBuffer.append(TEXT_153); stringBuffer.append(cid); stringBuffer.append(TEXT_154); stringBuffer.append(cid); stringBuffer.append(TEXT_155); stringBuffer.append(cid); stringBuffer.append(TEXT_156); stringBuffer.append(cid); stringBuffer.append(TEXT_157); stringBuffer.append(cid); stringBuffer.append(TEXT_158); stringBuffer.append(cid); stringBuffer.append(TEXT_159); stringBuffer.append(cid); stringBuffer.append(TEXT_160); stringBuffer.append(cid); stringBuffer.append(TEXT_161); stringBuffer.append(cid); stringBuffer.append(TEXT_162); stringBuffer.append(cid); stringBuffer.append(TEXT_163); stringBuffer.append(cid); stringBuffer.append(TEXT_164); stringBuffer.append(cid); stringBuffer.append(TEXT_165); stringBuffer.append(cid); stringBuffer.append(TEXT_166); if (isLog4jEnabled) { stringBuffer.append(TEXT_167); stringBuffer.append(cid); stringBuffer.append(TEXT_168); } stringBuffer.append(TEXT_169); stringBuffer.append(cid); stringBuffer.append(TEXT_170); if (isLog4jEnabled) { stringBuffer.append(TEXT_171); stringBuffer.append(cid); stringBuffer.append(TEXT_172); stringBuffer.append(cid); stringBuffer.append(TEXT_173); } stringBuffer.append(TEXT_174); stringBuffer.append(cid); stringBuffer.append(TEXT_175); stringBuffer.append(cid); stringBuffer.append(TEXT_176); if (isLog4jEnabled) { stringBuffer.append(TEXT_177); stringBuffer.append(cid); stringBuffer.append(TEXT_178); } stringBuffer.append(TEXT_179); stringBuffer.append(cid); stringBuffer.append(TEXT_180); stringBuffer.append(cid); stringBuffer.append(TEXT_181); stringBuffer.append(cid); stringBuffer.append(TEXT_182); stringBuffer.append(cid); stringBuffer.append(TEXT_183); stringBuffer.append(cid); stringBuffer.append(TEXT_184); if (isLog4jEnabled) { stringBuffer.append(TEXT_185); stringBuffer.append(cid); stringBuffer.append(TEXT_186); } stringBuffer.append(TEXT_187); stringBuffer.append(cid); stringBuffer.append(TEXT_188); stringBuffer.append(cid); stringBuffer.append(TEXT_189); stringBuffer.append(cid); stringBuffer.append(TEXT_190); stringBuffer.append(cid); stringBuffer.append(TEXT_191); stringBuffer.append(cid); stringBuffer.append(TEXT_192); stringBuffer.append(cid); stringBuffer.append(TEXT_193); stringBuffer.append(cid); stringBuffer.append(TEXT_194); stringBuffer.append(cid); stringBuffer.append(TEXT_195); stringBuffer.append(cid); stringBuffer.append(TEXT_196); stringBuffer.append(cid); stringBuffer.append(TEXT_197); stringBuffer.append(cid); stringBuffer.append(TEXT_198); stringBuffer.append(cid); stringBuffer.append(TEXT_199); stringBuffer.append(cid); stringBuffer.append(TEXT_200); stringBuffer.append(cid); stringBuffer.append(TEXT_201); stringBuffer.append(cid); stringBuffer.append(TEXT_202); List<? extends IConnection> conns = node.getOutgoingSortedConnections(); if (conns != null) { if (conns.size() > 0) { IConnection conn = conns.get(0); String connName = conn.getName(); if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { List<IMetadataTable> metadatas = node.getMetadataList(); if ((metadatas != null) && (metadatas.size() > 0)) { IMetadataTable metadata = metadatas.get(0); if (metadata != null) { String encoding = ElementParameterParser.getValue(node, "__ENCODING__"); String advancedSeparatorStr = ElementParameterParser.getValue(node, "__ADVANCED_SEPARATOR__"); boolean advancedSeparator = (advancedSeparatorStr != null && !("").equals(advancedSeparatorStr)) ? ("true").equals(advancedSeparatorStr) : false; String thousandsSeparator = ElementParameterParser.getValueWithJavaType( node, "__THOUSANDS_SEPARATOR__", JavaTypesManager.CHARACTER); String decimalSeparator = ElementParameterParser.getValueWithJavaType( node, "__DECIMAL_SEPARATOR__", JavaTypesManager.CHARACTER); List<IMetadataColumn> columns = metadata.getListColumns(); int nbColumns = columns.size(); for (int i = 0; i < nbColumns; i++) { IMetadataColumn column = columns.get(i); String columnName = column.getLabel(); String typeToGenerate = JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable()); JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType()); String patternValue = column.getPattern() == null || column.getPattern().trim().length() == 0 ? null : column.getPattern(); stringBuffer.append(TEXT_203); stringBuffer.append(cid); stringBuffer.append(TEXT_204); stringBuffer.append(cid); stringBuffer.append(TEXT_205); stringBuffer.append(i); stringBuffer.append(TEXT_206); stringBuffer.append(cid); stringBuffer.append(TEXT_207); stringBuffer.append(cid); stringBuffer.append(TEXT_208); stringBuffer.append(cid); stringBuffer.append(TEXT_209); if (javaType == JavaTypesManager.STRING) { stringBuffer.append(TEXT_210); stringBuffer.append(connName); stringBuffer.append(TEXT_211); stringBuffer.append(columnName); stringBuffer.append(TEXT_212); stringBuffer.append(cid); stringBuffer.append(TEXT_213); } else if (javaType == JavaTypesManager.OBJECT) { stringBuffer.append(TEXT_214); stringBuffer.append(connName); stringBuffer.append(TEXT_215); stringBuffer.append(columnName); stringBuffer.append(TEXT_216); stringBuffer.append(cid); stringBuffer.append(TEXT_217); } else if (javaType == JavaTypesManager.DATE) { stringBuffer.append(TEXT_218); stringBuffer.append(connName); stringBuffer.append(TEXT_219); stringBuffer.append(columnName); stringBuffer.append(TEXT_220); stringBuffer.append(cid); stringBuffer.append(TEXT_221); stringBuffer.append(patternValue); stringBuffer.append(TEXT_222); } else if (advancedSeparator && JavaTypesManager.isNumberType(javaType)) { stringBuffer.append(TEXT_223); stringBuffer.append(connName); stringBuffer.append(TEXT_224); stringBuffer.append(columnName); stringBuffer.append(TEXT_225); stringBuffer.append(typeToGenerate); stringBuffer.append(TEXT_226); stringBuffer.append(cid); stringBuffer.append(TEXT_227); stringBuffer.append(thousandsSeparator); stringBuffer.append(TEXT_228); stringBuffer.append(decimalSeparator); stringBuffer.append(TEXT_229); } else if (javaType == JavaTypesManager.BYTE_ARRAY) { stringBuffer.append(TEXT_230); stringBuffer.append(connName); stringBuffer.append(TEXT_231); stringBuffer.append(columnName); stringBuffer.append(TEXT_232); stringBuffer.append(cid); stringBuffer.append(TEXT_233); stringBuffer.append(encoding); stringBuffer.append(TEXT_234); } else { stringBuffer.append(TEXT_235); stringBuffer.append(connName); stringBuffer.append(TEXT_236); stringBuffer.append(columnName); stringBuffer.append(TEXT_237); stringBuffer.append(typeToGenerate); stringBuffer.append(TEXT_238); stringBuffer.append(cid); stringBuffer.append(TEXT_239); } stringBuffer.append(TEXT_240); stringBuffer.append(connName); stringBuffer.append(TEXT_241); stringBuffer.append(columnName); stringBuffer.append(TEXT_242); stringBuffer.append( JavaTypesManager.getDefaultValueFromJavaType( typeToGenerate, column.getDefault())); stringBuffer.append(TEXT_243); } log4jFileUtil.debugRetriveData(node); } } } } } stringBuffer.append(TEXT_244); return stringBuffer.toString(); }
public String generate(Object argument) { final StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append(TEXT_1); stringBuffer.append(TEXT_2); class BasicLogUtil { protected String cid = ""; protected org.talend.core.model.process.INode node = null; protected boolean log4jEnabled = false; private String logID = ""; private BasicLogUtil() {} public BasicLogUtil(org.talend.core.model.process.INode node) { this.node = node; String cidx = this.node.getUniqueName(); if (cidx.matches("^.*?tAmazonAuroraOutput_\\d+_out$")) { cidx = cidx.substring(0, cidx.length() - 4); // 4 ==> "_out".length(); } this.cid = cidx; this.log4jEnabled = ("true") .equals( org.talend.core.model.process.ElementParameterParser.getValue( this.node.getProcess(), "__LOG4J_ACTIVATE__")); this.log4jEnabled = this.log4jEnabled && this.node.getComponent().isLog4JEnabled() && !"JOBLET".equals(node.getComponent().getComponentType().toString()); this.logID = this.cid; } public String var(String varName) { return varName + "_" + this.cid; } public String str(String content) { return "\"" + content + "\""; } public void info(String... message) { log4j("info", message); } public void debug(String... message) { log4j("debug", message); } public void warn(String... message) { log4j("warn", message); } public void error(String... message) { log4j("error", message); } public void fatal(String... message) { log4j("fatal", message); } public void trace(String... message) { log4j("trace", message); } java.util.List<String> checkableList = java.util.Arrays.asList(new String[] {"info", "debug", "trace"}); public void log4j(String level, String... messages) { if (this.log4jEnabled) { if (checkableList.contains(level)) { stringBuffer.append(TEXT_3); stringBuffer.append(level.substring(0, 1).toUpperCase() + level.substring(1)); stringBuffer.append(TEXT_4); } stringBuffer.append(TEXT_5); stringBuffer.append(level); stringBuffer.append(TEXT_6); stringBuffer.append(logID); stringBuffer.append(TEXT_7); for (String message : messages) { stringBuffer.append(TEXT_8); stringBuffer.append(message); stringBuffer.append(TEXT_9); } stringBuffer.append(TEXT_10); } } public boolean isActive() { return this.log4jEnabled; } } class LogUtil extends BasicLogUtil { private LogUtil() {} public LogUtil(org.talend.core.model.process.INode node) { super(node); } public void startWork() { info(str("Start to work.")); } public void endWork() { info(str("Done.")); } public void logIgnoredException(String exception) { warn(exception); } public void logPrintedException(String exception) { error(exception); } public void logException(String exception) { fatal(exception); } public void logCompSetting() { if (log4jEnabled) { stringBuffer.append(TEXT_11); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_12); stringBuffer.append(TEXT_13); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_14); java.util.Set<org.talend.core.model.process.EParameterFieldType> ignoredParamsTypes = new java.util.HashSet<org.talend.core.model.process.EParameterFieldType>(); ignoredParamsTypes.addAll( java.util.Arrays.asList( org.talend.core.model.process.EParameterFieldType.SCHEMA_TYPE, org.talend.core.model.process.EParameterFieldType.LABEL, org.talend.core.model.process.EParameterFieldType.EXTERNAL, org.talend.core.model.process.EParameterFieldType.MAPPING_TYPE, org.talend.core.model.process.EParameterFieldType.IMAGE, org.talend.core.model.process.EParameterFieldType.TNS_EDITOR, org.talend.core.model.process.EParameterFieldType.WSDL2JAVA, org.talend.core.model.process.EParameterFieldType.GENERATEGRAMMARCONTROLLER, org.talend.core.model.process.EParameterFieldType .GENERATE_SURVIVORSHIP_RULES_CONTROLLER, org.talend.core.model.process.EParameterFieldType.REFRESH_REPORTS, org.talend.core.model.process.EParameterFieldType.BROWSE_REPORTS, org.talend.core.model.process.EParameterFieldType.PALO_DIM_SELECTION, org.talend.core.model.process.EParameterFieldType.GUESS_SCHEMA, org.talend.core.model.process.EParameterFieldType.MATCH_RULE_IMEX_CONTROLLER, org.talend.core.model.process.EParameterFieldType.MEMO_PERL, org.talend.core.model.process.EParameterFieldType.DBTYPE_LIST, org.talend.core.model.process.EParameterFieldType.VERSION, org.talend.core.model.process.EParameterFieldType.TECHNICAL, org.talend.core.model.process.EParameterFieldType.ICON_SELECTION, org.talend.core.model.process.EParameterFieldType.JAVA_COMMAND, org.talend.core.model.process.EParameterFieldType.TREE_TABLE, org.talend.core.model.process.EParameterFieldType.VALIDATION_RULE_TYPE, org.talend.core.model.process.EParameterFieldType.DCSCHEMA, org.talend.core.model.process.EParameterFieldType.SURVIVOR_RELATION, org.talend.core.model.process.EParameterFieldType.REST_RESPONSE_SCHEMA_TYPE)); for (org.talend.core.model.process.IElementParameter ep : org.talend.core.model.utils.NodeUtil.getDisplayedParameters(node)) { if (!ep.isLog4JEnabled() || ignoredParamsTypes.contains(ep.getFieldType())) { continue; } String name = ep.getName(); if (org.talend.core.model.process.EParameterFieldType.PASSWORD.equals( ep.getFieldType())) { String epName = "__" + name + "__"; String password = ""; if (org.talend.core.model.process.ElementParameterParser.canEncrypt(node, epName)) { password = org.talend.core.model.process.ElementParameterParser.getEncryptedValue( node, epName); } else { String passwordValue = org.talend.core.model.process.ElementParameterParser.getValue(node, epName); if (passwordValue == null || "".equals(passwordValue.trim())) { // for the value which empty passwordValue = "\"\""; } password = "******" + passwordValue + ")"; } stringBuffer.append(TEXT_15); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_16); stringBuffer.append(name); stringBuffer.append(TEXT_17); stringBuffer.append(password); stringBuffer.append(TEXT_18); } else { String value = org.talend.core.model.utils.NodeUtil.getNormalizeParameterValue(node, ep); stringBuffer.append(TEXT_19); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_20); stringBuffer.append(name); stringBuffer.append(TEXT_21); stringBuffer.append(value); stringBuffer.append(TEXT_22); } stringBuffer.append(TEXT_23); stringBuffer.append(var("log4jParamters")); stringBuffer.append(TEXT_24); } } debug(var("log4jParamters")); } // no use for now, because we log the data by rowStruct public void traceData( String rowStruct, java.util.List<org.talend.core.model.metadata.IMetadataColumn> columnList, String nbline) { if (log4jEnabled) { stringBuffer.append(TEXT_25); stringBuffer.append(var("log4jSb")); stringBuffer.append(TEXT_26); for (org.talend.core.model.metadata.IMetadataColumn column : columnList) { org.talend.core.model.metadata.types.JavaType javaType = org.talend.core.model.metadata.types.JavaTypesManager.getJavaTypeFromId( column.getTalendType()); String columnName = column.getLabel(); boolean isPrimit = org.talend.core.model.metadata.types.JavaTypesManager.isJavaPrimitiveType( column.getTalendType(), column.isNullable()); if (isPrimit) { stringBuffer.append(TEXT_27); stringBuffer.append(var("log4jSb")); stringBuffer.append(TEXT_28); stringBuffer.append(rowStruct); stringBuffer.append(TEXT_29); stringBuffer.append(columnName); stringBuffer.append(TEXT_30); } else { stringBuffer.append(TEXT_31); stringBuffer.append(rowStruct); stringBuffer.append(TEXT_32); stringBuffer.append(columnName); stringBuffer.append(TEXT_33); stringBuffer.append(TEXT_34); stringBuffer.append(var("log4jSb")); stringBuffer.append(TEXT_35); stringBuffer.append(TEXT_36); stringBuffer.append(var("log4jSb")); stringBuffer.append(TEXT_37); stringBuffer.append(rowStruct); stringBuffer.append(TEXT_38); stringBuffer.append(columnName); stringBuffer.append(TEXT_39); } stringBuffer.append(TEXT_40); stringBuffer.append(var("log4jSb")); stringBuffer.append(TEXT_41); } } trace(str("Content of the record "), nbline, str(": "), var("log4jSb")); } } class LogHelper { java.util.Map<String, String> pastDict = null; public LogHelper() { pastDict = new java.util.HashMap<String, String>(); pastDict.put("insert", "inserted"); pastDict.put("update", "updated"); pastDict.put("delete", "deleted"); pastDict.put("upsert", "upserted"); } public String upperFirstChar(String data) { return data.substring(0, 1).toUpperCase() + data.substring(1); } public String toPastTense(String data) { return pastDict.get(data); } } LogHelper logHelper = new LogHelper(); LogUtil log = null; stringBuffer.append(TEXT_42); class DBConnLogUtil extends BasicLogUtil { private DBConnLogUtil() {} protected DBConnLogUtil(org.talend.core.model.process.INode node) { super(node); } public void logJDBCDriver(String driverClass) { debug(str("Driver ClassName: "), driverClass, str(".")); } public void connTry(String url, String dbUser) { if (dbUser != null) { info( str("Connection attempts to '"), url, str("' with the username '"), dbUser, str("'.")); } else { info(str("Connection attempts to '"), url, str("'.")); } } public void connDone(String url) { info(str("Connection to '"), url, str("' has succeeded.")); } public void useExistConn(String url, String dbUser) { if (dbUser != null) { info( str("Uses an existing connection with username '"), dbUser, str("'. Connection URL: "), url, str(".")); } else { info(str("Uses an existing connection. Connection URL: "), url, str(".")); } } public void closeTry(String connCompID) { if (connCompID == null) { info(str("Closing the connection to the database.")); } else { info(str("Closing the connection "), connCompID, str(" to the database.")); } } public void closeDone(String connCompID) { if (connCompID == null) { info(str("Connection to the database has closed.")); } else { info(str("Connection "), connCompID, str(" to the database has closed.")); } } } class DBTableActionLogUtil extends BasicLogUtil { private DBTableActionLogUtil() {} protected DBTableActionLogUtil(org.talend.core.model.process.INode node) { super(node); } public void dropTry(String tableName) { tableActionTry(tableName, str("Dropping")); } public void dropDone(String tableName) { tableActionDone(tableName, str("Drop")); } public void createTry(String tableName) { tableActionTry(tableName, str("Creating")); } public void createDone(String tableName) { tableActionDone(tableName, str("Create")); } public void clearTry(String tableName) { tableActionTry(tableName, str("Clearing")); } public void clearDone(String tableName) { tableActionDone(tableName, str("Clear")); } public void truncateTry(String tableName) { tableActionTry(tableName, str("Truncating")); } public void truncateDone(String tableName) { tableActionDone(tableName, str("Truncate")); } public void truncateReuseStorageTry(String tableName) { tableActionTry(tableName, str("Truncating reuse storage")); } public void truncateReuseStorageDone(String tableName) { tableActionDone(tableName, str("Truncate reuse stroage")); } private void tableActionTry(String tableName, String action) { info(action, str(" table '"), tableName, str("'.")); } private void tableActionDone(String tableName, String action) { info(action, str(" table '"), tableName, str("' has succeeded.")); } } class DBCommitLogUtil extends BasicLogUtil { private DBCommitLogUtil() {} protected DBCommitLogUtil(org.talend.core.model.process.INode node) { super(node); } public void logAutoCommit(String autoCommit) { debug(str("Connection is set auto commit to '"), autoCommit, str("'.")); } public void commitTry(String connCompID, String commitCount) { if (commitCount == null && connCompID == null) { debug(str("Connection starting to commit.")); } else if (commitCount == null) { debug(str("Connection "), connCompID, str(" starting to commit.")); } else if (connCompID == null) { debug(str("Connection starting to commit "), commitCount, str(" record(s).")); } else { debug( str("Connection "), connCompID, str(" starting to commit "), commitCount, str(" record(s).")); } } public void commitDone(String connCompID) { if (connCompID == null) { debug(str("Connection commit has succeeded.")); } else { debug(str("Connection "), connCompID, (" commit has succeeded.")); } } } class DBBatchLogUtil extends BasicLogUtil { private DBBatchLogUtil() {} protected DBBatchLogUtil(org.talend.core.model.process.INode node) { super(node); } public void executeTry(String action) { debug(str("Executing the "), action, str(" batch.")); } public void executeDone(String action) { debug(str("The "), action, str(" batch execution has succeeded.")); } } class DBDataActionLogUtil extends BasicLogUtil { private DBDataActionLogUtil() {} protected DBDataActionLogUtil(org.talend.core.model.process.INode node) { super(node); } public void inserting(String nbline) { sqlAction(nbline, str("Inserting")); } public void deleting(String nbline) { sqlAction(nbline, str("Deleting")); } public void updating(String nbline) { sqlAction(nbline, str("Updating")); } public void replacing(String nbline) { sqlAction(nbline, str("Replacing")); } public void insertingOnDuplicateKeyUpdating(String nbline) { sqlAction(nbline, str("Inserting on duplicate key updating")); } public void insertingIgnore(String nbline) { sqlAction(nbline, str("Inserting ignore")); } private void sqlAction(String nbline, String action) { if (nbline == null) { debug(action, str(" the record.")); } else { debug(action, str(" the record "), nbline, str(".")); } } public void sqlExecuteTry(String sql) { debug(str("Executing '"), sql, str("'.")); } public void sqlExecuteDone(String sql) { debug(str("Execute '"), sql, str("' has succeeded.")); } public void addingToBatch(String nbline, String batchAction) { debug(str("Adding the record "), nbline, str(" to the "), batchAction, str(" batch.")); } } class DBStateLogUtil extends BasicLogUtil { private DBStateLogUtil() {} protected DBStateLogUtil(org.talend.core.model.process.INode node) { super(node); } public void logInsertedLines(String nbline) { logFinishedLines(nbline, str("inserted")); } public void logUpdatedLines(String nbline) { logFinishedLines(nbline, str("updated")); } public void logDeletedLines(String nbline) { logFinishedLines(nbline, str("deleted")); } public void logRejectedLines(String nbline) { logFinishedLines(nbline, str("rejected")); } private void logFinishedLines(String nbline, String action) { info(str("Has "), action, str(" "), nbline, str(" record(s).")); } } class DBLogUtil extends LogUtil { DBConnLogUtil conn = null; DBTableActionLogUtil table = null; DBCommitLogUtil commit = null; DBBatchLogUtil batch = null; DBDataActionLogUtil data = null; DBStateLogUtil state = null; private DBLogUtil() {} protected DBLogUtil(org.talend.core.model.process.INode node) { super(node); conn = new DBConnLogUtil(node); table = new DBTableActionLogUtil(node); commit = new DBCommitLogUtil(node); batch = new DBBatchLogUtil(node); data = new DBDataActionLogUtil(node); state = new DBStateLogUtil(node); } public DBConnLogUtil conn() { return conn; } public DBTableActionLogUtil table() { return table; } public DBCommitLogUtil commit() { return commit; } public DBBatchLogUtil batch() { return batch; } public DBDataActionLogUtil data() { return data; } public DBStateLogUtil state() { return state; } } DBLogUtil dbLog = null; CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument; INode node = (INode) codeGenArgument.getArgument(); String cid = node.getUniqueName(); dbLog = new DBLogUtil(node); String dbhost = ElementParameterParser.getValue(node, "__HOST__"); String dbport = ElementParameterParser.getValue(node, "__PORT__"); String dbname = ElementParameterParser.getValue(node, "__DBNAME__"); String dbuser = ElementParameterParser.getValue(node, "__USER__"); String spName = ElementParameterParser.getValue(node, "__SP_NAME__"); boolean isFunction = ("true").equals(ElementParameterParser.getValue(node, "__IS_FUNCTION__")); List<Map<String, String>> spArgs = (List<Map<String, String>>) ElementParameterParser.getObjectValue(node, "__SP_ARGS__"); stringBuffer.append(TEXT_43); stringBuffer.append(cid); stringBuffer.append(TEXT_44); String useExistingConn = ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__"); if (("true").equals(useExistingConn)) { String connection = ElementParameterParser.getValue(node, "__CONNECTION__"); String conn = "conn_" + connection; stringBuffer.append(TEXT_45); stringBuffer.append(cid); stringBuffer.append(TEXT_46); stringBuffer.append(conn); stringBuffer.append(TEXT_47); INode connectionNode = NodeUtil.getNodeByUniqueName(node.getProcess(), connection); boolean specify_alias = "true" .equals( ElementParameterParser.getValue(connectionNode, "__SPECIFY_DATASOURCE_ALIAS__")); if (specify_alias) { String alias = ElementParameterParser.getValue(connectionNode, "__DATASOURCE_ALIAS__"); String autoCommit = "true".equals(ElementParameterParser.getValue(connectionNode, "__AUTO_COMMIT__")) ? "true" : "false"; stringBuffer.append(TEXT_48); stringBuffer.append(cid); stringBuffer.append(TEXT_49); stringBuffer.append(cid); stringBuffer.append(TEXT_50); stringBuffer.append(cid); stringBuffer.append(TEXT_51); stringBuffer.append(cid); stringBuffer.append(TEXT_52); stringBuffer.append((null != alias && !("".equals(alias))) ? alias : "\"\""); stringBuffer.append(TEXT_53); } dbLog .conn() .useExistConn( "connection_" + cid + ".getMetaData().getURL()", "connection_" + cid + ".getMetaData().getUserName()"); } else { boolean specify_alias = "true".equals(ElementParameterParser.getValue(node, "__SPECIFY_DATASOURCE_ALIAS__")); if (specify_alias) { String alias = ElementParameterParser.getValue(node, "__DATASOURCE_ALIAS__"); stringBuffer.append(TEXT_54); stringBuffer.append(cid); stringBuffer.append(TEXT_55); stringBuffer.append(cid); stringBuffer.append(TEXT_56); stringBuffer.append(cid); stringBuffer.append(TEXT_57); stringBuffer.append(cid); stringBuffer.append(TEXT_58); stringBuffer.append((null != alias && !("".equals(alias))) ? alias : "\"\""); stringBuffer.append(TEXT_59); } String dbproperties = ElementParameterParser.getValue(node, "__PROPERTIES__"); if (dbproperties == null || ("\"\"").equals(dbproperties) || ("").equals(dbproperties)) { stringBuffer.append(TEXT_60); stringBuffer.append(cid); stringBuffer.append(TEXT_61); stringBuffer.append(dbhost); stringBuffer.append(TEXT_62); stringBuffer.append(dbport); stringBuffer.append(TEXT_63); stringBuffer.append(dbname); stringBuffer.append(TEXT_64); } else { stringBuffer.append(TEXT_65); stringBuffer.append(cid); stringBuffer.append(TEXT_66); stringBuffer.append(dbhost); stringBuffer.append(TEXT_67); stringBuffer.append(dbport); stringBuffer.append(TEXT_68); stringBuffer.append(dbname); stringBuffer.append(TEXT_69); stringBuffer.append(dbproperties); stringBuffer.append(TEXT_70); } stringBuffer.append(TEXT_71); dbLog.conn().logJDBCDriver(dbLog.str("com.ibm.db2.jcc.DB2Driver")); String passwordFieldName = "__PASS__"; stringBuffer.append(TEXT_72); if (ElementParameterParser.canEncrypt(node, passwordFieldName)) { stringBuffer.append(TEXT_73); stringBuffer.append(cid); stringBuffer.append(TEXT_74); stringBuffer.append(ElementParameterParser.getEncryptedValue(node, passwordFieldName)); stringBuffer.append(TEXT_75); } else { stringBuffer.append(TEXT_76); stringBuffer.append(cid); stringBuffer.append(TEXT_77); stringBuffer.append(ElementParameterParser.getValue(node, passwordFieldName)); stringBuffer.append(TEXT_78); } dbLog.conn().connTry(dbLog.var("url"), dbuser); stringBuffer.append(TEXT_79); stringBuffer.append(cid); stringBuffer.append(TEXT_80); stringBuffer.append(cid); stringBuffer.append(TEXT_81); stringBuffer.append(dbuser); stringBuffer.append(TEXT_82); stringBuffer.append(cid); stringBuffer.append(TEXT_83); dbLog.conn().connDone(dbLog.var("url")); if (specify_alias) { stringBuffer.append(TEXT_84); } } dbLog.commit().logAutoCommit("connection_" + cid + ".getAutoCommit()"); stringBuffer.append(TEXT_85); stringBuffer.append(cid); stringBuffer.append(TEXT_86); stringBuffer.append(cid); stringBuffer.append(TEXT_87); stringBuffer.append(isFunction ? "? = " : ""); stringBuffer.append(TEXT_88); stringBuffer.append(spName); stringBuffer.append(TEXT_89); boolean isFirstArg = true; for (int i = 0; i < spArgs.size(); i++) { if (!("RECORDSET").equals(spArgs.get(i).get("TYPE"))) { if (isFirstArg) { stringBuffer.append(TEXT_90); isFirstArg = false; } else { stringBuffer.append(TEXT_91); } } } stringBuffer.append(TEXT_92); stringBuffer.append(cid); stringBuffer.append(TEXT_93); stringBuffer.append(cid); stringBuffer.append(TEXT_94); stringBuffer.append(TEXT_95); return stringBuffer.toString(); }