Compare commits

...

54 Commits

Author SHA1 Message Date
wwang-talend
6758a3424b fix(TPS-4723): [7.3.1] Getting Permission denied error in tFileInputExcel in Talend (TDI-45561) 2021-03-04 16:50:00 +08:00
kjwang
11a41a331e Fix: TUP-26185 Merge GIT branches - Conflict resolution - the "Compare (#5876)
Fix: TUP-26185 Merge GIT branches - Conflict resolution - the "Compare Result" view does not display differences with a tELTMap component
https://jira.talendforge.org/browse/TUP-26185
2021-03-04 14:12:06 +08:00
Jane Ding
e9fa81a1c8 fix(TUP-30548):Debugger does not work in 7.3 if the installation path (#5894)
* fix(TUP-30548):Debugger does not work in 7.3 if the installation path
contains space
https://jira.talendforge.org/browse/TUP-30548

Signed-off-by: jding-tlnd <jding@talend.com>

* fix(TUP-30548):Debugger does not work in 7.3 if the installation path
contains space
https://jira.talendforge.org/browse/TUP-30548

Signed-off-by: jding-tlnd <jding@talend.com>
2021-03-03 22:54:28 +08:00
Emmanuel GALLOIS
9153d30f6e feat(TDI-45704): bump component-runtime to 1.30.0 (#5891)
* feat(TDI-45704): bump component-runtime to 1.30.0
* feat(TDI-45704): fix tests
* feat(TDI-45704): cleanup imports
2021-03-03 10:06:21 +01:00
wang wei
dd863cfd15 fix(TDI-45561): Getting Permission denied error in tFileInputExcel in (#5784)
Co-authored-by: qyliu <qyliu@talend.com>
2021-03-03 10:52:01 +08:00
pyzhou
55d48cfe91 fix(TDI-45418):Upgrade Jackson libraries (#5884) 2021-03-03 10:48:44 +08:00
vyu-talend
7b325e8707 fix(TDI-45613):fix the issue in md5. (#5851) 2021-03-02 18:25:49 +08:00
jiezhang-tlnd
7465b41a34 TUP-27851 Upgrade xstream to xstream 1.4.12 (#5788) 2021-03-01 18:33:37 +08:00
jiezhang-tlnd
79fb201844 chore(TUP-27224)Update Daikon Crypto Utils to 1.15.0 (#5807)
* chore(TUP-27224)Update Daikon Crypto Utils to 1.15.0

* chore(TUP-27224)add migration
2021-03-01 15:50:40 +08:00
pyzhou
45edbf18a1 fix(TDI-45668) CVE ant tfileUnactive (#5868) 2021-03-01 09:30:38 +08:00
bhe-talendbj
f347a16522 chore(TUP-30230): Remove org.talend.libraries.apache.batik (#5766) 2021-02-26 14:39:26 +08:00
apoltavtsev
b9e4faf2bd fix(TESB-32252) Ignore "SNAPSHOT" during dependencies comparison 2021-02-25 07:12:29 +01:00
Chao MENG
1ab7eaeca6 feat(TUP-29801): Improve logon dialog loading time (#5731)
* feat(TUP-29801): Improve logon dialog loading time
https://jira.talendforge.org/browse/TUP-29801

* feat(TUP-29801): Improve logon dialog loading time
https://jira.talendforge.org/browse/TUP-29801

* feat(TUP-29801): Improve logon dialog loading time
https://jira.talendforge.org/browse/TUP-29801
2021-02-24 10:35:43 +08:00
jiezhang-tlnd
069a7b26c3 fix(TUP-30273)tDBOutput component compilation error (#5797)
https://jira.talendforge.org/browse/TUP-30273
2021-02-23 16:33:16 +08:00
pyzhou
6a3651d3b6 fix(TDI-45436):upgrade xstream 2021-02-20 17:59:43 +08:00
Laurent BOURGEOIS
029c0ccb5c fix(TBD-11971):Spark joblets keeps defaulting to HDFS (#5824) 2021-02-12 11:24:12 +01:00
Emmanuel GALLOIS
1382b4efb4 feat(TDI-45225): bump component-runtime to 1.29.1 (#5801)
* feat(TDI-45225): bump component-runtime to 1.28.2 for bouncycastle CVE
2021-02-12 09:55:20 +01:00
hzhao-talendbj
b0d3a70cf3 fix(TUP-30373): Implicit Context with field separator tab "\t" doesn't work (#5825)
* fix(TUP-30373): Implicit Context with field separator tab "\t" doesn't
work anymore

* TUP-30373  code change + add junit
2021-02-09 17:33:32 +08:00
Dmytro Sylaiev
1f20471fbe fix(TDI-45476): Remove adding second list (#5838) 2021-02-09 11:08:34 +02:00
vdrokov
d28ffc5736 TESB-32126: Null pointer exception when accessing job properties (#5837) 2021-02-08 18:01:19 +02:00
vdrokov
146cf1dc0e TESB-31783: Failed to get nested archive for entry BOOT-INF/lib/aws-j… (#5745)
* TESB-31783: Failed to get nested archive for entry BOOT-INF/lib/aws-java-sdk-1.11.848.jar Caused by: java.lang.IllegalStateException: Zip64 archives are not support

* TESB-31783: Failed to get nested archive for entry BOOT-INF/lib/aws-java-sdk-1.11.848.jar Caused by: java.lang.IllegalStateException: Zip64 archives are not supported
2021-02-08 09:26:41 +01:00
hcyi
6c03ca588a fix(TUP-30067):Dataproc Hive metadata not in sync with Hive component. (#5815) 2021-02-08 15:39:19 +08:00
pyzhou
b528ca9a0d fix(TDI-45529):CVE bouncy castle tcloudXXX (#5805) 2021-02-07 16:05:50 +08:00
vyu-talend
888765461c Vyu/tdi 43232 improve where clause for eltoutput m3 (#5774)
* feat(TDI-43232):improve where clause for eltoutput

* feat(TDI-43232):fix some mistakes.

* feat(TDI-43232):fix some issues found by QA.

* feat(TDI-43232):optimize code

* feat(TDI-43232):fix some errors.
2021-02-07 15:17:20 +08:00
ovladyka
ae2f00f1a8 Revert "fix(TDI-45503):Comma missing for tELTMap with multiple inputs, when aliases are used (#5821)" (#5826)
This reverts commit a92fedb9b4.
2021-02-05 11:44:58 +02:00
sbliu
704b63d59c fix(TUP-30186) fix unit test failure. (#5819) 2021-02-05 10:37:00 +08:00
ovladyka
a92fedb9b4 fix(TDI-45503):Comma missing for tELTMap with multiple inputs, when aliases are used (#5821)
Co-authored-by: Oleksandr Vladyka <oleksandr.vladyka@synapse.com>
2021-02-04 16:31:25 +02:00
Hanna Liashchuk
f1a7d2f235 fix(TBD-11964): migration task for use local timezone (#5802)
* fix(TBD-11964): migration task for use local timezone

* fix(TBD-11964): correct date
2021-02-04 13:15:13 +02:00
Dmytro Sylaiev
1702b27493 fix(TDI-45476): Increate tFileOutputMSXML performance (#5741)
* fix(TDI-45476): Increate tFileOutputMSXML performance

* fix(TDI-45476): Change generic type for list to avoid compile error

* fix(TDI-45476): Store sublist into the resourceMap

* fix(TDI-45476): Fix code compile error
2021-02-04 13:02:17 +02:00
bhe-talendbj
cf55315820 fix(TUP-29764): encrypt all PASSWORD fields of job in new format (#5760)
* fix(TUP-29764): migrate all PASSWORD fields of job

* fix(TUP-29764): Resolve comments
2021-02-03 18:02:38 +08:00
vdrokov
d25b125c08 TESB-31044: Data service's endpoint can't be updated if passed as a context variable (#5772) 2021-02-03 09:58:30 +02:00
clesaec
290d9566ed TDI-40364 - change encoding buffer (#5764)
* TDI-40364 : adapt buffer size
2021-02-03 08:23:19 +01:00
pyzhou
0c85bdc4be Pyzhou/tdi 45463 t elt components support delta lake (#5758)
* feat(TDI-45463):tELT components support Delta Lake

* Add delta lake to xml

* add property name

* change logic to hive

* disable Delta Lake for tSQLTemplateMerge

* Revert "disable Delta Lake for tSQLTemplateMerge"

This reverts commit febd9b7e55.

* remove useless code

* correct partition

* correct partition

* add space

* correct mapping and create table

* revert change for tCreateTable_java.xml

* deactive update mode for Delta Lake tELTOutput

* format

* set not-required for partition

* remove test code
2021-02-02 17:36:45 +08:00
jiezhang-tlnd
a4cb0d13d2 fix(TUP-28519):Update org.talend.libraries.apache.google jars (#5199) (#5800)
remove org.talend.libraries.apache.google plugin
https://jira.talendforge.org/browse/TUP-28519

Co-authored-by: Jane Ding <jding@talend.com>
2021-02-02 16:16:20 +08:00
sbliu
502742bad2 fix(TUP-30186) On studio ,java.lang.RuntimeException: Illegal hexadecimal character m at index 0.
fix encode problem when saving job,fix load job problem caused by wrong hex value decode.
handle the wrong migration of hex value, add new migration task to handle wrong jar mvn GAV when import data during last migration, append unit test.
2021-02-02 14:04:52 +08:00
Laurent BOURGEOIS
83a64d3d2c feat(TBD-10921):Add Spark local 3.0.x (#5658) 2021-01-29 18:17:51 +01:00
kjwang
30bbb27e87 Fix TUP-29885 ERROR: Some patches are not compatible with current product (#5714)
* Fix TUP-29885 ERROR: Some patches are not compatible with current
product
https://jira.talendforge.org/browse/TUP-29885
2021-01-29 17:29:56 +08:00
pyzhou
b554d94736 Pyzhou/tdi 45542 t redshift bulk exec support parquet 7.3 (#5795)
* feat(TDI-45542):tRedshiftBulkExec support parquet

* Add STATUPDATE checkbox

* fix show if
2021-01-29 16:07:21 +08:00
Jane Ding
13bbfcca1d fix(TUP-23738):The couchbase icon is not correct when import (#5713)
https://jira.talendforge.org/browse/TUP-23738

Signed-off-by: jding-tlnd <jding@talend.com>
2021-01-29 10:05:04 +08:00
zyuan-talend
6bebbba8ee fix(TUP-23477):fix TreeToTable connection line issue on Mac with BigSur. (#5786) 2021-01-29 09:54:14 +08:00
hcyi
37dc7ca816 fix(TUP-30108):tELTMSSqlInput & tELTMSSqlMap context not recognized after migrating to 7.3.1. (#5751)
* fix(TUP-30108):tELTMSSqlInput & tELTMSSqlMap context not recognized
after migrating to 7.3.1.

* fix(TUP-30108):add more junits .

* fix(TUP-30108):tELTMSSqlInput & tELTMSSqlMap context not recognized
after migrating to 7.3.1
2021-01-28 15:31:23 +08:00
jzhao
242fa6c729 fix(TDI-45400):Dynamic Schema has default length of 100 even after setting to different amount (#5770)
* fix(TDI-45400):Dynamic Schema has default length of 100 even after
setting to different amount.

* fix(TDI-45400):add migration task
2021-01-28 10:57:34 +08:00
wang wei
d1d4dcd7f6 fix(TDI-45432): tBigQueryOutput fails when the checkbox "Create the table if it doesn't exist" is ticked (#5691) 2021-01-26 11:02:06 +08:00
pyzhou
885d14671a fix(TDI-45447): Upgrade bouncycastle to 1.68 2021-01-25 16:17:10 +08:00
clesaec
8fa189bd31 TDI-29308 - Json (#5726) 2021-01-22 07:50:49 +01:00
vdrokov
fe86a1ef43 TESB-31657: AWS SQS not able to deploy to Runtime (#5742) 2021-01-21 18:17:52 +01:00
vdrokov
8751efe56e TESB-31563: Microservice: ClassNotFoundException: org.eclipse.jetty.client.HttpClientTransport (#5670) 2021-01-21 16:55:52 +02:00
mbasiuk-talend
236fb7fc65 fix(TDI-45455): excel output exceeding characters (#5730)
* fix(TDI-45455): truncate exceeding characters, use property

* fix(TDI-45455): add one missing place

* fix(TDI-45455): improve property wording
2021-01-20 20:43:19 +02:00
Chao MENG
c55409088f fix(TUP-30170): [7.3.1] tHbaseInput error with R2020-11 or higher (#5749)
java.lang.String cannot be cast to java.util.List
https://jira.talendforge.org/browse/TUP-30170

Conflicts:
	main/plugins/org.talend.designer.core/src/main/java/org/talend/designer/core/ui/editor/cmd/ChangeValuesFromRepository.java
2021-01-19 17:18:42 +08:00
jzhao
7ead0130ac fix(TDI-45513):tGreenplumGPLoad global variable "RUNTIME" should be Long type(#5746) 2021-01-19 14:28:04 +08:00
clesaec
562d3700b1 TDI-32744 : sub process (#5724) 2021-01-18 11:16:52 +01:00
Emmanuel GALLOIS
3d5fb83763 feat(TDI-45225): upgrade component-runtime to 1.1.29 (#5600)
* feat(TDI-45225): fix test import errors due by bump xbean to 4.18
* feat(TDI-45225): fix deps svc
* feat(TDI-45225): bump component-runtime to 1.28.1
* feat(TDI-45225): fix microservices classloading issues with SPI
2021-01-14 10:24:26 +01:00
zyuan-talend
41f1df71d7 fix(TUP-29784): fix WebService display issues on Mac with BigSur. (#5720) 2021-01-13 17:22:43 +08:00
jzhao
0f7596dcb8 feat(TDI-45144): Support For GreenPlum 6.x (#5716)
* correct and update greenplum driver version
* deprecate postgresql driver
2021-01-12 10:13:46 +08:00
221 changed files with 5421 additions and 2794 deletions

57
PATCH_RELEASE_NOTE.md Normal file
View File

@@ -0,0 +1,57 @@
---
version: 7.3.1
module: https://talend.poolparty.biz/coretaxonomy/42
product:
- https://talend.poolparty.biz/coretaxonomy/23
---
# TPS-4723
| Info | Value |
| ---------------- | ---------------- |
| Patch Name | Patch\_20210304\_TPS-4723\_v1-7.3.1 |
| Release Date | 2021-03-04 |
| Target Version | 20200219_1130-V7.3.1 |
| Product affected | Talend Studio |
## Introduction
This is a self-contained patch.
**NOTE**: For information on how to obtain this patch, reach out to your Support contact at Talend.
## Fixed issues
This patch contains the following fixes:
- TPS-4723 [7.3.1] Getting Permission denied error in tFileInputExcel in Talend (TDI-45561)
## Prerequisites
Consider the following requirements for your system:
- Talend Studio 7.3.1 and Patch_20200529_R2020-05_v1-7.3.1 must be installed.
## Installation
### Installing the patch using Software update
1) Logon TAC and switch to Configuration->Software Update, then enter the correct values and save referring to the documentation: https://help.talend.com/reader/f7Em9WV_cPm2RRywucSN0Q/j9x5iXV~vyxMlUafnDejaQ
2) Switch to Software update page, where the new patch will be listed. The patch can be downloaded from here into the nexus repository.
3) On Studio Side: Logon Studio with remote mode, on the logon page the Update button is displayed: click this button to install the patch.
### Installing the patch using Talend Studio
1) Create a folder named "patches" under your studio installer directory and copy the patch .zip file to this folder.
2) Restart your studio: a window pops up, then click OK to install the patch, or restart the commandline and the patch will be installed automatically.
### Installing the patch using Commandline
Execute the following commands:
1. Talend-Studio-win-x86_64.exe -nosplash -application org.talend.commandline.CommandLine -consoleLog -data commandline-workspace startServer -p 8002 --talendDebug
2. initRemote {tac_url} -ul {TAC login username} -up {TAC login password}
3. checkAndUpdate -tu {TAC login username} -tup {TAC login password}

View File

@@ -16,11 +16,9 @@
</requires>
<plugin id="org.talend.libraries.apache" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.axis2" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.batik" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.chemistry" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.common" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.cxf" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.google" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.http" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.lucene" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.apache.xml" download-size="0" install-size="0" version="0.0.0"/>

View File

@@ -642,6 +642,16 @@
}
%>
boolean inOSGi = routines.system.BundleUtils.inOSGi();
if (inOSGi) {
java.util.Dictionary<String, Object> jobProperties = routines.system.BundleUtils.getJobProperties(jobName);
if (jobProperties != null) {
contextStr = (String)jobProperties.get("context");
}
}
try {
//call job/subjob with an existing context, like: --context=production. if without this parameter, there will use the default context instead.
java.io.InputStream inContext = <%=className%>.class.getClassLoader().getResourceAsStream("<%=jobClassPackageFolder%>/contexts/" + contextStr + ".properties");

View File

@@ -44,7 +44,7 @@
INode startNode = subTree.getRootNode();
String startNodeId = startNode.getUniqueName();
if(startNodeId!=null && startNodeId.startsWith("tCollector")) {
if ("tCollector".equals( startNode.getComponent().getOriginalName() )) {
List<? extends INode> departitioners = startNode.getProcess().getNodesOfType("tDepartitioner");
if(departitioners!=null) {
for(INode departitioner : departitioners) {

View File

@@ -4,7 +4,7 @@
<groupId>org.talend</groupId>
<artifactId>talend-httputil</artifactId>
<name>talend-httputil</name>
<version>1.0.5</version>
<version>1.0.6</version>
<properties>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
@@ -20,7 +20,7 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.1</version>
<version>2.11.4</version>
</dependency>
<dependency>

View File

@@ -118,7 +118,7 @@
<IMPORT NAME="Driver-JACKCESS" MODULE="jackcess-2.1.12.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess/2.1.12" REQUIRED="true"/>
<IMPORT NAME="jackcess-encrypt-2.1.4" MODULE="jackcess-encrypt-2.1.4.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess-encrypt/2.1.4" REQUIRED="true"/>
<IMPORT NAME="bcprov-jdk15on-1.60" MODULE="bcprov-jdk15on-1.60.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.60" REQUIRED="true"/>
<IMPORT NAME="bcprov-jdk15on-1.68" MODULE="bcprov-jdk15on-1.68.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.68" REQUIRED="true"/>
<IMPORT NAME="talend-ucanaccess-utils-1.0.0" MODULE="talend-ucanaccess-utils-1.0.0.jar" MVN="mvn:org.talend.libraries/talend-ucanaccess-utils-1.0.0/6.4.0" UrlPath="platform:/plugin/org.talend.libraries.jdbc.access/lib/talend-ucanaccess-utils-1.0.0.jar" REQUIRED="true"/>
<IMPORT NAME="common2.6" MODULE="commons-lang-2.6.jar" MVN="mvn:commons-lang/commons-lang/2.6" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-lang-2.6.jar" REQUIRED="true"/>

View File

@@ -121,7 +121,7 @@
<IMPORT NAME="Driver-JACKCESS" MODULE="jackcess-2.1.12.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess/2.1.12" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="jackcess-encrypt-2.1.4" MODULE="jackcess-encrypt-2.1.4.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess-encrypt/2.1.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="bcprov-jdk15on-1.60" MODULE="bcprov-jdk15on-1.60.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.60" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="bcprov-jdk15on-1.68" MODULE="bcprov-jdk15on-1.68.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.68" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="talend-ucanaccess-utils-1.0.0" MODULE="talend-ucanaccess-utils-1.0.0.jar" MVN="mvn:org.talend.libraries/talend-ucanaccess-utils-1.0.0/6.4.0" UrlPath="platform:/plugin/org.talend.libraries.jdbc.access/lib/talend-ucanaccess-utils-1.0.0.jar" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="common2.6" MODULE="commons-lang-2.6.jar" MVN="mvn:commons-lang/commons-lang/2.6" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-lang-2.6.jar" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>

View File

@@ -207,7 +207,7 @@
<IMPORT NAME="Driver-JACKCESS" MODULE="jackcess-2.1.12.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess/2.1.12" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="jackcess-encrypt-2.1.4" MODULE="jackcess-encrypt-2.1.4.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess-encrypt/2.1.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="bcprov-jdk15on-1.60" MODULE="bcprov-jdk15on-1.60.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.60" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="bcprov-jdk15on-1.68" MODULE="bcprov-jdk15on-1.68.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.68" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="talend-ucanaccess-utils-1.0.0" MODULE="talend-ucanaccess-utils-1.0.0.jar" MVN="mvn:org.talend.libraries/talend-ucanaccess-utils-1.0.0/6.4.0" UrlPath="platform:/plugin/org.talend.libraries.jdbc.access/lib/talend-ucanaccess-utils-1.0.0.jar" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="common2.6" MODULE="commons-lang-2.6.jar" MVN="mvn:commons-lang/commons-lang/2.6" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-lang-2.6.jar" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>

View File

@@ -181,7 +181,7 @@
<IMPORT NAME="Driver-JACKCESS" MODULE="jackcess-2.1.12.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess/2.1.12" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="jackcess-encrypt-2.1.4" MODULE="jackcess-encrypt-2.1.4.jar" MVN="mvn:com.healthmarketscience.jackcess/jackcess-encrypt/2.1.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="bcprov-jdk15on-1.60" MODULE="bcprov-jdk15on-1.60.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.60" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="bcprov-jdk15on-1.68" MODULE="bcprov-jdk15on-1.68.jar" MVN="mvn:org.bouncycastle/bcprov-jdk15on/1.68" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="talend-ucanaccess-utils-1.0.0" MODULE="talend-ucanaccess-utils-1.0.0.jar" MVN="mvn:org.talend.libraries/talend-ucanaccess-utils-1.0.0/6.4.0" UrlPath="platform:/plugin/org.talend.libraries.jdbc.access/lib/talend-ucanaccess-utils-1.0.0.jar" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="common2.6" MODULE="commons-lang-2.6.jar" MVN="mvn:commons-lang/commons-lang/2.6" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-lang-2.6.jar" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false')"/>

View File

@@ -231,14 +231,14 @@
<IMPORT NAME="aws-java-sdk-1.11.848.jar" MODULE="aws-java-sdk-1.11.848.jar"
MVN="mvn:com.amazonaws/aws-java-sdk/1.11.848"
REQUIRED="true" />
<IMPORT NAME="jackson-core-2.10.1.jar" MODULE="jackson-core-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
<IMPORT NAME="jackson-core-2.11.4.jar" MODULE="jackson-core-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-databind-2.10.1.jar" MODULE="jackson-databind-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
<IMPORT NAME="jackson-databind-2.11.4.jar" MODULE="jackson-databind-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-annotations-2.10.1.jar" MODULE="jackson-annotations-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
<IMPORT NAME="jackson-annotations-2.11.4.jar" MODULE="jackson-annotations-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED="true" />
<IMPORT NAME="httpcore-4.4.13.jar" MODULE="httpcore-4.4.13.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.13"

View File

@@ -558,14 +558,14 @@
<IMPORT NAME="aws-java-sdk-1.11.848.jar" MODULE="aws-java-sdk-1.11.848.jar"
MVN="mvn:com.amazonaws/aws-java-sdk/1.11.848"
REQUIRED="true" />
<IMPORT NAME="jackson-core-2.10.1.jar" MODULE="jackson-core-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
<IMPORT NAME="jackson-core-2.11.4.jar" MODULE="jackson-core-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-databind-2.10.1.jar" MODULE="jackson-databind-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
<IMPORT NAME="jackson-databind-2.11.4.jar" MODULE="jackson-databind-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-annotations-2.10.1.jar" MODULE="jackson-annotations-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
<IMPORT NAME="jackson-annotations-2.11.4.jar" MODULE="jackson-annotations-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED="true" />
<IMPORT NAME="httpcore-4.4.13.jar" MODULE="httpcore-4.4.13.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.13"

View File

@@ -288,14 +288,14 @@
<IMPORT NAME="aws-java-sdk-1.11.848.jar" MODULE="aws-java-sdk-1.11.848.jar"
MVN="mvn:com.amazonaws/aws-java-sdk/1.11.848"
REQUIRED="true" />
<IMPORT NAME="jackson-core-2.10.1.jar" MODULE="jackson-core-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
<IMPORT NAME="jackson-core-2.11.4.jar" MODULE="jackson-core-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-databind-2.10.1.jar" MODULE="jackson-databind-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
<IMPORT NAME="jackson-databind-2.11.4.jar" MODULE="jackson-databind-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-annotations-2.10.1.jar" MODULE="jackson-annotations-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
<IMPORT NAME="jackson-annotations-2.11.4.jar" MODULE="jackson-annotations-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED="true" />
<IMPORT NAME="httpcore-4.4.13.jar" MODULE="httpcore-4.4.13.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.13"

View File

@@ -348,14 +348,14 @@
<IMPORT NAME="aws-java-sdk-1.11.848.jar" MODULE="aws-java-sdk-1.11.848.jar"
MVN="mvn:com.amazonaws/aws-java-sdk/1.11.848"
REQUIRED="true" />
<IMPORT NAME="jackson-core-2.10.1.jar" MODULE="jackson-core-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
<IMPORT NAME="jackson-core-2.11.4.jar" MODULE="jackson-core-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-databind-2.10.1.jar" MODULE="jackson-databind-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
<IMPORT NAME="jackson-databind-2.11.4.jar" MODULE="jackson-databind-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-annotations-2.10.1.jar" MODULE="jackson-annotations-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
<IMPORT NAME="jackson-annotations-2.11.4.jar" MODULE="jackson-annotations-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED="true" />
<IMPORT NAME="httpcore-4.4.13.jar" MODULE="httpcore-4.4.13.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.13"

View File

@@ -279,22 +279,25 @@
</ADVANCED_PARAMETERS>
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-oauth2-v2-rev151-1.25.0.jar" MODULE="google-api-services-oauth2-v2-rev151-1.25.0.jar" MVN="mvn:com.google.apis/google-api-services-oauth2/v2-rev151-1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-bigquery-v2-rev454-1.25.0.jar" MODULE="google-api-services-bigquery-v2-rev454-1.25.0.jar" MVN="mvn:com.google.apis/google-api-services-bigquery/v2-rev454-1.25.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-1.25.0.jar" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED="true" />
<IMPORT NAME="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MODULE="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-oauth2/v2-rev20200213-1.31.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MODULE="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-bigquery/v2-rev20201030-1.31.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-1.38.0.jar" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED="true" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-jackson2-1.25.0.jar" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-jackson2-1.38.0.jar" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED="true" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED="true" />
<IMPORT NAME="jackson-core-2.10.1.jar" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED="true" />
<IMPORT NAME="jackson-core-2.11.4.jar" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED="true" />
<!-- REQUIRED FOR GOOGLE STORAGE -->
<IMPORT NAME="jets3t-0.9.1" MODULE="jets3t-0.9.1.jar" MVN="mvn:org.talend.libraries/jets3t-0.9.1/6.0.0" REQUIRED="true" />
<IMPORT NAME="commons-logging-1.2" MODULE="commons-logging-1.2.jar" MVN="mvn:commons-logging/commons-logging/1.2" REQUIRED="true" />
<IMPORT NAME="httpclient-4.5.12" MODULE="httpclient-4.5.12.jar" MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12" REQUIRED="true" />
<IMPORT NAME="httpcore-4.4.13" MODULE="httpcore-4.4.13.jar" MVN="mvn:org.apache.httpcomponents/httpcore/4.4.13" REQUIRED="true" />
<IMPORT NAME="commons-codec-1.14" MODULE="commons-codec-1.14.jar" MVN="mvn:commons-codec/commons-codec/1.14" REQUIRED="true" />
<IMPORT NAME="google-cloud-bigquery-1.60.0.jar" MODULE="google-cloud-bigquery-1.60.0.jar" MVN="mvn:com.google.cloud/google-cloud-bigquery/1.60.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-cloud-bigquery-1.126.3.jar" MODULE="google-cloud-bigquery-1.126.3.jar" MVN="mvn:com.google.cloud/google-cloud-bigquery/1.126.3" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<!-- TODO remove it -->
<IMPORT NAME="google-http-client-jackson-1.25.0.jar" MODULE="google-http-client-jackson-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson/1.25.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="threetenbp-1.3.3.jar" MODULE="threetenbp-1.3.3.jar" MVN="mvn:org.threeten/threetenbp/1.3.3" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-auth-library-credentials-0.20.0.jar" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="gax-httpjson-0.44.0.jar" MODULE="gax-httpjson-0.44.0.jar" MVN="mvn:com.google.api/gax-httpjson/0.44.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
@@ -303,19 +306,19 @@
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="gax-1.27.0.jar" MODULE="gax-1.27.0.jar" MVN="mvn:com.google.api/gax/1.27.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="api-common-1.6.0.jar" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(AUTH_MODE == 'SERVICEACCOUNT') OR (AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED="true" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED="true" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED="true" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(AUTH_TYPE == 'GS_SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />

View File

@@ -201,16 +201,19 @@
</ADVANCED_PARAMETERS>
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-oauth2-v2-rev151-1.25.0.jar" MODULE="google-api-services-oauth2-v2-rev151-1.25.0.jar" MVN="mvn:com.google.apis/google-api-services-oauth2/v2-rev151-1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-bigquery-v2-rev454-1.25.0.jar" MODULE="google-api-services-bigquery-v2-rev454-1.25.0.jar" MVN="mvn:com.google.apis/google-api-services-bigquery/v2-rev454-1.25.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-1.25.0.jar" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED="true" />
<IMPORT NAME="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MODULE="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-oauth2/v2-rev20200213-1.31.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MODULE="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-bigquery/v2-rev20201030-1.31.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-1.38.0.jar" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED="true" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-jackson2-1.25.0.jar" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-jackson2-1.38.0.jar" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED="true" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED="true" />
<IMPORT NAME="jackson-core-2.10.1.jar" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED="true" />
<IMPORT NAME="google-cloud-bigquery-1.60.0.jar" MODULE="google-cloud-bigquery-1.60.0.jar" MVN="mvn:com.google.cloud/google-cloud-bigquery/1.60.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="jackson-core-2.11.4.jar" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED="true" />
<IMPORT NAME="google-cloud-bigquery-1.126.3.jar" MODULE="google-cloud-bigquery-1.126.3.jar" MVN="mvn:com.google.cloud/google-cloud-bigquery/1.126.3" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<!-- TODO remove it -->
<IMPORT NAME="google-http-client-jackson-1.25.0.jar" MODULE="google-http-client-jackson-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson/1.25.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="threetenbp-1.3.3.jar" MODULE="threetenbp-1.3.3.jar" MVN="mvn:org.threeten/threetenbp/1.3.3" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="google-auth-library-credentials-0.20.0.jar" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="gax-httpjson-0.44.0.jar" MODULE="gax-httpjson-0.44.0.jar" MVN="mvn:com.google.api/gax-httpjson/0.44.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
@@ -219,8 +222,11 @@
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="gax-1.27.0.jar" MODULE="gax-1.27.0.jar" MVN="mvn:com.google.api/gax/1.27.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="api-common-1.6.0.jar" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED="true" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED="true" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED="true" />
</IMPORTS>
</CODEGENERATION>
<RETURNS>

View File

@@ -188,21 +188,24 @@
</ADVANCED_PARAMETERS>
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-oauth2-v2-rev151-1.25.0.jar" MODULE="google-api-services-oauth2-v2-rev151-1.25.0.jar" MVN="mvn:com.google.apis/google-api-services-oauth2/v2-rev151-1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-bigquery-v2-rev454-1.25.0.jar" MODULE="google-api-services-bigquery-v2-rev454-1.25.0.jar" MVN="mvn:com.google.apis/google-api-services-bigquery/v2-rev454-1.25.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-1.25.0.jar" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED="true" />
<IMPORT NAME="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MODULE="google-api-services-oauth2-v2-rev20200213-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-oauth2/v2-rev20200213-1.31.0" REQUIRED="true" />
<IMPORT NAME="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MODULE="google-api-services-bigquery-v2-rev20201030-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-bigquery/v2-rev20201030-1.31.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-1.38.0.jar" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED="true" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-jackson2-1.25.0.jar" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED="true" />
<IMPORT NAME="google-http-client-jackson2-1.38.0.jar" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED="true" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED="true"/>
<IMPORT NAME="jackson-core-2.10.1.jar" MODULE="jackson-core-2.10.1.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED="true"/>
<IMPORT NAME="google-cloud-bigquery-1.60.0.jar" MODULE="google-cloud-bigquery-1.60.0.jar"
MVN="mvn:com.google.cloud/google-cloud-bigquery/1.60.0"
<IMPORT NAME="jackson-core-2.11.4.jar" MODULE="jackson-core-2.11.4.jar"
MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED="true"/>
<IMPORT NAME="google-cloud-bigquery-1.126.3.jar" MODULE="google-cloud-bigquery-1.126.3.jar"
MVN="mvn:com.google.cloud/google-cloud-bigquery/1.126.3"
REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
<!-- TODO remove it -->
<IMPORT NAME="google-http-client-jackson-1.25.0.jar" MODULE="google-http-client-jackson-1.25.0.jar"
MVN="mvn:com.google.http-client/google-http-client-jackson/1.25.0"
REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
<IMPORT NAME="threetenbp-1.3.3.jar" MODULE="threetenbp-1.3.3.jar" MVN="mvn:org.threeten/threetenbp/1.3.3"
REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
<IMPORT NAME="google-auth-library-credentials-0.20.0.jar" MODULE="google-auth-library-credentials-0.20.0.jar"
@@ -222,11 +225,14 @@
REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
<IMPORT NAME="gax-1.27.0.jar" MODULE="gax-1.27.0.jar" MVN="mvn:com.google.api/gax/1.27.0"
REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar"
MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0"
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar"
MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0"
REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
<IMPORT NAME="api-common-1.6.0.jar" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0"
REQUIRED_IF="AUTH_MODE == 'SERVICEACCOUNT'"/>
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED="true" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED="true" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED="true" />
</IMPORTS>
</CODEGENERATION>
<RETURNS>

View File

@@ -165,7 +165,9 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="xstream-1.4.11.1.jar" MODULE="xstream-1.4.11.1.jar" MVN="mvn:com.thoughtworks.xstream/xstream/1.4.11.1" REQUIRED_IF="(DB_VERSION=='BONITA_523') OR (((DB_VERSION=='BONITA_652')OR(DB_VERSION=='BONITA_724')) AND (CLIENT_MODE=='JAVA_CLIENT'))" />
<IMPORT NAME="xstream-1.4.15.jar" MODULE="xstream-1.4.15.jar" MVN="mvn:com.thoughtworks.xstream/xstream/1.4.15" REQUIRED_IF="(DB_VERSION=='BONITA_523') OR (((DB_VERSION=='BONITA_652')OR(DB_VERSION=='BONITA_724')) AND (CLIENT_MODE=='JAVA_CLIENT'))" />
<!-- Bonita 5.2.3 -->
<IMPORT NAME="bonita_client_523" MODULE="bonita-client-5.2.3.jar" MVN="mvn:org.talend.libraries/bonita-client-5.2.3/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.bonita/lib/bonita-client-5.2.3.jar" REQUIRED_IF="DB_VERSION=='BONITA_523'" />
<IMPORT NAME="bonita_server_523" MODULE="bonita-server-5.2.3.jar" MVN="mvn:org.talend.libraries/bonita-server-5.2.3/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.bonita/lib/bonita-server-5.2.3.jar" REQUIRED_IF="DB_VERSION=='BONITA_523'" />

View File

@@ -214,7 +214,8 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="xstream-1.4.11.1.jar" MODULE="xstream-1.4.11.1.jar" MVN="mvn:com.thoughtworks.xstream/xstream/1.4.11.1" REQUIRED_IF="((DB_VERSION!='BONITA_652') AND (DB_VERSION!='BONITA_724')) OR (((DB_VERSION=='BONITA_652')OR(DB_VERSION=='BONITA_724')) AND (CLIENT_MODE=='JAVA_CLIENT'))" />
<IMPORT NAME="xstream-1.4.15.jar" MODULE="xstream-1.4.15.jar" MVN="mvn:com.thoughtworks.xstream/xstream/1.4.15" REQUIRED_IF="((DB_VERSION!='BONITA_652') AND (DB_VERSION!='BONITA_724')) OR (((DB_VERSION=='BONITA_652')OR(DB_VERSION=='BONITA_724')) AND (CLIENT_MODE=='JAVA_CLIENT'))" />
<!-- Bonita 5.2.3 -->
<IMPORT NAME="bonita_client_523" MODULE="bonita-client-5.2.3.jar" MVN="mvn:org.talend.libraries/bonita-client-5.2.3/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.bonita/lib/bonita-client-5.2.3.jar" REQUIRED_IF="DB_VERSION=='BONITA_523'" />
<IMPORT NAME="bonita_server_523" MODULE="bonita-server-5.2.3.jar" MVN="mvn:org.talend.libraries/bonita-server-5.2.3/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.bonita/lib/bonita-server-5.2.3.jar" REQUIRED_IF="DB_VERSION=='BONITA_523'" />

View File

@@ -72,13 +72,13 @@
MODULE="boxjavalibv2-v3.0.10.jar" MVN="mvn:net.box/boxjavalibv2/v3.0.10"
REQUIRED="true" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-databind"
MODULE="jackson-databind-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
MODULE="jackson-databind-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED="true" />
<IMPORT NAME="jackson-annotations"
MODULE="jackson-annotations-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
MODULE="jackson-annotations-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED="true" />
<IMPORT NAME="apache-http-client"
MODULE="httpclient-4.5.12.jar" MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"

View File

@@ -127,13 +127,13 @@
MODULE="boxjavalibv2-v3.0.10.jar" MVN="mvn:net.box/boxjavalibv2/v3.0.10"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-databind"
MODULE="jackson-databind-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
MODULE="jackson-databind-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-annotations"
MODULE="jackson-annotations-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
MODULE="jackson-annotations-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="apache-http-client"
MODULE="httpclient-4.5.12.jar" MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"

View File

@@ -88,13 +88,13 @@
MODULE="boxjavalibv2-v3.0.10.jar" MVN="mvn:net.box/boxjavalibv2/v3.0.10"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-databind"
MODULE="jackson-databind-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
MODULE="jackson-databind-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-annotations"
MODULE="jackson-annotations-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
MODULE="jackson-annotations-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="apache-http-client"
MODULE="httpclient-4.5.12.jar" MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"

View File

@@ -98,13 +98,13 @@
MODULE="boxjavalibv2-v3.0.10.jar" MVN="mvn:net.box/boxjavalibv2/v3.0.10"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-databind"
MODULE="jackson-databind-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
MODULE="jackson-databind-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-annotations"
MODULE="jackson-annotations-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
MODULE="jackson-annotations-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="apache-http-client"
MODULE="httpclient-4.5.12.jar" MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"

View File

@@ -106,13 +106,13 @@
MODULE="boxjavalibv2-v3.0.10.jar" MVN="mvn:net.box/boxjavalibv2/v3.0.10"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-databind"
MODULE="jackson-databind-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
MODULE="jackson-databind-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-annotations"
MODULE="jackson-annotations-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
MODULE="jackson-annotations-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="apache-http-client"
MODULE="httpclient-4.5.12.jar" MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"

View File

@@ -109,13 +109,13 @@
MODULE="boxjavalibv2-v3.0.10.jar" MVN="mvn:net.box/boxjavalibv2/v3.0.10"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-databind"
MODULE="jackson-databind-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.10.1"
MODULE="jackson-databind-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-databind/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-annotations"
MODULE="jackson-annotations-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.1"
MODULE="jackson-annotations-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-annotations/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="apache-http-client"
MODULE="httpclient-4.5.12.jar" MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"

View File

@@ -56,7 +56,10 @@ COMPATIBILITY="ALL"
REQUIRED="true">
<DEFAULT>"ISO-8859-15"</DEFAULT>
</PARAMETER>
<PARAMETER NAME="BUFFERSIZE" FIELD="TEXT" REQUIRED="true"
NUM_ROW="50">
<DEFAULT>8192</DEFAULT>
</PARAMETER>
</PARAMETERS>
<ADVANCED_PARAMETERS>

View File

@@ -19,6 +19,7 @@ String sOutEncoding = ElementParameterParser.getValue(node, "__ENCODING__");
boolean bNeedEncode = "true".equals(ElementParameterParser.getValue(node, "__USE_INENCODING__"));
boolean bCreateDir = "true".equals(ElementParameterParser.getValue(node, "__CREATE__"));
String sTmpOutFileName = outFileName;
final String bufferSizeExpression = ElementParameterParser.getValue(node, "__BUFFERSIZE__");
log4jFileUtil.componentStartInfo(node);
if (outFileName.equals(inFileName)){
@@ -37,15 +38,23 @@ java.io.File outFile_<%=cid%> = new java.io.File(sOutFileN_<%=cid%>);
parentFile_<%=cid%>.mkdirs();
}
<%}%>
Integer bufferSize_<%=cid%> = <%= bufferSizeExpression %>;
if (bufferSize_<%=cid%> == null) {
bufferSize_<%=cid%> = 8192;
}
final java.io.BufferedWriter out<%=cid %> = new java.io.BufferedWriter(
new java.io.OutputStreamWriter(
new java.io.FileOutputStream(sOutFileN_<%=cid%>, false), <%=sOutEncoding%>
));
),
bufferSize_<%=cid%>);
java.io.BufferedReader in_<%=cid %> = new java.io.BufferedReader(
new java.io.InputStreamReader(
new java.io.FileInputStream(sOriFileN_<%=cid%>), <%=bNeedEncode ? sInEncoding : "System.getProperty(\"file.encoding\")"%>
));
),
bufferSize_<%=cid%>);
//8192: the default buffer size of BufferedReader
char[] cbuf_<%=cid %> = new char[8192];

View File

@@ -10,3 +10,4 @@ INENCODING.NAME=Input Encoding
INFILE_NAME.NAME=Input File Name
OUTFILE_NAME.NAME=Output File Name
CREATE.NAME=Create directory if not exists
BUFFERSIZE.NAME=Buffer Size

View File

@@ -165,7 +165,6 @@ COMPATIBILITY="ALL"
<IMPORTS>
<IMPORT NAME="aopalliance-1_0" MODULE="aopalliance-1.0.jar" MVN="mvn:aopalliance/aopalliance/1.0" UrlPath="platform:/plugin/org.talend.libraries.esb/lib/aopalliance-1.0.jar" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="aws-ec2-2_0_2" MODULE="aws-ec2-2.0.2.jar" MVN="mvn:org.talend.libraries/aws-ec2-2.0.2/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="bcprov-jdk16-1_46" MODULE="bcprov-jdk16-1.46.jar" MVN="mvn:org.talend.libraries/bcprov-jdk16-1.46/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="commons-io-2_4" MODULE="commons-io-2.4.jar" MVN="mvn:commons-io/commons-io/2.4" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-io-2.4.jar" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="ec2-2_0_2" MODULE="ec2-2.0.2.jar" MVN="mvn:org.talend.libraries/ec2-2.0.2/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="gson-2_2" MODULE="gson-2.2.jar" MVN="mvn:org.talend.libraries/gson-2.2/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>

View File

@@ -74,7 +74,6 @@ COMPATIBILITY="ALL"
<IMPORTS>
<IMPORT NAME="aopalliance-1_0" MODULE="aopalliance-1.0.jar" MVN="mvn:aopalliance/aopalliance/1.0" UrlPath="platform:/plugin/org.talend.libraries.esb/lib/aopalliance-1.0.jar" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="aws-ec2-2_0_2" MODULE="aws-ec2-2.0.2.jar" MVN="mvn:org.talend.libraries/aws-ec2-2.0.2/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="bcprov-jdk16-1_46" MODULE="bcprov-jdk16-1.46.jar" MVN="mvn:org.talend.libraries/bcprov-jdk16-1.46/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="commons-io-2_4" MODULE="commons-io-2.4.jar" MVN="mvn:commons-io/commons-io/2.4" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-io-2.4.jar" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="ec2-2_0_2" MODULE="ec2-2.0.2.jar" MVN="mvn:org.talend.libraries/ec2-2.0.2/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>
<IMPORT NAME="gson-2_2" MODULE="gson-2.2.jar" MVN="mvn:org.talend.libraries/gson-2.2/6.0.0" REQUIRED_IF="PROVIDER=='AWS_EC2'"/>

View File

@@ -61,7 +61,7 @@
MODULE="dropbox-core-sdk-2.1.2.jar" MVN="mvn:org.talend.libraries/dropbox-core-sdk-2.1.2/6.3.0"
REQUIRED="true" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED="true" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -71,7 +71,7 @@
MODULE="dropbox-core-sdk-2.1.2.jar" MVN="mvn:org.talend.libraries/dropbox-core-sdk-2.1.2/6.3.0"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -85,7 +85,7 @@
MODULE="dropbox-core-sdk-2.1.2.jar" MVN="mvn:org.talend.libraries/dropbox-core-sdk-2.1.2/6.3.0"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -83,7 +83,7 @@
MODULE="dropbox-core-sdk-2.1.2.jar" MVN="mvn:org.talend.libraries/dropbox-core-sdk-2.1.2/6.3.0"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -110,7 +110,7 @@
MODULE="dropbox-core-sdk-2.1.2.jar" MVN="mvn:org.talend.libraries/dropbox-core-sdk-2.1.2/6.3.0"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
<IMPORT NAME="jackson-core"
MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1"
MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4"
REQUIRED_IF="USE_EXISTING_CONNECTION == 'false'" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -170,7 +170,7 @@
NUM_ROW="10"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>
@@ -182,7 +182,7 @@
<IMPORT NAME="Postgres-Driver"
MODULE="postgresql-8.4-703.jdbc4.jar" MVN="mvn:postgresql/postgresql/8.4-703.jdbc4" REQUIRED_IF="(DB_DRIVER =='POSTGRESQL') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver"
MODULE="greenplum.jar" MVN="mvn:com.pivotal/greenplum/5.8.1" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
MODULE="greenplum-5.1.4.000275.jar" MVN="mvn:com.pivotal/greenplum/5.1.4.000275" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
</IMPORTS>
</CODEGENERATION>

View File

@@ -15,5 +15,5 @@ LINK_STYLE.ITEM.BEZIER_CURVE=Bezier curve
LINK_STYLE.ITEM.LINE=Line (fastest)
CONNECTION.NAME=Component List
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum

View File

@@ -55,10 +55,41 @@
>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8" SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')"
>
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="10"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="11"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="12"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"

View File

@@ -86,6 +86,8 @@ imports="
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
%>
@@ -284,39 +286,66 @@ for(Column colStmt:stmtStructure){
<%
}else if (("UPDATE").equals(dataAction)){
%>
String updateQuery_<%=cid %> = "UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> " +select_query_<%=cid %>.substring(select_query_<%=cid %>.indexOf("FROM"));
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> " +select_query_<%=cid %>.substring(select_query_<%=cid %>.indexOf("FROM")));
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if((CodeGenerationUtils.hasAlphaNumericCharacter(whereClause) && (!useWhereTable)) || (useWhereTable && whereConditions.size() > 0)) {
%>
if(select_query_<%=cid %>.indexOf("WHERE")==-1){
updateQuery_<%=cid %> +=" WHERE ";
}else{
updateQuery_<%=cid %> +=" AND ";
}
updateQuery_<%=cid %>+= <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>;
if(select_query_<%=cid %>.indexOf("WHERE")==-1){
updateQuery_<%=cid %>.append(" WHERE ");
}else{
updateQuery_<%=cid %>.append(" AND ");
}
<%
if(!useWhereTable) {
%>
updateQuery_<%=cid %>.append(<%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
} else {
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") "
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
<%
}
%>
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
@@ -339,7 +368,7 @@ System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
@@ -347,7 +376,7 @@ nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>

View File

@@ -15,3 +15,19 @@ NB_LINE_DELETED.NAME=Number Of Deleted Lines
USE_DIFFERENT_TABLE.NAME=Use different table name
DIFFERENT_TABLE_NAME.NAME=Table name
IS_TABLE_NAME_VARIABLE.NAME=Table name from connection name is variable
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value

View File

@@ -54,10 +54,41 @@
>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8" SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')"
>
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="10"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="11"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="12"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"

View File

@@ -1,146 +1,147 @@
<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.commons.utils.generation.CodeGenerationUtils
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
"
%>
<%@ include file="../templates/Log4j/Log4jDBConnUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
String dbtable = null;
String dbschema = ElementParameterParser.getValue(node,"__ELT_SCHEMA_NAME__");
String uniqueNameConnection = null;
INode previousNode = null;
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
boolean useUpdateStatement="true".equals(ElementParameterParser.getValue(node, "__USE_UPDATE_STATEMENT__"));
%>
String select_query_<%=cid %> = null;
String tableName_<%=cid%> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
String dbschema_<%=cid%> = <%=dbschema%>;
if(dbschema_<%=cid%> != null && dbschema_<%=cid%>.trim().length() > 0) {
tableName_<%=cid%> = <%=dbschema%> + "." + <%=tableName%>;
}else {
tableName_<%=cid%> = <%=tableName%>;
}
<%
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String dbhost = null;
String dbport = null;
String dbname = null;
String dbuser = null;
boolean useExistingConn = false;
String dbproperties = null;
String driver = "JTDS";
boolean useActiveDirectoryAuth = false;
if(previousNode != null) {
dbhost = ElementParameterParser.getValue(previousNode, "__HOST__");
dbport = ElementParameterParser.getValue(previousNode, "__PORT__");
dbname = ElementParameterParser.getValue(previousNode, "__DBNAME__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
dbproperties = ElementParameterParser.getValue(previousNode, "__PROPERTIES__");
driver = ElementParameterParser.getValue(previousNode, "__DRIVER__");
useActiveDirectoryAuth = "true".equals(ElementParameterParser.getValue(previousNode, "__ACTIVE_DIR_AUTH__"));
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
%>
<%
if(useExistingConn) {
String connection = ElementParameterParser.getValue(previousNode, "__CONNECTION__");
String conn = "conn_" + connection;
%>
java.sql.Connection conn_<%=cid%> = (java.sql.Connection)globalMap.get("<%=conn%>");
<%
log4jCodeGenerateUtil.useExistConnection(node);
} else {
if("JTDS".equals(driver)) {
%>
String driverClass_<%=cid%> = "net.sourceforge.jtds.jdbc.Driver";
<%} else {%>
String driverClass_<%=cid%> = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
<%}%>
java.lang.Class.forName(driverClass_<%=cid%>);
String port_<%=cid%> = <%=dbport%>;
String dbname_<%=cid%> = <%=dbname%> ;
<%
if("JTDS".equals(driver)) {
%>
String url_<%=cid %> = "jdbc:jtds:sqlserver://" + <%=dbhost%> ;
<%} else {%>
String url_<%=cid %> = "jdbc:sqlserver://" + <%=dbhost%> ;
<%}%>
if (!"".equals(port_<%=cid%>)) {
url_<%=cid %> += ":" + <%=dbport%>;
}
if (!"".equals(dbname_<%=cid%>)) {
<%
if("JTDS".equals(driver)) {
%>
url_<%=cid%> += "//" + <%=dbname%>;
<%} else {%>
url_<%=cid%> += ";databaseName=" + <%=dbname%>;
<%}%>
}
<%
if (driver.equals("MSSQL_PROP") && useActiveDirectoryAuth) {
%>
url_<%=cid%> += ";encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;Authentication=ActiveDirectoryPassword";
url_<%=cid%> += ";database=" + <%=dbname%>;
<%
}
%>
url_<%=cid%> += ";appName=" + projectName + ";" + <%=dbproperties%>;
String dbUser_<%=cid %> = <%=dbuser%>;
<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.commons.utils.generation.CodeGenerationUtils
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
"
%>
<%@ include file="../templates/Log4j/Log4jDBConnUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
String dbtable = null;
String dbschema = ElementParameterParser.getValue(node,"__ELT_SCHEMA_NAME__");
String uniqueNameConnection = null;
INode previousNode = null;
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
boolean useUpdateStatement="true".equals(ElementParameterParser.getValue(node, "__USE_UPDATE_STATEMENT__"));
%>
String select_query_<%=cid %> = null;
String tableName_<%=cid%> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
String dbschema_<%=cid%> = <%=dbschema%>;
if(dbschema_<%=cid%> != null && dbschema_<%=cid%>.trim().length() > 0) {
tableName_<%=cid%> = <%=dbschema%> + "." + <%=tableName%>;
}else {
tableName_<%=cid%> = <%=tableName%>;
}
<%
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String dbhost = null;
String dbport = null;
String dbname = null;
String dbuser = null;
boolean useExistingConn = false;
String dbproperties = null;
String driver = "JTDS";
boolean useActiveDirectoryAuth = false;
if(previousNode != null) {
dbhost = ElementParameterParser.getValue(previousNode, "__HOST__");
dbport = ElementParameterParser.getValue(previousNode, "__PORT__");
dbname = ElementParameterParser.getValue(previousNode, "__DBNAME__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
dbproperties = ElementParameterParser.getValue(previousNode, "__PROPERTIES__");
driver = ElementParameterParser.getValue(previousNode, "__DRIVER__");
useActiveDirectoryAuth = "true".equals(ElementParameterParser.getValue(previousNode, "__ACTIVE_DIR_AUTH__"));
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
%>
<%
if(useExistingConn) {
String connection = ElementParameterParser.getValue(previousNode, "__CONNECTION__");
String conn = "conn_" + connection;
%>
java.sql.Connection conn_<%=cid%> = (java.sql.Connection)globalMap.get("<%=conn%>");
<%
log4jCodeGenerateUtil.useExistConnection(node);
} else {
if("JTDS".equals(driver)) {
%>
String driverClass_<%=cid%> = "net.sourceforge.jtds.jdbc.Driver";
<%} else {%>
String driverClass_<%=cid%> = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
<%}%>
java.lang.Class.forName(driverClass_<%=cid%>);
String port_<%=cid%> = <%=dbport%>;
String dbname_<%=cid%> = <%=dbname%> ;
<%
if("JTDS".equals(driver)) {
%>
String url_<%=cid %> = "jdbc:jtds:sqlserver://" + <%=dbhost%> ;
<%} else {%>
String url_<%=cid %> = "jdbc:sqlserver://" + <%=dbhost%> ;
<%}%>
if (!"".equals(port_<%=cid%>)) {
url_<%=cid %> += ":" + <%=dbport%>;
}
if (!"".equals(dbname_<%=cid%>)) {
<%
if("JTDS".equals(driver)) {
%>
url_<%=cid%> += "//" + <%=dbname%>;
<%} else {%>
url_<%=cid%> += ";databaseName=" + <%=dbname%>;
<%}%>
}
<%
if (driver.equals("MSSQL_PROP") && useActiveDirectoryAuth) {
%>
url_<%=cid%> += ";encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;Authentication=ActiveDirectoryPassword";
url_<%=cid%> += ";database=" + <%=dbname%>;
<%
}
%>
url_<%=cid%> += ";appName=" + projectName + ";" + <%=dbproperties%>;
String dbUser_<%=cid %> = <%=dbuser%>;
<%
String passwordFieldName = "__PASS__";
@@ -149,288 +150,315 @@ if(useExistingConn) {
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/eltpassword.javajet"%>
String dbPwd_<%=cid %> = decryptedPassword_<%=cid%>;
java.sql.Connection conn_<%=cid%> = null;
<%
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
}
%>
<%
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
if(metadatas !=null && metadatas.size()>0){
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
}
%>
java.sql.PreparedStatement pstmt_<%=cid %> =null;
<%
if(columnList != null && columnList.size()>0){
class Column{
IMetadataColumn column;
String name;
String sqlStmt;
String value;
boolean addCol;
List<Column> replacement = new ArrayList<Column>();
public Column(IMetadataColumn column){
this.column = column;
String columname = column.getOriginalDbColumnName();
if(columname!=null && columname.trim().length()>0){
this.name = columname;
}else{
this.name = column.getLabel();
}
this.sqlStmt = "=?";
this.value = "?";
this.addCol =false;
}
public boolean isReplaced(){
return replacement.size()>0;
}
public List<Column> getReplacement(){
return this.replacement;
}
public IMetadataColumn getColumn(){
return this.column;
}
public String getName(){
return this.name;
}
public boolean isAddCol(){
return this.addCol;
}
public String getSqlStmt(){
return this.sqlStmt;
}
public String getValue(){
return this.value;
}
}
StringBuilder insertColName = new StringBuilder();
StringBuilder insertValueStmt = new StringBuilder();
StringBuilder updateSetStmt = new StringBuilder();
StringBuilder updateWhereStmt = new StringBuilder();
StringBuilder mergeCondition = new StringBuilder ();
List<Column> stmtStructure = new LinkedList<Column>();
for(IMetadataColumn column:columnList){
stmtStructure.add(new Column(column));
}
int counterOuter =0;
boolean firstKey = true;
boolean firstNoneKey = true;
boolean isfirstKey = true;
for(Column colStmt:stmtStructure){
String suffix = ",";
if (colStmt.getColumn().isKey()){
if (isfirstKey) {
isfirstKey = false;
}else {
mergeCondition.append(" AND ");
}
mergeCondition.append("target." + colStmt.getColumn().getLabel() + "=source." + colStmt.getColumn().getLabel());
}
if(colStmt.isReplaced()){
List<Column> replacedColumns = colStmt.getReplacement();
int counterReplace = 0;
if(counterOuter==(stmtStructure.size()-1) && counterReplace==(replacedColumns.size()-1) ){
suffix = "";
}
for(Column replacement:replacedColumns){
insertColName.append(replacement.getName()+suffix);
insertValueStmt.append(replacement.getSqlStmt()+suffix);
if(!colStmt.getColumn().isKey()){
if(!firstNoneKey){
updateSetStmt.append(",");
}else{
firstNoneKey = false;
}
updateSetStmt.append(replacement.getName());
updateSetStmt.append(replacement.getSqlStmt());
}else{
if(!firstKey){
updateWhereStmt.append(" AND ");
}else{
firstKey = false;
}
updateWhereStmt.append(replacement.getName());
updateWhereStmt.append(replacement.getSqlStmt());
}
counterReplace++;
}
}else{
if(counterOuter==(stmtStructure.size()-1)){
suffix = "";
}
if(colStmt.isAddCol()){
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getSqlStmt()+suffix);
updateSetStmt.append(colStmt.getName());
updateSetStmt.append(colStmt.getSqlStmt()+suffix);
}else{
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getValue()+suffix);
updateSetStmt.append(colStmt.getName()+"=(\"+select_query_"+ cid +".replaceFirst(java.util.regex.Pattern.quote(selectQueryColumnsName_"+ cid +"),routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[ "+ counterOuter + "])+\")" +suffix);
}
}
counterOuter ++;
}
if(("INSERT").equals(dataAction)){
%>
String insertQuery_<%=cid %> = "INSERT INTO "+tableName_<%=cid%>+"(<%=insertColName.toString()%>) ("+select_query_<%=cid %>+")";
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insertQuery_<%=cid %>);
<%
}else if (("UPDATE").equals(dataAction)){
if(useUpdateStatement){
%>
String updateQuery_<%=cid %> = select_query_<%=cid %>;
<%
}else{
%>
String updateQuery_<%=cid %> = "UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> ";
<%
}
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if(useUpdateStatement){
%>
if(select_query_<%=cid %>.indexOf("WHERE")==-1){
updateQuery_<%=cid %> +=" WHERE ";
}else{
updateQuery_<%=cid %> +=" AND ";
}
updateQuery_<%=cid %>+= <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>;
<%
}else{
%>
updateQuery_<%=cid %> += " WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>;
<%
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") "
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
<%
}
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
int nb_line_deleted_<%=cid%> = 0;
<%
}
if(dbtable != null && columnList != null){
if(("INSERT").equals(dataAction)){
%>
System.out.println("Inserting with : \n" + insertQuery_<%=cid %> + "\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+insertQuery_"+ cid +"+\"");%>
nb_line_inserted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_updated_<%=cid%> + " rows updated. \n");
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_deleted_<%=cid%> + " rows deleted. \n");
<%
}
}
// END
%>
pstmt_<%=cid %>.close();
<%
if(!useExistingConn) {
%>
if(conn_<%=cid%> != null && !conn_<%=cid%>.isClosed()) {
<%log4jCodeGenerateUtil.close(node);%>
}
<%
}
%>
nb_line_<%=cid%> = nb_line_updated_<%=cid%> + nb_line_inserted_<%=cid%> + nb_line_deleted_<%=cid%>;
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_UPDATED",nb_line_updated_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_INSERTED",nb_line_inserted_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_DELETED",nb_line_deleted_<%=cid%>);
<%
if(isLog4jEnabled){
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
<%
}
%>
java.sql.Connection conn_<%=cid%> = null;
<%
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
}
%>
<%
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
if(metadatas !=null && metadatas.size()>0){
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
}
%>
java.sql.PreparedStatement pstmt_<%=cid %> =null;
<%
if(columnList != null && columnList.size()>0){
class Column{
IMetadataColumn column;
String name;
String sqlStmt;
String value;
boolean addCol;
List<Column> replacement = new ArrayList<Column>();
public Column(IMetadataColumn column){
this.column = column;
String columname = column.getOriginalDbColumnName();
if(columname!=null && columname.trim().length()>0){
this.name = columname;
}else{
this.name = column.getLabel();
}
this.sqlStmt = "=?";
this.value = "?";
this.addCol =false;
}
public boolean isReplaced(){
return replacement.size()>0;
}
public List<Column> getReplacement(){
return this.replacement;
}
public IMetadataColumn getColumn(){
return this.column;
}
public String getName(){
return this.name;
}
public boolean isAddCol(){
return this.addCol;
}
public String getSqlStmt(){
return this.sqlStmt;
}
public String getValue(){
return this.value;
}
}
StringBuilder insertColName = new StringBuilder();
StringBuilder insertValueStmt = new StringBuilder();
StringBuilder updateSetStmt = new StringBuilder();
StringBuilder updateWhereStmt = new StringBuilder();
StringBuilder mergeCondition = new StringBuilder ();
List<Column> stmtStructure = new LinkedList<Column>();
for(IMetadataColumn column:columnList){
stmtStructure.add(new Column(column));
}
int counterOuter =0;
boolean firstKey = true;
boolean firstNoneKey = true;
boolean isfirstKey = true;
for(Column colStmt:stmtStructure){
String suffix = ",";
if (colStmt.getColumn().isKey()){
if (isfirstKey) {
isfirstKey = false;
}else {
mergeCondition.append(" AND ");
}
mergeCondition.append("target." + colStmt.getColumn().getLabel() + "=source." + colStmt.getColumn().getLabel());
}
if(colStmt.isReplaced()){
List<Column> replacedColumns = colStmt.getReplacement();
int counterReplace = 0;
if(counterOuter==(stmtStructure.size()-1) && counterReplace==(replacedColumns.size()-1) ){
suffix = "";
}
for(Column replacement:replacedColumns){
insertColName.append(replacement.getName()+suffix);
insertValueStmt.append(replacement.getSqlStmt()+suffix);
if(!colStmt.getColumn().isKey()){
if(!firstNoneKey){
updateSetStmt.append(",");
}else{
firstNoneKey = false;
}
updateSetStmt.append(replacement.getName());
updateSetStmt.append(replacement.getSqlStmt());
}else{
if(!firstKey){
updateWhereStmt.append(" AND ");
}else{
firstKey = false;
}
updateWhereStmt.append(replacement.getName());
updateWhereStmt.append(replacement.getSqlStmt());
}
counterReplace++;
}
}else{
if(counterOuter==(stmtStructure.size()-1)){
suffix = "";
}
if(colStmt.isAddCol()){
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getSqlStmt()+suffix);
updateSetStmt.append(colStmt.getName());
updateSetStmt.append(colStmt.getSqlStmt()+suffix);
}else{
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getValue()+suffix);
updateSetStmt.append(colStmt.getName()+"=(\"+select_query_"+ cid +".replaceFirst(java.util.regex.Pattern.quote(selectQueryColumnsName_"+ cid +"),routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[ "+ counterOuter + "])+\")" +suffix);
}
}
counterOuter ++;
}
if(("INSERT").equals(dataAction)){
%>
String insertQuery_<%=cid %> = "INSERT INTO "+tableName_<%=cid%>+"(<%=insertColName.toString()%>) ("+select_query_<%=cid %>+")";
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insertQuery_<%=cid %>);
<%
}else if (("UPDATE").equals(dataAction)){
if(useUpdateStatement){
%>
StringBuffer updateQuery_<%=cid %> = new StringBuffer(select_query_<%=cid %>);
<%
}else{
%>
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> ");
<%
}
if((CodeGenerationUtils.hasAlphaNumericCharacter(whereClause) && (!useWhereTable)) || (useWhereTable && whereConditions.size() > 0)) {
if(useUpdateStatement){
%>
if(select_query_<%=cid %>.indexOf("WHERE")==-1){
updateQuery_<%=cid %>.append(" WHERE ");
}else{
updateQuery_<%=cid %>.append(" AND ");
}
<%
}else{
%>
updateQuery_<%=cid %>.append(" WHERE ");
<%
}
if(!useWhereTable) {
%>
updateQuery_<%=cid %>.append(<%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
} else {
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
}
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
int nb_line_deleted_<%=cid%> = 0;
<%
}
if(dbtable != null && columnList != null){
if(("INSERT").equals(dataAction)){
%>
System.out.println("Inserting with : \n" + insertQuery_<%=cid %> + "\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+insertQuery_"+ cid +"+\"");%>
nb_line_inserted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_updated_<%=cid%> + " rows updated. \n");
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_deleted_<%=cid%> + " rows deleted. \n");
<%
}
}
// END
%>
pstmt_<%=cid %>.close();
<%
if(!useExistingConn) {
%>
if(conn_<%=cid%> != null && !conn_<%=cid%>.isClosed()) {
<%log4jCodeGenerateUtil.close(node);%>
}
<%
}
%>
nb_line_<%=cid%> = nb_line_updated_<%=cid%> + nb_line_inserted_<%=cid%> + nb_line_deleted_<%=cid%>;
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_UPDATED",nb_line_updated_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_INSERTED",nb_line_inserted_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_DELETED",nb_line_deleted_<%=cid%>);
<%
if(isLog4jEnabled){
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
<%
}
%>

View File

@@ -23,6 +23,22 @@ USER.NAME=Username
COMMIT_EVERY.NAME=Commit every
WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
ELT_TABLE_NAME.NAME=Default Table Name
ELT_SCHEMA_NAME.NAME=Default Schema Name
NB_LINE_UPDATED.NAME=Number Of Updated Lines

View File

@@ -56,7 +56,7 @@
<PARAMETER
NAME="CONNECTION"
FIELD="COMPONENT_LIST"
REQUIRED="true" FILTER="REGEXP:^tJDBCConnection|tSnowflakeConnection|tSAPHanaConnection$"
REQUIRED="true" FILTER="REGEXP:^tJDBCConnection|tSnowflakeConnection|tSAPHanaConnection|tDeltaLakeConnection$"
NUM_ROW="2"
SHOW_IF="(#LINK@CONNECTOR.OUT.TABLE_REF == '0') AND (USE_EXISTING_CONNECTION == 'true')"
DYNAMIC_SETTINGS="true"/>

View File

@@ -58,17 +58,44 @@
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="10"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="11"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="12"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"
FIELD="TEXT"
NUM_ROW="10"
NUM_ROW="13"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>

View File

@@ -65,7 +65,9 @@ imports="
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
@@ -265,32 +267,59 @@ imports="
<%
} else if (("UPDATE").equals(dataAction)) {
%>
String updateQuery_<%=cid %> = "UPDATE "+<%=tableName%>;
updateQuery_<%=cid %> +=" SET <%=updateSetStmt.toString()%> "
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+<%=tableName%>+" SET <%=updateSetStmt.toString()%> ");
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
updateQuery_<%=cid %>.append(" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
%>
updateQuery_<%=cid %>.append(" WHERE ");
<%
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+<%=tableName%>;
deleteQuery_<%=cid %> += " WHERE EXISTS ("+select_query_<%=cid %>+")"
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+<%=tableName%>+" WHERE EXISTS ("+select_query_<%=cid %>+")");
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
}
%>
@@ -312,7 +341,7 @@ imports="
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
@@ -320,7 +349,7 @@ imports="
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>

View File

@@ -40,6 +40,22 @@ USER.NAME=Username
WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
ELT_TABLE_NAME.NAME=Default Table Name
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
USE_DIFFERENT_TABLE.NAME=Use different table name
DIFFERENT_TABLE_NAME.NAME=Table name
IS_TABLE_NAME_VARIABLE.NAME=Table name from connection name is variable

View File

@@ -60,16 +60,47 @@
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="10"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="11"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="12"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"
FIELD="TEXT"
NUM_ROW="10"
NUM_ROW="13"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>

View File

@@ -1,101 +1,103 @@
<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.commons.utils.generation.CodeGenerationUtils
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
"
%>
<%@ include file="../templates/Log4j/Log4jDBConnUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
String dbtable = null;
String uniqueNameConnection = null;
INode previousNode = null;
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
%>
String select_query_<%=cid %> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String dbproperties = ElementParameterParser.getValue(node, "__PROPERTIES__");
String dbhost = null;
String dbport = null;
String dbname = null;
String dbuser = null;
boolean useExistingConn = false;
if(previousNode != null) {
dbhost = ElementParameterParser.getValue(previousNode, "__HOST__");
dbport = ElementParameterParser.getValue(previousNode, "__PORT__");
dbname = ElementParameterParser.getValue(previousNode, "__DBNAME__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
}
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
java.sql.Connection conn_<%=cid%> = null;
<%
if(useExistingConn) {
String connection = ElementParameterParser.getValue(previousNode, "__CONNECTION__");
String conn = "conn_" + connection;
%>
conn_<%=cid%> = (java.sql.Connection)globalMap.get("<%=conn%>");
<%
log4jCodeGenerateUtil.useExistConnection(node);
} else {
%>
String driverClass_<%=cid%> = "org.netezza.Driver";
java.lang.Class.forName(driverClass_<%=cid%>);
<%
if(dbproperties == null || ("\"\"").equals(dbproperties) || ("").equals(dbproperties)) {
%>
String url_<%=cid%> = "jdbc:netezza://" + <%=dbhost%> + ":" + <%=dbport%> + "/" + <%=dbname%>;
<%
} else {
%>
String url_<%=cid%> = "jdbc:netezza://" + <%=dbhost%> + ":" + <%=dbport%> + "/" + <%=dbname%> + "?" + <%=dbproperties%>;
<%
}
%>
String dbUser_<%=cid %> = <%=dbuser%>;
<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.commons.utils.generation.CodeGenerationUtils
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
"
%>
<%@ include file="../templates/Log4j/Log4jDBConnUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
String dbtable = null;
String uniqueNameConnection = null;
INode previousNode = null;
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
%>
String select_query_<%=cid %> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String dbproperties = ElementParameterParser.getValue(node, "__PROPERTIES__");
String dbhost = null;
String dbport = null;
String dbname = null;
String dbuser = null;
boolean useExistingConn = false;
if(previousNode != null) {
dbhost = ElementParameterParser.getValue(previousNode, "__HOST__");
dbport = ElementParameterParser.getValue(previousNode, "__PORT__");
dbname = ElementParameterParser.getValue(previousNode, "__DBNAME__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
}
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
java.sql.Connection conn_<%=cid%> = null;
<%
if(useExistingConn) {
String connection = ElementParameterParser.getValue(previousNode, "__CONNECTION__");
String conn = "conn_" + connection;
%>
conn_<%=cid%> = (java.sql.Connection)globalMap.get("<%=conn%>");
<%
log4jCodeGenerateUtil.useExistConnection(node);
} else {
%>
String driverClass_<%=cid%> = "org.netezza.Driver";
java.lang.Class.forName(driverClass_<%=cid%>);
<%
if(dbproperties == null || ("\"\"").equals(dbproperties) || ("").equals(dbproperties)) {
%>
String url_<%=cid%> = "jdbc:netezza://" + <%=dbhost%> + ":" + <%=dbport%> + "/" + <%=dbname%>;
<%
} else {
%>
String url_<%=cid%> = "jdbc:netezza://" + <%=dbhost%> + ":" + <%=dbport%> + "/" + <%=dbname%> + "?" + <%=dbproperties%>;
<%
}
%>
String dbUser_<%=cid %> = <%=dbuser%>;
<%
String passwordFieldName = "__PASS__";
@@ -104,247 +106,273 @@ java.sql.Connection conn_<%=cid%> = null;
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/eltpassword.javajet"%>
String dbPwd_<%=cid %> = decryptedPassword_<%=cid%>;
<%
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
}
%>
<%
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
if(metadatas !=null && metadatas.size()>0){
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
}
%>
java.sql.PreparedStatement pstmt_<%=cid %> =null;
<%
if(columnList != null && columnList.size()>0){
class Column{
IMetadataColumn column;
String name;
String sqlStmt;
String value;
boolean addCol;
List<Column> replacement = new ArrayList<Column>();
public Column(IMetadataColumn column){
this.column = column;
String columname = column.getOriginalDbColumnName();
if(columname!=null && columname.trim().length()>0){
this.name = columname;
}else{
this.name = column.getLabel();
}
this.sqlStmt = "=?";
this.value = "?";
this.addCol =false;
}
public boolean isReplaced(){
return replacement.size()>0;
}
public List<Column> getReplacement(){
return this.replacement;
}
public IMetadataColumn getColumn(){
return this.column;
}
public String getName(){
return this.name;
}
public boolean isAddCol(){
return this.addCol;
}
public String getSqlStmt(){
return this.sqlStmt;
}
public String getValue(){
return this.value;
}
}
StringBuilder insertColName = new StringBuilder();
StringBuilder insertValueStmt = new StringBuilder();
StringBuilder updateSetStmt = new StringBuilder();
StringBuilder updateWhereStmt = new StringBuilder();
List<Column> stmtStructure = new LinkedList<Column>();
for(IMetadataColumn column:columnList){
stmtStructure.add(new Column(column));
}
int counterOuter =0;
boolean firstKey = true;
boolean firstNoneKey = true;
for(Column colStmt:stmtStructure){
String suffix = ",";
if(colStmt.isReplaced()){
List<Column> replacedColumns = colStmt.getReplacement();
int counterReplace = 0;
if(counterOuter==(stmtStructure.size()-1) && counterReplace==(replacedColumns.size()-1) ){
suffix = "";
}
for(Column replacement:replacedColumns){
insertColName.append(replacement.getName()+suffix);
insertValueStmt.append(replacement.getSqlStmt()+suffix);
if(!colStmt.getColumn().isKey()){
if(!firstNoneKey){
updateSetStmt.append(",");
}else{
firstNoneKey = false;
}
updateSetStmt.append(replacement.getName());
updateSetStmt.append(replacement.getSqlStmt());
}else{
if(!firstKey){
updateWhereStmt.append(" AND ");
}else{
firstKey = false;
}
updateWhereStmt.append(replacement.getName());
updateWhereStmt.append(replacement.getSqlStmt());
}
counterReplace++;
}
}else{
if(counterOuter==(stmtStructure.size()-1)){
suffix = "";
}
if(colStmt.isAddCol()){
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getSqlStmt()+suffix);
updateSetStmt.append(colStmt.getName());
updateSetStmt.append(colStmt.getSqlStmt()+suffix);
}else{
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getValue()+suffix);
updateSetStmt.append(colStmt.getName()+"=\"+routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[ "+ counterOuter + "]+\"" +suffix);
}
}
counterOuter ++;
}
if(("INSERT").equals(dataAction)){
%>
String insertQuery_<%=cid %> = "INSERT INTO "+<%=tableName%>+"(<%=insertColName.toString()%>) ("+select_query_<%=cid %>+")";
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insertQuery_<%=cid %>);
<%
} else if (("UPDATE").equals(dataAction)) {
%>
String updateQuery_<%=cid %> = "UPDATE "+<%=tableName%>;
updateQuery_<%=cid %> +=" SET <%=updateSetStmt.toString()%> " +select_query_<%=cid %>.substring(select_query_<%=cid %>.indexOf("FROM"));
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
if(select_query_<%=cid %>.indexOf("WHERE")==-1){
updateQuery_<%=cid %> +=" WHERE ";
}else{
updateQuery_<%=cid %> +=" AND ";
}
updateQuery_<%=cid %>+= <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>;
<%
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+<%=tableName%>;
deleteQuery_<%=cid %> += " WHERE EXISTS ("+select_query_<%=cid %>+")"
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
<%
}
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
int nb_line_deleted_<%=cid%> = 0;
<%
}
if(dbtable != null && columnList != null){
if(("INSERT").equals(dataAction)){
%>
System.out.println("Inserting with : \n" + insertQuery_<%=cid %> + "\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+insertQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_inserted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_updated_<%=cid%> + " rows updated. \n");
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_deleted_<%=cid%> + " rows deleted. \n");
<%
}
}
%>
pstmt_<%=cid %>.close();
<%
if(!useExistingConn) {
%>
if(conn_<%=cid%> != null && !conn_<%=cid%>.isClosed()) {
<%log4jCodeGenerateUtil.close(node);%>
}
<%
}
%>
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_UPDATED",nb_line_updated_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_INSERTED",nb_line_inserted_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_DELETED",nb_line_deleted_<%=cid%>);
<%
if(isLog4jEnabled){
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
<%
}
%>
<%
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
}
%>
<%
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
if(metadatas !=null && metadatas.size()>0){
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
}
%>
java.sql.PreparedStatement pstmt_<%=cid %> =null;
<%
if(columnList != null && columnList.size()>0){
class Column{
IMetadataColumn column;
String name;
String sqlStmt;
String value;
boolean addCol;
List<Column> replacement = new ArrayList<Column>();
public Column(IMetadataColumn column){
this.column = column;
String columname = column.getOriginalDbColumnName();
if(columname!=null && columname.trim().length()>0){
this.name = columname;
}else{
this.name = column.getLabel();
}
this.sqlStmt = "=?";
this.value = "?";
this.addCol =false;
}
public boolean isReplaced(){
return replacement.size()>0;
}
public List<Column> getReplacement(){
return this.replacement;
}
public IMetadataColumn getColumn(){
return this.column;
}
public String getName(){
return this.name;
}
public boolean isAddCol(){
return this.addCol;
}
public String getSqlStmt(){
return this.sqlStmt;
}
public String getValue(){
return this.value;
}
}
StringBuilder insertColName = new StringBuilder();
StringBuilder insertValueStmt = new StringBuilder();
StringBuilder updateSetStmt = new StringBuilder();
StringBuilder updateWhereStmt = new StringBuilder();
List<Column> stmtStructure = new LinkedList<Column>();
for(IMetadataColumn column:columnList){
stmtStructure.add(new Column(column));
}
int counterOuter =0;
boolean firstKey = true;
boolean firstNoneKey = true;
for(Column colStmt:stmtStructure){
String suffix = ",";
if(colStmt.isReplaced()){
List<Column> replacedColumns = colStmt.getReplacement();
int counterReplace = 0;
if(counterOuter==(stmtStructure.size()-1) && counterReplace==(replacedColumns.size()-1) ){
suffix = "";
}
for(Column replacement:replacedColumns){
insertColName.append(replacement.getName()+suffix);
insertValueStmt.append(replacement.getSqlStmt()+suffix);
if(!colStmt.getColumn().isKey()){
if(!firstNoneKey){
updateSetStmt.append(",");
}else{
firstNoneKey = false;
}
updateSetStmt.append(replacement.getName());
updateSetStmt.append(replacement.getSqlStmt());
}else{
if(!firstKey){
updateWhereStmt.append(" AND ");
}else{
firstKey = false;
}
updateWhereStmt.append(replacement.getName());
updateWhereStmt.append(replacement.getSqlStmt());
}
counterReplace++;
}
}else{
if(counterOuter==(stmtStructure.size()-1)){
suffix = "";
}
if(colStmt.isAddCol()){
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getSqlStmt()+suffix);
updateSetStmt.append(colStmt.getName());
updateSetStmt.append(colStmt.getSqlStmt()+suffix);
}else{
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getValue()+suffix);
updateSetStmt.append(colStmt.getName()+"=\"+routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[ "+ counterOuter + "]+\"" +suffix);
}
}
counterOuter ++;
}
if(("INSERT").equals(dataAction)){
%>
String insertQuery_<%=cid %> = "INSERT INTO "+<%=tableName%>+"(<%=insertColName.toString()%>) ("+select_query_<%=cid %>+")";
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insertQuery_<%=cid %>);
<%
} else if (("UPDATE").equals(dataAction)) {
%>
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+<%=tableName%>);
updateQuery_<%=cid %>.append(" SET <%=updateSetStmt.toString()%> " +select_query_<%=cid %>.substring(select_query_<%=cid %>.indexOf("FROM")));
<%
if((CodeGenerationUtils.hasAlphaNumericCharacter(whereClause) && (!useWhereTable)) || (useWhereTable && whereConditions.size() > 0)) {
%>
if(select_query_<%=cid %>.indexOf("WHERE")==-1){
updateQuery_<%=cid %>.append(" WHERE ");
}else{
updateQuery_<%=cid %>.append(" AND ");
}
<%
if(!useWhereTable) {
%>
updateQuery_<%=cid %>.append(<%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
} else {
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+<%=tableName%>);
deleteQuery_<%=cid %>.append(" WHERE EXISTS ("+select_query_<%=cid %>+")");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
}
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
int nb_line_deleted_<%=cid%> = 0;
<%
}
if(dbtable != null && columnList != null){
if(("INSERT").equals(dataAction)){
%>
System.out.println("Inserting with : \n" + insertQuery_<%=cid %> + "\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+insertQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_inserted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_updated_<%=cid%> + " rows updated. \n");
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_deleted_<%=cid%> + " rows deleted. \n");
<%
}
}
%>
pstmt_<%=cid %>.close();
<%
if(!useExistingConn) {
%>
if(conn_<%=cid%> != null && !conn_<%=cid%>.isClosed()) {
<%log4jCodeGenerateUtil.close(node);%>
}
<%
}
%>
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_UPDATED",nb_line_updated_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_INSERTED",nb_line_inserted_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_DELETED",nb_line_deleted_<%=cid%>);
<%
if(isLog4jEnabled){
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
<%
}
%>

View File

@@ -14,3 +14,19 @@ NB_LINE.NAME=Number of line
NB_LINE_UPDATED.NAME=Number Of Updated Lines
NB_LINE_INSERTED.NAME=Number Of Inserted Lines
NB_LINE_DELETED.NAME=Number Of Deleted Lines
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value

View File

@@ -38,7 +38,7 @@
<PARAMETER
NAME="DATA_ACTION"
FIELD="CLOSED_LIST"
NUM_ROW="6"
NUM_ROW="2"
>
<ITEMS DEFAULT="INSERT">
<ITEM NAME="INSERT" VALUE="INSERT" />
@@ -51,15 +51,45 @@
<PARAMETER
NAME="SCHEMA"
FIELD="SCHEMA_TYPE"
NUM_ROW="7"
NUM_ROW="3"
>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8"
NOT_SHOW_IF="(DATA_ACTION == 'MERGE') OR (DATA_ACTION == 'INSERT')"
>
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="4"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="5"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="6"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="7"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="USE_MERGE_UPDATE"

View File

@@ -87,8 +87,9 @@ imports="
dbproperties = ElementParameterParser.getValue(previousNode, "__PROPERTIES__");
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
%>
@@ -412,43 +413,70 @@ if (useHintOptions) {
<%
}else if (("UPDATE").equals(dataAction)){
%>
String updateQuery_<%=cid %> = "UPDATE "+tableName_<%=cid%>+" SET (<%=insertColName.toString()%>) = ("+select_query_<%=cid %>+") "
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+tableName_<%=cid%>+" SET (<%=insertColName.toString()%>) = ("+select_query_<%=cid %>+") ");
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
updateQuery_<%=cid %>.append(" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
%>
updateQuery_<%=cid %>.append(" WHERE ");
<%
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
if (useHintOptions && hintsValues.get("UPDATE") != null){
%>
updateQuery_<%=cid %>.insert(updateQuery_<%=cid %>.toString().indexOf("UPDATE")+ "UPDATE".length() +1 , <%=hintsValues.get("UPDATE")%> + " ");
<%
}
%>
;
<% if (useHintOptions && hintsValues.get("UPDATE") != null){
%>
StringBuffer updateStringBuffer_<%=cid%> = new StringBuffer(updateQuery_<%=cid %>);
updateStringBuffer_<%=cid%>.insert(updateQuery_<%=cid %>.indexOf("UPDATE")+ "UPDATE".length() +1 , <%=hintsValues.get("UPDATE")%> + " ");
updateQuery_<%=cid %> =updateStringBuffer_<%=cid%>.toString();
<%
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") "
<%if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%}%>
;
<%
if(useHintOptions && hintsValues.get("DELETE") != null) {
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
StringBuffer deleteStringBuffer_<%=cid%> = new StringBuffer(deleteQuery_<%=cid %>);
deleteStringBuffer_<%=cid%>.insert(deleteQuery_<%=cid %>.indexOf("DELETE")+ "DELETE".length()+1 , <%=hintsValues.get("DELETE")%> + " " );
deleteQuery_<%=cid %> =deleteStringBuffer_<%=cid%>.toString();
<%
}%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
if(useHintOptions && hintsValues.get("DELETE") != null) {
%>
deleteQuery_<%=cid %>.insert(deleteQuery_<%=cid %>.toString().indexOf("DELETE")+ "DELETE".length()+1 , <%=hintsValues.get("DELETE")%> + " " );
<%
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
}else if ("MERGE".equals(dataAction)) {
@@ -590,7 +618,7 @@ nb_line_inserted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
}else if(("UPDATE").equals(dataAction)){
%>
<%if(!isLog4jEnabled){%>System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");<%}%>
<%if(!isLog4jEnabled){%>System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");<%}%>
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
@@ -598,7 +626,7 @@ nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%
}else if (("DELETE").equals(dataAction)){
%>
<%if(!isLog4jEnabled){%>System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");<%}%>
<%if(!isLog4jEnabled){%>System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");<%}%>
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>

View File

@@ -35,6 +35,22 @@ USER.NAME=Username
COMMIT_EVERY.NAME=Commit every
WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
ELT_TABLE_NAME.NAME=Default Table Name
ELT_SCHEMA_NAME.NAME=Default Schema Name
NB_LINE_UPDATED.NAME=Number Of Updated Lines

View File

@@ -71,7 +71,7 @@
>
<ITEMS DEFAULT="INSERT">
<ITEM NAME="INSERT" VALUE="INSERT" />
<ITEM NAME="UPDATE" VALUE="UPDATE"/>
<ITEM NAME="UPDATE" VALUE="UPDATE" NOT_SHOW_IF="(MAPPING == 'databricks_delta_lake_id')"/>
<ITEM NAME="DELETE" VALUE="DELETE"/>
</ITEMS>
</PARAMETER>
@@ -83,10 +83,41 @@
>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8" SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')"
>
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="10"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="11"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="12"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"
@@ -129,6 +160,16 @@
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="PARTITION"
FIELD="TEXT"
NUM_ROW="35"
SHOW_IF="(MAPPING == 'databricks_delta_lake_id') AND (DATA_ACTION == 'INSERT')"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="MAPPING"

View File

@@ -1,90 +1,95 @@
<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.commons.utils.generation.CodeGenerationUtils
org.talend.core.model.utils.NodeUtil
java.util.List
java.util.ArrayList
java.util.LinkedList
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.commons.utils.generation.CodeGenerationUtils
org.talend.core.model.utils.NodeUtil
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.StringJoiner
java.util.Map
java.util.HashMap
java.util.Map
java.util.HashMap
"
skeleton="../templates/db_output_bulk.skeleton"
%>
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/Log4j/Log4jDBConnUtil.javajet"%>
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/Log4j/DBLogUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/Log4j/Log4jDBConnUtil.javajet"%>
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/Log4j/DBLogUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
String dbtable = null;
String dbschema = ElementParameterParser.getValue(node,"__ELT_SCHEMA_NAME__");
String uniqueNameConnection = null;
INode previousNode = null;
String dbtable = null;
String dbschema = ElementParameterParser.getValue(node,"__ELT_SCHEMA_NAME__");
String uniqueNameConnection = null;
INode previousNode = null;
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
boolean useUpdateStatement="true".equals(ElementParameterParser.getValue(node, "__USE_UPDATE_STATEMENT__"));
%>
String select_query_<%=cid %> = null;
String tableName_<%=cid%> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
boolean useUpdateStatement="true".equals(ElementParameterParser.getValue(node, "__USE_UPDATE_STATEMENT__"));
String dbmsId = ElementParameterParser.getValue(node,"__MAPPING__");
boolean isDeltaLake = "databricks_delta_lake_id".equals(dbmsId);
String partition = ElementParameterParser.getValue(node, "__PARTITION__");
%>
String select_query_<%=cid %> = null;
String tableName_<%=cid%> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
String dbschema_<%=cid%> = <%=dbschema%>;
if(dbschema_<%=cid%> != null && dbschema_<%=cid%>.trim().length() > 0) {
tableName_<%=cid%> = <%=dbschema%> + "." + <%=tableName%>;
}else {
tableName_<%=cid%> = <%=tableName%>;
}
<%
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
String dbschema_<%=cid%> = <%=dbschema%>;
if(dbschema_<%=cid%> != null && dbschema_<%=cid%>.trim().length() > 0) {
tableName_<%=cid%> = <%=dbschema%> + "." + <%=tableName%>;
}else {
tableName_<%=cid%> = <%=tableName%>;
}
<%
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String driverClass = null;
String jdbcUrl = null;
String dbuser = null;
boolean useExistingConn = false;
if(previousNode != null) {
driverClass = ElementParameterParser.getValue(previousNode, "__DRIVER_CLASS__");
jdbcUrl = ElementParameterParser.getValue(previousNode, "__URL__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
driverClass = ElementParameterParser.getValue(previousNode, "__DRIVER_CLASS__");
jdbcUrl = ElementParameterParser.getValue(previousNode, "__URL__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
%>
String dbUser_<%=cid %> = null;
<%
@@ -97,7 +102,7 @@ skeleton="../templates/db_output_bulk.skeleton"
if("tSnowflakeConnection".equals(connNode.getComponent().getName())){
connectionKey=connection+"_connection";
}else{
connectionKey=conn;
connectionKey=conn;
}
%>
java.sql.Connection conn_<%=cid%> = (java.sql.Connection)globalMap.get("<%=connectionKey%>");
@@ -110,26 +115,27 @@ skeleton="../templates/db_output_bulk.skeleton"
java.lang.Class.forName(driverClass_<%=cid%>);
String url_<%=cid %> = <%=jdbcUrl %>;
dbUser_<%=cid %> = <%=dbuser%>;
<%
String passwordFieldName = "__PASS__";
%>
<%
String passwordFieldName = "__PASS__";
%>
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/eltpassword.javajet"%>
String dbPwd_<%=cid %> = decryptedPassword_<%=cid%>;
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/eltpassword.javajet"%>
String dbPwd_<%=cid %> = decryptedPassword_<%=cid%>;
java.sql.Connection conn_<%=cid%> = null;
<%
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
}
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
if(metadatas !=null && metadatas.size()>0){
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
}
if(columnList != null && columnList.size()>0){
@@ -140,16 +146,16 @@ skeleton="../templates/db_output_bulk.skeleton"
List<Map<String, String>> setColumns = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__SET_COLUMN__");
int counterOuter = 0;
for(IMetadataColumn column : columnList){
String suffix = ",";
String suffix = ",";
if(counterOuter==(columnList.size()-1)){
suffix = "";
}
if(counterOuter==(columnList.size()-1)){
suffix = "";
}
String columnName = column.getOriginalDbColumnName();
if(columnName==null || columnName.trim().isEmpty()){
columnName = column.getLabel();
}
String columnName = column.getOriginalDbColumnName();
if(columnName==null || columnName.trim().isEmpty()){
columnName = column.getLabel();
}
boolean isUpdateColumn = "true".equals(setColumns.get(counterOuter).get("UPDATE_COLUMN"));
insertColName.append(columnName).append(suffix);
if (isUpdate && isUpdateColumn) {
@@ -159,50 +165,100 @@ skeleton="../templates/db_output_bulk.skeleton"
}
if(("INSERT").equals(dataAction)){
if(isDeltaLake){
%>
String insertQuery_<%=cid %> = "INSERT INTO "+tableName_<%=cid%> +
<%
if(partition != null && !"\"\"".equals(partition)){%> " PARTITION (" + <%=partition%> + ")" +<%}
%>
"("+select_query_<%=cid %>+")";
<%}else{%>
String insertQuery_<%=cid %> = "INSERT INTO "+tableName_<%=cid%>+"(<%=insertColName.toString()%>) ("+select_query_<%=cid %>+")";
<%
}
} else if (("UPDATE").equals(dataAction)){
if(useUpdateStatement){
boolean useAnd = false;
if(isDeltaLake){
%>
String updateQuery_<%=cid %> = null;
if (true)
throw new RuntimeException("UPDATE action is not supported by tELTOutput. Please use tDeltaLakeRow.");
<%
}else if(useUpdateStatement){
%>
String updateQuery_<%=cid %> = select_query_<%=cid %>;
StringBuffer updateQuery_<%=cid %> = new StringBuffer(select_query_<%=cid %>);
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if((CodeGenerationUtils.hasAlphaNumericCharacter(whereClause) && (!useWhereTable)) || (useWhereTable && whereConditions.size() > 0)) {
%>
if (updateQuery_<%=cid %>.toUpperCase().contains(" WHERE ")) {
updateQuery_<%=cid %> += " AND (" + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%> + ")";
if (updateQuery_<%=cid %>.toString().toUpperCase().contains(" WHERE ")) {
<%
useAnd = true;
%>
updateQuery_<%=cid %>.append(" AND (");
} else {
updateQuery_<%=cid %> += " WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>;
updateQuery_<%=cid %>.append(" WHERE ");
}
<%
}
} else {
%>
String updateQuery_<%=cid %> = "UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> "
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> ");
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if((CodeGenerationUtils.hasAlphaNumericCharacter(whereClause) && (!useWhereTable)) || (useWhereTable && whereConditions.size() > 0)) {
%>
+" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
updateQuery_<%=cid %>.append(" WHERE ");
<%
}
%>
;
<%
}
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
updateQuery_<%=cid %>.append(<%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
if(useAnd) {
%>
updateQuery_<%=cid %>.append(")");
<%
}
} else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") "
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%
}
%>
;
<%
%>
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
}
%>
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
@@ -211,24 +267,25 @@ skeleton="../templates/db_output_bulk.skeleton"
<%
}
if(dbtable != null && columnList != null){
{//use the block to limit the code scope for table action
Manager manager = null;
String dbmsId = ElementParameterParser.getValue(node,"__MAPPING__");
String tableAction = ElementParameterParser.getValue(node,"__TABLE_ACTION__");
if(dbtable != null && columnList != null){
{//use the block to limit the code scope for table action
Manager manager = null;
String tableAction = ElementParameterParser.getValue(node,"__TABLE_ACTION__");
List<Column> stmtStructure = getELTManager(dbmsId, cid, node).createColumnList(columnList, false, null, null);
List<Column> stmtStructure = getELTManager(dbmsId, cid, node).createColumnList(columnList, false, null, null);
String table = useDifferentTable ? differenttable : ("\""+dbtable +"\"");
String table = useDifferentTable ? differenttable : ("\""+dbtable +"\"");
dbLog = new DBLogUtil(node);
%>
<%@ include file="../templates/_tableActionForELT.javajet"%>
<%
}
dbLog = new DBLogUtil(node);
%>
<%@ include file="../templates/_tableActionForELT.javajet"%>
<%
}
if(("INSERT").equals(dataAction)){
%>
if(("INSERT").equals(dataAction)){
%>
System.out.println("Inserting with : \n" + insertQuery_<%=cid %> + "\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+insertQuery_"+ cid +"+\"");%>
java.sql.PreparedStatement pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insertQuery_<%=cid %>);
@@ -239,9 +296,9 @@ skeleton="../templates/db_output_bulk.skeleton"
<%
} else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
java.sql.PreparedStatement pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
java.sql.PreparedStatement pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_updated_<%=cid%> + " rows updated. \n");
@@ -249,9 +306,9 @@ skeleton="../templates/db_output_bulk.skeleton"
<%
} else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
java.sql.PreparedStatement pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
java.sql.PreparedStatement pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_deleted_<%=cid%> + " rows deleted. \n");
@@ -266,7 +323,7 @@ skeleton="../templates/db_output_bulk.skeleton"
if(!useExistingConn) {
%>
if(conn_<%=cid%> != null && !conn_<%=cid%>.isClosed()) {
<%log4jCodeGenerateUtil.close(node);%>
<%log4jCodeGenerateUtil.close(node);%>
}
<%
}
@@ -278,12 +335,12 @@ skeleton="../templates/db_output_bulk.skeleton"
globalMap.put("<%=cid %>_NB_LINE_DELETED",nb_line_deleted_<%=cid%>);
<%
if(isLog4jEnabled){
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
<%
}
%>

View File

@@ -23,6 +23,22 @@ USER.NAME=Username
COMMIT_EVERY.NAME=Commit every
WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
ELT_TABLE_NAME.NAME=Default Table Name
ELT_SCHEMA_NAME.NAME=Default Schema Name
NB_LINE_UPDATED.NAME=Number Of Updated Lines
@@ -44,4 +60,6 @@ TABLE_ACTION.NAME=Action on table
USE_UPDATE_STATEMENT.NAME=Use update statement without subqueries
SET_COLUMN.ITEM.UPDATE_COLUMN=Update column
SET_COLUMN.NAME=Clause SET
SET_COLUMN.NAME=Clause SET
PARTITION.NAME=Partition

View File

@@ -54,10 +54,41 @@
>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8" SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')"
>
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="10"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="11"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="12"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"

View File

@@ -84,6 +84,8 @@ imports="
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
%>
@@ -287,50 +289,76 @@ for(Column colStmt:stmtStructure){
<%
if(useUpdateStatement){
%>
String updateQuery_<%=cid %> = select_query_<%=cid %>;
StringBuffer updateQuery_<%=cid %> = new StringBuffer(select_query_<%=cid %>);
<%
}else{
%>
String updateQuery_<%=cid %> = "UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> ";
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> ");
<%
}
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if((CodeGenerationUtils.hasAlphaNumericCharacter(whereClause) && (!useWhereTable)) || (useWhereTable && whereConditions.size() > 0)) {
if(useUpdateStatement){
%>
if(select_query_<%=cid %>.indexOf("WHERE")==-1){
updateQuery_<%=cid %> +=" WHERE ";
updateQuery_<%=cid %>.append(" WHERE ");
}else{
updateQuery_<%=cid %> +=" AND ";
updateQuery_<%=cid %>.append(" AND ");
}
updateQuery_<%=cid %>+= <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>;
<%
}else{
%>
updateQuery_<%=cid %> += " WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>;
updateQuery_<%=cid %>.append(" WHERE ");
<%
}
if(!useWhereTable) {
%>
updateQuery_<%=cid %>.append(<%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
} else {
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") "
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
<%
}
%>
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
@@ -353,7 +381,7 @@ System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
@@ -361,7 +389,7 @@ nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>

View File

@@ -23,6 +23,22 @@ USER.NAME=Username
COMMIT_EVERY.NAME=Commit every
WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
ELT_TABLE_NAME.NAME=Default Table Name
ELT_SCHEMA_NAME.NAME=Default Schema Name
NB_LINE_UPDATED.NAME=Number Of Updated Lines

View File

@@ -40,7 +40,7 @@
<PARAMETER
NAME="DATA_ACTION"
FIELD="CLOSED_LIST"
NUM_ROW="6"
NUM_ROW="2"
>
<ITEMS DEFAULT="INSERT">
<ITEM NAME="INSERT" VALUE="INSERT" />
@@ -52,16 +52,47 @@
<PARAMETER
NAME="SCHEMA"
FIELD="SCHEMA_TYPE"
NUM_ROW="7"
NUM_ROW="3"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="4"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="5"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="6"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="7"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"
FIELD="TEXT"

View File

@@ -1,138 +1,140 @@
<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.commons.utils.generation.CodeGenerationUtils
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
"
%>
<%@ include file="../templates/Log4j/Log4jDBConnUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
String dbtable = null;
String dbschema = ElementParameterParser.getValue(node,"__ELT_SCHEMA_NAME__");
String uniqueNameConnection = null;
INode previousNode = null;
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
String dbVersion = ElementParameterParser.getValue(node, "__DB_VERSION__");
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
%>
String select_query_<%=cid %> = null;
String tableName_<%=cid%> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
String dbschema_<%=cid%> = <%=dbschema%>;
if(dbschema_<%=cid%> != null && dbschema_<%=cid%>.trim().length() > 0) {
tableName_<%=cid%> = <%=dbschema%> + "." + <%=tableName%>;
} else {
tableName_<%=cid%> = <%=tableName%>;
}
<%
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String dbhost = null;
String dbport = null;
String dbname = null;
String dbuser = null;
boolean useExistingConn = false;
String dbproperties = null;
if(previousNode != null) {
dbhost = ElementParameterParser.getValue(previousNode, "__HOST__");
dbport = ElementParameterParser.getValue(previousNode, "__PORT__");
dbname = ElementParameterParser.getValue(previousNode, "__DBNAME__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
dbproperties = ElementParameterParser.getValue(previousNode, "__PROPERTIES__");
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
%>
<%
if(useExistingConn) {
String connection = ElementParameterParser.getValue(previousNode, "__CONNECTION__");
String conn = "conn_" + connection;
%>
java.sql.Connection conn_<%=cid%> = (java.sql.Connection)globalMap.get("<%=conn%>");
<%
log4jCodeGenerateUtil.useExistConnection(node);
} else {
if("SYBSEIQ_16_SA".equals(dbVersion)){
%>
String driverClass_<%=cid%> = "sap.jdbc4.sqlanywhere.IDriver";
<%
if(dbproperties == null || ("\"\"").equals(dbproperties) || ("").equals(dbproperties)) {
%>
String url_<%=cid%> = "jdbc:sqlanywhere:Host=" + <%=dbhost %> + ":" + <%=dbport %> + ";DatabaseName=" + <%=dbname %>;
<%
}
else{
%>
String url_<%=cid%> = "jdbc:sqlanywhere:Host=" + <%=dbhost %> + ":" + <%=dbport %> + ";DatabaseName=" + <%=dbname %> + ";" + <%=dbproperties%>;
<%
}
}
else if("SYBSEIQ_16".equals(dbVersion)){%>
String driverClass_<%=cid%> = "com.sybase.jdbc4.jdbc.SybDriver";
<%}else{%>
String driverClass_<%=cid%> = "com.sybase.jdbc3.jdbc.SybDriver";
<%}%>
java.lang.Class jdbcclazz_<%=cid%> = java.lang.Class.forName(driverClass_<%=cid%>);
<%if("SYBSEIQ_16".equals(dbVersion)){%>
jdbcclazz_<%=cid%>.newInstance();
<%}%>
<%
if(dbproperties == null || ("\"\"").equals(dbproperties) || ("").equals(dbproperties)) {
%>
String url_<%=cid %> = "jdbc:sybase:Tds:" + <%=dbhost %> + ":" + <%=dbport %> + "/" + <%=dbname %>;
<%
} else {
%>
String url_<%=cid %> = "jdbc:sybase:Tds:" + <%=dbhost %> + ":" + <%=dbport %> + "/" + <%=dbname %> + "?" + <%=dbproperties%>;
<%
}
%>
String dbUser_<%=cid %> = <%=dbuser%>;
<%@ jet
imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.commons.utils.generation.CodeGenerationUtils
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
"
%>
<%@ include file="../templates/Log4j/Log4jDBConnUtil.javajet"%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.getProcess(), "__LOG4J_ACTIVATE__"));
String cid = node.getUniqueName();
String dbtable = null;
String dbschema = ElementParameterParser.getValue(node,"__ELT_SCHEMA_NAME__");
String uniqueNameConnection = null;
INode previousNode = null;
String differenttable = ElementParameterParser.getValue(node, "__DIFFERENT_TABLE_NAME__");
boolean useDifferentTable = "true".equals(ElementParameterParser.getValue(node, "__USE_DIFFERENT_TABLE__"));
String dbVersion = ElementParameterParser.getValue(node, "__DB_VERSION__");
boolean isTableNameVariable="true".equals(ElementParameterParser.getValue(node, "__IS_TABLE_NAME_VARIABLE__"));
%>
String select_query_<%=cid %> = null;
String tableName_<%=cid%> = null;
String selectQueryColumnsName_<%=cid %> = null;
<%
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if(connections != null && connections.size() > 0 && connections.get(0) != null) {
IConnection connection = connections.get(0);
previousNode = connection.getSource();
String previousComponentName = previousNode.getUniqueName();
dbtable = connection.getName();
uniqueNameConnection = connection.getUniqueName();
%>
select_query_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY"+"<%=uniqueNameConnection%>");
selectQueryColumnsName_<%=cid %> = (String) globalMap.get("<%=previousComponentName%>"+"QUERY_COLUMNS_NAME"+"<%=uniqueNameConnection%>");
<%
}
String tableName=null;
if(useDifferentTable){
tableName=differenttable;
}else{
if(isTableNameVariable){
tableName=dbtable;
}else{
tableName="\""+dbtable +"\"";
}
}
%>
String dbschema_<%=cid%> = <%=dbschema%>;
if(dbschema_<%=cid%> != null && dbschema_<%=cid%>.trim().length() > 0) {
tableName_<%=cid%> = <%=dbschema%> + "." + <%=tableName%>;
} else {
tableName_<%=cid%> = <%=tableName%>;
}
<%
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String dbhost = null;
String dbport = null;
String dbname = null;
String dbuser = null;
boolean useExistingConn = false;
String dbproperties = null;
if(previousNode != null) {
dbhost = ElementParameterParser.getValue(previousNode, "__HOST__");
dbport = ElementParameterParser.getValue(previousNode, "__PORT__");
dbname = ElementParameterParser.getValue(previousNode, "__DBNAME__");
dbuser = ElementParameterParser.getValue(previousNode, "__USER__");
useExistingConn = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_EXISTING_CONNECTION__"));
dbproperties = ElementParameterParser.getValue(previousNode, "__PROPERTIES__");
}
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
%>
<%
if(useExistingConn) {
String connection = ElementParameterParser.getValue(previousNode, "__CONNECTION__");
String conn = "conn_" + connection;
%>
java.sql.Connection conn_<%=cid%> = (java.sql.Connection)globalMap.get("<%=conn%>");
<%
log4jCodeGenerateUtil.useExistConnection(node);
} else {
if("SYBSEIQ_16_SA".equals(dbVersion)){
%>
String driverClass_<%=cid%> = "sap.jdbc4.sqlanywhere.IDriver";
<%
if(dbproperties == null || ("\"\"").equals(dbproperties) || ("").equals(dbproperties)) {
%>
String url_<%=cid%> = "jdbc:sqlanywhere:Host=" + <%=dbhost %> + ":" + <%=dbport %> + ";DatabaseName=" + <%=dbname %>;
<%
}
else{
%>
String url_<%=cid%> = "jdbc:sqlanywhere:Host=" + <%=dbhost %> + ":" + <%=dbport %> + ";DatabaseName=" + <%=dbname %> + ";" + <%=dbproperties%>;
<%
}
}
else if("SYBSEIQ_16".equals(dbVersion)){%>
String driverClass_<%=cid%> = "com.sybase.jdbc4.jdbc.SybDriver";
<%}else{%>
String driverClass_<%=cid%> = "com.sybase.jdbc3.jdbc.SybDriver";
<%}%>
java.lang.Class jdbcclazz_<%=cid%> = java.lang.Class.forName(driverClass_<%=cid%>);
<%if("SYBSEIQ_16".equals(dbVersion)){%>
jdbcclazz_<%=cid%>.newInstance();
<%}%>
<%
if(dbproperties == null || ("\"\"").equals(dbproperties) || ("").equals(dbproperties)) {
%>
String url_<%=cid %> = "jdbc:sybase:Tds:" + <%=dbhost %> + ":" + <%=dbport %> + "/" + <%=dbname %>;
<%
} else {
%>
String url_<%=cid %> = "jdbc:sybase:Tds:" + <%=dbhost %> + ":" + <%=dbport %> + "/" + <%=dbname %> + "?" + <%=dbproperties%>;
<%
}
%>
String dbUser_<%=cid %> = <%=dbuser%>;
<%
String passwordFieldName = "__PASS__";
@@ -141,249 +143,278 @@ imports="
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/eltpassword.javajet"%>
String dbPwd_<%=cid %> = decryptedPassword_<%=cid%>;
java.sql.Connection conn_<%=cid%> = null;
<%
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
}
%>
<%
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
if(metadatas !=null && metadatas.size()>0){
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
}
%>
java.sql.PreparedStatement pstmt_<%=cid %> =null;
<%
if(columnList != null && columnList.size()>0){
class Column{
IMetadataColumn column;
String name;
String sqlStmt;
String value;
boolean addCol;
List<Column> replacement = new ArrayList<Column>();
public Column(IMetadataColumn column){
this.column = column;
String columname = column.getOriginalDbColumnName();
if(columname!=null && columname.trim().length()>0){
this.name = columname;
}else{
this.name = column.getLabel();
}
this.sqlStmt = "=?";
this.value = "?";
this.addCol =false;
}
public boolean isReplaced(){
return replacement.size()>0;
}
public List<Column> getReplacement(){
return this.replacement;
}
public IMetadataColumn getColumn(){
return this.column;
}
public String getName(){
return this.name;
}
public boolean isAddCol(){
return this.addCol;
}
public String getSqlStmt(){
return this.sqlStmt;
}
public String getValue(){
return this.value;
}
}
StringBuilder insertColName = new StringBuilder();
StringBuilder insertValueStmt = new StringBuilder();
StringBuilder updateSetStmt = new StringBuilder();
StringBuilder updateWhereStmt = new StringBuilder();
List<Column> stmtStructure = new LinkedList<Column>();
for(IMetadataColumn column:columnList){
stmtStructure.add(new Column(column));
}
int counterOuter =0;
boolean firstKey = true;
boolean firstNoneKey = true;
for(Column colStmt:stmtStructure){
String suffix = ",";
if(colStmt.isReplaced()){
List<Column> replacedColumns = colStmt.getReplacement();
int counterReplace = 0;
if(counterOuter==(stmtStructure.size()-1) && counterReplace==(replacedColumns.size()-1) ){
suffix = "";
}
for(Column replacement:replacedColumns){
insertColName.append(replacement.getName()+suffix);
insertValueStmt.append(replacement.getSqlStmt()+suffix);
if(!colStmt.getColumn().isKey()){
if(!firstNoneKey){
updateSetStmt.append(",");
}else{
firstNoneKey = false;
}
updateSetStmt.append(replacement.getName());
updateSetStmt.append(replacement.getSqlStmt());
}else{
if(!firstKey){
updateWhereStmt.append(" AND ");
}else{
firstKey = false;
}
updateWhereStmt.append(replacement.getName());
updateWhereStmt.append(replacement.getSqlStmt());
}
counterReplace++;
}
}else{
if(counterOuter==(stmtStructure.size()-1)){
suffix = "";
}
if(colStmt.isAddCol()){
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getSqlStmt()+suffix);
updateSetStmt.append(colStmt.getName());
updateSetStmt.append(colStmt.getSqlStmt()+suffix);
}else{
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getValue()+suffix);
updateSetStmt.append(colStmt.getName()+"=(\"+select_query_"+ cid +".replaceFirst(java.util.regex.Pattern.quote(selectQueryColumnsName_"+ cid +"),routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[ "+ counterOuter + "])+\")" +suffix);
}
}
counterOuter ++;
}
if(("INSERT").equals(dataAction)){
%>
String insertQuery_<%=cid %> = "INSERT INTO "+tableName_<%=cid%>+" (<%=insertColName.toString()%>) ("+select_query_<%=cid %>+")";
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insertQuery_<%=cid %>);
<%
} else if (("UPDATE").equals(dataAction)) {
%>
String updateQuery_<%=cid %> = "UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> "
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+ select_query_<%=cid %>.replaceAll(selectQueryColumnsName_<%=cid %>, "*")+") "
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
<%
}
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
int nb_line_deleted_<%=cid%> = 0;
<%
}
if(dbtable != null && columnList != null){
if(("INSERT").equals(dataAction)){
%>
System.out.println("Inserting with : \n" + insertQuery_<%=cid %> + "\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+insertQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_inserted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_updated_<%=cid%> + " rows updated. \n");
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_deleted_<%=cid%> + " rows deleted. \n");
<%
}
}
// END
%>
pstmt_<%=cid %>.close();
<%
if(!useExistingConn) {
%>
if(conn_<%=cid%> != null && !conn_<%=cid%>.isClosed()) {
<%log4jCodeGenerateUtil.close(node);%>
}
<%
}
%>
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_UPDATED",nb_line_updated_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_INSERTED",nb_line_inserted_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_DELETED",nb_line_deleted_<%=cid%>);
<%
if(isLog4jEnabled){
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
<%
}
%>
java.sql.Connection conn_<%=cid%> = null;
<%
log4jCodeGenerateUtil.debugConnectionParams(node);
log4jCodeGenerateUtil.connect(node);
}
%>
<%
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
if(metadatas !=null && metadatas.size()>0){
IMetadataTable metadata = metadatas.get(0);
if(metadata != null){
columnList = metadata.getListColumns();
}
}
%>
java.sql.PreparedStatement pstmt_<%=cid %> =null;
<%
if(columnList != null && columnList.size()>0){
class Column{
IMetadataColumn column;
String name;
String sqlStmt;
String value;
boolean addCol;
List<Column> replacement = new ArrayList<Column>();
public Column(IMetadataColumn column){
this.column = column;
String columname = column.getOriginalDbColumnName();
if(columname!=null && columname.trim().length()>0){
this.name = columname;
}else{
this.name = column.getLabel();
}
this.sqlStmt = "=?";
this.value = "?";
this.addCol =false;
}
public boolean isReplaced(){
return replacement.size()>0;
}
public List<Column> getReplacement(){
return this.replacement;
}
public IMetadataColumn getColumn(){
return this.column;
}
public String getName(){
return this.name;
}
public boolean isAddCol(){
return this.addCol;
}
public String getSqlStmt(){
return this.sqlStmt;
}
public String getValue(){
return this.value;
}
}
StringBuilder insertColName = new StringBuilder();
StringBuilder insertValueStmt = new StringBuilder();
StringBuilder updateSetStmt = new StringBuilder();
StringBuilder updateWhereStmt = new StringBuilder();
List<Column> stmtStructure = new LinkedList<Column>();
for(IMetadataColumn column:columnList){
stmtStructure.add(new Column(column));
}
int counterOuter =0;
boolean firstKey = true;
boolean firstNoneKey = true;
for(Column colStmt:stmtStructure){
String suffix = ",";
if(colStmt.isReplaced()){
List<Column> replacedColumns = colStmt.getReplacement();
int counterReplace = 0;
if(counterOuter==(stmtStructure.size()-1) && counterReplace==(replacedColumns.size()-1) ){
suffix = "";
}
for(Column replacement:replacedColumns){
insertColName.append(replacement.getName()+suffix);
insertValueStmt.append(replacement.getSqlStmt()+suffix);
if(!colStmt.getColumn().isKey()){
if(!firstNoneKey){
updateSetStmt.append(",");
}else{
firstNoneKey = false;
}
updateSetStmt.append(replacement.getName());
updateSetStmt.append(replacement.getSqlStmt());
}else{
if(!firstKey){
updateWhereStmt.append(" AND ");
}else{
firstKey = false;
}
updateWhereStmt.append(replacement.getName());
updateWhereStmt.append(replacement.getSqlStmt());
}
counterReplace++;
}
}else{
if(counterOuter==(stmtStructure.size()-1)){
suffix = "";
}
if(colStmt.isAddCol()){
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getSqlStmt()+suffix);
updateSetStmt.append(colStmt.getName());
updateSetStmt.append(colStmt.getSqlStmt()+suffix);
}else{
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getValue()+suffix);
updateSetStmt.append(colStmt.getName()+"=(\"+select_query_"+ cid +".replaceFirst(java.util.regex.Pattern.quote(selectQueryColumnsName_"+ cid +"),routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[ "+ counterOuter + "])+\")" +suffix);
}
}
counterOuter ++;
}
if(("INSERT").equals(dataAction)){
%>
String insertQuery_<%=cid %> = "INSERT INTO "+tableName_<%=cid%>+" (<%=insertColName.toString()%>) ("+select_query_<%=cid %>+")";
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(insertQuery_<%=cid %>);
<%
} else if (("UPDATE").equals(dataAction)) {
%>
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
updateQuery_<%=cid %>.append(" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
%>
updateQuery_<%=cid %>.append(" WHERE ");
<%
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+ select_query_<%=cid %>.replaceAll(selectQueryColumnsName_<%=cid %>, "*")+") ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
}
%>
int nb_line_<%=cid%> = 0;
int nb_line_updated_<%=cid%> = 0;
int nb_line_inserted_<%=cid%> = 0;
int nb_line_deleted_<%=cid%> = 0;
<%
}
if(dbtable != null && columnList != null){
if(("INSERT").equals(dataAction)){
%>
System.out.println("Inserting with : \n" + insertQuery_<%=cid %> + "\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+insertQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_inserted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_inserted_<%=cid%> + " rows inserted. \n");
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_updated_<%=cid%> + " rows updated. \n");
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
System.out.println("--> " + nb_line_deleted_<%=cid%> + " rows deleted. \n");
<%
}
}
// END
%>
pstmt_<%=cid %>.close();
<%
if(!useExistingConn) {
%>
if(conn_<%=cid%> != null && !conn_<%=cid%>.isClosed()) {
<%log4jCodeGenerateUtil.close(node);%>
}
<%
}
%>
globalMap.put("<%=cid %>_NB_LINE",nb_line_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_UPDATED",nb_line_updated_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_INSERTED",nb_line_inserted_<%=cid%>);
globalMap.put("<%=cid %>_NB_LINE_DELETED",nb_line_deleted_<%=cid%>);
<%
if(isLog4jEnabled){
Map<String,String> actionMap=new java.util.HashMap<String,String>();
actionMap.put("INSERT","inserted");
actionMap.put("UPDATE","updated");
actionMap.put("DELETE","deleted");
%>
log.info("<%=cid%> - Has <%=actionMap.get(dataAction)%> records count: " + nb_line_<%=actionMap.get(dataAction)%>_<%=cid%> + ".");
<%
}
%>

View File

@@ -41,6 +41,22 @@ WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
ELT_TABLE_NAME.NAME=Default Table Name
ELT_SCHEMA_NAME.NAME=Default Schema Name
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
NB_LINE_UPDATED.NAME=Number Of Updated Lines
NB_LINE_INSERTED.NAME=Number Of Inserted Lines
NB_LINE_DELETED.NAME=Number Of Deleted Lines

View File

@@ -55,15 +55,46 @@
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="10"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="11"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="12"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"
FIELD="TEXT"
NUM_ROW="10"
NUM_ROW="13"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>

View File

@@ -10,7 +10,7 @@ imports="
org.talend.commons.utils.generation.CodeGenerationUtils
java.util.List
java.util.LinkedList
java.util.StringJoiner
java.util.StringJoiner
java.util.Map;
"
%>
@@ -111,8 +111,9 @@ imports="
queryBandList = (List<Map<String,String>>)ElementParameterParser.getObjectValue(previousNode, "__QUERY_BAND_PARAMETERS__");
}
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(previousNode, "__USE_WHERE_CONDITIONS_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
%>
<%
@@ -247,31 +248,31 @@ for(IMetadataColumn column:columnList){
}
int counterOuter =0;
List<Map<String, String>> setColumns = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__SET_COLUMN__");
boolean isUpdate = "UPDATE".equals(dataAction);
String suffix = ",";
StringJoiner updateSetStmt = new StringJoiner(suffix);
List<Map<String, String>> setColumns = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__SET_COLUMN__");
boolean isUpdate = "UPDATE".equals(dataAction);
String suffix = ",";
StringJoiner updateSetStmt = new StringJoiner(suffix);
for(Column colStmt:stmtStructure){
if(counterOuter==(stmtStructure.size()-1)){
suffix = "";
}
boolean isUpdateColumn = "true".equals(setColumns.get(counterOuter).get("UPDATE_COLUMN"));
boolean isUpdateColumn = "true".equals(setColumns.get(counterOuter).get("UPDATE_COLUMN"));
if(colStmt.isAddCol()){
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getSqlStmt()+suffix);
if (isUpdate && isUpdateColumn) {
updateSetStmt.add(colStmt.getName() + colStmt.getSqlStmt());
}
if (isUpdate && isUpdateColumn) {
updateSetStmt.add(colStmt.getName() + colStmt.getSqlStmt());
}
}else{
insertColName.append(colStmt.getName()+suffix);
insertValueStmt.append(colStmt.getValue()+suffix);
if (isUpdate && isUpdateColumn) {
updateSetStmt.add(
if (isUpdate && isUpdateColumn) {
updateSetStmt.add(
colStmt.getName()
+ "= \"+ strUtil_"
+ cid
+ ".transform(routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[" + counterOuter + "]) +\"");
}
+ ".transform(routines.system.StringUtils.splitSQLColumns(selectQueryColumnsName_"+ cid +")[" + counterOuter + "]) +\"");
}
}
counterOuter ++;
}
@@ -290,38 +291,72 @@ try{
<%log4jCodeGenerateUtil.logInfo(node,"error",cid+" - Fail to create PreparedStatement with SQL: \"+insertQuery_"+ cid +"+\"");%>
throw e;
}
<%
<%
}else if (("UPDATE").equals(dataAction)){
%>
%>
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE "+tableName_<%=cid%>+" FROM (" + select_query_<%=cid %> + ") src SET <%=updateSetStmt.toString()%>");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
updateQuery_<%=cid %>.append(" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
%>
updateQuery_<%=cid %>.append(" WHERE ");
<%
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
try{
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
} catch (Exception e){
<%log4jCodeGenerateUtil.logInfo(node,"error",cid+" - Fail to create PreparedStatement with SQL: \"+updateQuery_"+ cid +"+\"");%>
throw e;
}
String updateQuery_<%=cid %> = "UPDATE "+tableName_<%=cid%>+" FROM (" + select_query_<%=cid %> + ") src SET <%=updateSetStmt.toString()%>"
<%if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {%>
+" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%}%>
;
try{
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
} catch (Exception e){
<%log4jCodeGenerateUtil.logInfo(node,"error",cid+" - Fail to create PreparedStatement with SQL: \"+updateQuery_"+ cid +"+\"");%>
throw e;
}
<%
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") "
<%if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
<%}%>
;
try {
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
} catch (Exception e){
<%log4jCodeGenerateUtil.logInfo(node,"error",cid+" - Fail to create PreparedStatement with SQL: \"+deleteQuery_"+ cid +"+\"");%>
throw e;
}
%>
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+select_query_<%=cid %>+") ");
<%
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
try {
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
} catch (Exception e){
<%log4jCodeGenerateUtil.logInfo(node,"error",cid+" - Fail to create PreparedStatement with SQL: \"+deleteQuery_"+ cid +"+\"");%>
throw e;
}
<%
@@ -353,7 +388,7 @@ if(dbtable != null && columnList != null){
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
try{
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL: \"+updateQuery_"+ cid +"+\"");%>
nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
@@ -367,7 +402,7 @@ if(dbtable != null && columnList != null){
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
try{
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL: \"+deleteQuery_"+ cid +"+\"");%>
nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();

View File

@@ -41,6 +41,22 @@ USER.NAME=Username
WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
ELT_TABLE_NAME.NAME=Default Table Name
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
SET_COLUMN.ITEM.UPDATE_COLUMN=Update column
SET_COLUMN.NAME=Clause SET

View File

@@ -40,7 +40,7 @@
<PARAMETER
NAME="DATA_ACTION"
FIELD="CLOSED_LIST"
NUM_ROW="6"
NUM_ROW="2"
>
<ITEMS DEFAULT="INSERT">
<ITEM NAME="INSERT" VALUE="INSERT" />
@@ -52,15 +52,46 @@
<PARAMETER
NAME="SCHEMA"
FIELD="SCHEMA_TYPE"
NUM_ROW="7"
NUM_ROW="3"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="8"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<PARAMETER NAME="USE_WHERE_CONDITIONS_TABLE" FIELD="CHECK" NUM_ROW="4"
SHOW_IF="(DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CLAUSE" FIELD="MEMO" NUM_ROW="5"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'false')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" NUM_ROW="6"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<DEFAULT>WHERE conditions table&#x000A;(for UPDATE and DELETE only)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WHERE_CONDITIONS_TABLE" FIELD="TABLE" NUM_ROW="8"
SHOW_IF="((DATA_ACTION == 'UPDATE') OR (DATA_ACTION == 'DELETE')) AND (USE_WHERE_CONDITIONS_TABLE == 'true')">
<ITEMS>
<ITEM NAME="COLUMN" VALUE='""'/>
<ITEM NAME="FUNCTION" FIELD="CLOSED_LIST">
<ITEMS DEFAULT="EQUAL">
<ITEM NAME="EQUAL" VALUE="&quot;=&quot;"/>
<ITEM NAME="GREATER" VALUE="&quot;&gt;&quot;"/>
<ITEM NAME="LESS" VALUE="&quot;&lt;&quot;"/>
<ITEM NAME="GREATER_OR_EQUAL" VALUE="&quot;&gt;=&quot;"/>
<ITEM NAME="LESS_OR_EQUAL" VALUE="&quot;&lt;=&quot;"/>
<ITEM NAME="NOT_EQUAL" VALUE="&quot;&lt;&gt;&quot;"/>
<ITEM NAME="BETWEEN" VALUE="&quot;BETWEEN&quot;"/>
<ITEM NAME="LIKE" VALUE="&quot;LIKE&quot;"/>
<ITEM NAME="IN" VALUE="&quot;IN&quot;"/>
</ITEMS>
</ITEM>
<ITEM NAME="VALUE_SQL" VALUE='""'/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="ELT_TABLE_NAME"

View File

@@ -81,7 +81,9 @@ imports="
dbproperties = ElementParameterParser.getValue(previousNode, "__PROPERTIES__");
}
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
boolean useWhereTable = ("true").equals(ElementParameterParser.getValue(node, "__USE_WHERE_CONDITIONS_TABLE__"));
String whereClause = ElementParameterParser.getValue(node, "__WHERE_CLAUSE__");
List<Map<String, String>> whereConditions = (List<Map<String,String>>)ElementParameterParser.getObjectValue(node, "__WHERE_CONDITIONS_TABLE__");
if(useExistingConn) {
String connection = ElementParameterParser.getValue(previousNode, "__CONNECTION__");
@@ -293,30 +295,59 @@ imports="
<%
} else if (("UPDATE").equals(dataAction)) {
%>
String updateQuery_<%=cid %> = "UPDATE " + info_<%=cid%> + " "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> "
StringBuffer updateQuery_<%=cid %> = new StringBuffer("UPDATE " + info_<%=cid%> + " "+tableName_<%=cid%>+" SET <%=updateSetStmt.toString()%> ");
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
updateQuery_<%=cid %>.append(" WHERE " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
%>
updateQuery_<%=cid %>.append(" WHERE ");
<%
String operator = "\"\"";
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
updateQuery_<%=cid %>.append(<%=operator %> + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
operator = "\" AND \"";
}
}
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>);
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(updateQuery_<%=cid %>.toString());
<%
}else if (("DELETE").equals(dataAction)){
%>
String deleteQuery_<%=cid %> = "DELETE " + info_<%=cid%> + " FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+ select_query_<%=cid %>.replaceAll(selectQueryColumnsName_<%=cid %>, "*")+") "
StringBuffer deleteQuery_<%=cid %> = new StringBuffer("DELETE " + info_<%=cid%> + " FROM "+ tableName_<%=cid%>+" WHERE EXISTS ("+ select_query_<%=cid %>.replaceAll(selectQueryColumnsName_<%=cid %>, "*")+") ");
<%
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
if(!useWhereTable) {
if(CodeGenerationUtils.hasAlphaNumericCharacter(whereClause)) {
%>
+" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>
deleteQuery_<%=cid %>.append(" AND " + <%=CodeGenerationUtils.replaceAllCrBySpace(whereClause)%>);
<%
}
} else {
if(whereConditions.size() > 0) {
for(Map<String, String> whereCondition : whereConditions) {
String column_condition = whereCondition.get("COLUMN");
String function_condition = whereCondition.get("FUNCTION");
String value_condition = whereCondition.get("VALUE_SQL");
%>
deleteQuery_<%=cid %>.append(" AND " + <%=column_condition %> + " " + <%=function_condition %> + " " + <%=value_condition %>);
<%
}
}
}
%>
;
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>);
%>
pstmt_<%=cid %> = conn_<%=cid%>.prepareStatement(deleteQuery_<%=cid %>.toString());
<%
}
%>
@@ -338,7 +369,7 @@ imports="
<%
}else if(("UPDATE").equals(dataAction)){
%>
System.out.println("Updating with : \n" + updateQuery_<%=cid %> +"\n");
System.out.println("Updating with : \n" + updateQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+updateQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_updated_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>
@@ -346,7 +377,7 @@ imports="
<%
}else if (("DELETE").equals(dataAction)){
%>
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %> +"\n");
System.out.println("Deleting with : \n" + deleteQuery_<%=cid %>.toString() +"\n");
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executing SQL:\"+deleteQuery_"+ cid +"+\"");%>
nb_line_<%=cid%> += nb_line_deleted_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
<%log4jCodeGenerateUtil.logInfo(node,"info",cid+" - Executed successfully.");%>

View File

@@ -41,6 +41,22 @@ WHERE_CLAUSE.NAME=Where clauses \n(for UPDATE and DELETE only)
ELT_TABLE_NAME.NAME=Default Table Name
ELT_SCHEMA_NAME.NAME=Default Schema Name
USE_WHERE_CONDITIONS_TABLE.NAME=Use WHERE conditions table
WHERE_CONDITIONS_TABLE.NAME=
WHERE_CONDITIONS_TABLE.ITEM.COLUMN=Column
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION=Function
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.EQUAL==
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER=>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS=<
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.GREATER_OR_EQUAL=>=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LESS_OR_EQUAL=<=
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.NOT_EQUAL=<>
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.BETWEEN=BETWEEN
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.LIKE=LIKE
WHERE_CONDITIONS_TABLE.ITEM.FUNCTION.ITEM.IN=IN
WHERE_CONDITIONS_TABLE.ITEM.VALUE_SQL=Value
NB_LINE_UPDATED.NAME=Number Of Updated Lines
NB_LINE_INSERTED.NAME=Number Of Inserted Lines
NB_LINE_DELETED.NAME=Number Of Deleted Lines

View File

@@ -290,6 +290,7 @@ if (sftp) { // *** sftp *** //
log.info("<%= cid %> - md5 message is : '"+ <%=outputConnName %>.md5 + "'.");
<%}%>
is_<%=cid %>.close();
ftp_<%=cid%>.completePendingCommand();
<%}%>
}
<%

View File

@@ -37,6 +37,7 @@
}
int dynamic_index = -1;
boolean hasDynamic = false;
int dynamicColumnlength = 100;
List<IMetadataColumn> columnList = null;
List<IMetadataTable> metadatas = node.getMetadataList();
IMetadataTable metadata = null;
@@ -52,6 +53,9 @@
if(columnList.get(i).getTalendType().equals("id_Dynamic")){
dynamic_index = i+1;
hasDynamic = true;
if(columnList.get(i).getLength() != null){
dynamicColumnlength = columnList.get(i).getLength();
}
break;
}
}
@@ -65,7 +69,7 @@
class GenerateCode{
public int dynamic_index = -1;
public int colLen = 0; // the length of the column in the input schema
public void generateDynamicSchemaCode(boolean isCsv){
public void generateDynamicSchemaCode(boolean isCsv,int dynamicColumnlength){
%>
if(isFirstCheckDyn_<%=cid %>){// for the header line
<%
@@ -85,7 +89,7 @@
dynamicMetadata_<%=cid%>.setDbName(dynamicMetadata_<%=cid%>.getName());
dynamicMetadata_<%=cid%>.setType("id_String");
dynamicMetadata_<%=cid%>.setDbType("VARCHAR");
dynamicMetadata_<%=cid%>.setLength(100);
dynamicMetadata_<%=cid%>.setLength(<%=dynamicColumnlength%>);
dynamicMetadata_<%=cid%>.setPrecision(0);
dynamicMetadata_<%=cid%>.setNullable(true);
dynamicMetadata_<%=cid%>.setKey(false);
@@ -565,7 +569,7 @@
if(hasDynamic){// generate the dynamic schema code
generateCode.colLen = sizeListColumns;
generateCode.dynamic_index = dynamic_index;
generateCode.generateDynamicSchemaCode(false); //false: delimited mode
generateCode.generateDynamicSchemaCode(false,dynamicColumnlength); //false: delimited mode
rowUtil.callValueToConnWithD("fid_"+cid, firstConnName, "dynamic_"+cid);
}else{
rowUtil.callValueToConn("fid_"+cid, firstConnName);
@@ -1347,7 +1351,7 @@
if(hasDynamic){// generate the dynamic schema code
generateCode.colLen = columnSize;
generateCode.dynamic_index = dynamic_index;
generateCode.generateDynamicSchemaCode(true); //true: CSV mode
generateCode.generateDynamicSchemaCode(true,dynamicColumnlength); //true: CSV mode
rowUtil.callValueToConnWithD("row"+cid, firstConnName, "dynamic_"+cid);
}else{
rowUtil.callValueToConn("row"+cid, firstConnName);

View File

@@ -70,6 +70,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
int dynamic_index = -1;
boolean hasDynamic = false;
int dynamicColumnlength = 100;
List<IMetadataColumn> columnList = metadata.getListColumns();
String datePattern = "\"dd-MM-yyyy\"";
for(int i=0; columnList!=null && i< columnList.size(); i++) {
@@ -77,12 +78,15 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
dynamic_index = i+1;
hasDynamic = true;
datePattern= columnList.get(i).getPattern();
if(columnList.get(i).getLength() != null){
dynamicColumnlength = columnList.get(i).getLength();
}
break;
}
}
class GenerateCodeUtil{
public void generateCode(int dynamic_index,int colLen,boolean hasDynamic){
public void generateCode(int dynamic_index,int colLen,boolean hasDynamic,int dynamicColumnlength){
if(hasDynamic){
%>
int dynamic_column_count_<%=cid%>=1;
@@ -136,7 +140,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
dynamicMetadata_<%=cid%>.setDbName(dynamicMetadata_<%=cid%>.getName());
dynamicMetadata_<%=cid%>.setType("id_String");
dynamicMetadata_<%=cid%>.setDbType("VARCHAR");
dynamicMetadata_<%=cid%>.setLength(100);
dynamicMetadata_<%=cid%>.setLength(<%=dynamicColumnlength%>);
dynamicMetadata_<%=cid%>.setPrecision(0);
dynamicMetadata_<%=cid%>.setNullable(true);
dynamicMetadata_<%=cid%>.setKey(false);
@@ -406,7 +410,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
List<IMetadataColumn> listColumns = metadata.getListColumns();
int size = listColumns.size();
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
generateCodeUtil.generateCode(dynamic_index,size,hasDynamic);
generateCodeUtil.generateCode(dynamic_index,size,hasDynamic, dynamicColumnlength);
%>
//
//end%>
@@ -703,7 +707,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
org.apache.poi.xssf.usermodel.XSSFWorkbook workbook_<%=cid%> = null;
if(source_<%=cid %> instanceof String){
workbook_<%=cid%> = (org.apache.poi.xssf.usermodel.XSSFWorkbook) org.apache.poi.ss.usermodel.WorkbookFactory.create(new java.io.File((String)source_<%=cid %>), password_<%=cid%>);
workbook_<%=cid%> = (org.apache.poi.xssf.usermodel.XSSFWorkbook) org.apache.poi.ss.usermodel.WorkbookFactory.create(new java.io.File((String)source_<%=cid %>), password_<%=cid%>, true);
} else if(source_<%=cid %> instanceof java.io.InputStream) {
workbook_<%=cid%> = (org.apache.poi.xssf.usermodel.XSSFWorkbook) org.apache.poi.ss.usermodel.WorkbookFactory.create((java.io.InputStream)source_<%=cid %>, password_<%=cid%>);
} else{
@@ -854,7 +858,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
List<IMetadataColumn> listColumns = metadata.getListColumns();
int size = listColumns.size();
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {//5
generateCodeUtil.generateCode(dynamic_index,size,hasDynamic);
generateCodeUtil.generateCode(dynamic_index,size,hasDynamic,dynamicColumnlength);
%>
String[] temp_row_<%= cid %> = new String[tempRowLength_<%=cid%>];
<%
@@ -1353,7 +1357,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
List<IMetadataColumn> listColumns = metadata.getListColumns();
int size = listColumns.size();
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {//TD256
generateCodeUtil.generateCode(dynamic_index,size,hasDynamic);
generateCodeUtil.generateCode(dynamic_index,size,hasDynamic,dynamicColumnlength);
%>
String[] temp_row_<%= cid %> = new String[tempRowLength_<%=cid%>];

View File

@@ -1,6 +1,6 @@
<%@ jet
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
@@ -12,7 +12,7 @@ imports="
java.util.List
java.util.Map
java.util.HashMap
"
"
%>
<%@ include file="../templates/Log4j/Log4jFileUtil.javajet"%>
@@ -21,7 +21,7 @@ CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
String cid = node.getUniqueName();
boolean version07 = ("true").equals(ElementParameterParser.getValue(node,"__VERSION_2007__"));
boolean useStream = ("true").equals(ElementParameterParser.getValue(node,"__USESTREAM__"));
String outStream = ElementParameterParser.getValue(node,"__STREAMNAME__");
@@ -54,7 +54,8 @@ List<Map<String, String>> autoSizeList = (List<Map<String,String>>)ElementParame
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);
String decimalSeparator = ElementParameterParser.getValueWithJavaType(node, "__DECIMAL_SEPARATOR__", JavaTypesManager.CHARACTER);
boolean isTruncateExceedingCharacters = ("true").equals(ElementParameterParser.getValue(node, "__TRUNCATE_EXCEEDING_CHARACTERS__" ));
Map<String,String> autColSizeMaping=new HashMap<String,String>();
List< ? extends IConnection> conns = node.getIncomingConnections();
@@ -93,7 +94,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
autColSizeMaping.put(column.getLabel(),"true");
}else{
autColSizeMaping.put(column.getLabel(),autoSizeList.get(i).get("IS_AUTO_SIZE"));
}
}
if(hasDynamic){
@@ -102,7 +103,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
int dynamicColCount=0;
private java.util.List<String> numberTypes = java.util.Arrays.asList(
new String[]{"Integer", "Float", "Double", "Long", "Short", "Byte", "BigDecimal"});
public boolean isNumberType(String talendType){
if(talendType==null){
return false;
@@ -116,7 +117,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
int[] fitWidth;
jxl.write.WritableCellFormat cellFormat;
jxl.write.WritableCellFormat dateCellFormat;
public ExcelDynamicUtil_<%=cid%>(){
initFormat();
}
@@ -125,7 +126,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
if(isSettingFont){
%>
jxl.write.WritableFont font = new jxl.write.WritableFont(jxl.write.WritableFont.<%=font%>, 10, jxl.write.WritableFont.NO_BOLD, false);
cellFormat = new jxl.write.WritableCellFormat(font);
cellFormat = new jxl.write.WritableCellFormat(font);
dateCellFormat=new jxl.write.WritableCellFormat(font ,new jxl.write.DateFormat(<%=datePattern %>));
<%
}else{
@@ -135,7 +136,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
}
%>
}
public String getJxlWriteType(DynamicMetadata dynamicColumn){
String talendType=dynamicColumn.getType();
String jxlWriteType="Number";
@@ -188,11 +189,11 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
writableSheet.setColumnView(columnIndex+i+<%=i%>, dynamicColumn.getName().trim().length());
}
}
<%
}else{
%>
cell = new jxl.write.Label(columnIndex+<%=i%><%if(i+1>dynamic_index){%>+dynamicColCount-1<%}%>, rowNum, "<%=column.getLabel()%>"<%if (isSettingFont) {%>,cellFormat<%}%>);
writableSheet.addCell(cell);
writableSheet.setColumnView(columnIndex+<%=i%><%if(i+1>dynamic_index){%>+dynamicColCount-1<%}%>, "<%=column.getLabel()%>".length());
@@ -206,7 +207,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
return 1;
}
return 0;
}
<%
}
@@ -232,7 +233,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
if("Boolean".equals(jxlWriteType)){
cell = new jxl.write.Boolean(columnIndex+i, rowNum, ((Boolean)column.getColumnValue(i))<%if(isSettingFont){%>,cellFormat<%}%>);
}else if("Label".equals(jxlWriteType)){
if(<%=advancedSeparator%> && isNumberType(dynamicColumn.getType())) {
if(<%=advancedSeparator%> && isNumberType(dynamicColumn.getType())) {
cell = new jxl.write.Label(columnIndex+i, rowNum, FormatterUtils.format_Number(String.valueOf(column.getColumnValue(i)), <%= thousandsSeparator %>, <%= decimalSeparator %>)<%if(isSettingFont){%>,cellFormat<%}%>);
}else{
cell = new jxl.write.Label(columnIndex+i, rowNum, column.getColumnValue(i).toString()<%if(isSettingFont){%>,cellFormat<%}%>);
@@ -243,7 +244,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
cell = new jxl.write.Number(columnIndex+i, rowNum, Double.valueOf(column.getColumnValue(i).toString())<%if(isSettingFont){%>,cellFormat<%}%>);
}
writableSheet.addCell(cell);
int currentWith = 5;
if("Number".equals(jxlWriteType)){
currentWith = String.valueOf(((jxl.write.Number)cell).getValue()).trim().length();
@@ -263,7 +264,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
<%
}else{
%>
<%
if(isIncludeHeader){
%>
@@ -306,7 +307,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
}else{
return 0;
}
}
<%
}
@@ -319,9 +320,9 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
String talendType=dynamicColumn.getType();
if("id_Date".equals(talendType)){
xlsxTool.addCellValue((java.util.Date)column.getColumnValue(i), <%=datePattern%>);
} else if(<%=advancedSeparator%> && isNumberType(talendType)) {
} else if(<%=advancedSeparator%> && isNumberType(talendType)) {
xlsxTool.addCellValue(FormatterUtils.format_Number(String.valueOf(column.getColumnValue(i)), <%= thousandsSeparator %>, <%= decimalSeparator %>));
} else if(isNumberType(talendType)) {
} else if(isNumberType(talendType)) {
xlsxTool.addCellValue(Double.parseDouble(String.valueOf(column.getColumnValue(i))));
}else if("id_Boolean".equals(talendType)){
xlsxTool.addCellValue((Boolean)(column.getColumnValue(i)));
@@ -357,7 +358,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
<%
if(!useStream){ // the part of the file path
%>
%>
String fileName_<%=cid%>=<%=filename%>;
java.io.File file_<%=cid %> = new java.io.File(fileName_<%=cid%>);
boolean isFileGenerated_<%=cid %> = true;
@@ -371,7 +372,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
}
if(("true").equals(ElementParameterParser.getValue(node,"__CREATE__"))){
%>
//create directory only if not exists
//create directory only if not exists
java.io.File parentFile_<%=cid %> = file_<%=cid %>.getParentFile();
if (parentFile_<%=cid %> != null && !parentFile_<%=cid %>.exists()) {
<%if(isLog4jEnabled){%>
@@ -385,43 +386,43 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
<%
}
}
%>
%>
jxl.write.WritableWorkbook writeableWorkbook_<%=cid %> = null;
jxl.write.WritableSheet writableSheet_<%=cid %> = null;
jxl.WorkbookSettings workbookSettings_<%= cid %> = new jxl.WorkbookSettings();
workbookSettings_<%= cid %>.setEncoding(<%=ElementParameterParser.getValue(node,"__ENCODING__") %>);
<%
if(useStream){ // the part of the output stream support
%>
writeableWorkbook_<%=cid %> = new jxl.write.biff.WritableWorkbookImpl(
new java.io.BufferedOutputStream(<%=outStream %>),
new java.io.BufferedOutputStream(<%=outStream %>),
false, workbookSettings_<%=cid %>);
<%
}else{
if(isAppendFile){
%>
%>
if (file_<%=cid %>.exists()) {
jxl.Workbook workbook_<%=cid %> = jxl.Workbook.getWorkbook(file_<%=cid %>,workbookSettings_<%= cid %>);
workbookSettings_<%= cid %>.setWriteAccess(null);
writeableWorkbook_<%=cid %> = new jxl.write.biff.WritableWorkbookImpl(
new java.io.BufferedOutputStream(new java.io.FileOutputStream(file_<%=cid %>, false)),
workbook_<%=cid %>,
new java.io.BufferedOutputStream(new java.io.FileOutputStream(file_<%=cid %>, false)),
workbook_<%=cid %>,
true,
workbookSettings_<%=cid %>);
}else{
}else{
writeableWorkbook_<%=cid %> = new jxl.write.biff.WritableWorkbookImpl(
new java.io.BufferedOutputStream(new java.io.FileOutputStream(fileName_<%=cid%>)),
true,
workbookSettings_<%= cid %>);
}
new java.io.BufferedOutputStream(new java.io.FileOutputStream(fileName_<%=cid%>)),
true,
workbookSettings_<%= cid %>);
}
<%
} else {
%>
writeableWorkbook_<%=cid %> = new jxl.write.biff.WritableWorkbookImpl(
new java.io.BufferedOutputStream(new java.io.FileOutputStream(fileName_<%=cid%>)),
true,
new java.io.BufferedOutputStream(new java.io.FileOutputStream(fileName_<%=cid%>)),
true,
workbookSettings_<%= cid %>);
<%
}
@@ -455,7 +456,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
int startRowNum_<%=cid %> = writableSheet_<%=cid %>.getRows();
<%}%>
//modif end
int[] fitWidth_<%=cid %> = new int[<%=columns.size()%>];
for(int i_<%=cid%>=0;i_<%=cid%><<%=columns.size()%>;i_<%=cid%>++){
int fitCellViewSize_<%=cid%>=writableSheet_<%=cid %>.getColumnView(i_<%=cid%><%if(firstCellYAbsolute){%>+<%=firstCellXStr%><%}%>).getSize();
@@ -465,9 +466,9 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
}
}
<%if(isSettingFont){%>
jxl.write.WritableFont wf_<%=cid%> = new jxl.write.WritableFont(jxl.write.WritableFont.<%=font%>, 10, jxl.write.WritableFont.NO_BOLD, false);
jxl.write.WritableCellFormat format_<%=cid%> = new jxl.write.WritableCellFormat(wf_<%=cid%>);
jxl.write.WritableCellFormat format_<%=cid%> = new jxl.write.WritableCellFormat(wf_<%=cid%>);
<%}%>
<%
@@ -482,9 +483,9 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
final jxl.write.WritableCellFormat cell_format_<%=column.getLabel() %>_<%= cid%>=new jxl.write.WritableCellFormat(wf_<%=cid%> ,new jxl.write.DateFormat(<%=pattern %>));
<%
}else{
%>
%>
final jxl.write.WritableCellFormat cell_format_<%=column.getLabel() %>_<%= cid%>=new jxl.write.WritableCellFormat(new jxl.write.DateFormat(<%=pattern %>));
<%
<%
}
}else{
%>
@@ -493,9 +494,9 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
}
<% }
}
}
%>
%>
<%
int sizeColumns = columns.size();
@@ -516,7 +517,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
final jxl.write.WritableCellFormat format_<%=cid %>,final int[] fitWidth_<%=cid%>) throws java.lang.Exception {
<%
}//TD256
if(firstCellYAbsolute){
%>
writableSheet_<%=cid %>.addCell(new jxl.write.Label(<%=i%> + <%=firstCellXStr%>, rowNum_<%=cid %>, "<%=column.getLabel() %>"
@@ -527,7 +528,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
<%
}
%>
));
));
<%
}else{
%>
@@ -552,18 +553,18 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
<%
}
}//TD128
if(sizeColumns>0&&(sizeColumns%schemaOptNum)>0){//TD512
%>
}
<%
}//TD512
boolean emptyMethod = true;
for(int i=0;i<sizeColumns;i++){//TD1024
IMetadataColumn column = columns.get(i);
if(i%schemaOptNum==0){
if(!isAllColumnAutoSize) {
if(autoSizeList.size() == columns.size()){
@@ -578,7 +579,7 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
} else {
emptyMethod = false;
}
if(!emptyMethod) {
%>
public void setColumnView_<%=i/schemaOptNum%>(final jxl.write.WritableSheet writableSheet_<%=cid %>,
@@ -634,13 +635,13 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
<%
}
}//TD1024
if(!emptyMethod && (sizeColumns>0&&(sizeColumns%schemaOptNum)>0)){
%>
}
<%
}
for(int i=0;i<sizeColumns;i++){//TD2048
IMetadataColumn column = columns.get(i);
if(i%schemaOptNum==0){
@@ -660,16 +661,16 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
<%
}
}//TD2048
if(sizeColumns>0&&(sizeColumns%schemaOptNum)>0){
%>
}
<%
}
%>
}
FileOutputExcelUtil_<%=cid%> fileOutputExcelUtil_<%=cid%>=new FileOutputExcelUtil_<%=cid%>();
<%
}//TD64
@@ -704,7 +705,7 @@ if(!hasDynamic && isIncludeHeader){
}
}
continue;
}
%>
@@ -720,7 +721,7 @@ if(!hasDynamic && isIncludeHeader){
<%
}
%>
));
));
<%
}else{
%>
@@ -746,15 +747,15 @@ if(!hasDynamic && isIncludeHeader){
<%
}
%>
<%
<%
}else{ //version judgement /***excel 2007 xlsx*****/
if(!useStream){
%>
String fileName_<%=cid%>=<%=filename%>;
<%
if(isDeleteEmptyFile){
%>
%>
java.io.File file_<%=cid %> = new java.io.File(fileName_<%=cid%>);
boolean isFileGenerated_<%=cid %> = true;
<%
@@ -772,17 +773,18 @@ if(!hasDynamic && isIncludeHeader){
org.talend.ExcelTool xlsxTool_<%=cid%> = new org.talend.ExcelTool();
<% if (protectFile) { %>
xlsxTool_<%=cid%>.setPasswordProtection(password_<%=cid%>);
<%}%>
<%
<%}%>
xlsxTool_<%=cid%>.setTruncateExceedingCharacters(<%=isTruncateExceedingCharacters%>);
<%
if(flushOnRow && (useStream || !isAppendFile)){
%>
int flushRowNum_<%=cid%>=<%=flushRowNum%>;
int bufferCount_<%=cid%>=0;
xlsxTool_<%=cid%>.setRowAccessWindowSize(-1);
//turn-off auto flush
<%
<%
}
boolean recalculateFormula = "true".equals(ElementParameterParser.getValue(node,"__RECALCULATE_FORMULA__"));
%>
xlsxTool_<%=cid%>.setSheet(<%=sheetname%>);
@@ -834,13 +836,13 @@ if(!hasDynamic && isIncludeHeader){
<%
}
}
if(isIncludeHeader && sizeColumns>0 && (sizeColumns%schemaOptNum)>0){
%>
}
<%
}
boolean emptyMethod = true;
for(int i=0;i<sizeColumns;i++){
IMetadataColumn column = columns.get(i);
@@ -858,12 +860,12 @@ if(!hasDynamic && isIncludeHeader){
} else {
emptyMethod = false;
}
if(!emptyMethod) {
%>
public void setColAutoSize_<%=i/schemaOptNum%>(final org.talend.ExcelTool xlsxTool_<%=cid%>) throws java.lang.Exception {
int columnIndex_<%=cid%> = 0;
<%
<%
}
}
if(!column.getTalendType().equals("id_Dynamic")){
@@ -902,47 +904,47 @@ if(!hasDynamic && isIncludeHeader){
emptyMethod = true;
%>
}
<%
<%
}
}
if(!emptyMethod && (sizeColumns>0 && (sizeColumns%schemaOptNum)>0)){
%>
}
<%
<%
}
for(int i=0;i<sizeColumns;i++){
IMetadataColumn column = columns.get(i);
if(i%schemaOptNum==0){
%>
public void putValue_<%=i/schemaOptNum%>(final <%=NodeUtil.getPrivateConnClassName(conn) %>Struct <%=conn.getName() %>,
final org.talend.ExcelTool xlsxTool_<%=cid%>) throws java.lang.Exception {
<%
<%
}
%>
<%@ include file="./putValue2007.javajet"%>
<%
<%
if((i+1)%schemaOptNum==0){
%>
}
<%
<%
}
}
if(sizeColumns>0 && (sizeColumns%schemaOptNum)>0){
%>
}
<%
<%
}
%>
}
FileOutputExcelUtil_<%=cid%> fileOutputExcelUtil_<%=cid%>=new FileOutputExcelUtil_<%=cid%>();
<%
}//TD1
if(!hasDynamic && isIncludeHeader){
if(!firstCellYAbsolute) {
%>
if (xlsxTool_<%=cid%>.getStartRow() == 0){
@@ -966,14 +968,14 @@ if(!hasDynamic && isIncludeHeader){
<%
}
%>
nb_line_<%=cid %>++;
nb_line_<%=cid %>++;
<%
if(!firstCellYAbsolute) {
%>
}
<%
}
}
}
%>
<%
}

View File

@@ -201,6 +201,11 @@
<DEFAULT>"."</DEFAULT>
</PARAMETER>
<PARAMETER NAME="TRUNCATE_EXCEEDING_CHARACTERS" FIELD="CHECK" REQUIRED="true" NUM_ROW="49"
SHOW_IF="(VERSION_2007=='true')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="ENCODING"
FIELD="ENCODING_TYPE"
@@ -214,11 +219,11 @@
<PARAMETER NAME="DELETE_EMPTYFILE" FIELD="CHECK" REQUIRED="true" NUM_ROW="70" SHOW_IF="(USESTREAM=='false')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="RECALCULATE_FORMULA" FIELD="CHECK" REQUIRED="true" NUM_ROW="80" SHOW_IF="(VERSION_2007 == 'true') AND (USESTREAM=='false') AND (APPEND_FILE=='true') AND (APPEND_SHEET=='true')">
<DEFAULT>false</DEFAULT>
</PARAMETER>
</PARAMETER>
<PARAMETER NAME="SCHEMA_OPT_NUM" FIELD="TEXT" NUM_ROW="100" REQUIRED="true" SHOW="false">
<DEFAULT>100</DEFAULT>
</PARAMETER>
@@ -227,7 +232,7 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="Java_Excel" MODULE="jxl.jar" MVN="mvn:org.talend.libraries/jxl/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.jexcel/lib/jxl.jar" REQUIRED_IF="(VERSION_2007 == 'false')" />
<IMPORT NAME="TALEND_EXCEL" MODULE="talendExcel-1.9-20201223.jar" MVN="mvn:org.talend.components/talendExcel/1.9-20201223" UrlPath="platform:/plugin/org.talend.libraries.excel/lib/talendExcel-1.9-20201223.jar" REQUIRED_IF="(VERSION_2007 == 'true')" />
<IMPORT NAME="TALEND_EXCEL" MODULE="talendExcel-1.10-20210113.jar" MVN="mvn:org.talend.components/talendExcel/1.10-20210113" UrlPath="platform:/plugin/org.talend.libraries.excel/lib/talendExcel-1.10-20210113.jar" REQUIRED_IF="(VERSION_2007 == 'true')" />
<IMPORT NAME="commons-lang3" MODULE="commons-lang3-3.8.1.jar" MVN="mvn:org.apache.commons/commons-lang3/3.8.1" REQUIRED_IF="(VERSION_2007 == 'true')" />
<IMPORT NAME="Java_DOM4J2" MODULE="dom4j-2.1.3.jar" MVN="mvn:org.dom4j/dom4j/2.1.3" REQUIRED_IF="(VERSION_2007 == 'true')" BundleID="" />
<IMPORT NAME="log4j" MODULE="log4j-1.2.17.jar" MVN="mvn:log4j/log4j/1.2.17" REQUIRED_IF="(VERSION_2007 == 'true')" BundleID="" />

View File

@@ -72,7 +72,7 @@ HELP=org.talend.help.tFileOutputExcel
INCLUDEHEADER.NAME=Include header
IS_ALL_AUTO_SZIE.NAME=Define all columns auto size
KEEP_LEADING_ZEROS.NAME=Keep leading zeros
LONG_NAME=Writes the cells row by row in a Microsoft Excel file
LONG_NAME=Writes the cells row by row in a Microsoft Excel file
NB_LINE.NAME=Number of line
PROTECT_FILE.NAME=Protect file
PASSWORD.NAME=Password
@@ -91,3 +91,4 @@ FLUSHONROW.NAME=Custom the flush buffer size
FLUSHONROW_NUM.NAME=Row number
RECALCULATE_FORMULA.NAME=Recalculate formula
TRUNCATE_EXCEEDING_CHARACTERS.NAME=Truncate characters exceeding max cell length

View File

@@ -371,9 +371,10 @@ class GenerateToolByDom4j{
<%touchXMLNode.putCurrentElementByQName(currEleName);%>
java.util.List<org.dom4j.Element> allElements_<%=currEleName%>_<%=cid%> = <%touchXMLNode.getXMLElement(parentName);%>.elements();
java.util.List<org.dom4j.Node> allElements_<%=currEleName%>_<%=cid%> = <%touchXMLNode.getXMLElement(parentName);%>.content();
int order_<%=cid%> = allElements_<%=currEleName%>_<%=cid%>.size();
java.util.List<org.dom4j.Element> elements_<%=currEleName%>_<%=cid%> = <%touchXMLNode.getXMLElement(parentName);%>.elements(qname_<%=currEleName%>_<%=cid%>);
int app_size_<%=cid %> = elements_<%=currEleName%>_<%=cid%>.size();
@@ -408,8 +409,8 @@ class GenerateToolByDom4j{
}
%>
}
<%touchXMLNode.getXMLElement(parentName);%>.elements().add(order_<%=cid%>,<%touchXMLNode.getXMLElement(currEleName);%>);
allElements_<%=currEleName%>_<%=cid%>.add(order_<%=cid%>,<%touchXMLNode.getXMLElement(currEleName);%>);
<%
}else{

View File

@@ -92,7 +92,7 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="commons-compress-1.19" MODULE="commons-compress-1.19.jar" MVN="mvn:org.apache.commons/commons-compress/1.19" REQUIRED="true" />
<IMPORT NAME="Ant-Zip" MODULE="ant-1.10.8.jar" MVN="mvn:org.apache.ant/ant/1.10.8" REQUIRED="true" />
<IMPORT NAME="Ant-Zip" MODULE="ant-1.10.9.jar" MVN="mvn:org.apache.ant/ant/1.10.9" REQUIRED="true" />
<IMPORT NAME="Check-Archive" MODULE="checkArchive-1.1-20190917.jar" MVN="mvn:org.talend.libraries/checkArchive-1.1-20190917/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.custom/lib/checkArchive-1.1-20190917.jar" REQUIRED="true" />
<IMPORT NAME="zip4j-1.3.3.jar" MODULE="zip4j-1.3.3.jar" MVN="mvn:net.lingala.zip4j/zip4j/1.3.3" REQUIRED="true" />
<IMPORT NAME="talendzip-1.1-20201120.jar" MODULE="talendzip-1.1-20201120.jar" MVN="mvn:org.talend.components/talendzip/1.1-20201120" UrlPath="platform:/plugin/org.talend.libraries.custom/lib/talendzip-1.1-20201120.jar" REQUIRED="true" />

View File

@@ -241,17 +241,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -261,10 +261,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -159,17 +159,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -179,10 +179,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -160,17 +160,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -180,10 +180,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -164,17 +164,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -184,10 +184,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -111,17 +111,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
@@ -131,10 +131,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN')" />

View File

@@ -237,17 +237,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -257,10 +257,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -230,17 +230,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -250,10 +250,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -268,17 +268,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -288,10 +288,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -230,17 +230,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -250,10 +250,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -214,17 +214,17 @@
<IMPORT NAME="google-auth-library-oauth2-http-0.20.0" MODULE="google-auth-library-oauth2-http-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-oauth2-http/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-auth-library-oauth2-http -->
<IMPORT NAME="google-auth-library-credentials-0.20.0" MODULE="google-auth-library-credentials-0.20.0.jar" MVN="mvn:com.google.auth/google-auth-library-credentials/0.20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.25.0" MODULE="google-http-client-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.25.0" MODULE="google-http-client-jackson2-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.10.1" MODULE="jackson-core-2.10.1.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.10.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-1.38.0" MODULE="google-http-client-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-jackson2-1.38.0" MODULE="google-http-client-jackson2-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-jackson2/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="jackson-core-2.11.4" MODULE="jackson-core-2.11.4.jar" MVN="mvn:com.fasterxml.jackson.core/jackson-core/2.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="guava-20.0.jar" MODULE="guava-20.0.jar" MVN="mvn:com.google.guava/guava/20.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-storage-1.104.0" MODULE="google-cloud-storage-1.104.0.jar" MVN="mvn:com.google.cloud/google-cloud-storage/1.104.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<!-- Transitive dependencies of google-cloud-storage -->
<IMPORT NAME="google-cloud-core-1.93.4.jar" MODULE="google-cloud-core-1.93.4.jar" MVN="mvn:com.google.cloud/google-cloud-core/1.93.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.25.0.jar" MODULE="google-api-client-1.25.0.jar" MVN="mvn:com.google.api-client/google-api-client/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-client-1.31.1.jar" MODULE="google-api-client-1.31.1.jar" MVN="mvn:com.google.api-client/google-api-client/1.31.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-oauth-client-1.31.0.jar" MODULE="google-oauth-client-1.31.0.jar" MVN="mvn:com.google.oauth-client/google-oauth-client/1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20191011-1.30.3" MODULE="google-api-services-storage-v1-rev20191011-1.30.3.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20191011-1.30.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-api-services-storage-v1-rev20201112-1.31.0" MODULE="google-api-services-storage-v1-rev20201112-1.31.0.jar" MVN="mvn:com.google.apis/google-api-services-storage/v1-rev20201112-1.31.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="gson-2.8.6" MODULE="gson-2.8.6.jar" MVN="mvn:com.google.code.gson/gson/2.8.6" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="api-common-1.6.0" MODULE="api-common-1.6.0.jar" MVN="mvn:com.google.api/api-common/1.6.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="javax.annotation-api" MODULE="javax.annotation-api-1.3.jar" MVN="mvn:javax.annotation/javax.annotation-api/1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
@@ -234,10 +234,10 @@
<IMPORT NAME="protobuf-java-2.5.0" MODULE="protobuf-java-2.5.0.jar" MVN="mvn:com.google.protobuf/protobuf-java/2.5.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="error_prone_annotation-2.1.3" MODULE="error_prone_annotation-2.1.3.jar" MVN="mvn:com.google.errorprone/error_prone_annotations/2.1.3" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-cloud-core-http-1.32.0.jar" MODULE="google-cloud-core-http-1.32.0.jar" MVN="mvn:com.google.cloud/google-cloud-core-http/1.32.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.25.0.jar" MODULE="google-http-client-appengine-1.25.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.25.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.21.0" MODULE="opencensus-api-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.21.0" MODULE="opencensus-contrib-http-util-0.21.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.21.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.19.0" MODULE="grpc-context-1.19.0.jar" MVN="mvn:io.grpc/grpc-context/1.19.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="google-http-client-appengine-1.38.0.jar" MODULE="google-http-client-appengine-1.38.0.jar" MVN="mvn:com.google.http-client/google-http-client-appengine/1.38.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-api-0.24.0" MODULE="opencensus-api-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-api/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="opencensus-contrib-http-util-0.24.0" MODULE="opencensus-contrib-http-util-0.24.0.jar" MVN="mvn:io.opencensus/opencensus-contrib-http-util/0.24.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="grpc-context-1.22.1" MODULE="grpc-context-1.22.1.jar" MVN="mvn:io.grpc/grpc-context/1.22.1" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-common-protos-1.17.0" MODULE="proto-google-common-protos-1.17.0.jar" MVN="mvn:com.google.api.grpc/proto-google-common-protos/1.17.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="proto-google-iam-v1-0.13.0" MODULE="proto-google-iam-v1-0.13.0.jar" MVN="mvn:com.google.api.grpc/proto-google-iam-v1/0.13.0" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />
<IMPORT NAME="protobuf-java-util-3.11.4" MODULE="protobuf-java-util-3.11.4.jar" MVN="mvn:com.google.protobuf/protobuf-java-util/3.11.4" REQUIRED_IF="(USE_EXISTING_CONNECTION == 'false') AND ((AUTH_TYPE == 'SERVICE_ACCOUNT') OR (AUTH_TYPE == 'TOKEN'))" />

View File

@@ -130,7 +130,7 @@
NUM_ROW="3"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>
@@ -201,7 +201,7 @@
<IMPORTS>
<IMPORT NAME="Postgres-Driver"
MODULE="postgresql-8.4-703.jdbc4.jar" MVN="mvn:postgresql/postgresql/8.4-703.jdbc4" REQUIRED_IF="(DB_DRIVER =='POSTGRESQL') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum.jar" MVN="mvn:com.pivotal/greenplum/5.8.1" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum-5.1.4.000275.jar" MVN="mvn:com.pivotal/greenplum/5.1.4.000275" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
</IMPORTS>
</CODEGENERATION>

View File

@@ -57,5 +57,5 @@ NOTE.NAME=Note
CONNECTION.NAME=Component List
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum

View File

@@ -157,7 +157,7 @@
FIELD="CLOSED_LIST"
NUM_ROW="10"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>
@@ -172,7 +172,7 @@
<IMPORTS>
<IMPORT NAME="Postgres-Driver"
MODULE="postgresql-8.4-703.jdbc4.jar" MVN="mvn:postgresql/postgresql/8.4-703.jdbc4" REQUIRED_IF="DB_DRIVER =='POSTGRESQL'"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum.jar" MVN="mvn:com.pivotal/greenplum/5.8.1" REQUIRED_IF="DB_DRIVER =='GREENPLUM'"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum-5.1.4.000275.jar" MVN="mvn:com.pivotal/greenplum/5.1.4.000275" REQUIRED_IF="DB_DRIVER =='GREENPLUM'"/>
<IMPORT NAME="slf4j-api-1.7.25.jar" MODULE="slf4j-api-1.7.25.jar" MVN="mvn:org.slf4j/slf4j-api/1.7.25" REQUIRED_IF="USE_SHARED_CONNECTION =='true'" />
<IMPORT NAME="slf4j-log4j12-1.7.25.jar" MODULE="slf4j-log4j12-1.7.25.jar" MVN="mvn:org.slf4j/slf4j-log4j12/1.7.25" REQUIRED_IF="USE_SHARED_CONNECTION =='true'" />
</IMPORTS>

View File

@@ -18,5 +18,5 @@ TYPE.NAME=Database Driver
PROPERTY.NAME=Property Type
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum

View File

@@ -756,7 +756,18 @@ skeleton="@{org.talend.designer.components.localprovider}/components/templates/d
globalMap.put("<%=cid%>_STATUS", line.substring(line.indexOf("gpload ")+7).replace(" ",""));
} else if(line.contains("|INFO|running time:")){
line = line.substring(line.indexOf("time: ")+5).replace(" ","");
globalMap.put("<%=cid%>_RUNTIME", line.substring(0,line.indexOf("seconds")));
String timeStr = line.substring(0,line.indexOf("seconds")).trim();
if(!timeStr.isEmpty()){
try{
// convert to long type value with unit ms
Long runtime = ((Double)(Double.parseDouble(timeStr)*1000)).longValue();
globalMap.put("<%=cid%>_RUNTIME", runtime);
}catch(NumberFormatException e){
<%if(isLog4jEnabled){%>
log.error("<%=cid%> - parse runtime value failed:"+ line);
<%}%>
}
}
} else if(line.contains("|ERROR|")){
failure = true;
line = line.substring(line.indexOf("|ERROR|")+7);

View File

@@ -249,7 +249,7 @@
FIELD="CLOSED_LIST"
NUM_ROW="5"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>
@@ -533,7 +533,7 @@
<IMPORT MODULE="namedpipe-1.0.jar" MVN="mvn:org.talend.libraries/namedpipe-1.0/6.0.0" NAME="namedpipe-1.0.jar" REQUIRED="true"/>
<IMPORT NAME="Postgres-Driver"
MODULE="postgresql-8.4-703.jdbc4.jar" MVN="mvn:postgresql/postgresql/8.4-703.jdbc4" REQUIRED_IF="DB_DRIVER =='POSTGRESQL'" />
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum.jar" MVN="mvn:com.pivotal/greenplum/5.8.1" REQUIRED_IF="DB_DRIVER =='GREENPLUM'"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum-5.1.4.000275.jar" MVN="mvn:com.pivotal/greenplum/5.1.4.000275" REQUIRED_IF="DB_DRIVER =='GREENPLUM'"/>
<IMPORT MODULE="namedpipe_jni_64bit.dll" MVN="mvn:org.talend.libraries/namedpipe_jni_64bit/6.0.0/dll" NAME="namedpipe_jni_64bit.dll" REQUIRED="false"/>
<IMPORT MODULE="namedpipe_jni.dll" MVN="mvn:org.talend.libraries/namedpipe_jni/6.0.0/dll" NAME="namedpipe_jni.dll" REQUIRED="false"/>
</IMPORTS>
@@ -547,6 +547,6 @@
<RETURN AVAILABILITY="AFTER" NAME="NB_LINE_UPDATED" TYPE="id_Integer"/>
<RETURN AVAILABILITY="AFTER" NAME="NB_DATA_ERRORS" TYPE="id_Integer"/>
<RETURN AVAILABILITY="AFTER" NAME="STATUS" TYPE="id_String"/>
<RETURN AVAILABILITY="AFTER" NAME="RUNTIME" TYPE="id_String"/>
<RETURN AVAILABILITY="AFTER" NAME="RUNTIME" TYPE="id_Long"/>
</RETURNS>
</COMPONENT>

View File

@@ -41,7 +41,7 @@ UPDATE_OPTIONS.ITEM.UPDATE_KEY=Update Column
UPDATE_CONDITION.NAME=Update condition
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum
USE_EXISTING_CLT_FILE.NAME=Use existing control file (YAML formatted)
CLT_FILE.NAME=Control file

View File

@@ -194,7 +194,7 @@
NUM_ROW="5"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>
@@ -243,7 +243,7 @@
<IMPORTS>
<IMPORT NAME="Postgres-Driver"
MODULE="postgresql-8.4-703.jdbc4.jar" MVN="mvn:postgresql/postgresql/8.4-703.jdbc4" REQUIRED_IF="(DB_DRIVER =='POSTGRESQL') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum.jar" MVN="mvn:com.pivotal/greenplum/5.8.1" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum-5.1.4.000275.jar" MVN="mvn:com.pivotal/greenplum/5.1.4.000275" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
</IMPORTS>
</CODEGENERATION>

View File

@@ -39,5 +39,5 @@ CONNECTION.NAME=Component List
GUESS_SCHEMA.NAME=Guess Schema
MAPPING.NAME=Mapping
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum

View File

@@ -243,7 +243,7 @@
NUM_ROW="5"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>
@@ -347,7 +347,7 @@
<IMPORT NAME="Postgres-Driver"
MODULE="postgresql-8.4-703.jdbc4.jar" MVN="mvn:postgresql/postgresql/8.4-703.jdbc4" REQUIRED_IF="(DB_DRIVER =='POSTGRESQL') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver"
MODULE="greenplum.jar" MVN="mvn:com.pivotal/greenplum/5.8.1" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
MODULE="greenplum-5.1.4.000275.jar" MVN="mvn:com.pivotal/greenplum/5.1.4.000275" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
</IMPORTS>
</CODEGENERATION>

View File

@@ -86,7 +86,7 @@ USE_BATCH.NAME=Use Batch
BATCH_SIZE.NAME= Batch Size
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum
USE_ALTERNATE_SCHEMA.NAME=Use alternate schema
ALTERNATE_SCHEMA.NAME=Schema

View File

@@ -170,7 +170,7 @@
FIELD="CLOSED_LIST"
NUM_ROW="3"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>

View File

@@ -51,5 +51,5 @@ PROPERTY.NAME=Property Type
MAPPING.NAME=Mapping
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum

View File

@@ -200,7 +200,7 @@
NUM_ROW="3"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'"
>
<ITEMS DEFAULT="POSTGRESQL">
<ITEMS DEFAULT="GREENPLUM">
<ITEM NAME="POSTGRESQL" VALUE="POSTGRESQL" />
<ITEM NAME="GREENPLUM" VALUE="GREENPLUM"/>
</ITEMS>
@@ -289,7 +289,7 @@
<IMPORTS>
<IMPORT NAME="Postgres-Driver"
MODULE="postgresql-8.4-703.jdbc4.jar" MVN="mvn:postgresql/postgresql/8.4-703.jdbc4" REQUIRED_IF="(DB_DRIVER =='POSTGRESQL') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum.jar" MVN="mvn:com.pivotal/greenplum/5.8.1" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
<IMPORT NAME="Greenplum-Driver" MODULE="greenplum-5.1.4.000275.jar" MVN="mvn:com.pivotal/greenplum/5.1.4.000275" REQUIRED_IF="(DB_DRIVER =='GREENPLUM') AND (USE_EXISTING_CONNECTION == 'false')"/>
</IMPORTS>
</CODEGENERATION>

View File

@@ -39,7 +39,7 @@ SCHEMA_FLOW.NAME=Schema
SCHEMA_REJECT.NAME=Reject Schema
QUERYSTORE.NAME=Query Type
DB_DRIVER.NAME=DB driver
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL
DB_DRIVER.ITEM.POSTGRESQL=PostgreSQL (Deprecated)
DB_DRIVER.ITEM.GREENPLUM=Greenplum
USE_PREPAREDSTATEMENT.NAME=Use PreparedStatement

Some files were not shown because too many files have changed in this diff Show More