Compare commits

...

239 Commits

Author SHA1 Message Date
Dmytro Sylaiev
65cfd61ab1 fix(TDI-44394): Fix migration tcomp for javajet (#5113) 2020-09-14 15:44:23 +03:00
Emmanuel GALLOIS
1bbfbea3b6 fix(TCOMP-1770): bump component-runtime to 1.1.25 2020-09-14 11:11:17 +02:00
pyzhou
ae5f63e615 fix(TDI-44855):tSSH append new line in the result (#5191) 2020-09-14 10:58:27 +08:00
kjwang
02e8a0ae5b fix(TUP-28487): fix performance issue (#5152) (#5189)
* fix(TUP-28487): fix performance issue

Co-authored-by: nrousseau <nrousseau@talend.com>
2020-09-11 10:47:50 +08:00
Andrii Medvedenko
0e12a1742f feat(TBD-10473): Hive input components for Dataproc distribution to work with Service account (#5114) (#5178) 2020-09-10 19:47:49 +03:00
AlixMetivier
ab883bdccc fix(TBD-10885): refacto date and timestamp handling with dataset (#5149) (#5197) 2020-09-10 14:56:37 +02:00
jiezhang-tlnd
9e19c0a597 feat(TUP-27667)update splash (#5194) 2020-09-10 17:42:34 +08:00
bhe-talendbj
44cdf895bf fix(TUP-27438): change junit mvn uri (#5183)
* fix(TUP-27438): change junit mvn uri

* fix(TUP-27438): fix mvn uri
2020-09-10 17:21:45 +08:00
vyu-talend
02f1654296 fix(TDI-44846):fix the compliation error. (#5192) 2020-09-10 14:38:37 +08:00
vyu-talend
4fa5246a7f fix(TDI-44803):attachment issue in tfileinputmail. (#5176) (#5188) 2020-09-09 18:22:13 +08:00
OleksiiNimych
8acc2239b2 fix(TDI-44759): tTeradataTPTExec fix SHOW_IF statement (#5147) (#5186)
* fix(TDI-44759): tTeradataTPTExec fix SHOW_IF statement

* fix(TDI-44759): tTeradataTPTExec fix display of properties
2020-09-09 10:57:03 +03:00
Emmanuel GALLOIS
6705749a12 feat(TCOMP-1651): backport to master (#5180) 2020-09-09 15:36:03 +08:00
Oleksandr Zhelezniak
6420c02d6e chore(TDI-44765): remove guava:13.0 (#5185)
* remove guava:13.0 dependency use 20.0 instead of it
2020-09-09 10:14:49 +03:00
chmyga
bf46f10197 fix(TCOMP-1749): validation with ActiveIf broken (#5121) (#5182)
* Don't show validation results for hidden parameters

* Revalidate parameters on show/hide property change

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>
2020-09-09 08:04:18 +03:00
jiezhang-tlnd
215ec2025c feat(TUP-28403)add white background for document (#5184) 2020-09-09 10:35:35 +08:00
jiezhang-tlnd
ba4cecc1fe feat(TUP-27667)change logo and brandings for Talend 7.4.1 (#5179) 2020-09-08 18:43:19 +08:00
Zhiwei Xue
ce6c70904a workitem(TUP-28567):Remove plugin org.talend.libraries.hcatalog (#5174) 2020-09-08 17:47:25 +08:00
wang wei
6503892b88 fix(TDI-44760): TMomOutput not changing the value of the queue (#5145) (#5175) 2020-09-07 17:04:35 +08:00
wang wei
2aefa18a64 fix(TDI-44678): tFileOutputXML make unexpected empty file (#5052) 2020-09-07 15:35:39 +08:00
nkutsubos
562ac96120 babili-export (#5172)
Co-authored-by: root <root@tal-ip90.talend.com>
2020-09-07 09:43:42 +08:00
vyu-talend
d0046d8673 feat(TDI-44720):implement pause and resume for redshift cluster. (#5141) (#5170)
* feat(TDI-44720):implement pause and resume for redshift cluster.

* feat(TDI-44720):change show-if.
2020-09-04 16:07:26 +08:00
vyu-talend
1bf53a9627 feat(TDI-44755):upgrade aws sdk version. (#5139) (#5169) 2020-09-04 15:18:58 +08:00
hcyi
7165d6fcd9 fix(TUP-28258):tETLInput and tETLMap does not show datatypes for (#5125)
Snowflake DB on Import Metadata。
2020-09-04 11:28:17 +08:00
Emmanuel GALLOIS
6c564d205d fix(TCOMP-1759): fix random order for columns in guessSchema in Studio (#5167) 2020-09-03 11:47:38 +02:00
Oleksandr Zhelezniak
824cc61790 fix(TDI-44654): fixed NPE for tFTP (#5071) (#5165)
* add info message about nullity of the ssl session context
* update version of commons-net-ftps-proxy [3.6.1-talend-20190819] -> [3.6.1-talend-20200902]
* update version of 'commons-net-ftps-proxy' in javajet ftp's components
* remove slf4j-log4j12 dependency
2020-09-03 10:58:36 +03:00
bhe-talendbj
a1f28c9e2a fix(TUP-27438): Add new plugin to codegen classpath (#5159) 2020-09-02 09:47:43 +08:00
Dmytro Grygorenko
e06952d023 fix(TDI-30522): extra '(' removed. (#5160)
* fix(TDI-30522): extra '(' removed.

* fix(TDI-30522): missing '<%' restored
2020-09-01 20:41:53 +03:00
vdrokov
f59d6e1d20 fix(TESB-29819): Studio doesn't select model beans during exporting (#5162)
Merge after successful validation with locally patched Studio.
2020-09-01 19:05:13 +02:00
Dmytro Grygorenko
64621ce986 fix(TDI-44743): backport to "master" branch (#5156) 2020-09-01 16:11:00 +03:00
jzhao
329e35e13b fix(TDI-44748):Error in method "add" for the component tFileOutputMSXML(#5158) 2020-09-01 15:41:03 +08:00
mbasiuk-talend
a9b563293e feat(TDI-44730): upgrade snowflake driver to latest (#5150) (#5157) 2020-09-01 10:02:32 +03:00
Oleksandr Zhelezniak
ed7a8d122d chore(TDI-44145): update commons-codec:1.14 (#5144)
* update commons-codec to 1.14 version in libraries
* update commons-codec to 1.14 version in javajet
2020-08-31 14:03:06 +03:00
Oleksandr Zhelezniak
bb4958fbc4 fix(TDI-31162): remove interfere condition (#5153)
* remove interfere SPECIFY_DATASOURCE_ALIAS from the import condition of the tOracle components
2020-08-31 10:56:54 +03:00
Dmytro Grygorenko
717d6950d8 fix(TDI-30522): backport to "master" (#5148) 2020-08-28 21:03:41 +03:00
Jane Ding
397a67fad6 Jding/tup 28440 (#5138) (#5146)
* Add test suffix for test case support (#5136)

Co-authored-by: Michael Verrilli <mverrilli@talend.com>

* Mverrilli patch 7.3.1 iterate test fix (#5137)

* Add test suffix for test case support

* Fixed missing reference to className

* Update iterate_subprocess_header.javajet

Co-authored-by: Michael Verrilli <mverrilli@talend.com>

Co-authored-by: Michael Verrilli <mverrilli@talend.com>

Co-authored-by: Michael Verrilli <mverrilli@talend.com>
2020-08-28 15:43:35 +08:00
Jane Ding
c66277ffcf fix(TUP-28085):Error while compiling a Kafka component with Big Data (#5031)
* fix(TUP-28085):Error while compiling a Kafka component with Big Data
studio
https://jira.talendforge.org/browse/TUP-28085
Signed-off-by: jding-tlnd <jding@talend.com>

* fix(TUP-28085):Error while compiling a Kafka component with Big Data
studio
https://jira.talendforge.org/browse/TUP-28085

Signed-off-by: jding-tlnd <jding@talend.com>
2020-08-28 11:50:06 +08:00
jiezhang-tlnd
1f4de6a6fb feat(TUP-27667)change logo and brandings for Talend 7.4.1 (#5134) 2020-08-28 10:43:05 +08:00
jiezhang-tlnd
1c549e7ed6 feat(TUP-28403)Update icons for 741 studio (#5130)
https://jira.talendforge.org/browse/TUP-28403
2020-08-28 10:39:26 +08:00
apoltavtsev
9f4f111f05 fix(TESB-29963) MQ Dependency issues in Runtime
* fix(TESB-29963) MQ Dependency issues in Runtime

* Update JobJavaScriptOSGIForESBManager.java

* Update JobJavaScriptOSGIForESBManager.java
2020-08-26 15:38:29 +02:00
nkutsubos
58a1995339 babili-export (#5123)
Co-authored-by: root <root@tal-ip90.talend.com>
2020-08-26 17:45:59 +08:00
Roman
8f98965547 fix(TDI-44063): update xercesImpl dependency (#5004) (#5122) 2020-08-26 12:11:35 +03:00
bhe-talendbj
fc4bb5298d bugfix(TUP-28308) build error and joblet maven xml file has incorrect values and Couldn't parse data error message (#5115)
* fix(TUP-28308): Check multiple version of joblets

* fix(TUP-28308): Check multiple version of joblets

* fix(TUP-28308): Revert unnecessary changes
2020-08-25 10:26:57 +08:00
hcyi
7943604035 fix(TUP-28134):TCK Components shown as hidden by default in the palette (#5046)
settings
2020-08-25 09:57:38 +08:00
Andreas Mattes
468ce08847 TESB-29664 Produce a more unique default value on empty endpoint URI. (#5126) 2020-08-24 12:00:40 +02:00
Emmanuel GALLOIS
be82f0ba82 fix(TDI-44164): revert changes on talend.component.manager.m2.repository (#5112) 2020-08-21 17:19:47 +02:00
Dmytro Grygorenko
445d77da82 fix(TDI-44439): Unable to locate & drop existing table for MySQL (JDBC) (#4882)
* fix(TDI-44439): updated tables search for MySQL DB

* fix(TDI-44439): removed search in "SYSTEM TABLE"

* fix(TDI-44439): Improve fix - get catalog name from Connection.

* fix(TDI-44439): Compile errors fixed.

* fix(TDI-44439): some more corrections.

* fix(TDI-44439): avoid "" as catalog name

* fix(TDI-44439): in case dbName is null
2020-08-21 13:13:58 +03:00
jiezhang-tlnd
c3554dbcf9 fix(TUP-28078)metadata folder generated under .../poms/jobs when create new connection in remote project (#5118)
* fix(TUP-28078)metadata folder generated under .../poms/jobs when create
new connection in remote project
https://jira.talendforge.org/browse/TUP-28078

* update plugin
2020-08-21 16:17:42 +08:00
AlixMetivier
59ba79e022 Update plugin.xml (#5117) 2020-08-21 16:07:11 +08:00
Jane Ding
a70d2efe07 Jding/master/tup 28338 implicit context issue (#5107)
* Jding/tup 28338 implicit context issue (#5097)

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes
on error after installing the patch 07_2020
https://jira.talendforge.org/browse/TUP-28338

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes
on error after installing the patch 07_2020
https://jira.talendforge.org/browse/TUP-28338

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes
on error after installing the patch 07_2020
https://jira.talendforge.org/browse/TUP-28338

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes (#5101)

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes
on error after installing the patch 07_2020
https://jira.talendforge.org/browse/TUP-28338

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

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes
on error after installing the patch 07_2020
https://jira.talendforge.org/browse/TUP-28338

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes
on error after installing the patch 07_2020
https://jira.talendforge.org/browse/TUP-28338

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

* fix(TUP-28338):[7.3.1] configuring Implicit tContextLoad in the job Goes
on error after installing the patch 07_2020
https://jira.talendforge.org/browse/TUP-28338

Signed-off-by: jding-tlnd <jding@talend.com>
2020-08-20 18:44:46 +08:00
jiezhang-tlnd
e780002878 feat(TUP-27862)Add possibility to customize pattern for dates when (#4977) (#5022)
retrieve table
2020-08-20 18:33:22 +08:00
Carlos Carvajal
854182aa09 fix(?): Update plugin.xml (#5106)
* Update plugin.xml

* Update plugin.xml
2020-08-20 15:48:44 +08:00
Pierre Teyssier
8e5fd3d1b0 fix(TDI-42668): replace hardcoded value 2020-08-20 04:29:20 +08:00
Mike Yan
55cd716747 fix(TESB-29957): Added properties for metrics (#5098)
* fix(TESB-29957):CI Fail to publish Microservice with Prometheus param

* fix(TESB-29957): Added contexts properties

* fix(TESB-29957): Added properties for metrics
2020-08-19 17:16:27 +08:00
AlixMetivier
7cea2e41a0 fix(TBD-11052): fix dataset migration for csv value (#5051) (#5091)
* fix(TBD-11052): add migration task for dataset API in delimited compo… (#5036)

* fix(TBD-11052): fix dataset migration for csv value (#5051)

* fix(TBD-11052): wrong value was checked

* fix value
2020-08-19 09:15:11 +02:00
apoltavtsev
15938fa5f6 fix(TESB-29676): Job with deployment type Microservice don't compile if password context parameter added directly to job 2020-08-18 12:28:47 +02:00
AlixMetivier
2f00afeee7 feat(TBD-10769): delta Features for R08 (#5067) (#5090)
* feat(TBD-10769): delta Features for R08 (#5067)

* Update plugin.xml
2020-08-18 10:16:35 +02:00
hzhao-talendbj
678f2c905c Hengzhao/backport73/tup 25103 (#5033) (#5077)
* bugfix(TUP-25103):tELTMap - ctrl+space shortcut is not working to
retrieve easily job context

* TUP-25103

* Tup-25103

* tup-25103  use styleText

* tup-25103 add exception handler

* remove comments

* solve issues

* add doit false to avoid new line

* try replace "\r\n" to " " in tELTMssqlMap_main.javajet

* fix edit expression builder but sql tab not refresh

* remove comments and format

* improve code

* to fix other eltmap about multi-line expression  and import/export
expression from file

* remove javajet and remove buttons

* remove expressionbuilder

Co-authored-by: hwang <hwang@talend.com>

Co-authored-by: hwang <hwang@talend.com>
2020-08-17 17:03:33 +08:00
Chao MENG
0458e694e9 fix(TUP-28295): UI Problem of TCOMPV0 in the recent 741NB and 731 (#5081)
Release + Aug. Nightly Build Patch
https://jira.talendforge.org/browse/TUP-28295
2020-08-17 15:43:42 +08:00
Jane Ding
24d571d3f3 fix(TUP-28180):[bug]Only latest version deleted from root pom when check (#5044) (#5086)
"Exclude deleted items" and delete to recycle bin
https://jira.talendforge.org/browse/TUP-28180

Signed-off-by: jding-tlnd <jding@talend.com>
2020-08-17 10:22:49 +08:00
Dmytro Grygorenko
2063b2b01a fix(TDI-44486): backport to master branch (#5084) 2020-08-14 15:54:15 +03:00
Mike Yan
d2eedbca17 fix(TESB-29957):CI Fail to publish Microservice with Prometheus param (#5074)
* fix(TESB-29957):CI Fail to publish Microservice with Prometheus param

* fix(TESB-29957): Added contexts properties
2020-08-14 17:35:45 +08:00
vyu-talend
f18f35e3b8 feat(TDI-44630):support amazon EMR HA. (#5059) (#5083)
* feat(TDI-44630):support amazon EMR HA.

* feat(TDI-44630):improve the error message.
2020-08-14 16:55:15 +08:00
Dmytro Sylaiev
f615697b73 feat(TDI-44405): Add contributor to the list (#5058) 2020-08-13 13:53:06 +03:00
bgunics-talend
099b5a6f18 tS3Connection setPathStyleAccess for better MinIO support (#5012)
* Added a checkbox under Advanced settings of tS3Connection when a custom endpoint is used.
When MinIO is used via DNS/hostname this must be checked otherwise the operations fail.

* PathStyleAccess should only be used if a custom endpoint is enabled.
2020-08-13 13:09:11 +03:00
pyzhou
607a0467e7 Pyzhou/tdi 42668 tssh update jar (#5037)
* Fix(TDI-42668): update tssh jat

* implement

* fix status code

* fix error interactive

* support dsa

* fix compile error
2020-08-13 12:25:20 +08:00
Dmytro Grygorenko
3e32aabc0f Revert "fix(TDI-30522): recreated backport with all the latest fixes. (#4982)" (#5069)
This reverts commit 4e466796c1.
2020-08-12 11:19:49 +03:00
bhe-talendbj
5819643448 fix(TUP-27374): Fix test case (#5055) (#5068)
fix(TUP-27374): Fix test case
2020-08-12 09:06:06 +08:00
Roman
f18efe8ba4 fix(TDI-44658): rearrange parameters in UI for BigQueryBulkExec (#5035) (#5063) 2020-08-11 12:11:21 +03:00
hzhao-talendbj
3014bab4df Revert "try fix junit to download jar (#5025)" (#5057)
This reverts commit a56d33e34e.
2020-08-10 18:54:01 +08:00
hzhao-talendbj
f228595bb4 TUP-27154 fix junit (#5056) 2020-08-10 18:53:43 +08:00
apoltavtsev
9d9ae3281c TESB-29071 Bean in route gives wrong output on running in studio 2020-08-10 08:53:34 +02:00
pyzhou
ce10aabb0c fix(TDI-44648): Derepcate tSAPBWInput (#5047) 2020-08-07 15:45:48 +08:00
SunChaoqun
0fc4e20a8d TESB-29322:Microservice monitoring - expose Camel metrics (#5007)
* TESB-29322:Microservice monitoring - expose Camel metrics

* feat(TUP-27680)Can't use the database "MAPPING" parameter to decide the component UI if show (#4878)

* feat(TUP-27680)Can't use the database "MAPPING" parameter to decide the
component UI if show
https://jira.talendforge.org/browse/TUP-27680

* feat(TUP-27680)Can't use the database "MAPPING" parameter to decide the
component UI if show

* feat(TUP-27680)add junits

* fix(TDI-44455) : log deps pb (#4877)

* Fix: TUP-27545 Update context var name for jdbc drivers can not be updated to job automatically. (#4883) (#4912)

Fix: TUP-27545 Update context var name for jdbc drivers can not be
updated to job automatically.
https://jira.talendforge.org/browse/TUP-27545

* fix(TDI-44506): Failed to build job on TOS (#4900) (#4917)

* fix(TDI-44167): SCD ELT components to support Databricks Delta (#4919) (#4920)

* TDI-44342 : Ignore microseconds in BigQuery datetime (#4798) (#4921)

* TDI-44342 : Ignore microseconds in BigQuery datetime

* TDI-44342 : Ignore microseconds in BigQuery datetime

Fixed for BigQuerySQLRow component

* tup-27154 update feature (#4925)

* fix(TDI-44548): tacokit components can't be loaded (#4932)

* fix(TDI-44453):tAdvancedFileOutputXML issue after upgrading to 7.3.1 (#4940)

* fix(TDI-44558):fix tJDBCSCDELT 65535 issue (#4937)

* tup-27154 update manifest (#4941)

* tup-27154 update manifest

* tup-27154 update manifest

* tup-27154 update manifest

* fix(TDI-44482): CVE: org.apache.ant:ant:1.10.1 (#4942)

* feat(TDI-44476): Add parquet support for tReshiftUnload (#4908) (#4943)

* feat(TDI-44476): Add parquet support for tReshiftUnload

* feat(TDI-44476): Hide comress property for parquet

* TMDM-14504 Fix "Use client side transaction id" (#4936)

* feat(TDI-38246): add new auth type to Google Storage family (#4945)

* fix(TDI-44561): fix compile error when dieOnError is checked (#4944) (#4946)

* feat(TDI-44466): add service account support for BulkExec and Output (#4909) (#4947)

* fix(TDI-44202): tCreateTable add support of Sybase (#4780) (#4948)

* TUP-26534 (#4813)

* TESB-29664 Random port will be used when REST Engpoint in tRESTRequest is empty (#4933)

Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>

* fix(TDI-44562): replace all backslashes in GS path (#4949) (#4950)

* TESB-29647 Bundle version does not use 'Custom Version' for jobs (#4930)

Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>

* fix(TDI-44377):fix tfileinputdelimited utf8bom issue (#4853) (#4956)

* fix(TDI-44377):fix tfileinputdelimited utf8bom issue

* fix(TDI-44377):add a checkbox

* fix(TDI-44377):skip bom to fix tfileinputdelimited

* fix(TDI-44300):skip bom to fix issue
back port those changes to master

* fix(TDI-44300):skip bom to fix issue (#4897) (#4957)

back port to master

* TESB-29285, TESB-29284 Error occurred when execute a microservice jar which is built by a tresrequest job with embedded trestclient job (#4784)

* TESB-29285 Error occurred when execute a microservice jar which is built by a tresrequest job with embedded trestclient job

* TESB-29285 Error occurred when execute a microservice jar which is built by a tresrequest job with embedded trestclient job

Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>

* TDI-44448 : AWS EMR version 5.29.0 (#4914)

* TDI-44448 : AWS EMR version 5.29.0

Co-authored-by: Pierre Teyssier <pteyssier@talend.com>

* fix(TUP-27601):NPE when try to copy-paste database component inside the (#4922)

job

* fix(TUP-27588)tCreateTable data types mapping in the schema editor is (#4976)

always Mysql after dragging and dropping from database Metadata

* fix(TDI-44481): CVE: commons-beanutils:commons-beanutils:1.9.3 (#4958)

* babili-export (#4964)

Co-authored-by: root <root@tal-ip90.talend.com>

* fix(TUP-25171):Issue when using components inside Joblet. (#4963)

* TESB-29322:Microservice monitoring - expose Camel metrics

Co-authored-by: jiezhang-tlnd <40561780+jiezhang-tlnd@users.noreply.github.com>
Co-authored-by: clesaec <51320496+clesaec@users.noreply.github.com>
Co-authored-by: kjwang <kjwang@talend.com>
Co-authored-by: wang wei <wwang@talend.com>
Co-authored-by: Richard Lecomte <rlecomte@talend.com>
Co-authored-by: hzhao-talendbj <49395568+hzhao-talendbj@users.noreply.github.com>
Co-authored-by: jzhao <jzhao@talend.com>
Co-authored-by: pyzhou <pyzhou@talend.com>
Co-authored-by: Dmytro Sylaiev <dmytro.sylaiev@globallogic.com>
Co-authored-by: Pingwen Lin <pwlin@talend.com>
Co-authored-by: Roman <voievidko@gmail.com>
Co-authored-by: OleksiiNimych <59691550+OleksiiNimych@users.noreply.github.com>
Co-authored-by: msheverda-talend <53863455+msheverda-talend@users.noreply.github.com>
Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>
Co-authored-by: vyu-talend <49019399+vyu-talend@users.noreply.github.com>
Co-authored-by: Pierre Teyssier <pteyssier@talend.com>
Co-authored-by: hcyi <hcyi@talend.com>
Co-authored-by: nkutsubos <54281137+nkutsubos@users.noreply.github.com>
Co-authored-by: root <root@tal-ip90.talend.com>
2020-08-07 10:55:10 +08:00
kjwang
1ed47bea1d Fix: TUP-28040 Importing project from 7.1.1 to 7.3.1 with Context group is missing the variables. (#5032)
* Fix: TUP-28040 Importing project from 7.1.1 to 7.3.1 with Context group
is missing the variables.
https://jira.talendforge.org/browse/TUP-28040
2020-08-06 16:46:14 +08:00
hzhao-talendbj
a56d33e34e try fix junit to download jar (#5025) 2020-08-06 16:39:25 +08:00
bhe-talendbj
2a347ec573 bugfix(TUP-27374) Commandline doesn''t pick up the correct JVM arguments (#5028) (#5039)
* fix(TUP-27374): Get default jvm arguments

* fix(TUP-27374): add back default vm arguments
2020-08-06 11:12:19 +08:00
Oleksandr Zhelezniak
df4e896180 chore(TDI-44362): CVE. Remove commons logging (#5034)
* remove commons-logging library from mdm_transaction and webservice-input libraries
* bump version for talend-webservice-input [1.0.0-20170301]->[1.0.2]
* declare explicit version of maven-jar-plugin in talend-webservice-input dependency
* change group id of mdm_transaction
* update version of mdm_transaction [1]->[1.2.0]
* change import in javajet xml due to convension for the talend-webservice-input to [1.0.2/6.0.0]
2020-08-05 10:41:31 +03:00
sbliu
2e00edb26e TUP-28130 Remove Loop limit column for target schema's path loop expression table, for json format meta data. (#5026) 2020-08-04 10:33:13 +08:00
wang wei
4abb3f0422 fix(TDI-44192): Update dom4j to 2.1.3 (#5023) 2020-08-03 14:19:40 +08:00
wang wei
bd77311054 fix(TDI-44643): NPE exception on tWaitForSQLData with snowflake connection(#5006) (#5016) 2020-07-31 12:21:43 +08:00
hzhao-talendbj
f3bc87ca3c TUP-27991 remove uripath (#4974) 2020-07-31 11:06:31 +08:00
Chao MENG
b379926361 fix(TUP-27953): tSalesforceInput component displays in-job (#4996)
tSalesforceConnection incorrectly
https://jira.talendforge.org/browse/TUP-27953
2020-07-31 11:02:31 +08:00
Jane Ding
64f7d9f766 feat(TUP-25566)All the recycle bin should not be build or executed (#4961) (#5013)
* feat(TUP-25566)All the recycle bin should not be build or executed
https://jira.talendforge.org/browse/TUP-25566

* feat(TUP-25566)All the recycle bin should not be build or executed
https://jira.talendforge.org/browse/TUP-25566
2020-07-31 10:52:24 +08:00
Roman
f252f79306 Revert "fix(TDI-44063): update xercesImpl dependency (#4857)" (#5010)
This reverts commit f81ca71312.
2020-07-30 15:32:15 +03:00
Dmytro Sylaiev
e13556c948 fix(TDI-44512): Bump mscrm lib version for localprovider components (#4973) (#5008) 2020-07-30 11:35:53 +03:00
sbliu
bfe0a7c2c9 TUP-27812 CVE:Bouncy Castle JSSE provider and TLS/DTLS API
By upgrading asciidoctorj to 2.3 to upgrade jruby-stdlib then upgrade bctls-jdk15on to 1.62
2020-07-29 15:10:12 +08:00
msheverda-talend
00d6de4ea3 TESB-29133 Update dom4j to 2.1.3 (#5000)
Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>
2020-07-29 09:33:51 +03:00
bhe-talendbj
1c9781ce7f fix(TUP-28009): Save relationship index after version change (#4987) 2020-07-28 16:12:40 +08:00
kjwang
bdb2e995bb Kjwang/fix tup 27879 library data.index (#4935) (#4999)
Fix:TUP-27879 Shared user can't write library index file library_data.index
https://jira.talendforge.org/browse/TUP-27879
Improve the code fix a spelling errors
2020-07-28 10:26:17 +08:00
pyzhou
d04bfb8359 fix(TDI-44622):Correct Bonita mvn URL (#4992)
* fix(TDI-44622):Correct Bonita mvn URL

* revert default version
2020-07-28 10:07:00 +08:00
Jane Ding
03ff2dc081 fix(TUP-19440)Search for new tDB* components are not bringing best (#4989)
* fix(TUP-19440)Search for new tDB* components are not bringing best
matches to the top
https://jira.talendforge.org/browse/TUP-19440

* fix(TUP-19440)Search for new tDB* components are not bringing best
matches to the top
https://jira.talendforge.org/browse/TUP-19440
2020-07-27 09:29:35 +08:00
Dmytro Sylaiev
592c01f056 fix(TDI-44579): Hide encrypt button for parquet (#4979) (#4990)
* fix(TDI-44579): Hide encrypt button for parquet

* fix(TDI-44579): Don't generate mskey when encrypt is hidden
2020-07-24 14:16:10 +03:00
hzhao-talendbj
64a1c62560 tup-27447 (#4825) 2020-07-24 11:19:29 +08:00
sbliu
68b42a77a1 TUP-27851 upgrade xstream to 1.4.12. (#4978) 2020-07-23 16:39:10 +08:00
OleksiiNimych
a507676ee4 fix(TDI-44400): update google-cloud-bigquery (#4860) (#4986) 2020-07-23 10:52:10 +03:00
Dmytro Grygorenko
4e466796c1 fix(TDI-30522): recreated backport with all the latest fixes. (#4982) 2020-07-23 10:16:39 +03:00
Jane Ding
bb1478e676 fix json xpath issue (#4980) (#4983) 2020-07-22 18:35:08 +08:00
hcyi
129adc7dd8 fix(TUP-25171):Issue when using components inside Joblet. (#4963) 2020-07-21 20:12:31 +08:00
nkutsubos
42d34ee40f babili-export (#4964)
Co-authored-by: root <root@tal-ip90.talend.com>
2020-07-21 18:27:40 +08:00
wang wei
6acc5a40f4 fix(TDI-44481): CVE: commons-beanutils:commons-beanutils:1.9.3 (#4958) 2020-07-21 16:09:37 +08:00
jiezhang-tlnd
ab54961459 fix(TUP-27588)tCreateTable data types mapping in the schema editor is (#4976)
always Mysql after dragging and dropping from database Metadata
2020-07-21 11:31:54 +08:00
hcyi
1ee0e0d289 fix(TUP-27601):NPE when try to copy-paste database component inside the (#4922)
job
2020-07-20 09:46:11 +08:00
Richard Lecomte
71ed428d4c TDI-44448 : AWS EMR version 5.29.0 (#4914)
* TDI-44448 : AWS EMR version 5.29.0

Co-authored-by: Pierre Teyssier <pteyssier@talend.com>
2020-07-17 16:13:12 +08:00
msheverda-talend
c74147a747 TESB-29285, TESB-29284 Error occurred when execute a microservice jar which is built by a tresrequest job with embedded trestclient job (#4784)
* TESB-29285 Error occurred when execute a microservice jar which is built by a tresrequest job with embedded trestclient job

* TESB-29285 Error occurred when execute a microservice jar which is built by a tresrequest job with embedded trestclient job

Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>
2020-07-17 10:23:34 +03:00
vyu-talend
d962ac0d1f fix(TDI-44300):skip bom to fix issue (#4897) (#4957)
back port to master
2020-07-17 14:46:04 +08:00
vyu-talend
ed9a2fd237 fix(TDI-44377):fix tfileinputdelimited utf8bom issue (#4853) (#4956)
* fix(TDI-44377):fix tfileinputdelimited utf8bom issue

* fix(TDI-44377):add a checkbox

* fix(TDI-44377):skip bom to fix tfileinputdelimited

* fix(TDI-44300):skip bom to fix issue
back port those changes to master
2020-07-17 14:45:50 +08:00
msheverda-talend
4254c32d37 TESB-29647 Bundle version does not use 'Custom Version' for jobs (#4930)
Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>
2020-07-16 17:53:52 +02:00
Roman
aa02848017 fix(TDI-44562): replace all backslashes in GS path (#4949) (#4950) 2020-07-16 16:14:15 +03:00
msheverda-talend
8f1bbb3774 TESB-29664 Random port will be used when REST Engpoint in tRESTRequest is empty (#4933)
Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>
2020-07-16 14:14:25 +03:00
hzhao-talendbj
972f9d58b4 TUP-26534 (#4813) 2020-07-16 16:00:34 +08:00
OleksiiNimych
bd4ed9cf05 fix(TDI-44202): tCreateTable add support of Sybase (#4780) (#4948) 2020-07-16 10:00:15 +03:00
Roman
0a7f378af8 feat(TDI-44466): add service account support for BulkExec and Output (#4909) (#4947) 2020-07-16 08:57:04 +03:00
Roman
0f4804b269 fix(TDI-44561): fix compile error when dieOnError is checked (#4944) (#4946) 2020-07-16 08:55:22 +03:00
Roman
22d77c8b34 feat(TDI-38246): add new auth type to Google Storage family (#4945) 2020-07-16 08:47:28 +03:00
Pingwen Lin
a23ec6e69f TMDM-14504 Fix "Use client side transaction id" (#4936) 2020-07-16 12:10:38 +08:00
Dmytro Sylaiev
2b29731910 feat(TDI-44476): Add parquet support for tReshiftUnload (#4908) (#4943)
* feat(TDI-44476): Add parquet support for tReshiftUnload

* feat(TDI-44476): Hide comress property for parquet
2020-07-15 21:13:18 +03:00
wang wei
eaa5ee3827 fix(TDI-44482): CVE: org.apache.ant:ant:1.10.1 (#4942) 2020-07-15 18:01:36 +08:00
hzhao-talendbj
5f9652d732 tup-27154 update manifest (#4941)
* tup-27154 update manifest

* tup-27154 update manifest

* tup-27154 update manifest
2020-07-15 17:37:28 +08:00
pyzhou
dabe53a647 fix(TDI-44558):fix tJDBCSCDELT 65535 issue (#4937) 2020-07-15 15:25:05 +08:00
jzhao
bc0ddd094c fix(TDI-44453):tAdvancedFileOutputXML issue after upgrading to 7.3.1 (#4940) 2020-07-15 14:30:32 +08:00
wang wei
3fa923e871 fix(TDI-44548): tacokit components can't be loaded (#4932) 2020-07-14 16:46:34 +08:00
hzhao-talendbj
504350e3c6 tup-27154 update feature (#4925) 2020-07-14 12:10:21 +08:00
Richard Lecomte
c823cf7fcc TDI-44342 : Ignore microseconds in BigQuery datetime (#4798) (#4921)
* TDI-44342 : Ignore microseconds in BigQuery datetime

* TDI-44342 : Ignore microseconds in BigQuery datetime

Fixed for BigQuerySQLRow component
2020-07-13 11:45:02 +02:00
wang wei
3952fa1da5 fix(TDI-44167): SCD ELT components to support Databricks Delta (#4919) (#4920) 2020-07-13 16:50:23 +08:00
wang wei
d197d1aa18 fix(TDI-44506): Failed to build job on TOS (#4900) (#4917) 2020-07-13 10:23:36 +08:00
kjwang
140d0ea2bf Fix: TUP-27545 Update context var name for jdbc drivers can not be updated to job automatically. (#4883) (#4912)
Fix: TUP-27545 Update context var name for jdbc drivers can not be
updated to job automatically.
https://jira.talendforge.org/browse/TUP-27545
2020-07-10 15:06:46 +08:00
clesaec
de930f148c fix(TDI-44455) : log deps pb (#4877) 2020-07-09 14:57:57 +02:00
jiezhang-tlnd
3a283ac2bc feat(TUP-27680)Can't use the database "MAPPING" parameter to decide the component UI if show (#4878)
* feat(TUP-27680)Can't use the database "MAPPING" parameter to decide the
component UI if show
https://jira.talendforge.org/browse/TUP-27680

* feat(TUP-27680)Can't use the database "MAPPING" parameter to decide the
component UI if show

* feat(TUP-27680)add junits
2020-07-09 17:22:47 +08:00
jiezhang-tlnd
cfc16729e7 add junit caused by TDI-44284 (#4907) 2020-07-09 14:49:16 +08:00
pyzhou
143c0116da feat(TDI-44284): change the migration version on master (#4905) 2020-07-09 11:58:08 +08:00
pyzhou
2140fc91ae feat(TDI-44284):Rename old tEXAxxx connectors in tExasolxxx (#4842) (#4894)
* feat(TDI-44284):Rename old tEXAxxx connectors in tExasolxxx (#4842)

* feat(TDI-44284):Rename old tEXAxxx connectors in tExasolxxx

* reformat and change filter

* reformat

* migration task

* change name

* change filter to tExasolConnection

* fix db unify

* fix(TDI-44284):rename EXA

* debug

* debug2

* debug3

* resolve conflict
2020-07-09 10:36:39 +08:00
Jane Ding
9b8cd9062d fix(TUP-26347):Bug in tMap component using Talend Studio on Mac (#4901)
* fix(TUP-26347):Bug in tMap component using Talend Studio on Mac
https://jira.talendforge.org/browse/TUP-26347

* fix(TUP-26347)Bug in tMap component using Talend Studio on Mac
https://jira.talendforge.org/browse/TUP-26347
2020-07-08 22:30:56 +08:00
hcyi
b6c7059daa fix(TUP-27352):Traces enabled by default when using Memory Run (#4769) 2020-07-08 09:46:25 +08:00
Dmytro Grygorenko
eebda2b02e fix(TDI-44355): Add contributor's real name. (#4892)
(cherry picked from commit 30fabcc356)
2020-07-07 13:13:57 +03:00
Dmytro Sylaiev
dd1e2b0e7f Dsylaiev/tdi 44349 backport ftp feature correctly (#4890)
* fix(TDI-44349): Revert "feat(TDI-44109): Use ftps library for FTP mode (#4737) (#4793)"

This reverts commit c7e5f4c057.

* Dsylaiev/tdi 44109 reintegrate feature for 7.3 (#4834)

* feat(TDI-44109): Regain use ftps library for FTP mode (#4737)

* feat(TDI-44109): Use ftps library for FTP mode

* fix(TDI-44109): fix compile error

* fix(TDI-44109): Fix compile error with the tFTPFileList

* feat(TDI-44109): Use ftps library for FTP mode

* Fix compile error for ftp protocol

* Fix log information for ftp protocol

* Fix compile error for sftp in tFTPDelete component

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>

* fix(TDI-44109): Apply ZhaoJin's fix for FTPGet and Put

* fix(TDI-44109): Fix "move dir" pb on tFTPDelete

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>
2020-07-06 17:04:40 +03:00
pyzhou
96ba97638f Pyzhou/tdi 43899 jdbcscdelt type0 (#4835)
* feat(TDI-43899):tJDBCSCDELT type0

* mysql insert type0

* fix log

* snowflake type 0

* mssql type0

* exasol type 0

* postgres type0

* fix bug for exasol

* oracle type 0

* correct typo

* fix bug of oracle

* type correction
2020-07-02 16:43:13 +08:00
chmyga
67ba92de7d fix(TDI-44384): set csv options (#4821) (#4880)
Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>
2020-07-02 10:04:16 +03:00
Jean-Philippe HAUTIN
363d811539 feat(TBD-9737): master : HDI4 cherry pick from maintenance/7.3 (#4866) 2020-07-01 09:37:38 +02:00
jiezhang-tlnd
7a3c8e3992 fix(TUP-26197)needn't force to log4j2 when import old project which is (#4467)
unactive and log4j1
2020-07-01 11:29:54 +08:00
zshen-talend
dc70e7e2bc fix(TDQ-17180): check paramter before start a command (#4836) 2020-07-01 09:31:48 +08:00
Dmytro Grygorenko
72c63581f1 fix(TDI-44412): Implemented optional component fail when no files found by mask. (#4873)
(cherry picked from commit b4c7039642)
2020-06-30 14:15:55 +03:00
jiezhang-tlnd
361effef28 fix(TUP-27697)Studio throw NPE error when drag json item to job (#4870)
https://jira.talendforge.org/browse/TUP-27697
2020-06-30 18:59:14 +08:00
Pingwen Lin
a886abb994 TMDM-14504 tMDMConnection & tMDMCommit not working normally if username/password contains special characters (#4871) 2020-06-30 14:15:41 +08:00
clesaec
317cab3b73 tuj - integration (#4869) 2020-06-29 18:21:39 +02:00
jiezhang-tlnd
c18a7de9d3 fix(TUP-27607)Metadata Database connection with special characters(double quote) in the password (#4841)
* fix(TUP-27607)Metadata Database connection with special
characters(double quote) in the password
https://jira.talendforge.org/browse/TUP-27607

* fix(TUP-27607)Metadata Database connection with special
characters(double quote) in the password
2020-06-29 10:10:06 +08:00
clesaec
1641ee990a fix(TDI-44320) : change page creation method (#4791)
* fix(TDI-44320) : change page creation method
2020-06-26 16:28:11 +02:00
Roman
f81ca71312 fix(TDI-44063): update xercesImpl dependency (#4857) 2020-06-25 17:34:40 +03:00
OleksiiNimych
77a939abc0 feat(TDI-44039): internal_ip_only for tGoogleDataprocManage (#4763) (#4859) 2020-06-25 14:25:37 +03:00
OleksiiNimych
67b8eebe77 fix(TDI-44378): add correct generation of create table sql for Sybase (#4815) (#4856) 2020-06-24 18:38:46 +03:00
Jane Ding
0f268d7698 fix(TUP-27517):Implicit Context is not working with the Field Separator (#4832) (#4854)
* fix(TUP-27517):Implicit Context is not working with the Field Separator
as ~~#*#~~
https://jira.talendforge.org/browse/TUP-27517

* fix(TUP-27517):Implicit Context is not working with the Field Separator
as ~~#*#~~
https://jira.talendforge.org/browse/TUP-27517

* fix(TUP-27517):Implicit Context is not working with the Field Separator
as ~~#*#~~
https://jira.talendforge.org/browse/TUP-27517
2020-06-24 15:33:12 +08:00
Chao MENG
7817416af5 fix(TUP-27497): [7.3.1] tPreJob with tHDFSConnection with kerberized (#4849)
fix(TUP-27497): [7.3.1] tPreJob with tHDFSConnection with kerberized cluster fails with simple authentication error
https://jira.talendforge.org/browse/TUP-27497
2020-06-23 18:28:23 +08:00
Chao MENG
f71f0d740c fix(TUP-27497): [7.3.1] tPreJob with tHDFSConnection with kerberized cluster fails with simple authentication error (#4806)
* fix(TUP-27497): [7.3.1] tPreJob with tHDFSConnection with kerberized
cluster fails with simple authentication error
https://jira.talendforge.org/browse/TUP-27497

* fix(TUP-27497): [7.3.1] tPreJob with tHDFSConnection with kerberized
cluster fails with simple authentication error
https://jira.talendforge.org/browse/TUP-27497
2020-06-23 09:40:54 +08:00
Dmytro Grygorenko
39b3fa8700 Fix(TDI-44021): Replaced join(10000) with join(); (#4599) 2020-06-22 14:01:26 +03:00
Dmytro Grygorenko
bbc2b628fc fix(TDI-44355): Updated CONTRIBUTORS.md (#4843) 2020-06-22 11:22:31 +03:00
overpackaging
d31b172752 Avoid a java.lang.NullPointerException (#2534)
When parsing a mail and requesting for a header field that is not present, the "getHeader" function will return a null value witch is the expected behavior.
In the case the "Multi Value" option is checked for a field, the previous code wasn't checking for null value before trying to loop on the field, witch was causing a java.lang.NullPointerException when trying to get the length of the array.
2020-06-22 11:03:44 +03:00
vdrokov
cdd69a5032 fix(TESB-29447): Empty required Password parameter value representati on in Studio (#4840) 2020-06-19 10:23:58 +03:00
AlixMetivier
d4a6865aa4 fix(TBD-10454): fix hadoop conf in context with TMC (#4837)
* fix(TBD-10454): fix hadoop conf in context with TMC

* added comment
2020-06-18 10:49:06 +02:00
Colm O hEigeartaigh
054baca081 TDI-44140 - Update Commons Compress to 1.19 (#4650) 2020-06-18 15:03:30 +08:00
jiezhang-tlnd
b8ad8239ea fix(TUP-27588)tCreateTable data types mapping in the schema editor is (#4820)
always Mysql after dragging and dropping from database Metadata
https://jira.talendforge.org/browse/TUP-27588
2020-06-17 16:37:28 +08:00
kjwang
e95d1752fa fix(TUP-27509):[bug] testcase listed everytime when click "Detect and… (#4797) (#4812)
* fix(TUP-27509):[bug] testcase listed everytime when click "Detect and (#4796)

update all jobs"
https://jira.talendforge.org/browse/TUP-27509

* Fix: TUP-27513 [Bug] Studio update job context variable name, the
testcase will add another context variable as built-in mode
https://jira.talendforge.org/browse/TUP-27513

Co-authored-by: kjwang-talend <kjwang@talend.com>

Co-authored-by: Jane Ding <35018295+jding-tlnd@users.noreply.github.com>
2020-06-16 17:37:51 +08:00
wang wei
ca879533f5 fix(TDI-44380): Imported JDBC job has compile error : extra quotes around table name(#4811) 2020-06-16 13:19:02 +08:00
mbasiuk-talend
c7fb51c176 fix(TDI-44165) add null marker field (#4809)
* fix(TDI-44165): add checkbox and text property

* fix(TDI-44165): fix indentation

* fix(TDI-44165): fix indentation v2

* fix(TDI-44165): update nullMarke

* fix(TDI-44165): add null marker customization for BigqueryOB
2020-06-15 13:34:40 +03:00
chmyga
251085667e Dchmyga/tdi 44281 fix missing log4j lib t set proxy (#4794) (#4799)
* fix(TDI-44281): NoClassDefFound for tSetProxy

* Use slf4j instead of log4j in talend-proxy lib

* fix(TDI-44281): NoClassDefFound for tSetProxy

* Update talend-proxy lib version in components

* fix(TDI-44281): NoClassDefFound for tSetProxy

* Update talend-proxy lib for download during build process

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>
2020-06-10 15:34:00 +03:00
hzhao-talendbj
491362631c Hengzhao/tup 27408 (#4788)
* tup 27408

* tup-27408

* tup-27408  change to JDBC URL
2020-06-10 17:26:16 +08:00
wang wei
86bf10380f fix(TDI-44172): Observability: Create new "component execution" event and emit it frequently
* fix(TDI-44171): Observability: Add "Component" label to
component-related events

* fix(TDI-44172): Observability: Create new "component execution" event
and emit it frequently

* fix(TDI-44172): correct name

* fix(TDI-44172): fix some issue

* fix(TDI-44306): adjust the audit event log integration in studio

* fix(TDI-44306): fix the build on javac of java 11

* use a more clear method name and context name

* fix(TDI-44306): adjust the audit event log integration in studio

* fix(TDI-44172): not use camel name way for context

* fix the group name to avoid tuj down risk
2020-06-10 16:29:51 +08:00
chmyga
c7e5f4c057 feat(TDI-44109): Use ftps library for FTP mode (#4737) (#4793)
* feat(TDI-44109): Use ftps library for FTP mode

* fix(TDI-44109): fix compile error

* fix(TDI-44109): Fix compile error with the tFTPFileList

* feat(TDI-44109): Use ftps library for FTP mode

* Fix compile error for ftp protocol

* Fix log information for ftp protocol

* Fix compile error for sftp in tFTPDelete component

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>

Co-authored-by: Dmytro Sylaiev <dmytro.sylaiev@globallogic.com>
Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>
2020-06-10 10:05:06 +03:00
jiezhang-tlnd
30e5ec662f feat(TUP-27259)Change default driver to Microsoft official for MSSql in Metadata (#4736) (#4775)
* feat(TUP-27259)Change default driver to Microsoft official for MSSql in
Metadata
https://jira.talendforge.org/browse/TUP-27259

* Update plugin.xml

* feat(TUP-27259)Change default driver to Microsoft official for MSSql in
Metadata
https://jira.talendforge.org/browse/TUP-27259

* feat(TUP-27259)Change default driver to Microsoft official for MSSql in
Metadata
2020-06-09 16:53:01 +08:00
vyu-talend
ebc9643e14 Vyu/tdi 44214 change default driver in mssql (#4724) (#4776)
* Vyu/tdi 44214 change default driver in mssql (#4724)

* feat(TDI-44214):Change default driver to Microsoft official

* feat(tdi-44214):add migration task.

* feat(TDI-44214):modify the plugin.xml file.

* feat(TDI-44214):add tdq components in migration task

* feat(TDI-44214):change migration task.

* feat(TDI-44214):change migration task version.
2020-06-08 11:28:35 +08:00
Sizhao Liu
a82e179e80 feat(TUP-27160): searchable connectors (#4693)
* feat(TUP-27157): searchable stitch connectors

* fix the item selection issue in palette + load latest UTM params + i18n

* add category for stitch connectors + exclude overlapping connectors

* add timeout for resource loading
2020-06-08 10:58:53 +08:00
hzhao-talendbj
254df767ad TUP-27070 fix cross join cases (#4772) 2020-06-08 09:57:48 +08:00
pyzhou
9198820e81 fix(TDI-44196):Jdbc use origin name for dynamic (#4717) 2020-06-05 17:42:21 +08:00
chmyga
0cfafe8464 fix(TDI-44247): tBigQueryInput illegal operation (#4722) (#4777)
* Get location from jobreference for OAuth 2.0 authentication mode

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>

Co-authored-by: Dmytro Chmyga <dmytro.chmyga@synapse.com>
2020-06-05 11:31:18 +03:00
pyzhou
57f23b1380 feat(TDI-44216):Redshift partner tracker (#4747)
* feat(TDI-44216):Redshift partner tracker

* add tRedshiftUnload

fix bug

* add tracker for tCreateTable
2020-06-04 17:14:42 +08:00
Chao MENG
1484dd6831 feat(TUP-26569): merge known conflicts automatically (#4663)
* feat(TUP-26569): merge known conflicts automatically

https://jira.talendforge.org/browse/TUP-26569

* feat(TUP-26569): merge known conflicts automatically

https://jira.talendforge.org/browse/TUP-26569
2020-06-03 16:28:02 +08:00
Jane Ding
a185ae5b69 fix(TUP-26347):Bug in tMap component using Talend Studio on Mac (#4744)
https://jira.talendforge.org/browse/TUP-26347
2020-06-02 16:10:53 +08:00
hzhao-talendbj
885e4494b5 Tup-27070 (#4734)
* Tup-27070
ELT component configuration to create an UPDATE Statement

* TUP-27070 addjunit for dbgeneratio manager

* TUP-27070 do some fix and add junit for mssql

* TUP-27070  improve some code

* TUP-27070 improve code
2020-06-02 11:32:53 +08:00
hwang-talend
a59560e18f bugfix(TUP-25171):Issue when using components inside Joblet (#4649)
bugfix(TUP-25171):Issue when using components inside Joblet
2020-06-01 09:15:01 +08:00
Dmytro Grygorenko
52a425bdb0 fix(TDI-44269): Set Outline ERROR_MESSAGE values. (#4759)
(cherry picked from commit d82b408cf2)
2020-05-29 14:02:35 +03:00
Emmanuel GALLOIS
d432ee7441 fix(TDI-44174): Component manager is not thread safe (#4752)
* fix(TDI-44174): Component manager is not thread safe

- this fixes the case when run as independent job is checked and the
  m2.repository automatically defaults to user's m2 in exported job.
- issue on singleton will be fix by component-runtime upgrade.

* fix(TDI-44174): relocate the property as first parameter
2020-05-28 10:17:25 +02:00
OleksiiNimych
66c6337e3f fix(TDI-44115): remove xmlrpc_3.1.2 from studio (#4753) 2020-05-28 10:07:02 +03:00
kjwang
73077257f3 Kjwang/feat tup 26288 enhance context b73 (#4746) (#4750)
Fix TUP-26288 Enhance context propagation over reference project
https://jira.talendforge.org/browse/TUP-26288
2020-05-28 14:10:16 +08:00
Dmytro Grygorenko
c549390468 Fix(TDI-30505): Do not log if no autocommit. (#4629)
* Fix(TDI-30505): Do not log if no autocommit.

* Fix(TDI-30505): Change by request of code reviewer

* Fix(TDI-30505): Missed comps added, var name fixed

* Fix(TDI-30505): Typo fixed.

* Fix(TDI-30505): Some more corrections
2020-05-27 11:21:22 +03:00
wang wei
a212c5c8f3 fix(TDI-43833): tDBBulkExec bug when using PostGress driver (#4701) 2020-05-27 14:20:06 +08:00
Emmanuel GALLOIS
b907071f53 fix(TCOMP-1681): fix Windows path case (#4713) 2020-05-26 17:57:51 +02:00
Emmanuel GALLOIS
09386aa841 fix(TDI-44174): Component manager is not thread safe (#4714)
* fix(TDI-44174): Component manager is not thread safe

- this fixes the case when run as independent job is checked and the
  m2.repository automatically defaults to user's m2 in exported job.
- issue on singleton will be fix by component-runtime upgrade.
2020-05-26 14:15:11 +02:00
Zhiwei Xue
14708c4a16 fix(TUP-27199): revert previous fix and remove wrapping space for (#4739)
condition.
2020-05-26 14:53:25 +08:00
hwang-talend
5d9b8a1628 bugfix(TUP-26848):Unsaved icon * still show on job after click save (#4705)
bugfix(TUP-26848):Unsaved icon * still show on job after click save button
2020-05-25 10:53:07 +08:00
Zhiwei Xue
1c8faac0a1 fix(TUP-27262): tAzureAdlsGen2Output component fails with class not (#4728)
found error
2020-05-25 09:16:47 +08:00
OleksiiNimych
a67dcef8a6 fix(TDI-44169): update xmlrpc-client version (#4710) 2020-05-22 09:31:16 +03:00
OleksiiNimych
2904b59330 fix(TDI-44115): update xmlrpc-client version (#4711) 2020-05-22 09:29:56 +03:00
OleksiiNimych
78945bcbe4 fix(TDI-44104): update xmlrpc-common version (#4703) 2020-05-22 08:59:44 +03:00
OleksiiNimych
2f3a932bc2 fix(TDI-44105): update xmlrpc-common version (#4699) 2020-05-22 08:37:30 +03:00
sbliu
333d50cde6 TUP-14559 change the toolbar button's tool tip, change the modification query dialog's title,keep consistent with tooltip of toolbar button. (#4716) 2020-05-22 01:15:38 +08:00
Jane Ding
c1e2a1d13f fix(TUP-27179):Studio freezes on job importing/loading (#4682)
* fix(TUP-27179):Studio freezes on job importing/loading
https://jira.talendforge.org/browse/TUP-27179

* fix(TUP-27179):Studio freezes on job importing/loading
https://jira.talendforge.org/browse/TUP-27179

* fix(TUP-27179):Studio freezes on job importing/loading
https://jira.talendforge.org/browse/TUP-27179
2020-05-21 10:39:18 +08:00
hcyi
c30e66aa65 fix(TUP-26924):tELTXXX: link name won't be updated after updating (#4696)
"default table name" in tELTInput.
2020-05-20 14:32:09 +08:00
Mike Yan
5e25e5fe15 fix(TESB-24998): Fix runtime running error with quotes in url header (#4707)
* feat(TESB-24998): Add context bean for tRESTReuest

* fix(TESB-24998): Fix runtime running error with quotes in url header

* Revert "fix(TESB-24998): Fix runtime running error with quotes in url header"

This reverts commit 79c429a989.

* fix(TESB-24998): Fix runtime running error with quotes in url header
2020-05-20 11:05:09 +08:00
Dmytro Grygorenko
69f69c7b5c Fix(TDI-44173): Fix for inner element creation in Loop element. (#4683) 2020-05-19 12:40:46 +03:00
clesaec
181a4c7317 fix(TDI-44191) : change module for tfilecopy (#4678) 2020-05-19 11:15:24 +02:00
sbliu
4404e52908 TUP-16067 Don't allow drag route to job. (#4691) 2020-05-19 14:09:32 +08:00
SunChaoqun
d4a6c53155 TESB-27806:Expose Talend Microservices Metrics in a monitoring system like Prometheus(#4687) 2020-05-19 10:57:38 +08:00
Mike Yan
de0f0f8f1f feat(TESB-24998): Add context support for data services and routes (#4686)
* feat(TESB-24998): Add context bean for tRESTReuest

* feat(TESB-24998): Moving ContextProcessing class

* Revert "feat(TESB-24998): Moving ContextProcessing class"

This reverts commit f6f3636f46.

* feat(TESB-24998): Moving ContextProcessing class from method runJobInTOS

* Revert "feat(TESB-24998): Moving ContextProcessing class from method runJobInTOS"

This reverts commit 6ea4b63cb1.

Co-authored-by: Maksym Sheverda <maksym.sheverda@synapse.com>
2020-05-19 10:56:59 +08:00
Roman
193a76d92a fix(TDI-44128): Update axis2 dependency CVE (#4684) 2020-05-18 15:04:23 +03:00
jzhao
10db88d08c feat(TDI-44179):support copy command in Azure synapse bulk load (#4681)
* feat(TDI-44179):support copy command in Azure synapse bulk load

* fix(TDI-44179):create table options

* fix(TDI-44179):add column to source field mapping

* fix(TDI-44179):change some parameter to list

* fix(TDI-44179):change default load method and add migrationtask

* fix(TDI-44179):only show "error file location" for csv file format

* fix(TDI-44179):fix some issue

* hide error file location for shared access key
* support context for field index
* correct sas token field
2020-05-18 17:08:56 +08:00
hwang-talend
c7840f1a20 bugfix(TUP-26002):Reject Schema is original schema, not changed schema (#4688)
bugfix(TUP-26002):Reject Schema is original schema, not changed schema
2020-05-18 14:16:03 +08:00
hwang-talend
332c9a18fd Hwang/tup 27199 (#4692)
* bugfix(TUP-27199):DB version of sybase isn't hide for other database on
tCreateTable
2020-05-18 13:58:01 +08:00
Dmytro Grygorenko
ea4e9bff8f Fix(TDI-30698): Remove lines of spaces between elements in output XML. (#4662) 2020-05-15 08:19:03 +03:00
Liu Xinquan
509e67a0b7 feat(TDQ-17831) update tPersonator component with new fields IPAddress (#4607) 2020-05-15 11:12:33 +08:00
AlixMetivier
a22e7ad636 fix(TBD-10454): with TMC strip timestamp to get hadoop conf (#4679) 2020-05-14 15:25:26 +02:00
Roman
ac75c43746 fix(TDI-43812): filemask not supported by tFTPRename (#4680) 2020-05-13 11:10:56 +03:00
wang wei
ae252dd4a8 fix(TDI-44159): Data viewer on tSybaseInput get error in context model with sybase 16 anywhere database(#4661) 2020-05-12 18:16:48 +08:00
wang wei
317fb772f4 fix(TDI-44066): Illegal argument exception in tsapbapi name field (#4668) 2020-05-12 17:49:05 +08:00
bhe-talendbj
23e42e1582 fix(TUP-27053): fix junit test case (#4676) 2020-05-12 16:20:39 +08:00
hcyi
1b6a75cc1c fix(TUP-27000):Talend Salesforce Einstein connector Repository (#4670)
connection issue in Talend 7.3
2020-05-12 11:57:50 +08:00
bhe-talendbj
d7214bc773 fix(TUP-27053): fix job starting script error and job startup without jvm arguments (#4669) 2020-05-12 10:59:08 +08:00
Richard Lecomte
932018e5b6 TDI-43935 : MsSQLRow NString type for prepared statement (#4651) 2020-05-11 08:16:33 +02:00
Zhiwei Xue
0316d58506 fix(TUP-26961):When save/delete a test case, it might break the poms/CI (#4656) 2020-05-11 11:34:18 +08:00
hwang-talend
6792be333d bugfix(TUP-26958):Test case: possible to remove input / output node (#4633)
bugfix(TUP-26958):Test case: possible to remove input / output node
2020-05-09 10:53:39 +08:00
jiezhang-tlnd
d7164d8192 fix(TUP-27066)test failed in "Expression Builder" dialog (#4665)
* fix(TUP-27066)test failed in "Expression Builder" dialog
https://jira.talendforge.org/browse/TUP-27066

* fix(TUP-27066)test failed in "Expression Builder" dialog
2020-05-08 18:56:26 +08:00
hwang-talend
4974e6d78e bugfix(TUP-26186):Use of the operators =, <=, <, >=, >, <> instead of (#4639)
* bugfix(TUP-26186):Use of the operators =, <=, <, >=, >, <> instead of
EQ, LE, LT, GE, GT, NE

* bugfix(TUP-26186):Use of the operators =, <=, <, >=, >, <> instead of
EQ, LE, LT, GE, GT, NE

* bugfix(TUP-26186):Use of the operators =, <=, <, >=, >, <> instead of
EQ, LE, LT, GE, GT, NE
2020-05-07 11:21:20 +08:00
Dmytro Sylaiev
c6be47597a fix(TDI-44074): Fix performance for date mssql (#4638) 2020-05-06 14:41:46 +03:00
OleksiiNimych
fcf9867ccb fix(TDI-44093): Fix processing of quoted strings (#4647)
* fix(TDI-44093): Fix processing of quoted strings

* fix(TDI-44093): Refactoring to improve readability
2020-05-06 12:53:40 +03:00
AlixMetivier
a0b1ab7b0f fix(TBD-10048): add option to change or not application's name (#4581)
* fix(TBD-10048): add option to change or not application's name

* Update tHiveRow_messages.properties
2020-05-04 09:55:36 +02:00
pyzhou
bead79ecd1 fix(TDI-44130):move log to finally (#4652) 2020-04-30 17:26:55 +08:00
Jane Ding
a2c7989d5a fix(TUP-26639):Talend Cloud studio Issue -Changes to Context Parameter (#4653)
Names is not reflected on the Connection for Snowflake
https://jira.talendforge.org/browse/TUP-26639
2020-04-30 09:54:41 +08:00
hcyi
6fa19a70e9 fix(TUP-26939:Tmap shows null values when using Expression Builder. (#4632) 2020-04-28 11:15:07 +08:00
hcyi
3ceedb58be fix(TUP-26683): Inputs label in documentation not the same as (#4641)
FlowDiagram
2020-04-28 11:12:06 +08:00
vyu-talend
3e61041565 Vyu/tdi 43756 fix bug in sqsclient (#4648)
* feat(TDI-43756):extends STS AssumeRole fields.

* feat(TDI-43756):extends AssumeRole fields(v2).

* feat(TDI-43756):set Session duration not required.

* feat(TDI-43756):

* feat(TDI-43756):extends fields for SQS

* feat(TDI-43756):fix the mistakes.

* feat(TDI-43756):extends fields for tAmazonEMRXXX,tAamzonRedshiftManage.

* feat(TDI-43756):optimize code.

* feat(TDI-43756):retrieve changes on S3connection.xml

* feat(TDI-43756):fix duplicated variables.

* feat(TDI-43756):fix same error

* feat(TDI-43756):optimize codes.

* feat(TDI-43756):use default region(US_WEST_2) for sts.

* feat(TDI-43756):change default to US-EAST-1.

* feat(TDI-43756):fix bug in SQSClient.

* feat(TDI-43756):fix bug in CredentialsProvider.
2020-04-27 21:38:11 +08:00
vyu-talend
1eaee7c556 Fix(TDI-35027):improve the log when loading data from file. (#4332)
* Fix(TDI-35027):This is a demo.

* fix(TDI-35027):optimize codes.

* fix(TDI-35027):add try/catch.
2020-04-27 15:46:29 +08:00
vyu-talend
0f13728bd8 feat(TDI-43756):extends STS AssumeRole fields for S3. (#4547)
* feat(TDI-43756):extends STS AssumeRole fields.

* feat(TDI-43756):extends AssumeRole fields(v2).

* feat(TDI-43756):set Session duration not required.

* feat(TDI-43756):

* feat(TDI-43756):extends fields for SQS

* feat(TDI-43756):fix the mistakes.

* feat(TDI-43756):extends fields for tAmazonEMRXXX,tAamzonRedshiftManage.

* feat(TDI-43756):optimize code.

* feat(TDI-43756):retrieve changes on S3connection.xml

* feat(TDI-43756):fix duplicated variables.

* feat(TDI-43756):fix same error

* feat(TDI-43756):optimize codes.

* feat(TDI-43756):use default region(US_WEST_2) for sts.

* feat(TDI-43756):change default to US-EAST-1.
2020-04-27 15:28:10 +08:00
Roman
94db7713dc feat(TDI-37016): Add dynamic support for tVerticaBulkExec (#4484) 2020-04-27 10:09:58 +03:00
Jane Ding
8bd229860d fix(TUP-26639):Talend Cloud studio Issues - Group context and (#4634)
* fix(TUP-26639):Talend Cloud studio Issues - Group context and
connections
https://jira.talendforge.org/browse/TUP-26639

* fix(TUP-26639):Talend Cloud studio Issues - Group context and
connections
https://jira.talendforge.org/browse/TUP-26639
2020-04-27 10:19:39 +08:00
OleksiiNimych
a4a96f3863 fix(TDI-44010): Fix adding NBLine to globalMap (#4630) 2020-04-24 09:49:14 +03:00
Zhiwei Xue
330d706722 fix(TUP-26809):Job zip should not contain jars from testcase only (#4635) 2020-04-23 18:49:25 +08:00
Emmanuel GALLOIS
9c2f08ec2b feat(TCOMP-1681): manage tacokit components in OSGi/Microservice job export (#4617)
* feat(TCOMP-1681): OSGi export

* feat(TCOMP-1681): OSGi export

* feat(TCOMP-1681): add REPLACE_EXISTING option for plugins.properties

* feat(TCOMP-1681): fix resource filtering

* feat(TCOMP-1681): add new resources to assembly for OSGi

* feat(TCOMP-1681): fix missing deps in microservice export

- some refactorings
- now we add the dep jars from TALEND-INF/dependencies.txt to MAVEN-INF

* feat(TCOMP-1681): add TaCoKit dependency service

* feat(TCOMP-1681): chore export dependency exporter

* feat(TCOMP-1681): add TaCoKit dependency service

- refactor and cleanup code

* feat(TCOMP-1681): class isolation

- refactor and cleanup code
2020-04-23 14:53:03 +08:00
hwang-talend
d7651ea0f4 bugfix(TUP-26796):Error "Can't find filed of null" show in error log (#4627)
bugfix(TUP-26796):Error "Can't find filed of null" show in error log when switch back from Jobscript to Designer
2020-04-23 09:59:44 +08:00
Laurent BOURGEOIS
b97a10e28f fix(TBD-10285):Add contains predicate to expressions (#4613) 2020-04-22 17:40:44 +02:00
pyzhou
c9b43d7c67 fix(TDI-44051):add the real value to the db name (#4621)
* fix(TDI-44051):add the real value to the db name

* set dbName as name when db column is null

* workaround

* change back name
2020-04-22 17:38:31 +08:00
Dmytro Sylaiev
87d3fd7c7d Dsylaiev/tdi 43931 pass full date to independand child job (#4622)
* fix(TDI-43931): Convert long as date from context args

* fix(TDI-43931): Update file root to be up to date

* fix(TDI-43931): Implement fix for tRunJob

* fix(TDI-43931): Mention string parse exception in log warn
2020-04-22 12:03:20 +03:00
sbovsunovskyi
0fecec9635 fix(TDI-44070): Unable to execute the job, receiving "Failed to gener… (#4625)
* fix(TDI-44070): Unable to execute the job, receiving "Failed to generate code." when using tAmazonRedshiftManage component.

* fix(TDI-44070): Unable to execute the job, receiving "Failed to generate code." when using tAmazonRedshiftManage component.
2020-04-21 11:23:21 +03:00
1123 changed files with 26521 additions and 10236 deletions

1
.gitignore vendored
View File

@@ -11,3 +11,4 @@ main/plugins/org.talend.designer.codegen/resources/sparkstreaming_header.javajet
main/plugins/org.talend.designer.codegen/resources/sparkstreaming_subprocess_footer.javajet
main/plugins/org.talend.designer.codegen/resources/sparkstreaming_subprocess_header.javajet
main/plugins/org.talend.designer.codegen/resources/routelet.skeleton
.DS_Store

View File

@@ -4,5 +4,7 @@ Huge thanks to these people who contributed in making Talend product better:
- [jlolling](https://github.com/jlolling) (Jan -and Miss- Lolling)
- [kirkalicious](https://github.com/kirkalicious) (Kirk Tarou)
- [mrizzato](https://github.com/mrizzato) (Massimiliano Rizzato)
- [overpackaging](https://github.com/overpackaging) (Steeve Dreux)
- [brazabr](https://github.com/brazabr) (Thiago Benvenuto)
- [phoflack](https://jira.talendforge.org/secure/ViewProfile.jspa?name=phoflack) (Philip Hoflack)
- [phoflack](https://jira.talendforge.org/secure/ViewProfile.jspa?name=phoflack) (Philip Hoflack)
- [bgunics-talend](https://github.com/bgunics-talend) (Balasz Gunics)

View File

@@ -8,7 +8,7 @@ BusinessAbstractParser.StringIntegerConvertError=String value cannot be converte
BusinessPaletteFactory.CreateGear=Create new Gear
SimpleBusinessCreationWizardPage.Title=New Business Model
BusinessNewDiagramFileWizard.CreateNewDiagram=Create new diagram based on {0} model content
BusinessAbstractParser.UnknownLiteral=Unknown literal:
BusinessAbstractParser.UnknownLiteral=Unknown literal:
BusinessAbstractParser.StringLongConverError=String value cannot be converted to Long value
AssignmentPropertySection.DeleteAssignment=Delete Assignment
AssignmentPropertySection.Type=Type
@@ -20,7 +20,7 @@ AssignmentPropertySection.Name=Name
CreateAssignmentCommand.CannotAssign=Cannot Assign.
BusinessNewDiagramFileWizard.DiagramRootElement=Diagram root element
BusinessNewDiagramFileWizard.NoDiagramRootElementSelectedError=No diagram root element selected
BusinessVisualIDRegistry.ParseError=Unable to parse view type as a visualID number:
BusinessVisualIDRegistry.ParseError=Unable to parse view type as a visualID number:
OpenDiagramAction.EditBusinessModel=Edit Business Model
BusinessAbstractParser.ValueOfTypeByteIsExpected=Value of type Byte is expected
BusinessAbstractParser.ValueOfTypeCharacterIsExpected=Value of type Character is expected
@@ -35,11 +35,11 @@ BusinessPaletteFactory.DatabaseComment=Create new Database
AssignmentPropertySection.Comment=Comment
SimpleBusinessCreationWizard.NewBusinessModel=New Business Model
BusinessNewDiagramFileWizard.InvalidDiagramRootElementSelected=Invalid diagram root element was selected
BusinessInitDiagramFileAction.IntialNew=Initialize new
BusinessInitDiagramFileAction.IntialNew=Initialize new
FindAssignmentAction.FindAssignments=Find Assignments
RepositoryFactoryProxyLabelProvider.NotFound= (Not Found)
BusinessPaletteFactory.Terminal=Terminal
BusinessAbstractParser.InvalidInputAt=Invalid input at
BusinessAbstractParser.InvalidInputAt=Invalid input at
BusinessPaletteFactory.Gear=Gear
BusinessPaletteFactory.InputComment=Create new Input
BusinessPaletteFactory.Data=Data
@@ -54,7 +54,7 @@ BusinessModelingAssistantProvider.SelectDomainModelElement=Select domain model e
BusinessPaletteFactory.CreateActor=Create new Actor
BusinessAbstractParser.StringDoubleConvertError=String value cannot be converted to Double value
BusinessPaletteFactory.Actor=Actor
EditAction.Edit=Edit
EditAction.Edit=Edit
BusinessCreationWizardPage.CreateBusinessDiagram=Create a Business diagram
BusinessPaletteFactory.Database=Datasource
BusinessPaletteFactory.ListComment=Create new List
@@ -66,7 +66,7 @@ BusinessInitDiagramFileAction.LoadFaild=Model file loading failed
BusinessPaletteFactory.DecisionComment=Create new Decision
BusinessAbstractParser.ValueOfDoubleIsExpected=Value of type Double is expected
OpenDiagramAction.ReadBusinessModel=Read Business Model
BusinessInitDiagramFileAction.UnableToLoadResource=Unable to load resource:
BusinessInitDiagramFileAction.UnableToLoadResource=Unable to load resource:
BusinessPaletteFactory.CreateEllipse=Create new Ellipse
BusinessNewDiagramFileWizard.DiagramFile=Diagram file
BusinessAbstractParser.StringShortConverError=String value cannot be converted to Short value

View File

@@ -2,7 +2,7 @@ JavaRoutineSynchronizer.UnsupportedOperation.Exception1=method not implemented:
CodeGeneratorEmittersPoolFactory.JETEmitters.NoPresent=JETEmitters Project not present, full reinitialize is needed
generatedcode.footerprocess.nbcharsgenerated={0} characters generated by {1}
CodeGeneratorEmittersPoolFactory.Class.NotFound=Template still present, but class {0} has disapeared from workspace. This unit needs to be recompiled.
CodeGeneratorEmittersPoolFactory.PersitentData.Error=Persitent data cannot be saved :
CodeGeneratorEmittersPoolFactory.PersitentData.Error=Persitent data cannot be saved :
generatedcode.copyright.title=Copyright (c) 2005-2011, Talend Inc.
CodeGeneratorEmittersPoolFactory.initMessage=Generation Engine Initialization in progress...
generatedcode.copyright.body5=(http://www.gnu.org/licenses/lgpl.html).
@@ -35,7 +35,7 @@ CodeGenInit.removeLink=Remove linked resources
CodeGenInit.saveWorkspace=Saving workspace
DocumentRootImpl.mixed=\ (mixed:
NodesSubTree.enableParallel=__ENABLE_PARALLEL__
PoolTypeImpl.persistentPool=\ (persistentPool:
PoolTypeImpl.persistentPool= \ (persistentPool:
TalendJetEmitter.compileFail=\ compile fail : {0} : {1}
TalendJetEmitter.exception=Exception on
JetFilesProviderManager.unableLoad=Unable to load {0}JetFilesProviderManager.unableLoad
@@ -84,7 +84,7 @@ FAMILY.eXist=eXist
FAMILY.FTP=FTP
FAMILY.Fields=Fields
FAMILY.File=File
FAMILY.FireBird=Firebird
FAMILY.FireBird=FireBird
FAMILY.Greenplum=Greenplum
FAMILY.HSQLDb=HSQLDb
FAMILY.Healthcare=Healthcare

View File

@@ -139,3 +139,7 @@ ComponentsPreferencePage_SuccessMessage1=Red\u00E9marrez le Studio pour charger
ComponentsPreferencePage_SuccessMessage2=Red\u00E9marrer maintenant ?
ComponentsPreferencePage.installComponentsFailure=\u00C9chec de l'installation des composants
ComponentsFactory.init.waitForFinish.timeout=Impossible d\'initialiser ComponentsFactory, veuillez r\u00E9essayer.
ComponentsPreferencePage.enableOnLineHelp=Activer l\'aide en ligne pour les composants
ComponentsPreferencePage.titleInstallHelp=Installer la fonctionnalit\u00E9 d\'aide hors ligne\u00A0?
ComponentsPreferencePage.msgInstallHelp=Cela va ouvrir une bo\u00EEte de dialogue de packages suppl\u00E9mentaires pour installer la fonctionnalit\u00E9 d\'aide hors ligne, continuer ?
ComponentsPreferencePage.grpHelp=Aide

View File

@@ -1,7 +1,7 @@
FileController.decoration.description=Content taken from the repository
AdvancedContextComposite.Name=Name
EParameterName.tableMeter=Meter Table
EParameterName.password=Password
EParameterName.password=Password
DesignerPreferencePage.display.useRepositoryName=Use the Repository name as label for the components dragged and dropped from the Repository Metadata.
UpdateDetectionDialog.Expand=Expand All
EParameterName.CurrentOS=Current OS
@@ -94,7 +94,7 @@ ExecuteSystemCommandCommand.Command=Execute...
UpdateDetectionDialog.Operations=Operations
ChangeConnectionStatusCommand.setLinkRef=set Link as Ref
Note.DefaultText=text
DesignerColorsPreferencePage.ConnectionColorMessages=If you change link colors, you should restart the current job to apply changes.
DesignerColorsPreferencePage.ConnectionColorMessages=If you change link colors, you should restart the current job to apply changes.
MultiPageEditorContributor.runMenu=Run
EParameterName.uniqueName=Unique Name
ExternalNodeChangeCommand.propagateMessage=Would you like to propagate changes ?
@@ -109,7 +109,7 @@ ConfigureConnParamDialog.ContextText=With Context:
EParameterName.UseStatistics=Use statistics (tStatCatcher)
StatsAndLogsComposite.StatsLogsSettings=Stats & Logs Settings
NodesPasteCommand.label=Paste
ExternalNodeChangeCommand.modifaicationFrom=Modification from
ExternalNodeChangeCommand.modifaicationFrom=Modification from
EmfComponent.Time=Time
ContextParameterExtractor.ExistedMessages=Some context parameters have be existed in {0}.
TextController.decoration.description=Value taken from the repository
@@ -229,10 +229,10 @@ ContextParameterPage.title=Context parameter
NodeReturn.Availability.AFTER=After
EmfComponent.repository=Repository
EParameterName.ConnectionFormat=Connection format
ExecuteSystemCommandCommand.Title=Executed command
ExecuteSystemCommandCommand.Title=Executed command
EParameterName.Description=Description
Process.IfToUpgradeMetadata=The metadata used in the following component(s) has been modified.\nSelect the component(s) that you want to update from the repository.
NewProcessWizard.title=New Job
NewProcessWizard.title=New job
CheckController.decoration.description=Value taken from the repository
ContextParameterPage.comment=Comment
EParameterName.onConsoleFlag=On Console
@@ -268,7 +268,7 @@ ContextParameterPage.nameExists=Parameter name already exists.
ExecuteSystemCommandCommand.Label=Executes special commands which were set by user or defined in component.
ContextParameterPage.defaultValue=Default value
MergeOrderDialog.MoveDown=Move Down
EParameterName.dbName=Db Name
EParameterName.dbName=Db Name
TalendEditorContextMenuProvider.Row=Row
EParameterName.catchUserWarning=Catch user warnings
StatsAndLogsComposite.Save=&Save to preferences
@@ -502,7 +502,7 @@ TraceEnableAction.TraceEnableDesc=Set Trace Enable
TraceEnableAction.TraceEnableTitle=Trace Enable
UpdateManagerUtils.updateMOfification=Update manager modification
WSDL2JAVAController.TOS=Talend Open Studio
WSDL2JAVAController.generateFileFailed=Generate java files failed \n{0} \:
WSDL2JAVAController.generateFileFailed=Generate java files failed \n{0} :
WSDL2JAVAController.generateFileFailedFromWSDL=Generate java files from the wsdl file\: {0} successfully.
JobSettingProjectSettingPage.implictLabel=Implicit context load
JobSettingProjectSettingPage.statAndLog=Stats and logs
@@ -673,7 +673,7 @@ ModifyMergeOrderAction.ERROE=Error
ConnectionDeleteCommand.COLLAPSE=Warning
ConnectionDeleteCommand.COLLAPSEJOBLET=Can not delete the connections of the expanded Joblet in Job.
MultiPageTalendEditor.DIRTY=Dirty joblet
MultiPageTalendEditor.DIRTYMESSAGE=\ is dirty, Please save joblet first, otherwise you will lose the modification in joblet?
MultiPageTalendEditor.DIRTYMESSAGE= is dirty, Please save joblet first, otherwise you will lose the modification in joblet?
UpdateDetectionDialog.jobletMessage=Job closed will be updated automatically.
ImportExportPreferencePage.addClasspathJar=Add classpath jar in exported jobs (not compatible with JobServer)
DbTableController.dialog.title=Error
@@ -717,7 +717,7 @@ TalendEditorDropTargetListener.updateHadoopCfgDialog.msg=The hadoop configuratio
CodeView.initMessage=Generation Engine Initialization in progress...
Connection.paral_queuesize=QUEUE_SIZE
ModulesInstaller_text1=Component {0} requires the following third party modules;
ModulesInstaller_title1=List of modules not installed for component
ModulesInstaller_title1=List of modules not installed for component
ModulesInstaller_text2=Selected components require the following third party modules
ModulesInstaller_title2=List of modules not installed for the selected components
PropertiesWizardPage.ItemExistsError=This item already exists. Check the Recycle bin and empty it if needed.
@@ -1005,3 +1005,5 @@ PerformancePreferencePage.propagateContext=Propagate contexts added in repositor
LicenseKeyController.NewLicenseKey=Enter a new license key
ReconcilerStyledText.illegalArgs=Input args are bigger than text length:{0}, original input <{1}, {2}>, changed to <{3}, {4}>.
JobLaunchConfigurationDelegate.waitProcessRunning=Waiting for running process...
StitchDataLoaderConstants.descriptionForIntegrationSource=Extract {0} data and ingest it in the cloud destination of your choice using Stitch Data Loader. Select this option to open your browser and try it for free.
StitchDataLoaderConstants.descriptionForDataWarehouseDestination=Ingest data from over 100 popular sources to {0} using Stitch Data Loader. Select this option to open your browser and try it for free.

View File

@@ -975,3 +975,29 @@ PerformancePreferencePage.defaultTimeout.read=Valeur du d\u00E9lai avant expirat
Node.hasMoreThenOneSourceKey=Ce composant n\'a pas de source cl\u00E9 d\u00E9finie.
DatabaseForm.checkFailure=\u00C9chec de la connexion
DatabaseForm.checkFailureTip=Vous devez modifier les param\u00E8tres de la base de donn\u00E9es.
AbstractPreferenceComposite.textContent2=Appliquer aux sous-Jobs
AbstractPreferenceComposite.tipContent2=Appliquer aux sous-Jobs
ActivateSubjobAction.ActivateComplete2=Activer le sous-Job complet
ActivateSubjobAction.ActivatePart2=Activer le sous-Job courant
ActivateSubjobAction.DeactivateComplete2=D\u00E9sactiver le sous-Job complet
ActivateSubjobAction.DeactivatePart2=D\u00E9sactiver le sous-Job courant
ChangeActivateStatusSubjobCommand.Label.ActiveComplete2=Activer le sous-Job complet
ChangeActivateStatusSubjobCommand.Label.ActivePart2=Activer le sous-Job courant
ChangeActivateStatusSubjobCommand.Label.DeactiveComplete2=D\u00E9sactiver le sous-Job complet
ChangeActivateStatusSubjobCommand.Label.DeactivePart2=D\u00E9sactiver le sous-Job courant
ComponentSettingsView.subjob2=Sous-Job
ConnectionSetAsMainRef.ConnectionModifyError2=Impossible de modifier la connexion lorsque le composant de d\u00E9but a un lien subJob.
DisplaySubjobCommand.DisplaySubjob2=Afficher le sous-Job
DisplaySubjobCommand.HideSubjob2=Masquer le sous-Job
EParameterName.OverrideEncodingFlag=\u00C9craser l\'encodage
EParameterName.showSubjob2=Afficher le titre du sous-Job
ModifyMergeOrderAction.ConnectionModifyError2=Impossible de modifier la connexion lorsque le composant de d\u00E9but a un lien subJob.
Node.notSubjobStartNode2=Ce composant \"{0}\" n\'est pas un n\u00BDud de d\u00E9but de sous-Job.
Node.inLoop=Le n\u00BDud ({0}) est dans une boucle r\u00E9cursive.
ToggleSubjobsAction.LABEL2=D\u00E9velopper/r\u00E9duire les sous-Jobs
PerformancePreferencePage.propagateContext=Propager les contextes ajout\u00E9s aux groupes de contextes du r\u00E9f\u00E9rentiel
LicenseKeyController.NewLicenseKey=Saisissez une nouvelle cl\u00E9 de licence
ReconcilerStyledText.illegalArgs=Les arguments d\'entr\u00E9e sont plus grands que la longueur du texte\u00A0:{0}, entr\u00E9e originale <{1}, {2}>, modifi\u00E9e en <{3}, {4}>.
JobLaunchConfigurationDelegate.waitProcessRunning=En attente du processus en cours d\'ex\u00E9cution...
StitchDataLoaderConstants.descriptionForIntegrationSource=Extrait des donn\u00E9es {0} et les ing\u00E8re dans la destination Cloud de votre choix \u00E0 l'aide de Stitch Data Loader. S\u00E9lectionnez cette option pour ouvrir votre navigateur et l'essayer gratuitement.
StitchDataLoaderConstants.descriptionForDataWarehouseDestination=Ing\u00E8re des donn\u00E9es de plus de 100 sources populaires dans {0} \u00E0 l'aide de Stitch Data Loader. S\u00E9lectionnez cette option pour ouvrir votre navigateur et l'essayer gratuitement.

View File

@@ -84,7 +84,7 @@ SqlMemoController.QueryError.mainMsg=\u30AF\u30A8\u30EA\u30B9\u30C6\u30FC\u30C8\
ContextRepositoryCommand.modifyContext=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306E\u5909\u66F4
EParameterName.DisableWarnings=\u8B66\u544A\u306E\u7121\u52B9\u5316
ChangeConnTextCommand.Label=\u63A5\u7D9A\u30E9\u30D9\u30EB\u306E\u5909\u66F4
TalendEditorPaletteFactory.Note=\u30CE\u30FC\u30C8
TalendEditorPaletteFactory.Note=\u6CE8
EParameterName.tStatCatcherStats=tStatCatcher\u7D71\u8A08\u60C5\u5831
EParameterName.LoadNewVariableLabel=\u5909\u6570\u3092\u30ED\u30FC\u30C9\u3059\u308B\u5834\u5408\u306F\u3001\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306B\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093
EParameterName.startable=\u958B\u59CB\u53EF\u80FD
@@ -1005,3 +1005,5 @@ PerformancePreferencePage.propagateContext=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\
LicenseKeyController.NewLicenseKey=\u65B0\u3057\u3044\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u3092\u5165\u529B
ReconcilerStyledText.illegalArgs=\u5165\u529B\u5F15\u6570\u304C\u30C6\u30AD\u30B9\u30C8\u9577\u3092\u8D85\u3048\u3066\u3044\u307E\u3059:{0}\u3001\u5143\u306E\u5165\u529B<{1}\u3001{2}>\u3001\u5909\u66F4\u3057\u3066<{3}\u3001{4}>\u3068\u306A\u308A\u307E\u3057\u305F\u3002
JobLaunchConfigurationDelegate.waitProcessRunning=\u5B9F\u884C\u30D7\u30ED\u30BB\u30B9\u3092\u5F85\u6A5F\u4E2D...
StitchDataLoaderConstants.descriptionForIntegrationSource=Stitch Data Loader\u3092\u4F7F\u3044\u3001100\u3092\u8D85\u3048\u308B\u4EBA\u6C17\u306E\u30BD\u30FC\u30B9\u304B\u3089\u30C7\u30FC\u30BF\u3092{0}\u306B\u53D6\u308A\u8FBC\u307F\u307E\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u304A\u8A66\u3057\u3044\u305F\u3060\u3051\u307E\u3059\u3002
StitchDataLoaderConstants.descriptionForDataWarehouseDestination=Stitch Data Loader\u3092\u4F7F\u3044\u3001{0}\u30C7\u30FC\u30BF\u3092\u62BD\u51FA\u3057\u3066\u6307\u5B9A\u306E\u30AF\u30E9\u30A6\u30C9\u30C7\u30B9\u30C6\u30A3\u30CD\u30FC\u30B7\u30E7\u30F3\u306B\u53D6\u308A\u8FBC\u307F\u307E\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u304A\u8A66\u3057\u3044\u305F\u3060\u3051\u307E\u3059\u3002

View File

@@ -36,7 +36,7 @@ TableEntriesManager.exceptionMessage.caseNotFound=case not found
ToolbarInputZone.widgetTooltip.addAlias=Add alias
ToolbarOutputZone.widgetTooltip.removeOutputTable=Remove selected output table
InputDataMapTableView.columnTitle.ExplicitJoin=Explicit join
AliasDialog.addNewAlias=Add a new alias
AliasDialog.addNewAlias=Add a new alias
MapperManager.exceptionMessage.useOtherSignature=Use other signature method to add entry
UIManager.propagateTitle=Propagate
MapperManager.removeOutputTableTitle=Remove output table
@@ -69,7 +69,7 @@ InputDataMapTableView.columnTitle.Operator=Operator
ProblemsManager.operatorNotSet=Operator of input entry '{0}' is not set.
VarsTable.invalidTip=' is invalid.
UIManager.3= doesn't exist !
UIManager.2=The zone
UIManager.2=The zone
DbMapComponent.unknowValue=Value of element parameter NAME is unknown :
UIManager.nameExistOrNull=The name already exists or is null.
AliasDialog.inputValid=Input is invalid.
@@ -157,3 +157,12 @@ DataMapTableView.buttonTooltip.menu.addOtherClauses=Add an other (GROUP...) clau
ProblemsAnalyser.needAlias.error1=The '{0}' linked table name '{1}' is too complex ,please use alias to generate sql!
ToolbarOutputZone.widgetTooltip.delimitedIdentifiers=Active me to add double quotes for schemas to support delimited identifiers.
ToolbarOutputZone.widgetText.delimitedIdentifiers=Delimited identifiers
ExpressionComposite.expression=Expression
ExpressionComposite.clear=Clear
ExpressionBuilderDialog.message=Close without saving
ExpressionBuilderDialog.Confirm=Do you want to close the Expression Builder without save and lose your changes?
ExpressionBuilderDialog.ok.button=Ok
ExpressionBuilderDialog.cancel.button=Cancel
ExpressionBuilderDialog.expression.builder=Expression Builder
ExpressionComposite.Wrap=Wrap
ExpressionComposite.undo=Undo

View File

@@ -27,11 +27,11 @@ FOXUI.2=Related Column
FOXUI.1=XML Tree
FOXUI.0=Link target
DragAndDrogDialog.AddAttributes=Create as attribute of target node
FOXUI.19=Linker source
FOXUI.19=Linker Source
FOXUI.18=Remove Group Element
FOXUI.17=Set As Group Element
FOXUI.16=Set As Loop Element
FOXUI.15=Guess loop element
FOXUI.15=Guess Loop Element
Schema2XMLDragAndDropHandler.IsNotElementWarning=isn't a Element, can not create sub-elements or attributes.
FOXUI.14=Import XML Tree
FooterComposite.AutoMap=Auto map!

View File

@@ -67,12 +67,12 @@ MapperManager.removeOutputTableTitleMessage=Are you sure you want to remove the
ToolbarOutputZone.moveupTooltip=Move up selected output table
DataMapTableView.buttonTooltip.minimize=Minimize
EntryContentProposal.column=Column:
Problem.warning.setExpressionKey=Try to set an Expression key if possible in the lookup table '{0}' to improve performance.
Problem.warning.setExpressionKey=Try to set an Expression key if possible in the lookup table '{0}' to improve performance.
ToolbarInputZone.restoreTooltip=Restore all input tables
VarsTable.invalidTip=' is invalid.
Problem.warning.unusableReject=As no filter is defined in table(s) {0}, the output rejection cannot be used.
Problem.warning.unusableReject=As no filter is defined in table(s) {0}, the output rejection cannot be used.
UIManager.3= does'nt exist !
UIManager.2=The zone
UIManager.2=The zone
OutputDataMapTableView.columnTitle.filterCondition=Filters conditions (AND)
MapperComponent.generationNotInitial=generationManager is not initialized by the perljet/javajet\!
VarsDataMapTableView.nullable=Nullable
@@ -105,11 +105,11 @@ InputDataMapTableView.removeGlobalMapVar.Title=Remove globalMap variable
InputDataMapTableView.removeGlobalMapVar.Message=Are you sure to remove the globalMap variable {0}?
InputDataMapTableView.globalMapKey=globalMap Key
InputDataMapTableView.invalid=<Invalid>
InputDataMapTableView.invalidConfiguration=Invalid configuration, choose another lookup mode or set an expression in the lookup key column "{0}\\"
InputDataMapTableView.invalidConfiguration=Invalid configuration, choose another lookup mode or set an expression in the lookup key column "{0}\"
FooterComposite.button.APPLY=Apply
InputDataMapTableView.columnTitle.Operator=Operator
HTMLDocGenerator_generate_document=Generated documentation
HTMLDocGenerator.author=AUTHOR
HTMLDocGenerator.author=Author
HTMLDocGenerator.author1=Author
HTMLDocGenerator.column=Column
HTMLDocGenerator.comment=Comment

View File

@@ -2,7 +2,7 @@ RowGenPreivewCodeMain.Process.Generate=Process tRowGenerator generate...
RowGenPreivewCodeMain.PreviewBtn.Text=Preview
TabFolderEditors.FunParamTab.TitleText=Function parameters
MetadataToolbarEditorViewExt.Columns.Text=Columns
RowGenProcess.ConnectionName.NotValid=The name of the connection is not valid:
RowGenProcess.ConnectionName.NotValid=The name of the connection is not valid:
RowGenProcess.BeseName.BeNull=baseName can't be null
UIManager.MessageBox.Content=Do you want to close the tRowGenerator without saving the current settings?
RowGenTableEditor2.Preview.TitleText=Preview

View File

@@ -1,7 +1,7 @@
ProcessComposite2.statsComposite=Stats && Traces
ProcessComposite.clearBefore=Clear before run
ProcessComposite.kill=Kill
ProcessComposite.confirmText=Do you really want to launch the job with context {0} ?
ProcessComposite.confirmText=Do you really want to launch the job with context {0} ?
Processor.perlModuleNotFound=Perl Module Plugin not found.
PromptDialog.title=Run Context {0} with parameters:
ProcessComposite.execTimeHint=Show the time of running this job
@@ -9,7 +9,7 @@ Processor.tempFailed=Failed to generate temporary files.
ProcessComposite.exec=Run
ProcessView.subtitleEmpty=No job to run
ProcessComposite.statHint=Statistics on job execution will be shown
prefs.clientTracePortBound2=to
prefs.clientTracePortBound2=to
prefs.clientTracePortBound1=Trace port range :
ProcessComposite.execGroup=Execution
ProcessView.gainFocusLog=Run process gain focus
@@ -20,7 +20,7 @@ prefs.clientStatInvalidRange=Client stats port must be between 1024 and 65535 in
Processor.commandLineLog=Command line:
ProcessView.jobName=Job
JavaProcessor.notFoundedProjectException=Java project not found.
prefs.clientStatsPortBound2=to
prefs.clientStatsPortBound2=to
ProcessView.titleEmpty=Run job
RunProcessContext.PortErrorTraces=Traces
prefs.clientStatsPortBound1=Stats port range :
@@ -30,7 +30,7 @@ ProcessComposite.trace=Traces
RunProcessContext.PortErrorTitle={0} Port Error!
ProcessDebugDialog.title=Debug job {0}
ProcessComposite.killHint=Stop immediatly the execution of the job
ProcessComposite.buildTask=Building Job
ProcessComposite.buildTask=Building job
ProcessComposite.execFailed=Execution failed :
Processor.execFailed=Job execution failed.
ProcessComposite.stat=Statistics
@@ -55,13 +55,13 @@ prefs.clientConfiguration=Talend client configuration
ProcessView.title=Run ({0})
Processor.configurePerl=Perl interpreter not configured.
JavaProcessor.notFoundedFolderException=Folder within .Java project not found
ProcessComposite.execHint=Run the job
ProcessComposite.execHint=Run the job
ProcessComposite.valueCol=Value
ProcessComposite.saveBeforeRunHint=Saves the Job before the execution.
ProcessDebugDialog.debugBtn=Debug
prefs.configuration.title=Run process configuration :
DefaultRunProcessService.methodCalledError=This method should'nt be called here, use it on RunProcessService class.
ErrorDetailDialog.errorExist=\ \ Warning\! Some errors exist in job. Would you like to continue?
ErrorDetailDialog.errorExist= Warning! Some errors exist in job. Would you like to continue?
ErrorDetailDialog.findError=Error found
ProcessComposite.hideContext=hide the Context
ProcessComposite.lineLimited=Line limit
@@ -96,7 +96,7 @@ CamelJobErrorsChecker_compile_errors=Route compile errors
CamelJobErrorsChecker_compile_error_content=At least Route "{0}" has compile errors, please fix and export again.
RunProcessPreferencePage.RouteVmArgument=Route Run VM arguments
ProcessComposite.wrapbutton=Wrap
JavaProcessorUtilities.msg.missingjar.forProcess=Missing jars:
JavaProcessorUtilities.msg.missingjar.forProcess=Missing jars:
JavaProcessorUtilities.msg.missingjar.note=Note:
JavaProcessorUtilities.msg.missingjar.onlyforroutine=The following jars are also required by compiler:
JavaProcessorUtilities.msg.missingjar.warningtitle=Warning!

View File

@@ -1,7 +1,7 @@
ProcessComposite2.statsComposite=Stats && Traces
ProcessComposite.clearBefore=Effacer avant l\'ex\u00E9cution
ProcessComposite.kill=Arr\u00EAter
ProcessComposite.confirmText=Voulez-vous vraiment lancer le Job avec le contexte {0} ?
ProcessComposite.confirmText=Voulez-vous lancer le Job avec le contexte {0}\u00A0?
Processor.perlModuleNotFound=Impossible de trouver le plug-in du module Perl.
PromptDialog.title=Ex\u00E9cuter le contexte {0} avec les param\u00E8tres \:
ProcessComposite.execTimeHint=Afficher le temps d'ex\u00E9cution du job
@@ -96,7 +96,7 @@ CamelJobErrorsChecker_compile_errors=Erreurs de compilation de la route
CamelJobErrorsChecker_compile_error_content=Au moins la route "{0}" a des erreurs de compilation, fixez-les et exportez \u00E0 nouveau.
RunProcessPreferencePage.RouteVmArgument=Arguments VM d\'ex\u00E9cution des jobs
ProcessComposite.wrapbutton=Retour automatique \u00E0 la ligne
JavaProcessorUtilities.msg.missingjar.forProcess=Jars manquants :
JavaProcessorUtilities.msg.missingjar.forProcess=Jars manquants\u00A0:
JavaProcessorUtilities.msg.missingjar.note=Remarque :
JavaProcessorUtilities.msg.missingjar.onlyforroutine=Les Jar suivants sont aussi requis par le compilateur :
JavaProcessorUtilities.msg.missingjar.warningtitle=Attention !
@@ -134,3 +134,6 @@ Processor.memoryRun.searchJvmInfo=Recherche de la JVM active du Job actuel.
Processor.memoryRun.jvmInfo=Le JVM est d\u00E9connect\u00E9e.
ShellPs1SettingPreferencePage_Title=Scripts ps1
JobErrorsChecker_compile_error_errormessage=Message d\'erreur
ProcessComposite.endJobPattern=Job {0} termin\u00E9 \u00E0 {1}.
ProcessComposite.endExitCode=Code de sortie {0}
ProcessComposite.startJobPattern=D\u00E9marrage du Job {0} \u00E0 {1}.

View File

@@ -26,3 +26,6 @@ FTPForm_proxyPortText=Port du proxy
FTPForm_proxyUsernameText=Utilisateur du proxy
FTPForm_proxyPasswordText=Mot de passe du proxy
FTPForm_filepathAlert=Le chemin du fichier doit \u00EAtre sp\u00E9cifi\u00E9
FTPForm_conn_timeout=Expiration de la connexion
FTPForm_conn_timeunit=Unit\u00E9\u00A0: millisecondes
FTPForm_ftpTimeoutText_check=Le d\u00E9lai avant expiration doit \u00EAtre un nombre.

View File

@@ -8,7 +8,7 @@ migrationtask.upgradetWarntDiePriority.title=Upgrade tWarn and tDie priority
migrationtask.renametDbInputToPostgresql.title=Rename tDBxxTotPostgresqlxx
migrationtask.renametFTPtoFTP.title=Rename tFTP to specialized tFTP
prefsStatusName=Status
migrationtask.renametFileZipUnzip.description=Rename tFileZip and tFileUnzip components to tFileArchive and tFileUnarchive
migrationtask.renametFileZipUnzip.description=Rename tFileZip and tFileUnzip components to tFileArchive and tFileUnarchive
migrationtask.renametDbInputToMySQL.description=Migrate database generic components connected to a MySQL database to the corresponding specific MySQL components.
migrationtask.renameNormalize.description=Rename all components tNormalizer to tNormalize
migrationtask.updatetRowGenerator.description=Migrate simple interface tRowGenerator components to advanced interface.
@@ -21,7 +21,7 @@ migrationtask.RenametMapPersistentMigrationTask.title=Rename tMapPersistent to t
migrationtask.renametDbInputToOracle.title=Rename tDBxxTotOraclexx
migrationtask.UpgradetAdvancedFileOutputXMLMigrationTask.title=Upgrade mapping tAdvancedFileOutputXML
migrationtask.changetUniqRowLinks.description=Change the link type of all tUniqRow components from "Main" to "Unique".
migrationtask.AddPerlRefArrayPointer2.desc=Replace this syntax "$xxx[" by "$xxx->[" and "@xxx" by "@$xxx" only for known existing Talend connections and components
migrationtask.AddPerlRefArrayPointer2.desc=Replace this syntax "$xxx[" by "$xxx->[" and "@xxx" by "@$xxx" only for known existing Talend connections and components
migrationtask.renametDbInputToPostgresql.description=Migrate database generic components connected to a PostgreSQL database to the corresponding specific PostgreSQL components.
migrationtask.AddPerlRefArrayPointer2.title=Add ref array pointers and unreference arrays contained in Table fields
migrationtask.AddQuotesToModuleList.desc=Add quotes to module list if needed.
@@ -39,12 +39,12 @@ migrationtask.renametDbInputToMssql.title=Rename tDBxxTotMssqlxx
migrationtask.RenameTheClassnameofTheRoutinesFileMigrationTask.title=Rename the classes named __CLASS_NAME__
migrationtask.AddPerlRefArrayPointer.title=Add ref array pointers and unreference arrays contained in Text fields
migrationtask.renametFileZipUnzip.title=Rename tFileZip and tFileUnzip components
migrationtask.renametDbInputToMySQL.title=Rename tDBxxTotMySQLxx
migrationtask.renametDbInputToMySQL.title=Rename tDBxxTotMySQLxx
deleteProjectsAction.title=Delete projects
repository.prop.version=Version
prefsRepositoryName=Repository
migrationtask.renametDbInputToMssql.description=Migrate database generic components connected to a Microsoft SQL Server database to the corresponding specific Microsoft SQL Server components.
migrationtask.convertOldPerlTypes.title=Convert the old Perl types to new types.
migrationtask.convertOldPerlTypes.title=Convert the old Perl types to new types.
migrationtask.renameFlowMeter.description=Rename all components tMetter to tFlowMeter
migrationtask.UpgradetAdvancedFileOutputXMLMigrationTask.description=Upgrade mapping tAdvancedFileOutputXML, change the level architecture to path.
migrationtask.RenametXMLRPCMigrationTask.description=Rename all components tXMLRPC to tXMLRPCInput in all jobs in repository
@@ -54,7 +54,7 @@ migrationtask.ReplaceMultiFlowBytReplicate.desc=Replace Multi-flow by tReplicate
migrationtask.upgradetWarntDiePriority.description=Upgrade priority to switch from text field to dialog field.
migrationtask.renameFlowMeterCatcher.description=Rename all components tMetterCatcher to tFlowMeterCatcher
providerName=www.example.org
migrationtask.AddPerlRefArrayPointer.desc=Replace this syntax "$xxx[" by "$xxx->[" and "@xxx" by "@$xxx" only for known existing Talend connections and components
migrationtask.AddPerlRefArrayPointer.desc=Replace this syntax "$xxx[" by "$xxx->[" and "@xxx" by "@$xxx" only for known existing Talend connections and components
projectsetting.General=General
projectsetting.Designer=Designer
projectsetting.VersionManagement=Version Management

View File

@@ -85,3 +85,4 @@ projectSetting.projectRefSettingPage=Projets de r\u00E9f\u00E9rence
ProjectSetting.groupId=GroupId du d\u00E9ploiement
projectSetting.deploymentConfiguration=Configuration du d\u00E9ploiement
projectsetting.Audit=Audit
projectSetting.ArtifactProxy=Configuration du proxy d\'artefacts

View File

@@ -85,7 +85,7 @@ SelectorTableForm.ColumnNumber=Column number
CommonWizard.persistenceException=Access to the data failure
JavaJobScriptsExportWSWizardPage.AxisLib=Axis 1.4 Lib
FileStep2.escapeCharAlert=Escape Char must be specified
CreateFileXmlAction.action.createTitle=Create file XML
CreateFileXmlAction.action.createTitle=Create XML file
FileStep2.fieldPosition=Marker position
FileStep3.guessIsDone=Guess successful
FileStep2.fieldSeparatorAlert=The field separator must be specified. To be valid, it must be surrounded by quotation marks.
@@ -153,7 +153,7 @@ LoginComposite.manageProjectPre=Or
ConfigExternalPerlModulePage.moduleFieldLabel=Module
ImportDemoProjectAction.actionTooltip=Import demo project
CreateConnectionAction.action.openTitle=Open connection
FileStep2.previewIsDone=Preview successful...
FileStep2.previewIsDone=Preview successful...
FileStep3.guessConfirmation=Confirm changes ?
VersionManagementDialog.Version=Version
CreateDocumentationAction.createDocActionTipText.addDocItem=Add a new documentation item
@@ -193,7 +193,7 @@ ConfigExternalJarPage.inputJARName=Input a library's name
FileStep1.serverAlert=Server must be specified
RefreshAction.toolTipText=Refresh
ProjectSettingsWizardPage.PaletteSettings=Palette Settings
PositionalTextTest.println.fieldValue=Field Value
PositionalTextTest.println.fieldValue=Field Value
VersionManagementDialog.EachVersion=Update the version of each item.
RepositoryPreferencePage.RefreshTitle=Repository Refresh
DocumentationPage.option=Option
@@ -241,7 +241,7 @@ ImportProjectAsWizardPage.form.browse=Browse
ImportProjectAsWizardPage.form.selectDirectory=Select root directory
CreateFileRegexpAction.action.createTitle=Create file regex
EditPropertiesAction.action.title=Edit properties
ImportDemoProjectAction.actionTitle=Demos
ImportDemoProjectAction.actionTitle=Demos
FileStep1.formatAlert=Format must be specified
JobScriptsExportWizardPage.jobPerlScripts=Perl scripts
DetecteViewImpactAction.Label=Detect dependencies
@@ -279,7 +279,7 @@ ImportExternalJarPage.pageMessage=Configuration of external libraries for routin
CommonWizard.next=Next
FileStep2.empty=Empty
DocumentationPage.LinkLabel= Copy documentation to repository.
LoginComposite.buttons.importProject=Import
LoginComposite.buttons.importProject=Import
EditContextAction.readContext=Read context group
NewProjectWizard.failureTitle=Error
XmlToXPathLinker.exceptionReturn.xPathInvalid=The current XPath expression is invalid
@@ -297,7 +297,7 @@ ConfigExternalJarPage.jarFile.label=Library File:
DatabaseTableForm.name=Name
EditContextAction.editContext=Edit context group
FileStep1.noExist=doesn't exist
DatabaseTableForm.connectionIsDone=Connection successful.
DatabaseTableForm.connectionIsDone=Connection successful.
ImportProjectsUtilities.task.importingProject=Importing project...
FileStep2.fieldPositionTip=You must define here the position of each column. The positions must be presented in ascending order.
FileStep2.headerTip=Header
@@ -308,7 +308,7 @@ connections.form.emptyField.repository=Repository must be selected
LibraryField.requiredColumn=Required
SelectDeleteProjectDialog.SelectAll=Select All
SelectorTableForm.selectAllTables=Select All
LoginComposite.buttons.deleteProject=Delete
LoginComposite.buttons.deleteProject=Delete
ImportDemoProjectAction.alertDialog.messageTitle=Message
ConfigExternalJarPage.title=New Module
FileStep2.rowSeparator=Row Separator
@@ -351,7 +351,7 @@ SelectDeleteProjectDialog.DeselectAll=Deselect All
LoginComposite.buttons.newProject.desc=Create a new local project
FileStep1.server=Server
JavaJobScriptsExportWSWizardPage.WSDLFile=Web Service files
FileStep2.quoteDelimitedTip=The character " is unusable without escape character. Use: \"
FileStep2.quoteDelimitedTip=The character " is unusable without escape character. Use: "
FileStep3.metadataComment=Comment
FileStep2.settingsIncomplete=The settings must be completed to show the preview
CreateTableAction.action.editTitle=Edit Schema
@@ -393,8 +393,8 @@ connections.form.emptyField.username=A username is needed.
FileStep2.escapeCharTip=Escape Char
ItemsVersionChangedDialog.Title=Confirm the new version of items
LicenseWizard.windowTitle=License
FileStep2.fieldPositionNotValidate=Field Position must contain only numbers and comma. The positions must be presented in the ascending order
LoginComposite.buttons.newProject=Create
FileStep2.fieldPositionNotValidate=Field Position must contain only numbers and comma. The positions must be presented in the ascending order
LoginComposite.buttons.newProject=Create
ConfigExternalPerlModulePage.required.label=If the module is required
CommonWizard.cancel=Cancel
NewProjectWizardPage.comment=Project description
@@ -404,7 +404,7 @@ connections.form.emptyField.connname=A connection name is needed.
VersionManagementDialog.Revert=Revert
VersionManagementDialog.ConfirmTitle=Confirm
LoginComposite.existing=Select
CommonWizard.nameAlreadyExist=This name already exists
CommonWizard.nameAlreadyExist=This name already exists
FileStep1.groupFileViewer=File Viewer
GenerateDocAsHTMLWizardPage.generateDocAsHTML=Generate job information to an archive file on the local file system.
JobPerlScriptsManager.allInterpreter=All
@@ -412,7 +412,7 @@ CreateFilePositionalAction.action.openTitle=Open file positional
ReplaceRunBeforeAfterWithThenRunMigrationTask.ThenRun=ThenRun
NewProjectWizardPage.technicalName=Technical Name
RepositoryPreferencePage.RefreshCreated=Refresh when creating an item
ConnectionsListButtonsToolBar.copyLabelPrefix=Copy of
ConnectionsListButtonsToolBar.copyLabelPrefix=Copy of
FileStep3.guessProgress=Guess in progress...
ExtractionFieldsWithXPathEditorView.columnTitle.columnName=Column Name
NewFolderWizard.label=Label
@@ -596,7 +596,7 @@ CreateSandboxProjectDialog.Settings=Settings
LoginComposite.DIFFERENT_WORKSPACES=Workspace has been changed. Please restart.
LoginComposite.PROJECT_NEED=A project is needed...
LoginComposite.TisWorkspace_welcome=Welcome to {0}!
VersionManagementDialog.AllDependencies=select all dependencies
VersionManagementDialog.AllDependencies=Select all dependencies
VersionManagementDialog.FixVersion=Fix tRunJob versions if Latest
VersionManagementDialog.FixLastVersion=When update the version, if all tRunJob are setup by default with Latest version, this will fix the version to the previous version.\nFor example : father 1.0 (tRunJob<child, Latest>).\nIf upgrade to version 1.1: \n - the father version 1.0 will contain : (tRunJob<child, 1.0>). To run the child with version 1.0 also.\n - the father version 1.1 will contain : (tRunJob<child, Latest>). To keep using the latest version.\n\nNote: this won't do anything if the versions are already fixed, and if doesn't use Latest.
ImportItemAction.Label=Import items
@@ -704,7 +704,6 @@ GenerateDocAsHTMLWizardPage.OverWrite=Warning:this file already exist,do you wan
GenerateDocAsHTMLWizardPage.Warning=Warning
ImportItemUtil.cannotImportMessage=from the project {0} use a more recent version of studio so cannot import it.
ImportProjectAction.messageDialogContent.projectImportedSuccessfully=Project has been successfully imported in your workspace
ImportProjectAction.messageDialogTitle.project=Project imported
StatusDialog.errorMessage.codeLetters1=Code must have 1 to 5 letters.
JobScriptsExportWizardPage.ApplyContextToChildren=Apply Context to children Jobs
JobScriptsExportWizardPage.addBuildScripts=Add build script
@@ -883,7 +882,7 @@ VersionManagementDialog.applyVersion=Apply version
VersionManagementDialog.useJobVersion=Use job versions.
JavaVersionProjectSettingPage.versionLabel=JDK Compiler compliance level:
BuildJobManager.mavenErrorMessage=Job was not built successfully, please check the logs for more details available on {0}
VersionManagementDialog.projectVersion=Project Version
VersionManagementDialog.projectVersion=Project version
VersionManagementDialog.useSnapshot=Use snapshot
VersionManagementDialog.applyDetail=Apply
VersionManagementDialog.eachMavenVersion=Change the version of each item individually.
@@ -893,7 +892,7 @@ VersionManagementDialog.remove=Remove
JavaJobScriptsExportWSWizardPage.MSESB=Microservice (Spring Boot) For ESB
LimitRESTRequestJobChecker.limit_ESBJobForMS=Only ESB Job with "{0}" could build using [Microservice (Spring Boot) For ESB] type.
LoginProjectPage.project_need.remote.cloud=Can't retrieve any project from Cloud, please ask for help from the administrator.
NetworkErrorRetryForm.connectTimeout.label=Connection Timeout (seconds)
NetworkErrorRetryForm.connectTimeout.label=Connection timeout (seconds)
NetworkErrorRetryForm.connectTimeout.error.bound=Please input an integer between {0} and {1}
NetworkErrorRetryForm.details=Details
NetworkErrorRetryForm.toggle.message=Always don't retry before restart
@@ -939,12 +938,12 @@ MavenDeploymentConfigurationProjectSettingPage.removeWarning=Do you want to dele
MavenDeploymentConfigurationProjectSettingPage.nameExistedWarning={0} is existed!
FileStep2.fieldSeparatorPositionalTip=You must defined here the position of each column. The positions must be presented in the ascending order
FileStep2.stop=Stop
JobScriptsExportWizardPage.requiredTalendPerlModules=Required talend modules
JobScriptsExportWizardPage.requiredTalendPerlModules=Required Talend modules
PropertiesWizardPage.Description=Description
PropertiesWizardPage.Name=Name
ReferenceProjectSetupPage.ErrorMissingReferencedProject=Missing referenced project [{0}].
MavenGroupIdProjectSettingPage.skipGroupIdLabel=Skip base groupID if the item has folder
AuditProjectSettingPage.selectAuditReportFolder=Please select a generate audit report folder\!
AuditProjectSettingPage.selectAuditReportFolder=Please select a generate audit report folder!
AuditProjectSettingPage.generateAuditReportProgressBar=Generating Audit Report!
LimitRESTRequestJobChecker.limit_ESBJobForOSGI=Job without ESB components could not build using [OSGI Bundle For ESB] type.
AuditProjectSettingPage.generateButtonText=Generate Audit Report
@@ -1008,3 +1007,10 @@ ProjectSettingPage.ArtifactProxySetting.checkConnection=Check Connection
ProjectSettingPage.ArtifactProxySetting.connectionFailureMsg=Connection failure,please check the proxy configuration
LoginHelper.connectUserLibraryTitle=Check user libraries connection.
LoginHelper.connectUserLibraryFailureWarning=Cannot connect to the user libraries artifact repository set in administrator. Do you want to open the project anyway?
ReferenceProjectSetupPage.ButtonTooltipStrict=Use strict references to find joblets in target project.
ConnectionsDialog.usernameOrPasswordInvalid=Check your username or password or contact your administrator.
LoginProjectPage.authorizationErrorMessage=Invalid username or password for the remote connection. Do you want to fix it now?
LoginProjectPage.errorMessageTitle=Error
ImportProjectAction.messageDialogTitle.projectFailed=Import failed
ImportProjectAction.messageDialogContent.projectImportedFailed=Your project cannot be imported because of invalid items.
ImportProjectAction.messageDialogContent.projectsImportedFailed=Your project(s) <{0}> cannot be imported because of invalid items.

View File

@@ -193,7 +193,7 @@ ConfigExternalJarPage.inputJARName=Saisissez un nom de biblioth\u00E8que
FileStep1.serverAlert=Le serveur doit \u00EAtre sp\u00E9cifi\u00E9
RefreshAction.toolTipText=Rafra\u00EEchir
ProjectSettingsWizardPage.PaletteSettings=Param\u00E8tres de la Palette
PositionalTextTest.println.fieldValue=Valeur du champs
PositionalTextTest.println.fieldValue=Valeur du champ
VersionManagementDialog.EachVersion=Mettre \u00E0 jour la version de chaque \u00E9l\u00E9ment.
RepositoryPreferencePage.RefreshTitle=Rafra\u00EEchir le r\u00E9f\u00E9rentiel
DocumentationPage.option=Option
@@ -704,7 +704,6 @@ GenerateDocAsHTMLWizardPage.OverWrite=Attention : ce fichier existe d\u00E9j\u00
GenerateDocAsHTMLWizardPage.Warning=Avertissement
ImportItemUtil.cannotImportMessage=Impossible d'importer le projet {0} car il utilise une version plus r\u00E9cente du studio.
ImportProjectAction.messageDialogContent.projectImportedSuccessfully=Le projet a bien \u00E9t\u00E9 import\u00E9 dans votre workspace
ImportProjectAction.messageDialogTitle.project=Projet import\u00E9
StatusDialog.errorMessage.codeLetters1=Le code doit contenir entre 1 et 5 lettres.
JobScriptsExportWizardPage.ApplyContextToChildren=Appliquer le contexte aux Jobs fils
JobScriptsExportWizardPage.addBuildScripts.ant=Ant
@@ -985,3 +984,25 @@ connections.form.field.token=Jeton
connections.form.field.token.browse=Ouvrir la page de g\u00E9n\u00E9ration de jetons dans le navigateur
connections.form.getTokenUrl.failed=V\u00E9rifiez l'URL du serveur.
ImportProjectAsWizardPage.importDescription=Saisir un nom de projet et sp\u00E9cifer le projet {0} \u00E0 importer.
LoginProjectPage.cloud.aws_us=AWS - Est des \u00C9tats-Unis
LoginProjectPage.cloud.aws_eu=AWS - Europe
LoginProjectPage.cloud.aws_apac=AWS - Asie-Pacifique
LoginProjectPage.cloud.usa_west=Azure - Ouest des \u00C9tats-Unis
LoginProjectPage.cloud.cloud_custom=Cloud personnalis\u00E9
LoginDialog.logonDenyTitle=Informations
LoginDialog.logonDenyMsg=La version du produit est expir\u00E9e.\\nInstallez d\'abord [{0}].
VersionManagementDialog.subjob2=S\u00E9lectionner tous les sous-Jobs
Log4jSettingPage.Log4jVersionChangedWarn=La synchronisation des POM est requise apr\u00E8s modification de la version log4j. Changer maintenant\u00A0?
Log4jSettingPage.ActivateLog4j2=Activer Log4j2 dans les composants
Log4jSettingPage.Log4jVersion=Version de Log4j
ProjectSettingPage.ArtifactProxySetting.groupNameTalendLib=Configuration du proxy des biblioth\u00E8ques Talend
ProjectSettingPage.ArtifactProxySetting.artifactType=Type\u00A0:
ProjectSettingPage.ArtifactProxySetting.url=URL\u00A0:
ProjectSettingPage.ArtifactProxySetting.username=Utilisateur\u00A0:
ProjectSettingPage.ArtifactProxySetting.password=Mot de passe\u00A0:
ProjectSettingPage.ArtifactProxySetting.repositoryId=ID du r\u00E9f\u00E9rentiel\u00A0:
ProjectSettingPage.ArtifactProxySetting.enableProxySetting=Activer les param\u00E8tres de proxy
ProjectSettingPage.ArtifactProxySetting.checkConnection=V\u00E9rifier la connexion
ProjectSettingPage.ArtifactProxySetting.connectionFailureMsg=\u00C9chec de la connexion, v\u00E9rifiez la configuration du proxy.
LoginHelper.connectUserLibraryTitle=V\u00E9rifier la connexion aux biblioth\u00E8ques utilisateurs.
LoginHelper.connectUserLibraryFailureWarning=Impossible de se connecter au r\u00E9f\u00E9rentiel d\'artefacts contenant les biblioth\u00E8ques utilisateur en mode administrateur. Ouvrir le projet malgr\u00E9 tout\u00A0?

View File

@@ -688,7 +688,7 @@ JobScriptsExportWSWizardPage.newJobVersion.Label=\u30B8\u30E7\u30D6\u30D0\u30FC\
JobScriptsExportWizardPage.newExportJob0=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8 {0}: {1}_{2}
JobScriptsExportWizardPage.newExportJob1=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8 {0}: {1}_{2}
JobScriptsExportWizardPage.newExportJobScript={0}\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D
JobScriptsExportWizardPage.newExportJobSucessful=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8{0}: {1}_{2}\u304C\u6210\u529F\u3057\u307E\u3057\u305F!
JobScriptsExportWizardPage.newExportJobSucessful=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8 {0}: {1}_{2}\u304C\u6210\u529F\u3057\u307E\u3057\u305F!
JobScriptsExportWizardPage.newExportSuccess={0} \u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u6210\u529F\u3057\u307E\u3057\u305F\uFF01
LoginComposite.NewCreate=\u4F5C\u6210...
LoginComposite.NewImport=\u30A4\u30F3\u30DD\u30FC\u30C8...
@@ -704,7 +704,6 @@ GenerateDocAsHTMLWizardPage.OverWrite=\u8B66\u544A\uFF1A\u30D5\u30A1\u30A4\u30EB
GenerateDocAsHTMLWizardPage.Warning=\u8B66\u544A
ImportItemUtil.cannotImportMessage={0} \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3002\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u306B\u306F\u3001\u3088\u308A\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u306E Studio \u304C\u5FC5\u8981\u3067\u3059\u3002
ImportProjectAction.messageDialogContent.projectImportedSuccessfully=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u304B\u3089\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u6210\u529F\u3057\u307E\u3057\u305F
ImportProjectAction.messageDialogTitle.project=\u30A4\u30F3\u30DD\u30FC\u30C8\u6E08\u307F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8
StatusDialog.errorMessage.codeLetters1=\u30B3\u30FC\u30C9\u306F1\uFF5E5\u6587\u5B57\u3067\u3059\u3002
JobScriptsExportWizardPage.ApplyContextToChildren=\u5B50\u30B8\u30E7\u30D6\u306B\u5909\u6570\u3092\u9069\u7528
JobScriptsExportWizardPage.addBuildScripts=\u30B9\u30AF\u30EA\u30D7\u30C8\u3092\u8FFD\u52A0
@@ -1007,4 +1006,4 @@ ProjectSettingPage.ArtifactProxySetting.enableProxySetting=\u30D7\u30ED\u30AD\u3
ProjectSettingPage.ArtifactProxySetting.checkConnection=\u63A5\u7D9A\u3092\u30C1\u30A7\u30C3\u30AF
ProjectSettingPage.ArtifactProxySetting.connectionFailureMsg=\u63A5\u7D9A\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30D7\u30ED\u30AD\u30B7\u8A2D\u5B9A\u3092\u30C1\u30A7\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
LoginHelper.connectUserLibraryTitle=\u30E6\u30FC\u30B6\u30FC\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u63A5\u7D9A\u3092\u30C1\u30A7\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002
LoginHelper.connectUserLibraryFailureWarning=\u7BA1\u7406\u8005\u306E\u30E6\u30FC\u30B6\u30FC\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u306E\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u30BB\u30C3\u30C8\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002\u7D9A\u884C\u3057\u3066\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u958B\u304D\u307E\u3059\u304B?
LoginHelper.connectUserLibraryFailureWarning=\u7BA1\u7406\u8005\u306E\u30E6\u30FC\u30B6\u30FC\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u306E\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u30BB\u30C3\u30C8\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u306E\u307E\u307E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u958B\u304D\u307E\u3059\u304B?

View File

@@ -704,7 +704,6 @@ GenerateDocAsHTMLWizardPage.OverWrite=\u8B66\u544A\uFF1A\u6B64\u6587\u4EF6\u5DF2
GenerateDocAsHTMLWizardPage.Warning=\u8B66\u544A
ImportItemUtil.cannotImportMessage=\u4ECE\u5DE5\u7A0B {0} \u4F7F\u7528\u4E86\u66F4\u65B0\u7248\u672C\u7684 Studio\uFF0C\u56E0\u6B64\u65E0\u6CD5\u5BFC\u5165\u5B83\u3002
ImportProjectAction.messageDialogContent.projectImportedSuccessfully=\u5DE5\u7A0B\u5DF2\u7ECF\u88AB\u6210\u529F\u5BFC\u5165\u5230\u60A8\u7684\u5DE5\u4F5C\u533A\u3002
ImportProjectAction.messageDialogTitle.project=\u5DE5\u7A0B\u5DF2\u5BFC\u5165
StatusDialog.errorMessage.codeLetters1=\u4EE3\u7801\u5FC5\u987B\u6709 1 \u5230 5 \u4E2A\u5B57\u6BCD\u3002
JobScriptsExportWizardPage.ApplyContextToChildren=\u5C06\u4E0A\u4E0B\u6587\u5E94\u7528\u4E8E\u5B50\u4F5C\u4E1A
JobScriptsExportWizardPage.addBuildScripts=\u6DFB\u52A0\u6784\u5EFA\u811A\u672C
@@ -1007,4 +1006,4 @@ ProjectSettingPage.ArtifactProxySetting.enableProxySetting=\u542F\u7528\u4EE3\u7
ProjectSettingPage.ArtifactProxySetting.checkConnection=\u68C0\u67E5\u8FDE\u63A5
ProjectSettingPage.ArtifactProxySetting.connectionFailureMsg=\u8FDE\u63A5\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u4EE3\u7406\u914D\u7F6E
LoginHelper.connectUserLibraryTitle=\u68C0\u67E5\u7528\u6237\u5E93\u8FDE\u63A5\u3002
LoginHelper.connectUserLibraryFailureWarning=\u65E0\u6CD5\u8FDE\u63A5 Administrator \u4E2D\u7684\u7528\u6237\u5E93\u6784\u4EF6\u5E93\u96C6\uFF0C\u60F3\u8981\u7EE7\u7EED\u6253\u5F00\u5DE5\u7A0B\u5417\uFF1F
LoginHelper.connectUserLibraryFailureWarning=\u65E0\u6CD5\u8FDE\u63A5\u81F3 Administrator \u4E2D\u7684\u7528\u6237\u5E93\u6784\u4EF6\u5E93\u96C6\u3002\u662F\u5426\u4ECD\u8981\u7EE7\u7EED\u6253\u5F00\u5DE5\u7A0B\uFF1F

View File

@@ -3,14 +3,14 @@ JobScriptsExportWizardPage.contextPerlScripts=Context scripts
SpagoBiServerEditor.descriptionColumnTitle=Short description
SpagoBiServerEditor.hostColumnTitle=Host
SpagoBiServerDialog.host=Host
SpagoBiServerDialog.shellText.editServer=Edit SpagoBi server
SpagoBiServerDialog.shellText.editServer=Edit SpagoBI server
PublishOnSpagoExportWizardPage.publishResourceError=Deploy Resource Error
PublishOnSpagoExportWizardPage.Settings=Settings
SpagoBiServerDialog.engineNameText=Engine name
PublishOnSpagoExportWizardPage.publishJob=Deploy job scripts to SpagoBI.
PublishOnSpagoExportWizardPage.jobLabel=Label
SpagoBiServerEditor.engineColumnTitle=Engine name
SpagoBiServerDialog.shellText.createNewServer=Create new SpagoBi server
SpagoBiServerDialog.shellText.createNewServer=Create new SpagoBI server
PublishOnSpagoExportWizardPage.chooseResource=Choose at least one resource to export
PublishOnSpagoExportWizardPage.jobDescription=Description
PublishOnSpagoExportWizard.publishJob=Deploy on SpagoBI

View File

@@ -26,4 +26,4 @@ SpagicServerDialog.shortDescription=Short description
DataTransferMessages.ZipExport_mustBeFile=Export destination must be a file, not a directory.
DataTransferMessages.ZipExport_alreadyExists=Target file already exists. Would you like to overwrite it?
DataTransferMessages.ZipExport_alreadyExistsError=Export destination already exists and cannot be overwritten.
SpagicDeployWizardPage.requiredTalendPerlModules=Required talend modules
SpagicDeployWizardPage.requiredTalendPerlModules=Required Talend modules

View File

@@ -5,7 +5,6 @@ AbstractDataSetTab.logMessage1=DataSetTab Exception
MultiPageSqlBuilderEditor.DesignerTab.Text=Designer
SQLResultsView.Count.Prefix=Anzahl zur\u00FCckgelieferter Zeilen:
SQLResultsView.NoResults=F\u00FChren Sie eine Query aus, um deren Ergebnis hier zu sehen...
GUIModificationQueryAction.ButtonText=\u00C4ndern der Abfrage mit Hilfe des graphischen Editors
TableNode.logMessage1=Konnte Spaltennamen nicht laden
EditQueriesAction.textEditQueries=Queries bearbeiten
BuildInDBStructure.CurrentSchema=Aktuelles Schema
@@ -251,7 +250,6 @@ ConnectionInfoTab.property76=Unterst\u00FCtzt Full Outer Joins
ConnectionInfoTab.property75=Unterst\u00FCtzt Outer Joins
ConnectionInfoTab.property73=Unterst\u00FCtzt ANSI92 Full SQL
ConnectionInfoTab.property72=Unterst\u00FCtzt ANSI92 Intermediate SQL
GUIModificationQueryAction.Dialog.TitleText=\u00C4ndern der Abfrage mit Hilfe des graphischen Editors
ConnectionInfoTab.property70=Unterst\u00FCtzt erweiterte SQL Grammatik
DatabaseDetailView.Tab.Preview.status=Inhaltsvorschau f\u00FCr {0}.
DatabaseDetailView.Tab.ConnectionInfo.CommitOnClose=Commit beim Schlie\u00DFen
@@ -314,7 +312,6 @@ ConnectionInfoTab.logMessage1=Fehler bei getMaxStatementLength
ConnectionInfoTab.property29=Max. L\u00E4nge Spaltenname
ConnectionInfoTab.property28=Max. L\u00E4nge Literale
ConnectionInfoTab.property27=Max. L\u00E4nge Binary-Literale
GUIModificationQueryAction.TextDialog.TitleText=Abfrage bearbeiten
DBStructureComposite.NewEditor=Neuer Ausdruckseditor
SQLBuilderEditorComposite.titleQuery=Abfrage:
ConnectionInfoTab.property22=Unterst\u00FCtzt Statement-Pooling

View File

@@ -7,7 +7,6 @@ SQLResultsView.Count.Prefix=\u0391\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 \u03B3\u0
SQLResultsView.NoResults=\u0395\u03BA\u03C4\u03B5\u03BB\u03AD\u03C3\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03B5\u03C1\u03CE\u03C4\u03B7\u03BC\u03B1 \u03B3\u03B9\u03B1 \u03BD\u03B1 \u03B4\u03B5\u03AF\u03C4\u03B5 \u03C4\u03B1 \u03B1\u03C0\u03BF\u03C4\u03B5\u03BB\u03AD\u03C3\u03BC\u03B1\u03C4\u03B1 \u03B5\u03B4\u03CE...
TableNode.logMessage4=\u0394\u03B5 \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B1\u03BD \u03BD\u03B1 \u03B4\u03B7\u03BC\u03B9\u03BF\u03C5\u03C1\u03B3\u03B7\u03B8\u03BF\u03CD\u03BD \u03BA\u03CC\u03BC\u03B2\u03BF\u03B9 \u03C0\u03B1\u03B9\u03B4\u03B9\u03CE\u03BD \u03B3\u03B9\u03B1
TableNode.logMessage3=\u0394\u03B5 \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B1\u03BD \u03BD\u03B1 \u03C6\u03BF\u03C1\u03C4\u03C9\u03B8\u03BF\u03CD\u03BD \u03BF\u03BD\u03CC\u03BC\u03B1\u03C4\u03B1 \u03C0\u03C1\u03C9\u03C4\u03B5\u03CD\u03BF\u03BD\u03C4\u03C9\u03BD \u03BA\u03BB\u03B5\u03B9\u03B4\u03B9\u03CE\u03BD
GUIModificationQueryAction.ButtonText=\u03A4\u03C1\u03BF\u03C0\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03C4\u03BF\u03C5 \u03B5\u03C1\u03C9\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03CE\u03BD\u03C4\u03B1\u03C2 \u03C4\u03BF \u03B3\u03C1\u03B1\u03C6\u03B9\u03BA\u03CC \u03BB\u03BF\u03B3\u03B9\u03C3\u03BC\u03B9\u03BA\u03CC \u03B5\u03C0\u03B9\u03BC\u03AD\u03BB\u03B5\u03B9\u03B1\u03C2 \u03AD\u03BA\u03B4\u03BF\u03C3\u03B7\u03C2
TableNode.logMessage2=\u0394\u03B5 \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B1\u03BD \u03BD\u03B1 \u03C6\u03BF\u03C1\u03C4\u03C9\u03B8\u03BF\u03CD\u03BD \u03BF\u03BD\u03CC\u03BC\u03B1\u03C4\u03B1 \u03BE\u03AD\u03BD\u03C9\u03BD \u03BA\u03BB\u03B5\u03B9\u03B4\u03B9\u03CE\u03BD
TableNode.logMessage1=\u0394\u03B5 \u03BC\u03C0\u03CC\u03C1\u03B5\u03C3\u03B1\u03BD \u03BD\u03B1 \u03C6\u03BF\u03C1\u03C4\u03C9\u03B8\u03BF\u03CD\u03BD \u03BF\u03BD\u03CC\u03BC\u03B1\u03C4\u03B1 \u03C3\u03C4\u03B7\u03BB\u03CE\u03BD
EditQueriesAction.textEditQueries=\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03B5\u03C1\u03C9\u03C4\u03B7\u03BC\u03AC\u03C4\u03C9\u03BD
@@ -314,7 +313,6 @@ ConnectionInfoTab.property75=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u0
ConnectionInfoTab.property73=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03B9 ANSI92 Full SQL
ConnectionInfoTab.property72=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03B9 ANSI92 Intermediate SQL
ConnectionInfoTab.property71=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03B9 ANSI92 Entry Level SQL
GUIModificationQueryAction.Dialog.TitleText=\u03A4\u03C1\u03BF\u03C0\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03C4\u03BF\u03C5 \u03B5\u03C1\u03C9\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03C7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03CE\u03BD\u03C4\u03B1\u03C2 \u03C4\u03BF \u03B3\u03C1\u03B1\u03C6\u03B9\u03BA\u03CC \u03BB\u03BF\u03B3\u03B9\u03C3\u03BC\u03B9\u03BA\u03CC \u03B5\u03C0\u03B9\u03BC\u03AD\u03BB\u03B5\u03B9\u03B1\u03C2 \u03AD\u03BA\u03B4\u03BF\u03C3\u03B7\u03C2
ConnectionInfoTab.property70=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03B9 Extended SQL \u0393\u03C1\u03B1\u03BC\u03BC\u03B1\u03C4\u03B9\u03BA\u03AE
DatabaseDetailView.Tab.Preview.status=\u03A0\u03C1\u03BF\u03B5\u03C0\u03B9\u03C3\u03BA\u03CC\u03C0\u03B7\u03C3\u03B7 \u03C0\u03B5\u03C1\u03B9\u03B5\u03C7\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5 \u03B3\u03B9\u03B1 {0}.
DatabaseDetailView.Tab.ConnectionInfo.CommitOnClose=\u039F\u03BB\u03BF\u03BA\u03BB\u03AE\u03C1\u03C9\u03C3\u03B7 \u03A3\u03C4\u03BF \u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF
@@ -395,7 +393,6 @@ ConnectionInfoTab.logMessage2=\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03C3\u03C4\
ConnectionInfoTab.logMessage1=\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1 \u03C3\u03C4\u03BF getMaxStatementLength
DictionaryLoader.teseedOk=\u03B5\u03BB\u03AD\u03B3\u03B8\u03B7\u03BA\u03B5 \u03BA\u03B1\u03B9 \u03B5\u03AF\u03BD\u03B1\u03B9 ok
ConnectionInfoTab.property29=\u039C\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF \u039C\u03AE\u03BA\u03BF\u03C2 \u039F\u03BD\u03CC\u03BC\u03B1\u03C4\u03BF\u03C2 \u03A3\u03C4\u03AE\u03BB\u03B7\u03C2
GUIModificationQueryAction.TextDialog.TitleText=\u03A4\u03C1\u03BF\u03C0\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03C4\u03BF\u03C5 \u03B5\u03C1\u03C9\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2
ConnectionInfoTab.property26=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03B9 \u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 \u0394\u03B7\u03BB\u03CE\u03C3\u03B5\u03C9\u03BD \u039A\u03B1\u03C4\u03AC \u03A4\u03B7\u03BD \u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7 \u03A3\u03C5\u03BD\u03B1\u03BB\u03BB\u03B1\u03B3\u03AE\u03C2
ConnectionInfoTab.property25=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03B9 \u0391\u03BD\u03BF\u03B9\u03BA\u03C4\u03AD\u03C2 \u0394\u03B7\u03BB\u03CE\u03C3\u03B5\u03B9\u03C2 \u03A3\u03B5 \u038C\u03BB\u03B7 \u03A4\u03B7\u03BD \u039F\u03BB\u03BF\u03BA\u03BB\u03AE\u03C1\u03C9\u03C3\u03B7
ConnectionInfoTab.property24=\u03A5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03B5\u03B9 \u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 \u0394\u03C1\u03BF\u03BC\u03AD\u03C9\u03BD \u039A\u03B1\u03C4\u03AC \u03A4\u03B7\u03BD \u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7 \u03A3\u03C5\u03BD\u03B1\u03BB\u03BB\u03B1\u03B3\u03AE\u03C2

View File

@@ -4,11 +4,10 @@ AbstractDataSetTab.logMessage2=Error creating ResultSetTab:
AbstractDataSetTab.logMessage1=DataSetTab Exception
MultiPageSqlBuilderEditor.DesignerTab.Text=Designer
SQLResultsView.Count.Prefix=Number of rows returned:
MultiPageSqlBuilderEditor.ErrorInfo=Parse Sql Statement Error:
MultiPageSqlBuilderEditor.ErrorInfo=Parse Sql Statement Error:
SQLResultsView.NoResults=Execute a query to view the results here...
TableNode.logMessage4=Could not create child nodes for
TableNode.logMessage4=Could not create child nodes for
TableNode.logMessage3=Could not load primary key names
GUIModificationQueryAction.ButtonText=Modify the query using graphical editor
TableNode.logMessage2=Could not load foreign key names
TableNode.logMessage1=Could not load column names
EditQueriesAction.textEditQueries=Edit queries
@@ -26,8 +25,8 @@ Images.SqlEditorIcon=icons/edittsk_tsk.gif
Open_2=Open
Open_1=Open
MultiPageSqlBuilderEditor.AddComment.Info=Get the query from the Designer tab?
ImageUtil.logMessage3=Could not create image for
ImageUtil.logMessage2=Missing image path for
ImageUtil.logMessage3=Could not create image for
ImageUtil.logMessage2=Missing image path for
ImageUtil.logMessage1=Error while disposing images
OpenDialogJob.Waitdatabase=Waiting for SqlBuilderDialog to open in built-in mode...
DatabaseDetailView.Tab.ColumnPrefix=, col:
@@ -35,7 +34,7 @@ SessionTreeNodeUtils.logMessage=Database connection closed
SQLEditor.Actions.ChooseSession.ToolTip=Choose Connection
DBTreeProvider.logMessage=PersistenceException:
DBStructureComposite.exceptionMessage=This repository list should not be empty.
IndexFolderNode.logMessage2=Could not create child nodes for
IndexFolderNode.logMessage2=Could not create child nodes for
IndexFolderNode.logMessage1=Could not load index names
Images.PrimaryKeyIcon=icons/pkColumn.gif
Progress.Dictionary.Cancelled=Operation cancelled by User
@@ -45,10 +44,10 @@ DBTreeProvider.sourceName=Stored Queries
DatabaseDetailView.Tab.ExportedKeys=Exported Keys
DatabaseDetailView.Tab.RowCount=Row Count
AddTablesComposite.textTables=Tables
SessionTreeNode.logMessage6=Error while getting the alias name
SessionTreeNode.logMessage5=Error while rollbacking
SessionTreeNode.logMessage6=Error while getting the alias name
SessionTreeNode.logMessage5=Error while rollbacking
SessionTreeNode.logMessage4=Could not perform commit/rollback or catalog change.
SessionTreeNode.logMessage3=Error while committing
SessionTreeNode.logMessage3=Error while committing
SessionTreeNode.logMessage2=Error while closing background database connection
SessionTreeNode.logMessage1=Error while closing interactive database connection
DatabaseDetailView.Tab.ColumnInfo.status=Columns for {0}.
@@ -66,7 +65,7 @@ DB2ExplainPlanAction.logMessage1=Get SessionTreeNode failed
db2.editor.actions.explain=Show DB2 Explain Plan
SQLBuilderRepositoryNodeManager.exceptionMessage=RepositoryNode with folder info should not call this.
DatabaseDetailView.Tab.ConnectionInfo=Connection Info
CopyTableAction.logMessage=Error exporting to clipboard
CopyTableAction.logMessage=Error exporting to clipboard
Images.ForeignKeyIcon=icons/fk_rdbcolumn.gif
Images.title=icons/sqlbuildertitle.png
Images.RefreshIcon=icons/update.gif
@@ -106,37 +105,37 @@ DatabaseDetailView.Tab.Unavailable=No detail information available for
MultiPageSqlBuilderEditor.NoticeTitle.Text=Note
Clear_2=Clear
Clear_1=Clear
TableFolderNode.logMessage=Could not load child nodes for
TableFolderNode.logMessage=Could not load child nodes for
SQLEditor.LimitRows.Error=Invalid row limit, value should be between 0 and 5000.
Images.ExecSQLIcon=icons/run_exc.gif
SQLEditor.Actions.Execute=Execute SQL
SQLBuilderDialog.SaveAllQueries.Title=Save all queries
ConnectionInfoTab.logMessage99=Error on getting supportsOrderByUnrelated
ConnectionInfoTab.logMessage98=Error on getting supportsExpressionsInOrderBy
ConnectionInfoTab.logMessage97=Error on getting supportsDifferentTableCorrelationNames
ConnectionInfoTab.logMessage96=Error on getting supportsTableCorrelationNames
ConnectionInfoTab.logMessage95=Error on getting supportsConvert
ConnectionInfoTab.logMessage99=Error on getting supportsOrderByUnrelated
ConnectionInfoTab.logMessage98=Error on getting supportsExpressionsInOrderBy
ConnectionInfoTab.logMessage97=Error on getting supportsDifferentTableCorrelationNames
ConnectionInfoTab.logMessage96=Error on getting supportsTableCorrelationNames
ConnectionInfoTab.logMessage95=Error on getting supportsConvert
Images.TableIcon=icons/table.gif
ConnectionInfoTab.logMessage94=Error on getting nullPlusNonNullIsNull
ConnectionInfoTab.logMessage94=Error on getting nullPlusNonNullIsNull
Preferences=Preferences
ConnectionInfoTab.logMessage93=Error on getting supportsColumnAliasing
ConnectionInfoTab.logMessage93=Error on getting supportsColumnAliasing
OpenSQLBuilderDialogProgress.exceptionMessage=Opening of SqlBuilderDialog cancelled
ConnectionInfoTab.logMessage92=Error on getting supportsAlterTableWithDropColumn
ConnectionInfoTab.logMessage91=Error on getting supportsAlterTableWithAddColumn
ConnectionInfoTab.logMessage90=Error on getExtraNameCharacters
ConnectionInfoTab.logMessage92=Error on getting supportsAlterTableWithDropColumn
ConnectionInfoTab.logMessage91=Error on getting supportsAlterTableWithAddColumn
ConnectionInfoTab.logMessage90=Error on getExtraNameCharacters
Images.ExportIcon=icons/ExportData.gif
DatabaseDetailView.Tab.ConnectionInfo.NullsSortedHigh=Nulls Are Sorted High
DataSetTableActionGroup.logMessage1=Could not create menu action
ConnectionInfoTab.logMessage89=Error on getSearchStringEscape
ConnectionInfoTab.logMessage88=Error on getIdentifierQuoteString
ConnectionInfoTab.logMessage87=Error on getting storesMixedCaseQuotedIdentifiers
ConnectionInfoTab.logMessage86=Error on getting storesLowerCaseQuotedIdentifiers
ConnectionInfoTab.logMessage85=Error on getting storesUpperCaseQuotedIdentifiers
ConnectionInfoTab.logMessage84=Error on getting supportsMixedCaseQuotedIdentifiers
ConnectionInfoTab.logMessage83=Error on getting storesMixedCaseIdentifiers
ConnectionInfoTab.logMessage82=Error on getCatalogSeparator
ConnectionInfoTab.logMessage81=Error on getting isCatalogAtStart
ConnectionInfoTab.logMessage80=Error on getCatalogTerm
ConnectionInfoTab.logMessage89=Error on getSearchStringEscape
ConnectionInfoTab.logMessage88=Error on getIdentifierQuoteString
ConnectionInfoTab.logMessage87=Error on getting storesMixedCaseQuotedIdentifiers
ConnectionInfoTab.logMessage86=Error on getting storesLowerCaseQuotedIdentifiers
ConnectionInfoTab.logMessage85=Error on getting storesUpperCaseQuotedIdentifiers
ConnectionInfoTab.logMessage84=Error on getting supportsMixedCaseQuotedIdentifiers
ConnectionInfoTab.logMessage83=Error on getting storesMixedCaseIdentifiers
ConnectionInfoTab.logMessage82=Error on getCatalogSeparator
ConnectionInfoTab.logMessage81=Error on getting isCatalogAtStart
ConnectionInfoTab.logMessage80=Error on getCatalogTerm
OpenFileAction.logTextErrorLoadingDoc=Error while loading document
ConnectionInfoTab.property108=Stores Lower Case Identifiers
ConnectionInfoTab.property107=Stores Upper Case Identifiers
@@ -150,30 +149,30 @@ ConnectionInfoTab.property102=Supports Group By Beyond Select
ConnectionInfoTab.property101=Supports Group By Unrelated
ConnectionInfoTab.property100=Supports Group By
SQLEditor.Actions.SaveSQL=Save as
ConnectionInfoTab.logMessage79=Error on getProcedureTerm
ConnectionInfoTab.logMessage78=Error on getSchemaTerm
ConnectionInfoTab.logMessage77=Error on getting supportsLimitedOuterJoins
ConnectionInfoTab.logMessage76=Error on getting supportsFullOuterJoins
ConnectionInfoTab.logMessage75=Error on getting supportsOuterJoins
ConnectionInfoTab.logMessage74=Error on getting supportsIntegrityEnhancementFacility
ConnectionInfoTab.logMessage73=Error on getting supportsANSI92FullSQL
ConnectionInfoTab.logMessage72=Error on getting supportsANSI92IntermediateSQL
ConnectionInfoTab.logMessage71=Error on getting supportsANSI92EntryLevelSQL
ConnectionInfoTab.logMessage70=Error on getting supportsExtendedSQLGrammar
ConnectionInfoTab.logMessage79=Error on getProcedureTerm
ConnectionInfoTab.logMessage78=Error on getSchemaTerm
ConnectionInfoTab.logMessage77=Error on getting supportsLimitedOuterJoins
ConnectionInfoTab.logMessage76=Error on getting supportsFullOuterJoins
ConnectionInfoTab.logMessage75=Error on getting supportsOuterJoins
ConnectionInfoTab.logMessage74=Error on getting supportsIntegrityEnhancementFacility
ConnectionInfoTab.logMessage73=Error on getting supportsANSI92FullSQL
ConnectionInfoTab.logMessage72=Error on getting supportsANSI92IntermediateSQL
ConnectionInfoTab.logMessage71=Error on getting supportsANSI92EntryLevelSQL
ConnectionInfoTab.logMessage70=Error on getting supportsExtendedSQLGrammar
GUIModificationQueryAction.Error.Notice=Note
DatabaseDetailView.Tab.ConnectionInfo.AutocommitMode=Autocommit Mode
IndexNode.logMessage=Could not load column names
ConnectionInfoTab.logMessage69=Error on getting supportsCoreSQLGrammar
ConnectionInfoTab.logMessage69=Error on getting supportsCoreSQLGrammar
SQLResultsView.Error.Title=Error while executing SQL
ConnectionInfoTab.logMessage68=Error on getting supportsMinimumSQLGrammar
ConnectionInfoTab.logMessage67=Error on getting supportsNonNullableColumns
ConnectionInfoTab.logMessage66=Error on getting supportsMultipleTransactions
ConnectionInfoTab.logMessage65=Error on getting supportsMultipleOpenResults
ConnectionInfoTab.logMessage64=Error on getting supportsMultipleResultSets
ConnectionInfoTab.logMessage63=Error on getting supportsLikeEscapeClause
ConnectionInfoTab.logMessage62=Error on getting supportsUnionAll
ConnectionInfoTab.logMessage61=Error on getting supportsUnion
ConnectionInfoTab.logMessage60=Error on getting supportsCorrelatedSubqueries
ConnectionInfoTab.logMessage68=Error on getting supportsMinimumSQLGrammar
ConnectionInfoTab.logMessage67=Error on getting supportsNonNullableColumns
ConnectionInfoTab.logMessage66=Error on getting supportsMultipleTransactions
ConnectionInfoTab.logMessage65=Error on getting supportsMultipleOpenResults
ConnectionInfoTab.logMessage64=Error on getting supportsMultipleResultSets
ConnectionInfoTab.logMessage63=Error on getting supportsLikeEscapeClause
ConnectionInfoTab.logMessage62=Error on getting supportsUnionAll
ConnectionInfoTab.logMessage61=Error on getting supportsUnion
ConnectionInfoTab.logMessage60=Error on getting supportsCorrelatedSubqueries
MetadataRefreshAction.textSynchronize=Synchronize
DatabaseDetailView.Tab.ConnectionInfo.UserName=User Name
DB2ExplainPlanExecution.tableColumnText2=Cardinality
@@ -183,84 +182,84 @@ Images.CopyIcon=icons/copy_edit.gif
DBStructureComposite.TakeALongTime=It'll take a long time. Continue?
Images.IndexIcon=icons/index.gif
AbstractSQLExecution.Executing.Error=Error Executing SQL
ConnectionInfoTab.logMessage59=Error on getting supportsSubqueriesInQuantifieds
ConnectionInfoTab.logMessage58=Error on getting supportsSubqueriesInIns
ConnectionInfoTab.logMessage57=Error on getting supportsSubqueriesInExists
ConnectionInfoTab.logMessage56=Error on getting supportsSubqueriesInComparisons
ConnectionInfoTab.logMessage59=Error on getting supportsSubqueriesInQuantifieds
ConnectionInfoTab.logMessage58=Error on getting supportsSubqueriesInIns
ConnectionInfoTab.logMessage57=Error on getting supportsSubqueriesInExists
ConnectionInfoTab.logMessage56=Error on getting supportsSubqueriesInComparisons
DatabaseDetailView.Tab.RowPrefix=row:
ConnectionInfoTab.logMessage55=Error on getting supportsStoredProcedures
ConnectionInfoTab.logMessage54=Error on getting supportsPositionedUpdate
ConnectionInfoTab.logMessage53=Error on getting supportsPositionedDelete
ConnectionInfoTab.logMessage52=Error on getting supportsCatalogsInPrivilegeDefinitions
ConnectionInfoTab.logMessage51=Error on getting supportsCatalogsInIndexDefinitions
ConnectionInfoTab.logMessage50=Error on getting supportsCatalogsInTableDefinitions
ConnectionInfoTab.logMessage55=Error on getting supportsStoredProcedures
ConnectionInfoTab.logMessage54=Error on getting supportsPositionedUpdate
ConnectionInfoTab.logMessage53=Error on getting supportsPositionedDelete
ConnectionInfoTab.logMessage52=Error on getting supportsCatalogsInPrivilegeDefinitions
ConnectionInfoTab.logMessage51=Error on getting supportsCatalogsInIndexDefinitions
ConnectionInfoTab.logMessage50=Error on getting supportsCatalogsInTableDefinitions
DataSetTable.PopUp.Find=Scroll To Column: (ENTER: find next)
SqlBuilderPreferencePage.AddQuotes=add quotes, when you generate sql statement
ConnectionInfoTab.LogMessage25=Error on getting supportsOpenStatementsAcrossCommit
ConnectionInfoTab.LogMessage25=Error on getting supportsOpenStatementsAcrossCommit
ConnectionInfoTab.property9=Supports Data Manipulation Transactions Only
ConnectionInfoTab.property8=Supports Data Definition and Data Manipulation Transactions
ConnectionInfoTab.property7=Supports Transactions
ConnectionInfoTab.property6=Default Transaction Isolation
ConnectionInfoTab.property5=Max User Name Length
ConnectionInfoTab.logMessage49=Error on getting supportsCatalogsInProcedureCalls
ConnectionInfoTab.logMessage49=Error on getting supportsCatalogsInProcedureCalls
ConnectionInfoTab.property4=Max Tables In Select
ConnectionInfoTab.logMessage48=Error on getting supportsCatalogsInDataManipulation
ConnectionInfoTab.logMessage48=Error on getting supportsCatalogsInDataManipulation
ConnectionInfoTab.property3=Max Table Name Length
ConnectionInfoTab.logMessage47=Error on getting supportsSchemasInPrivilegeDefinitions
ConnectionInfoTab.logMessage47=Error on getting supportsSchemasInPrivilegeDefinitions
ConnectionInfoTab.property2=Max Statements
ConnectionInfoTab.logMessage46=Error on getting supportsSchemasInIndexDefinitions
ConnectionInfoTab.logMessage46=Error on getting supportsSchemasInIndexDefinitions
ConnectionInfoTab.property1=Max Statement Length
ConnectionInfoTab.logMessage45=Error on getting supportsSchemasInTableDefinitions
ConnectionInfoTab.logMessage44=Error on getting supportsSchemasInProcedureCalls
ConnectionInfoTab.logMessage43=Error on getting supportsSchemasInDataManipulation
ConnectionInfoTab.logMessage42=Error on getting doesMaxRowSizeIncludeBlobs
CopyCellAction.logMessage=Error exporting cell to clipboard
ConnectionInfoTab.logMessage41=Error on getMaxRowSize
ConnectionInfoTab.logMessage40=Error on getMaxCatalogNameLength
ConnectionInfoTab.logMessage45=Error on getting supportsSchemasInTableDefinitions
ConnectionInfoTab.logMessage44=Error on getting supportsSchemasInProcedureCalls
ConnectionInfoTab.logMessage43=Error on getting supportsSchemasInDataManipulation
ConnectionInfoTab.logMessage42=Error on getting doesMaxRowSizeIncludeBlobs
CopyCellAction.logMessage=Error exporting cell to clipboard
ConnectionInfoTab.logMessage41=Error on getMaxRowSize
ConnectionInfoTab.logMessage40=Error on getMaxCatalogNameLength
Images.DefaultNodeImage=icons/app_obj.gif
SqlBuilderPreferencePage.ActivedTimeoutSetting=Activate the timeout for database connection.
DatabaseDetailView.Tab.RowCount.status=Row Count for {0}.
SQLResultsView.Time.Postfix=ms.
ConnectionInfoTab.logMessage39=Error on getMaxProcedureNameLength
ConnectionInfoTab.logMessage38=Error on getMaxSchemaNameLength
ConnectionInfoTab.logMessage39=Error on getMaxProcedureNameLength
ConnectionInfoTab.logMessage38=Error on getMaxSchemaNameLength
UnsignedWordRule.logMessage=Error while getting column names
ConnectionInfoTab.logMessage37=Error on getMaxIndexLength
ConnectionInfoTab.logMessage36=Error on getMaxCursorNameLength
ConnectionInfoTab.logMessage35=Error on getMaxConnections
ConnectionInfoTab.logMessage34=Error on getMaxColumnsInTable
ConnectionInfoTab.logMessage37=Error on getMaxIndexLength
ConnectionInfoTab.logMessage36=Error on getMaxCursorNameLength
ConnectionInfoTab.logMessage35=Error on getMaxConnections
ConnectionInfoTab.logMessage34=Error on getMaxColumnsInTable
Images.OpenFolder=icons/openFolder.gif
ConnectionInfoTab.logMessage33=Error on getMaxColumnsInSelect
ConnectionInfoTab.logMessage32=Error on getMaxColumnsInOrderBy
ConnectionInfoTab.logMessage31=Error on getMaxColumnsInIndex
ConnectionInfoTab.logMessage30=Error on getMaxColumnsInGroupBy
ConnectionInfoTab.logMessage33=Error on getMaxColumnsInSelect
ConnectionInfoTab.logMessage32=Error on getMaxColumnsInOrderBy
ConnectionInfoTab.logMessage31=Error on getMaxColumnsInIndex
ConnectionInfoTab.logMessage30=Error on getMaxColumnsInGroupBy
DatabaseDetailView.Tab.ConnectionInfo.NullsSortedLow=Nulls Are Sorted Low
ErDiagramDialog.textGenerateSelectStatement=Generate Select Statement
Images.RedIcon=icons/red.gif
MultiPageSqlBuilderEditor.EditTab.Text=Edit
ConnectionInfoTab.logMessage29=Error on getMaxColumnNameLength
ConnectionInfoTab.logMessage28=Error on getMaxCharLiteralLength
ConnectionInfoTab.logMessage27=Error on getMaxBinaryLiteralLength
ConnectionInfoTab.logMessage26=Error on getting supportsOpenStatementsAcrossRollback
ConnectionInfoTab.logMessage24=Error on getting supportsOpenCursorsAcrossRollback
ConnectionInfoTab.logMessage23=Error on getting supportsOpenCursorsAcrossCommit
ConnectionInfoTab.logMessage22=Error on getting isReadOnly
ConnectionInfoTab.logMessage21=Error on getting supportsStatementPooling
ConnectionInfoTab.logMessage20=Error on getting locatorsUpdateCopy
CopyColumnNameAction.logMessage=Error exporting cell to clipboard
ConnectionInfoTab.logMessage29=Error on getMaxColumnNameLength
ConnectionInfoTab.logMessage28=Error on getMaxCharLiteralLength
ConnectionInfoTab.logMessage27=Error on getMaxBinaryLiteralLength
ConnectionInfoTab.logMessage26=Error on getting supportsOpenStatementsAcrossRollback
ConnectionInfoTab.logMessage24=Error on getting supportsOpenCursorsAcrossRollback
ConnectionInfoTab.logMessage23=Error on getting supportsOpenCursorsAcrossCommit
ConnectionInfoTab.logMessage22=Error on getting isReadOnly
ConnectionInfoTab.logMessage21=Error on getting supportsStatementPooling
ConnectionInfoTab.logMessage20=Error on getting locatorsUpdateCopy
CopyColumnNameAction.logMessage=Error exporting cell to clipboard
DatabaseNode.logMessage=Error loading children
Images.OpenFileIcon=icons/open.gif
AbstractNode.logMessage=Could not load child nodes for {0}.
EMFRepositoryNodeManager.Notice.title3=Note
ConnectionInfoTab.logMessage19=Error on getSQLStateType
ConnectionInfoTab.logMessage18=Error on getJDBCMajorVersion
ConnectionInfoTab.logMessage17=Error on getJDBCMinorVersion
ConnectionInfoTab.logMessage16=Error on getDatabaseMinorVersion
ConnectionInfoTab.logMessage15=Error on getDatabaseMajorVersion
ConnectionInfoTab.logMessage14=Error on getting supportsGetGeneratedKeys
ConnectionInfoTab.logMessage13=Error on getting supportsNamedParameters
ConnectionInfoTab.logMessage12=Error on getting supportsSavepoints
ConnectionInfoTab.logMessage11=Error on getting supportsBatchUpdates
ConnectionInfoTab.logMessage10=Error on getting dataDefinitionIgnoredInTransactions
ConnectionInfoTab.logMessage19=Error on getSQLStateType
ConnectionInfoTab.logMessage18=Error on getJDBCMajorVersion
ConnectionInfoTab.logMessage17=Error on getJDBCMinorVersion
ConnectionInfoTab.logMessage16=Error on getDatabaseMinorVersion
ConnectionInfoTab.logMessage15=Error on getDatabaseMajorVersion
ConnectionInfoTab.logMessage14=Error on getting supportsGetGeneratedKeys
ConnectionInfoTab.logMessage13=Error on getting supportsNamedParameters
ConnectionInfoTab.logMessage12=Error on getting supportsSavepoints
ConnectionInfoTab.logMessage11=Error on getting supportsBatchUpdates
ConnectionInfoTab.logMessage10=Error on getting dataDefinitionIgnoredInTransactions
SQLEditor.Actions.SaveAs=Export as
SqlBuilderPreferencePage.SystemSQL=System SQL Statement
Images.GrayIcon=icons/gray.gif
@@ -285,7 +284,7 @@ SQLEditor.Actions.DuplicateNameMessage=Item with the same name already exists.
Images.ExportToClipBoardIcon=icons/copy_edit.gif
DatabaseDetailView.Tab.ImportedKeys.status=Imported Keys for
DataSetTableKeyListener.logMessage2=Error refreshing
DataSetTableKeyListener.logMessage1=Error exporting cell to clipboard
DataSetTableKeyListener.logMessage1=Error exporting cell to clipboard
SQLEditor.Actions.SaveMessage=Save
Images.Explain=icons/explain.gif
AbstractSQLSourceTab.logMessage2=Error closing statement
@@ -314,8 +313,8 @@ ConnectionInfoTab.property83=Stores Mixed Case Identifiers
ConnectionInfoTab.property82=Catalog Separator
ConnectionInfoTab.property81=Is Catalog at Start
ConnectionInfoTab.property80=Catalog Term
SortedList.exceptionMessage=Index is greater than size or below zero for remove
ColumnFolderNode.logMessage=Could not create child nodes for
SortedList.exceptionMessage=Index is greater than size or below zero for remove
ColumnFolderNode.logMessage=Could not create child nodes for
ConnectionInfoTab.property79=Procedure Term
SqlBuilderPreferencePage.ConnectionTimeout=Connection timeout (seconds)
ConnectionInfoTab.property78=Schema Term
@@ -326,7 +325,6 @@ ConnectionInfoTab.property74=Supports Integrity Enhancement Facility
ConnectionInfoTab.property73=Supports ANSI92 Full SQL
ConnectionInfoTab.property72=Supports ANSI92 Intermediate SQL
ConnectionInfoTab.property71=Supports ANSI92 Entry Level SQL
GUIModificationQueryAction.Dialog.TitleText=Modify The Query using graphical editor
ConnectionInfoTab.property70=Supports Extended SQL Grammar
DatabaseDetailView.Tab.Preview.status=Content preview for {0}.
DatabaseDetailView.Tab.ConnectionInfo.CommitOnClose=Commit On Close
@@ -337,7 +335,7 @@ ConnectionInfoTab.property68=Supports Minimum SQL Grammar
ConnectionInfoTab.property67=Supports Non Nullable Columns
ConnectionInfoTab.property66=Supports Multiple Transactions
SQLBuilderEditorComposite.assertMessage=This node cannot be null
ConnectionInfoTab.property65=Supports Multiple Open Results
ConnectionInfoTab.property65=Supports Multiple Open Results
ConnectionInfoTab.property64=Supports Multiple Result Sets
ConnectionInfoTab.property63=Supports Like Escape Clause
ConnectionInfoTab.property62=Supports Union All
@@ -348,7 +346,7 @@ ConnectionInfoTab.property60=Supports Correlated Subqueries
DBStructureComposite.Property=Property
Images.DefaultParentNodeIcon=icons/outline.gif
SQLEditor.SaveAsDialog.Title=Export query as
DataSetTable.invalidExcepitonMessage=Invalid columnLabel or columnTypes in DataSet
DataSetTable.invalidExcepitonMessage=Invalid columnLabel or columnTypes in DataSet
DataSetTable.Actions.Export.XLS=Export to .xls
DataSetTable.Actions.Export.CSV=Export to .csv
ConnectionInfoTab.property59=Supports Subqueries in Quantified Expressions
@@ -381,7 +379,7 @@ ConnectionInfoTab.property40=Max Catalog Name Length
oracle.editor.actions.explain.notFound.Title=Plan Table not found
Images.ConnectionIcon=icons/connection.png
DatabaseDetailView.Tab.ImportedKeys=Imported Keys
SchemaNode.logMessage4=Could not load child nodes for
SchemaNode.logMessage4=Could not load child nodes for
SchemaNode.logMessage3=Loading all tables at once is not supported
SchemaNode.logMessage2=Could not create child node
SchemaNode.logMessage1=Could not create child node
@@ -399,21 +397,20 @@ ConnectionInfoTab.property31=Max Columns In Index
ConnectionInfoTab.property30=Max Columns In Group By
SQLEditor.Actions.SaveAsToolTip=Export query as
DataSetTable.Actions.CopyCell=Copy Cell
ConnectionInfoTab.logMessage9=Error on getting dataDefinitionCausesTransactionCommit
ConnectionInfoTab.logMessage8=Error on getting supportsDataManipulationTransactionsOnly
ConnectionInfoTab.logMessage7=Error on getting supportsDataDefinitionAndDataManipulationTransactions
ConnectionInfoTab.logMessage6=Error on getting supportsTransactions
ConnectionInfoTab.logMessage5=Error on getMaxUserNameLength
ConnectionInfoTab.logMessage9=Error on getting dataDefinitionCausesTransactionCommit
ConnectionInfoTab.logMessage8=Error on getting supportsDataManipulationTransactionsOnly
ConnectionInfoTab.logMessage7=Error on getting supportsDataDefinitionAndDataManipulationTransactions
ConnectionInfoTab.logMessage6=Error on getting supportsTransactions
ConnectionInfoTab.logMessage5=Error on getMaxUserNameLength
TableNode.exceptionMessage=Only Table will call this.
ConnectionInfoTab.logMessage4=Error on getMaxTablesInSelect
ConnectionInfoTab.logMessage3=Error on getMaxTableNameLength
ConnectionInfoTab.logMessage2=Error on getMaxStatements
ConnectionInfoTab.logMessage1=Error on getMaxStatementLength
DictionaryLoader.teseedOk=tested ok
ConnectionInfoTab.logMessage4=Error on getMaxTablesInSelect
ConnectionInfoTab.logMessage3=Error on getMaxTableNameLength
ConnectionInfoTab.logMessage2=Error on getMaxStatements
ConnectionInfoTab.logMessage1=Error on getMaxStatementLength
DictionaryLoader.teseedOk=tested ok
ConnectionInfoTab.property29=Max Column Name Length
ConnectionInfoTab.property28=Max Char Literal Length
ConnectionInfoTab.property27=Max Binary Literal Length
GUIModificationQueryAction.TextDialog.TitleText=Modify the query
ConnectionInfoTab.property26=Supports Open Statements Across Rollback
ConnectionInfoTab.property25=Supports Open Statements Across Commit
ConnectionInfoTab.property24=Supports Open Cursors Across Rollback
@@ -469,7 +466,7 @@ Images.CatalogNodeIcon=icons/schema.gif
db2.editor.actions.explain.notFound.Title=Plan Table not found
DatabaseDetailView.Tab.ConnectionInfo.DriverName=Driver Name
DatabaseDetailView.Tab.ConnectionInfo.NullsSortedEnd=Nulls Are Sorted At End
CloseSQLResultTabAction.logMessageMissingImagePath=Missing image path for
CloseSQLResultTabAction.logMessageMissingImagePath=Missing image path for
DatabaseDetailView.Tab.ConnectionInfo.URL=URL
DatabaseDetailView.Tab.ConnectionInfo.ProceduresCallable=All Procedures Are Callable
OracleExplainPlanAction.logMessage5=Error while creating sql execution tab
@@ -478,43 +475,43 @@ oracle.editor.actions.explain=Show Oracle Explain Plan
OracleExplainPlanAction.logMessage3=Error while closing statement
EMFRepositoryNodeManager.Notice.info=You must input one Sql Statement!
OracleExplainPlanAction.logMessage2=Error while creating the plan table
OracleExplainPlanAction.logMessage1=Failed to get SessionTreeNode
OracleExplainPlanAction.logMessage1=Failed to get SessionTreeNode
Images.ColumnNodeIcon=icons/columns.gif
SQLBuilderDialog.SaveAllQueries.Info=Are you sure you want to save all queries?
SQLResultsView.Executing=Executing...
DBTreeActionGroup.logMessage=Could not create menu action
ConnectionInfoTab.logMessage123=Error on getting storesLowerCaseIdentifiers
ConnectionInfoTab.logMessage122=Error on getting storesUpperCaseIdentifiers
ConnectionInfoTab.logMessage121=Error on getting supportsMixedCaseIdentifiers
ConnectionInfoTab.logMessage120=Error on getting usesLocalFilePerTable
ConnectionInfoTab.logMessage123=Error on getting storesLowerCaseIdentifiers
ConnectionInfoTab.logMessage122=Error on getting storesUpperCaseIdentifiers
ConnectionInfoTab.logMessage121=Error on getting supportsMixedCaseIdentifiers
ConnectionInfoTab.logMessage120=Error on getting usesLocalFilePerTable
SQLEditor.SQLPropertyDialog.Name=Name
SqlBuilderPreferencePage.StandardSQL=Standard SQL Statement
SQLEditor.LimitRows.ConfirmNoLimit.Message=Allowing a large number of rows may result in poor performance. Continue?
ConnectionInfoTab.logMessage119=Error on getting usesLocalFiles
ConnectionInfoTab.logMessage118=Error on getResultSetHoldability
ConnectionInfoTab.logMessage119=Error on getting usesLocalFiles
ConnectionInfoTab.logMessage118=Error on getResultSetHoldability
DBStructureComposite.Repository=Repository
ConnectionInfoTab.logMessage117=Error on getting nullsAreSortedAtEnd
ConnectionInfoTab.logMessage116=Error on getting nullsAreSortedAtStart
ConnectionInfoTab.logMessage116=Error on getting nullsAreSortedAtStart
ConnectionInfoTab.logMessage115=Error on getting nullsAreSortedLow
ConnectionInfoTab.logMessage114=Error on getting nullsAreSortedHigh
ConnectionInfoTab.logMessage114=Error on getting nullsAreSortedHigh
Images.DefaultNodeIcon=icons/defaultview_misc.gif
ConnectionInfoTab.logMessage113=Error on getting allTablesAreSelectable
ConnectionInfoTab.logMessage112=Error on getting allProceduresAreCallable
ConnectionInfoTab.logMessage111=Error on getCommitOnClose
ConnectionInfoTab.logMessage110=Error on getAutoCommit
ConnectionInfoTab.logMessage113=Error on getting allTablesAreSelectable
ConnectionInfoTab.logMessage112=Error on getting allProceduresAreCallable
ConnectionInfoTab.logMessage111=Error on getCommitOnClose
ConnectionInfoTab.logMessage110=Error on getAutoCommit
DatabaseDetailView.Tab.Source=Source
RefreshTable.Refresh_1=Refresh Table
ConnectionInfoTab.logMessage109=Error on getURL
ConnectionInfoTab.logMessage108=Error on getUserName
ConnectionInfoTab.logMessage107=Error on getDriverVersion
ConnectionInfoTab.logMessage106=Error on getDriverName
ConnectionInfoTab.logMessage105=Error on getDriverMinorVersion
ConnectionInfoTab.logMessage104=Error on getDriverMajorVersion
ConnectionInfoTab.logMessage103=Error on getDatabaseProductName
ConnectionInfoTab.logMessage109=Error on getURL
ConnectionInfoTab.logMessage108=Error on getUserName
ConnectionInfoTab.logMessage107=Error on getDriverVersion
ConnectionInfoTab.logMessage106=Error on getDriverName
ConnectionInfoTab.logMessage105=Error on getDriverMinorVersion
ConnectionInfoTab.logMessage104=Error on getDriverMajorVersion
ConnectionInfoTab.logMessage103=Error on getDatabaseProductName
Progress.Dictionary.Title=Loading content assistant
ConnectionInfoTab.logMessage102=Error on getting supportsGroupByBeyondSelect
ConnectionInfoTab.logMessage101=Error on getting supportsGroupByUnrelated
ConnectionInfoTab.logMessage100=Error on getting supportsGroupBy
ConnectionInfoTab.logMessage102=Error on getting supportsGroupByBeyondSelect
ConnectionInfoTab.logMessage101=Error on getting supportsGroupByUnrelated
ConnectionInfoTab.logMessage100=Error on getting supportsGroupBy
Image.sqlAliasIcon=icons/sql_alias.gif
DBStructureComposite.DatabaseStructure=Database Structure
OracleExplainPlanExecution.tableColumnText2=Cardinality
@@ -543,3 +540,5 @@ SQLResultComposite.Result=Result
UIUtils.DBConnectionFailure=Connection failure, check the database settings or contact your database administrator.
SQLEditor.SQLPropertyDialog.ShowQueryProperty.title=Show Query Property
SQLEditor.SQLPropertyDialog.ShowQueryProperty.message=Show Query Property name and comment.
GUIModificationQueryAction.GraphicalEditorDialog.TitleText=Modify query using graphical editor
GUIModificationQueryAction.TextEditorDialog.TitleText=Modify query

View File

@@ -8,7 +8,6 @@ MultiPageSqlBuilderEditor.ErrorInfo=Analyse de l\'erreur de l\'instruction SQL :
SQLResultsView.NoResults=Visualisez ici le r\u00E9sultat de la requ\u00EAte...
TableNode.logMessage4=Impossible de cr\u00E9er des n\u0153uds fils pour
TableNode.logMessage3=Ne peut pas charger le nom des cl\u00E9s primaires
GUIModificationQueryAction.ButtonText=Modifier la requ\u00EAte \u00E0 l'aide de l'\u00E9diteur graphique
TableNode.logMessage2=Ne peut pas charger le nom des cl\u00E9s \u00E9trang\u00E8res
TableNode.logMessage1=Ne peut pas charger le nom des colonnes
EditQueriesAction.textEditQueries=\u00C9diter les requ\u00EAtes
@@ -326,7 +325,6 @@ ConnectionInfoTab.property74=Supporte la fonction d'am\u00E9lioration d'int\u00E
ConnectionInfoTab.property73=Supporte le SQL ANSI92 complet
ConnectionInfoTab.property72=Supporte le SQL ANSI92 niveau int\u00E9rm\u00E9diaire
ConnectionInfoTab.property71=Supporte le SQL ANSI92 niveau d'entr\u00E9e
GUIModificationQueryAction.Dialog.TitleText=Modifier la requ\u00EAte \u00E0 l'aide de l'\u00E9diteur graphique
ConnectionInfoTab.property70=Supporte la grammaire SQL \u00E9tendue
DatabaseDetailView.Tab.Preview.status=Pr\u00E9visualisation du contenu de {0}.
DatabaseDetailView.Tab.ConnectionInfo.CommitOnClose=Commit \u00E0 la fermeture
@@ -413,7 +411,6 @@ DictionaryLoader.teseedOk=test\u00E9 ok
ConnectionInfoTab.property29=Longueur maximale du nom de colonne
ConnectionInfoTab.property28=Longueur maximale du caract\u00E8re litt\u00E9ral
ConnectionInfoTab.property27=Longueur maximale binaire litt\u00E9rale
GUIModificationQueryAction.TextDialog.TitleText=Modifier la requ\u00EAte
ConnectionInfoTab.property26=Supporte les instructions ouvertes sur Rollback
ConnectionInfoTab.property25=Supporte les instructions ouvertes sur Commit
ConnectionInfoTab.property24=Supporte les curseurs ouverts sur Rollback

View File

@@ -8,7 +8,6 @@ MultiPageSqlBuilderEditor.ErrorInfo=SQL\u6587\u30A8\u30E9\u30FC\u306E\u89E3\u679
SQLResultsView.NoResults=\u30AF\u30A8\u30EA\u3092\u5B9F\u884C\u3059\u308B\u3068\u7D50\u679C\u304C\u3053\u3053\u306B\u8868\u793A\u3055\u308C\u307E\u3059...
TableNode.logMessage4=\u5B50\u30CE\u30FC\u30C9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
TableNode.logMessage3=\u30D7\u30E9\u30A4\u30DE\u30EA\u30AD\u30FC\u540D\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
GUIModificationQueryAction.ButtonText=SQL\u30A8\u30C7\u30A3\u30BF\u3092\u4F7F\u7528\u3057\u3066\u30AF\u30A8\u30EA\u3092\u7DE8\u96C6
TableNode.logMessage2=\u5916\u90E8\u30AD\u30FC\u540D\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
TableNode.logMessage1=\u30AB\u30E9\u30E0\u540D\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
EditQueriesAction.textEditQueries=\u30AF\u30A8\u30EA\u306E\u7DE8\u96C6
@@ -326,7 +325,6 @@ ConnectionInfoTab.property74=Integrity Enhancement Facility\u306E\u30B5\u30DD\u3
ConnectionInfoTab.property73=ANSI92 Full SQL\u306E\u30B5\u30DD\u30FC\u30C8
ConnectionInfoTab.property72=ANSI92 Intermediate SQL\u306E\u30B5\u30DD\u30FC\u30C8
ConnectionInfoTab.property71=ANSI92\u30A8\u30F3\u30C8\u30EA\u30EC\u30D9\u30EBSQL\u306E\u30B5\u30DD\u30FC\u30C8
GUIModificationQueryAction.Dialog.TitleText=SQL\u30A8\u30C7\u30A3\u30BF\u3092\u4F7F\u7528\u3057\u3066\u30AF\u30A8\u30EA\u3092\u7DE8\u96C6
ConnectionInfoTab.property70=\u62E1\u5F35SQL\u6587\u6CD5\u306E\u30B5\u30DD\u30FC\u30C8
DatabaseDetailView.Tab.Preview.status=\u30B3\u30F3\u30C6\u30F3\u30C4\u30D7\u30EC\u30D3\u30E5\u30FC\uFF5B0\uFF5D
DatabaseDetailView.Tab.ConnectionInfo.CommitOnClose=\u9589\u3058\u308B\u6642\u306B\u30B3\u30DF\u30C3\u30C8
@@ -413,7 +411,6 @@ DictionaryLoader.teseedOk=\u30C6\u30B9\u30C8\u6210\u529F
ConnectionInfoTab.property29=\u6700\u5927\u30AB\u30E9\u30E0\u540D\u9577
ConnectionInfoTab.property28=\u6700\u5927Char\u6587\u5B57\u5217\u9577
ConnectionInfoTab.property27=\u6700\u5927\u30D0\u30A4\u30CA\u30EA\u6587\u5B57\u5217\u9577
GUIModificationQueryAction.TextDialog.TitleText=\u30AF\u30A8\u30EA\u3092\u7DE8\u96C6
ConnectionInfoTab.property26=Open Statements Across Rollback\u306E\u30B5\u30DD\u30FC\u30C8
ConnectionInfoTab.property25=\u30B3\u30DF\u30C3\u30C8\u51E6\u7406\u4E2D\u306E\u30B9\u30C6\u30FC\u30C8\u30E1\u30F3\u30C8\u30AA\u30FC\u30D7\u30F3\u306E\u30B5\u30DD\u30FC\u30C8
ConnectionInfoTab.property24=\u30ED\u30FC\u30EB\u30D0\u30C3\u30AF\u51E6\u7406\u4E2D\u306E\u30AB\u30FC\u30BD\u30EB\u30AA\u30FC\u30D7\u30F3\u306E\u30B5\u30DD\u30FC\u30C8

View File

@@ -3,7 +3,6 @@ AbstractDataSetTab.logMessage2=Erro ao criar ResultSetTab:
AbstractDataSetTab.logMessage1=Exce\u00E7\u00E3o DataSetTab
MultiPageSqlBuilderEditor.DesignerTab.Text=Designer
MultiPageSqlBuilderEditor.ErrorInfo=Parse Sql argumento erro:
GUIModificationQueryAction.ButtonText=Modificar a consulta usando editor gr\u00E1fico
EditQueriesAction.textEditQueries=Editar consultas
BuildInDBStructure.CurrentSchema=Esquema atual
oracle.editor.actions.explain.createError.Title=Tabela n\u00E3o criada
@@ -196,7 +195,6 @@ ConnectionInfoTab.property74=Suporta Facilidade de Melhoramento de Integridade
ConnectionInfoTab.property73=Suporta o SQL ANSI92 Completo
ConnectionInfoTab.property72=Suporta ANSI92 \u00E0 N\u00EDvel Intermedi\u00E1rio
ConnectionInfoTab.property71=Suporta SQL ANSI92 \u00E0 N\u00EDvel Entrada
GUIModificationQueryAction.Dialog.TitleText=Modificar a consulta usando editor gr\u00E1fico
ConnectionInfoTab.property70=Suporta Gram\u00E1tica Extendida SQL
DatabaseDetailView.Tab.Preview.status=Contem vizualiza\u00E7\u00E3o para {0}
DatabaseDetailView.Tab.ConnectionInfo.CommitOnClose=Commit e fecha
@@ -264,7 +262,6 @@ ConnectionInfoTab.logMessage1=Erro ao getMaxStatementLength
ConnectionInfoTab.property29=Tam. M\u00E1x do nome da Coluna
ConnectionInfoTab.property28=Tam. M\u00E1x. do Char Literal
ConnectionInfoTab.property27=Tamanho m\u00E1ximo do Literal bin\u00E1rio
GUIModificationQueryAction.TextDialog.TitleText=Modificar consulta
ConnectionInfoTab.property26=Suporta Statement Aberto no Rollback
ConnectionInfoTab.property25=Suporta Statement Aberto no Commit
ConnectionInfoTab.property24=Suporta Cursor Aberto no Rollback

View File

@@ -289,7 +289,6 @@ ConnectionInfoTab.logMessage1=\u041E\u0448\u0438\u0431\u043A\u0430 \u0432 getMax
ConnectionInfoTab.property29=\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0434\u043B\u0438\u043D\u0430 \u0438\u043C\u0435\u043D\u0438 \u043A\u043E\u043B\u043E\u043D\u043A\u0438
ConnectionInfoTab.property28=\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0434\u043B\u0438\u043D\u0430 \u043B\u0438\u0442\u0435\u0440\u0430\u043B\u0430 \u0442\u0438\u043F\u0430 Char
ConnectionInfoTab.property27=\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u0430\u044F \u0434\u043B\u0438\u043D\u0430 \u0431\u0438\u043D\u0430\u0440\u043D\u043E\u0433\u043E \u043B\u0438\u0442\u0435\u0440\u0430\u043B\u0430
GUIModificationQueryAction.TextDialog.TitleText=\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441
ConnectionInfoTab.property26=\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 Statements \u043F\u0440\u0438 Rollback
ConnectionInfoTab.property25=\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 Statements \u043F\u0440\u0438 Commit
ConnectionInfoTab.property24=\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043E\u0442\u043A\u0440\u044B\u0442\u044B\u0435 \u043A\u0443\u0440\u0441\u043E\u0440\u044B \u043F\u0440\u0438 Rollback

View File

@@ -8,7 +8,6 @@ MultiPageSqlBuilderEditor.ErrorInfo=\u89E3\u6790SQL\u8BED\u53E5\u51FA\u9519\uFF1
SQLResultsView.NoResults=\u6267\u884C\u4E00\u4E2A\u67E5\u8BE2\u663E\u793A\u7ED3\u679C...
TableNode.logMessage4=\u65E0\u6CD5\u4E3A\u4EE5\u4E0B\u9879\u521B\u5EFA\u5B50\u8282\u70B9\uFF1A
TableNode.logMessage3=\u4E0D\u80FD\u52A0\u8F7D\u4E3B\u952E\u540D
GUIModificationQueryAction.ButtonText=\u56FE\u5F62\u754C\u9762\u4FEE\u6539\u67E5\u8BE2
TableNode.logMessage2=\u4E0D\u80FD\u52A0\u8F7D\u5916\u952E\u540D
TableNode.logMessage1=\u65E0\u6CD5\u52A0\u8F7D\u5217\u540D
EditQueriesAction.textEditQueries=\u7F16\u8F91\u67E5\u8BE2
@@ -326,7 +325,6 @@ ConnectionInfoTab.property74=\u652F\u6301\u5B8C\u6574\u6027\u589E\u5F3A\u5DE5\u5
ConnectionInfoTab.property73=\u652F\u6301 ANSI92 \u5168\u90E8 SQL
ConnectionInfoTab.property72=\u652F\u6301 ANSI92 \u4E2D\u7EA7 SQL
ConnectionInfoTab.property71=\u652F\u6301 ANSI92 \u5165\u95E8\u7EA7 SQL
GUIModificationQueryAction.Dialog.TitleText=\u56FE\u5F62\u754C\u9762\u4FEE\u6539\u67E5\u8BE2
ConnectionInfoTab.property70=\u652F\u6301\u6269\u5C55 SQL \u8BED\u6CD5
DatabaseDetailView.Tab.Preview.status={0}\u7684\u5185\u5BB9\u9884\u89C8\u3002
DatabaseDetailView.Tab.ConnectionInfo.CommitOnClose=\u5173\u95ED\u65F6\u63D0\u4EA4
@@ -413,7 +411,6 @@ DictionaryLoader.teseedOk=\u6D4B\u8BD5\u786E\u5B9A
ConnectionInfoTab.property29=\u6700\u5927\u5217\u540D\u957F\u5EA6
ConnectionInfoTab.property28=\u6700\u5927\u5B57\u7B26\u6587\u5B57\u957F\u5EA6
ConnectionInfoTab.property27=\u6700\u5927\u4E8C\u8FDB\u5236\u6587\u5B57\u957F\u5EA6
GUIModificationQueryAction.TextDialog.TitleText=\u6587\u672C\u4FEE\u6539\u67E5\u8BE2
ConnectionInfoTab.property26=\u652F\u6301\u6253\u5F00\u8BED\u53E5\u56DE\u6EDA
ConnectionInfoTab.property25=\u652F\u6301\u6253\u5F00\u8BED\u53E5\u63D0\u4EA4
ConnectionInfoTab.property24=\u652F\u6301\u6253\u5F00\u9F20\u6807\u56DE\u6EDA

View File

@@ -7,7 +7,7 @@
<requires>
<import feature="org.eclipse.nebula.widgets.nattable.extension.glazedlists.feature" version="0.0.0" match="greaterOrEqual"/>
<import feature="org.talend.libraries.jdbc.feature" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.beanutils" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.commons-beanutils" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.httpclient" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.logging" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.nebula.widgets.nattable.core" version="0.0.0" match="greaterOrEqual"/>

View File

@@ -86,11 +86,18 @@ if((codePart.equals(ECodePart.END))&&(stat || logstashCurrent)){
for(IConnection con:connSet){
INode source = con.getSource();
String sourceNodeId = source.getUniqueName();
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel);
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel);
String sourceNodeComponent = source.getComponent().getName();
for (INode jobStructureCatcher : jobCatcherNodes) {
%>
if(runStat.updateStatAndLog(execStat,enableLogStash,resourceMap,iterateId,"<%=con.getUniqueName()%>",2,0,
<%=jobStructureCatcher.getUniqueName()%>,"<%=sourceNodeId%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=node.getComponent().getName()%>","<%="REJECT".equals(con.getConnectorName()) ? "reject" : "output"%>")) {
"<%=sourceNodeId%>","<%=sourceNodeLabel%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=targetNodeLabel%>","<%=node.getComponent().getName()%>","<%="REJECT".equals(con.getConnectorName()) ? "reject" : "output"%>")) {
<%=jobStructureCatcher.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
}
<%
@@ -113,11 +120,18 @@ if((codePart.equals(ECodePart.END))&&(stat || logstashCurrent)){
for(IConnection con:connSet){
INode source = con.getSource();
String sourceNodeId = source.getUniqueName();
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel);
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel);
String sourceNodeComponent = source.getComponent().getName();
for (INode jobStructureCatcher : jobCatcherNodes) {
%>
if(runStat.log(resourceMap,iterateId,"<%=con.getUniqueName()%>",2,0,
<%=jobStructureCatcher.getUniqueName()%>,"<%=sourceNodeId%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=node.getComponent().getName()%>","<%="REJECT".equals(con.getConnectorName()) ? "reject" : "output"%>")) {
"<%=sourceNodeId%>","<%=sourceNodeLabel%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=targetNodeLabel%>","<%=node.getComponent().getName()%>","<%="REJECT".equals(con.getConnectorName()) ? "reject" : "output"%>")) {
<%=jobStructureCatcher.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
}
<%

View File

@@ -145,6 +145,9 @@
String cid = node.getUniqueName();
boolean logstashCurrent = !cid.startsWith("tJobStructureCatcher") && !cid.startsWith("talend") && enableLogStash;
//about performance monitor, no way to support more than one job catcher component, also that is not necessary
final String subprocessName4Catcher = logstashCurrent ? jobCatcherNodes.get(0).getDesignSubjobStartNode().getUniqueName() : null;
if ((codePart.equals(ECodePart.BEGIN))&&(stat || logstashCurrent)&&connSet.size()>0) {
if(containsTPartitioner) {
%>
@@ -181,13 +184,35 @@
if(!node.getComponent().useMerge()) {
if(stat && logstashCurrent) {
%>
runStat.updateStatAndLog(execStat,enableLogStash,iterateId,1,1<%for(IConnection con : connSet){%>,"<%=con.getUniqueName()%>"<%}%>);
if(runStat.update(execStat,enableLogStash,iterateId,1,1
<%for(IConnection con : connSet){
INode source = con.getSource();
String sourceNodeId = source.getUniqueName();
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel);
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel);
String sourceNodeComponent = source.getComponent().getName();
%>
,"<%=con.getUniqueName()%>","<%=sourceNodeId%>","<%=sourceNodeLabel%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=targetNodeLabel%>","<%=node.getComponent().getName()%>"
<%}%>
)) {
<%=subprocessName4Catcher %>Process(globalMap);
}
<%
} else {
if(stat) {
%>
if(execStat){
runStat.updateStatOnConnection(iterateId,1,1<%for(IConnection con : connSet){%>,"<%=con.getUniqueName()%>"<%}%>);
runStat.updateStatOnConnection(iterateId,1,1
<%for(IConnection con : connSet){
%>
,"<%=con.getUniqueName()%>"
<%}%>
);
}
<%
}
@@ -195,7 +220,24 @@
if(logstashCurrent) {
%>
if(enableLogStash) {
runStat.log(iterateId,1,1<%for(IConnection con : connSet){%>,"<%=con.getUniqueName()%>"<%}%>);
if(runStat.updateLog(iterateId,1,1
<%for(IConnection con : connSet){
INode source = con.getSource();
String sourceNodeId = source.getUniqueName();
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel);
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel);
String sourceNodeComponent = source.getComponent().getName();
%>
,"<%=con.getUniqueName()%>","<%=sourceNodeId%>","<%=sourceNodeLabel%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=targetNodeLabel%>","<%=node.getComponent().getName()%>"
<%}%>
)) {
<%=subprocessName4Catcher %>Process(globalMap);
}
}
<%
}
@@ -205,18 +247,62 @@
if(connection.getUniqueName().equals((String)codeGenArgument.getIncomingName())){
if(stat && logstashCurrent) {
%>
runStat.updateStatAndLog(execStat,enableLogStash,iterateId,1,1<%for(IConnection con : connSet){if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){%>,"<%=con.getUniqueName()%>"<%}}%>);
if(runStat.update(execStat,enableLogStash,iterateId,1,1
<%for(IConnection con : connSet){
INode source = con.getSource();
String sourceNodeId = source.getUniqueName();
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel);
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel);
String sourceNodeComponent = source.getComponent().getName();
if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){%>
,"<%=con.getUniqueName()%>","<%=sourceNodeId%>","<%=sourceNodeLabel%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=targetNodeLabel%>","<%=node.getComponent().getName()%>"
<%}
}%>
)) {
<%=subprocessName4Catcher %>Process(globalMap);
}
<%
} else {
if(stat) {%>
if(execStat){
runStat.updateStatOnConnection(iterateId,1,1<%for(IConnection con : connSet){if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){%>,"<%=con.getUniqueName()%>"<%}}%>);
runStat.updateStatOnConnection(iterateId,1,1
<%for(IConnection con : connSet){
if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){%>
,"<%=con.getUniqueName()%>"
<%}
}%>
);
}
<%}
if(logstashCurrent) {%>
if(enableLogStash) {
runStat.log(iterateId,1,1<%for(IConnection con : connSet){if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){%>,"<%=con.getUniqueName()%>"<%}}%>);
if(runStat.updateLog(iterateId,1,1
<%for(IConnection con : connSet){
INode source = con.getSource();
String sourceNodeId = source.getUniqueName();
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel);
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel);
String sourceNodeComponent = source.getComponent().getName();
if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){%>
,"<%=con.getUniqueName()%>","<%=sourceNodeId%>","<%=sourceNodeLabel%>","<%=sourceNodeComponent%>","<%=node.getUniqueName()%>","<%=targetNodeLabel%>","<%=node.getComponent().getName()%>"
<%}
}%>
)) {
<%=subprocessName4Catcher %>Process(globalMap);
}
}
<%}
}
@@ -248,9 +334,11 @@
if(logstashCurrent) {
for (INode jobStructureCatcher : jobCatcherNodes) {
String label = ElementParameterParser.getValue(node, "__LABEL__");
String nodeLabel = ((label==null || "__UNIQUE_NAME__".equals(label) || label.contains("\"")) ? node.getUniqueName() : label);
%>
if(enableLogStash) {
<%=jobStructureCatcher.getUniqueName() %>.addCM("<%=node.getUniqueName()%>", "<%=node.getComponent().getName()%>");
<%=jobStructureCatcher.getUniqueName() %>.addCM("<%=node.getUniqueName()%>", "<%=nodeLabel%>", "<%=node.getComponent().getName()%>");
<%=jobStructureCatcher.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
}
<%

View File

@@ -275,7 +275,7 @@
}
%>
private PropertiesWithType context_param = new PropertiesWithType();
protected PropertiesWithType context_param = new PropertiesWithType();
public java.util.Map<String, Object> parentContextMap = new java.util.HashMap<String, Object>();
public String status= "";
@@ -464,7 +464,7 @@
lastStr = "";
}
}
enableLogStash = "true".equalsIgnoreCase(System.getProperty("monitoring"));
enableLogStash = "true".equalsIgnoreCase(System.getProperty("audit.enabled"));
<%if(isLog4jEnabled){%>
if(!"".equals(log4jLevel)){
@@ -536,15 +536,15 @@
properties_<%=jobCatcherNode.getUniqueName()%>.setProperty("host", "false");
System.getProperties().stringPropertyNames().stream()
.filter(it -> it.startsWith("monitoring.audit.logger.properties."))
.forEach(key -> properties_<%=jobCatcherNode.getUniqueName()%>.setProperty(key.substring("monitoring.audit.logger.properties.".length()), System.getProperty(key)));
.filter(it -> it.startsWith("audit.logger."))
.forEach(key -> properties_<%=jobCatcherNode.getUniqueName()%>.setProperty(key.substring("audit.logger.".length()), System.getProperty(key)));
<%if(isLog4j1Enabled) {%>
org.apache.log4j.Logger.getLogger("audit").setLevel(org.apache.log4j.Level.DEBUG);
org.apache.log4j.Logger.getLogger(properties_<%=jobCatcherNode.getUniqueName()%>.getProperty("root.logger")).setLevel(org.apache.log4j.Level.DEBUG);
<%}%>
<%if(isLog4j2Enabled) {%>
org.apache.logging.log4j.core.config.Configurator.setLevel("audit", org.apache.logging.log4j.Level.DEBUG);
org.apache.logging.log4j.core.config.Configurator.setLevel(properties_<%=jobCatcherNode.getUniqueName()%>.getProperty("root.logger"), org.apache.logging.log4j.Level.DEBUG);
<%}%>
auditLogger_<%=jobCatcherNode.getUniqueName()%> = org.talend.job.audit.JobEventAuditLoggerFactory.createJobAuditLogger(properties_<%=jobCatcherNode.getUniqueName()%>);
}
@@ -660,39 +660,47 @@
} catch (java.lang.RuntimeException e) {
//do nothing
}
} else {
context.<%=ctxParam.getName()%> = pwd_<%=ctxParam.getName()%>_value;
context.put("<%=ctxParam.getName()%>",context.<%=ctxParam.getName()%>);
}
}
<%
} else if(typeToGenerate.equals("java.util.Date")) {
%>
try{
String context_<%=ctxParam.getName()%>_value = context.getProperty("<%=ctxParam.getName()%>");
if (context_<%=ctxParam.getName()%>_value == null){
context_<%=ctxParam.getName()%>_value = "";
}
int context_<%=ctxParam.getName()%>_pos = context_<%=ctxParam.getName()%>_value.indexOf(";");
String context_<%=ctxParam.getName()%>_pattern = "yyyy-MM-dd HH:mm:ss";
if(context_<%=ctxParam.getName()%>_pos > -1){
context_<%=ctxParam.getName()%>_pattern = context_<%=ctxParam.getName()%>_value.substring(0, context_<%=ctxParam.getName()%>_pos);
context_<%=ctxParam.getName()%>_value = context_<%=ctxParam.getName()%>_value.substring(context_<%=ctxParam.getName()%>_pos + 1);
}
try{
if (context_<%=ctxParam.getName()%>_value == null){
context_<%=ctxParam.getName()%>_value = "";
}
int context_<%=ctxParam.getName()%>_pos = context_<%=ctxParam.getName()%>_value.indexOf(";");
String context_<%=ctxParam.getName()%>_pattern = "yyyy-MM-dd HH:mm:ss";
if(context_<%=ctxParam.getName()%>_pos > -1){
context_<%=ctxParam.getName()%>_pattern = context_<%=ctxParam.getName()%>_value.substring(0, context_<%=ctxParam.getName()%>_pos);
context_<%=ctxParam.getName()%>_value = context_<%=ctxParam.getName()%>_value.substring(context_<%=ctxParam.getName()%>_pos + 1);
}
context.<%=ctxParam.getName()%>=(java.util.Date)(new java.text.SimpleDateFormat(context_<%=ctxParam.getName()%>_pattern).parse(context_<%=ctxParam.getName()%>_value));
context.<%=ctxParam.getName()%>=(java.util.Date)(new java.text.SimpleDateFormat(context_<%=ctxParam.getName()%>_pattern).parse(context_<%=ctxParam.getName()%>_value));
} catch(ParseException e) {
} catch(ParseException e) {
try { <% /*try to check if date passed as long also*/ %>
long context_<%=ctxParam.getName()%>_longValue = Long.valueOf(context_<%=ctxParam.getName()%>_value);
context.<%=ctxParam.getName()%> = new java.util.Date(context_<%=ctxParam.getName()%>_longValue);
} catch (NumberFormatException cantParseToLongException) {
<%
if (isLog4jEnabled) {
if (isLog4jEnabled) {
%>
log.warn(String.format("<%=warningMessageFormat %>", "<%=ctxParam.getName() %>", e.getMessage()));
log.warn(String.format("<%=warningMessageFormat %>", "<%=ctxParam.getName() %>", "Can't parse date string: " + e.getMessage() + " and long: " + cantParseToLongException.getMessage()));
<%
} else {
} else {
%>
System.err.println(String.format("<%=warningMessageFormat %>", "<%=ctxParam.getName() %>", e.getMessage()));
System.err.println(String.format("<%=warningMessageFormat %>", "<%=ctxParam.getName() %>", "Can't parse date string: " + e.getMessage() + " and long: " + cantParseToLongException.getMessage()));
<%
}
%>
context.<%=ctxParam.getName()%>=null;
}
}
%>
context.<%=ctxParam.getName()%>=null;
}
<%
} else if(typeToGenerate.equals("Object")||typeToGenerate.equals("String")||typeToGenerate.equals("java.lang.String")) {
%>
@@ -926,10 +934,12 @@ this.globalResumeTicket = true;//to run tPreJob
// run tHadoopConfManager component if there is it.
if(!hadoopConfNodes.isEmpty()) {
INode hadoopConfNode = hadoopConfNodes.get(0);
if (hadoopConfNode.isStart()) {
%>
<%=createCallProcess(hadoopConfNode, className, false) %>
<%
}
}
%>
<%
@@ -1343,13 +1353,11 @@ if (execStat) {
} else {
type = "ftp";
}
if ("ftp".equals(type)) { %>
((com.enterprisedt.net.ftp.FTPClient) obj_conn).quit();
<%} else if ("sftp".equals(type)) { %>
if ("sftp".equals(type)) { %>
((com.jcraft.jsch.ChannelSftp) obj_conn).quit();
<%} else { %>
((org.apache.commons.net.ftp.FTPSClient) obj_conn).disconnect();
<%}%>
<%} else { %>
((org.apache.commons.net.ftp.FTPClient) obj_conn).disconnect();
<%}%>
}
<% } %>
} catch (java.lang.Exception e) {
@@ -1439,11 +1447,24 @@ if (execStat) {
private void closeGSConnections() {
try {
<% for (INode gsComponent : gsComponentsList) { %>
org.jets3t.service.impl.rest.httpclient.GoogleStorageService service_<%=gsComponent.getUniqueName()%> =
(org.jets3t.service.impl.rest.httpclient.GoogleStorageService)globalMap.get("service_<%=gsComponent.getUniqueName()%>");
if(service_<%=gsComponent.getUniqueName()%> !=null){
service_<%=gsComponent.getUniqueName()%>.shutdown();
}
<%
String authType = ElementParameterParser.getValue(gsComponent, "__AUTH_TYPE__");
if (authType.equals("USER_ACCOUNT_HMAC")){
%>
org.jets3t.service.impl.rest.httpclient.GoogleStorageService service_<%=gsComponent.getUniqueName()%> =
(org.jets3t.service.impl.rest.httpclient.GoogleStorageService)globalMap.get("service_<%=gsComponent.getUniqueName()%>");
if(service_<%=gsComponent.getUniqueName()%> !=null){
service_<%=gsComponent.getUniqueName()%>.shutdown();
}
<%
} else if (authType.equals("SERVICE_ACCOUNT")) {
%>
//Don't need to close storage when use google storage api
<%
}
%>
<% } %>
} catch (java.lang.Exception e) {
@@ -1595,7 +1616,7 @@ if (execStat) {
}
} else if (arg.startsWith("--log4jLevel=")) {
log4jLevel = arg.substring(13);
} else if (arg.startsWith("--monitoring") && arg.contains("=")) {//for trunjob call
} else if (arg.startsWith("--audit.enabled") && arg.contains("=")) {//for trunjob call
final int equal = arg.indexOf('=');
final String key = arg.substring("--".length(), equal);
System.setProperty(key, arg.substring(equal + 1));

View File

@@ -116,7 +116,11 @@ class IndexedRecordToRowStructGenerator {
routines.system.DynamicMetadata dynamicMetadata_<%=cid%> = new routines.system.DynamicMetadata();
org.apache.avro.Schema dynamicFieldSchema_<%=cid%> = dynamicField_<%=cid%>.schema();
// set name
dynamicMetadata_<%=cid%>.setName(dynamicField_<%=cid%>.name());
if("true".equals(dynamicField_<%=cid%>.getProp("ENABLE_SPECIAL_TABLENAME"))){
dynamicMetadata_<%=cid%>.setName(dynamicField_<%=cid%>.getProp("talend.field.dbColumnName"));
}else{
dynamicMetadata_<%=cid%>.setName(dynamicField_<%=cid%>.name());
}
// set db name
dynamicMetadata_<%=cid%>.setDbName(dynamicField_<%=cid%>.name());
// set nullable
@@ -166,6 +170,14 @@ class IndexedRecordToRowStructGenerator {
if (columnName.equals(dynamicColName)) {
%>
java.util.Map<String, Object> dynamicValue_<%=cid%> = (java.util.Map<String, Object>) <%=codeVarSchemaEnforcer%>.get(<%=i%>);
org.apache.avro.Schema dynSchema_<%=cid%> = ((org.talend.codegen.enforcer.OutgoingDynamicSchemaEnforcer) <%=codeVarSchemaEnforcer%>).getDynamicFieldsSchema();
for (org.apache.avro.Schema.Field dynamicField_<%=cid%> : dynSchema_<%=cid%>.getFields()){
String name = dynamicField_<%=cid%>.name();
if("true".equals(dynamicField_<%=cid%>.getProp("ENABLE_SPECIAL_TABLENAME"))){
dynamicValue_<%=cid%>.put(dynamicField_<%=cid%>.getProp("talend.field.dbColumnName"), dynamicValue_<%=cid%>.get(name));
dynamicValue_<%=cid%>.remove(name);
}
}
for (java.util.Map.Entry<String, Object> dynamicValueEntry_<%=cid%> : dynamicValue_<%=cid%>.entrySet()) {
<%=codeVarDynamic%>.setColumnValue(<%=codeVarDynamic%>.getIndex(dynamicValueEntry_<%=cid%>.getKey()), dynamicValueEntry_<%=cid%>.getValue());
}

View File

@@ -390,7 +390,14 @@ public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> get<%=Ch
}
}
boolean enableLogStash = jobCatcherNode != null;
if (stats || enableLogStash) {
if (enableLogStash) {
%>
private final JobStructureCatcherUtils <%=jobCatcherNode.getUniqueName() %> = new JobStructureCatcherUtils(jobName, "<%=process.getId() %>", "<%=process.getVersion() %>");
private org.talend.job.audit.JobAuditLogger auditLogger_<%=jobCatcherNode.getUniqueName()%> = null;
private RunStat runStat = new RunStat(<%=jobCatcherNode.getUniqueName() %>);
<%
} else if(stats) {
%>
private RunStat runStat = new RunStat();
<%
@@ -431,13 +438,6 @@ private RunTrace runTrace = new RunTrace();
<%
}
if(enableLogStash) {
%>
JobStructureCatcherUtils <%=jobCatcherNode.getUniqueName() %> = new JobStructureCatcherUtils(jobName, "<%=process.getId() %>", "<%=process.getVersion() %>");
org.talend.job.audit.JobAuditLogger auditLogger_<%=jobCatcherNode.getUniqueName()%> = null;
<%
}
for (INode metterCatcher : process.getNodesOfType("tFlowMeterCatcher")) {
%>
MetterCatcherUtils <%=metterCatcher.getUniqueName() %> = new MetterCatcherUtils("<%=process.getId() %>", "<%=process.getVersion() %>");

View File

@@ -12,6 +12,7 @@
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.designer.codegen.config.NodesSubTree
org.talend.core.model.process.IProcess
org.talend.core.model.process.ProcessUtils
org.talend.core.model.utils.NodeUtil
org.talend.core.model.process.IContextParameter
java.util.List
@@ -28,7 +29,13 @@ INode node = (INode)codeGenArgument.getArgument();
boolean containsTPartitioner = node.getProcess().getNodesOfType("tPartitioner").size() > 0 ? true : false;
boolean isRunJob = "tRunJob".equals(node.getComponent().getName());
IProcess process = node.getProcess();
boolean isTestContainer=ProcessUtils.isTestContainer(process);
String className = process.getName();
if (isTestContainer) {
className = className + "Test";
}
NodesSubTree subTree = (NodesSubTree) codeGenArgument.getSubTree();
ECodePart codePart = codeGenArgument.getCodePart();
//boolean trace = codeGenArgument.isTrace();
@@ -78,10 +85,10 @@ for (IConnection iterateConn : iterateConnSet) { //1
@Override
public Object put(String key, Object value) {
<%if(!isRunInMultiThread){%>
synchronized (<%=process.getName()%>.this.obj) {
synchronized (<%=className%>.this.obj) {
<%}%>
super.put(key, value);
return <%=process.getName()%>.this.globalMap.put(key, value);
return <%=className%>.this.globalMap.put(key, value);
<%if(!isRunInMultiThread){%>
}
<%}%>
@@ -158,7 +165,7 @@ for (IConnection iterateConn : iterateConnSet) { //1
synchronized (globalMap) {
this.globalMap = java.util.Collections.synchronizedMap(new ThreadedMap(globalMap));
<%}else{%>
synchronized (<%=process.getName()%>.this.obj) {
synchronized (<%=className%>.this.obj) {
this.globalMap = new ThreadedMap(globalMap);
<%}%>
}

View File

@@ -60,6 +60,7 @@ public enum EInternalTemplate {
// just to have compiled templates
FOOTER_ROUTE("footer_route", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
HEADER_ROUTE("header_route", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
MICROSERVICE_APP_SECURITY("microservice_app_security","0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
CAMEL_RUNIF("camel_run_if", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
CAMEL_SPECIALLINKS("camel_speciallinks", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
MICROSERVICE_APP("microservice_app", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$

View File

@@ -402,13 +402,7 @@ public final class CodeGeneratorEmittersPoolFactory {
private static JetBean initializeUtilTemplate(TemplateUtil template, ECodeLanguage codeLanguage) {
JetBean jetBean = new JetBean(template.getJetPluginRepository(), template.getTemplateRelativeUri(),
template.getResourceName(), template.getVersion(), codeLanguage.getName(), ""); //$NON-NLS-1$
jetBean.addClassPath("EMF_ECORE", "org.eclipse.emf.ecore"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("EMF_COMMON", "org.eclipse.emf.common"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORERUNTIME_LIBRARIES", "org.talend.core.runtime"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("MANAGEMENT_LIBRARIES", "org.talend.metadata.managment"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORE_LIBRARIES", CorePlugin.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("CODEGEN_LIBRARIES", CodeGeneratorActivator.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("COMMON_LIBRARIES", CommonsPlugin.PLUGIN_ID); //$NON-NLS-1$
addCommonLibs(jetBean);
jetBean.addClassPath("COMPONENT_FRAMEWORK", "org.talend.components.api"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("TALEND_MODEL", "org.talend.model"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("DAIKON", "org.talend.daikon"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -453,13 +447,7 @@ public final class CodeGeneratorEmittersPoolFactory {
}
JetBean jetBean = new JetBean(componentsPath, templateURI, component.getName(), component.getVersion(),
codeLanguage.getName(), codePart.getName());
jetBean.addClassPath("EMF_ECORE", "org.eclipse.emf.ecore"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("EMF_COMMON", "org.eclipse.emf.common"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORERUNTIME_LIBRARIES", "org.talend.core.runtime"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("MANAGEMENT_LIBRARIES", "org.talend.metadata.managment"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORE_LIBRARIES", CorePlugin.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("CODEGEN_LIBRARIES", CodeGeneratorActivator.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("COMMON_LIBRARIES", CommonsPlugin.PLUGIN_ID); //$NON-NLS-1$
addCommonLibs(jetBean);
jetBean.addClassPath("COMPONENT_FRAMEWORK", "org.talend.components.api"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("DAIKON", "org.talend.daikon"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("COMPONENT_CORE", "org.talend.designer.core.generic"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -549,13 +537,7 @@ public final class CodeGeneratorEmittersPoolFactory {
// TODO
JetBean jetBean = new JetBean(componentsPath, templateURI, "component", component.getVersion(), //$NON-NLS-1$
"", codePart.getName());//$NON-NLS-1$
jetBean.addClassPath("EMF_ECORE", "org.eclipse.emf.ecore"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("EMF_COMMON", "org.eclipse.emf.common"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORERUNTIME_LIBRARIES", "org.talend.core.runtime"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("MANAGEMENT_LIBRARIES", "org.talend.metadata.managment"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORE_LIBRARIES", CorePlugin.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("CODEGEN_LIBRARIES", CodeGeneratorActivator.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("COMMON_LIBRARIES", CommonsPlugin.PLUGIN_ID); //$NON-NLS-1$
addCommonLibs(jetBean);
jetBean.addClassPath("AVRO", "org.apache.servicemix.bundles.avro"); //$NON-NLS-1$ //$NON-NLS-2$
for (String pluginDependency : component.getPluginDependencies()) {
@@ -856,6 +838,17 @@ public final class CodeGeneratorEmittersPoolFactory {
CodeGeneratorEmittersPoolFactory.initialized = initialized;
}
public static void addCommonLibs(JetBean jetBean) {
jetBean.addClassPath("EMF_ECORE", "org.eclipse.emf.ecore"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("EMF_COMMON", "org.eclipse.emf.common"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORERUNTIME_LIBRARIES", "org.talend.core.runtime"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("MANAGEMENT_LIBRARIES", "org.talend.metadata.managment"); //$NON-NLS-1$ //$NON-NLS-2$
jetBean.addClassPath("CORE_LIBRARIES", CorePlugin.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("CODEGEN_LIBRARIES", CodeGeneratorActivator.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("COMMON_LIBRARIES", CommonsPlugin.PLUGIN_ID); //$NON-NLS-1$
jetBean.addClassPath("COMMON_LIBRARIES_STUDIO_UTILS", "org.talend.studio.studio-utils"); //$NON-NLS-1$
}
/***/
private static class DelegateProgressMonitor implements IProgressMonitor {

View File

@@ -9,7 +9,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.apache.log4j,
org.apache.commons.collections,
org.apache.commons.logging,
org.apache.commons.beanutils,
org.apache.commons.commons-beanutils,
org.apache.commons.io,
org.apache.commons.lang,
org.apache.commons.httpclient,

View File

@@ -11,7 +11,7 @@
<!-- modification 2: compile classpath -->
<path id="compile.classpath">
<pathelement location="../../../../../../tcommon-studio-se/main/plugins/org.talend.libraries.dom4j-jaxen/lib/dom4j-1.6.1.jar" />
<pathelement location="../../../../../../tcommon-studio-se/main/plugins/org.talend.libraries.dom4j-jaxen/lib/dom4j-2.1.3.jar" />
<pathelement location="../../../../../../tcommon-studio-se/main/plugins/org.talend.libraries.apache.common/lib/commons-lang-2.6.jar" />
</path>

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>1.6.4-20200211</version>
<version>1.6.4-20200824</version>
<packaging>jar</packaging>
<name>adal4j</name>
<description>
@@ -109,12 +109,12 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
<version>1.14</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
<version>3.9</version>
</dependency>
<!-- test dependencies -->

View File

@@ -3,11 +3,32 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.components.lib</groupId>
<artifactId>commons-net-ftps-proxy</artifactId>
<version>3.6.1-talend-20190819</version>
<version>3.6.1-talend-20200902</version>
<name>commons-net-talend</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
<slf4.version>1.7.25</slf4.version>
<lombok.version>1.18.12</lombok.version>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
@@ -15,10 +36,6 @@
</dependency>
</dependencies>
<properties>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
</properties>
<distributionManagement>
<snapshotRepository>
<id>talend_nexus_deployment</id>

View File

@@ -11,8 +11,10 @@ import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSessionContext;
import javax.net.ssl.SSLSocket;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.net.ftp.FTPSClient;
@Slf4j
public class SSLSessionReuseFTPSClient extends FTPSClient {
public SSLSessionReuseFTPSClient(boolean isImplicit, SSLContext context) {
@@ -24,6 +26,12 @@ public class SSLSessionReuseFTPSClient extends FTPSClient {
if (socket instanceof SSLSocket) {
final SSLSession session = ((SSLSocket) _socket_).getSession();
final SSLSessionContext context = session.getSessionContext();
if (context == null) {
// TDI-44654 (may be reproduced with Syncplify server)
log.info("SSL Session Context is null. SSL Session was re-initialized.");
return;
}
try {
final Field sessionHostPortCache = context.getClass().getDeclaredField("sessionHostPortCache");
sessionHostPortCache.setAccessible(true);
@@ -32,10 +40,10 @@ public class SSLSessionReuseFTPSClient extends FTPSClient {
putMethod.setAccessible(true);
InetAddress address = socket.getInetAddress();
int port = socket.getPort();
String key = String.format("%s:%s", address.getHostName(), String.valueOf(port)).toLowerCase(Locale.ROOT);
putMethod.invoke(cache, key, session);
key = String.format("%s:%s", address.getHostAddress(), String.valueOf(port)).toLowerCase(Locale.ROOT);
putMethod.invoke(cache, key, session);
} catch (Exception e) {

View File

@@ -22,7 +22,7 @@
<groupId>org.talend.components</groupId>
<artifactId>google-storage-utils</artifactId>
<version>1.0.0</version>
<version>1.1.0</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
@@ -46,6 +46,12 @@
<artifactId>jets3t</artifactId>
<version>0.9.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<distributionManagement>
<snapshotRepository>
@@ -64,8 +70,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
<plugin>

View File

@@ -3,10 +3,13 @@ package org.talend.gs.util;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.FileSystems;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.jets3t.service.model.GSObject;
@@ -44,6 +47,50 @@ public class GSObjectUtil {
return objects;
}
public Map<String, File> generateFileMap(File rootFile, String directory, Map<String, String> filter){
Map<String, File> allFiles = generateFileMap(rootFile, directory);
Map<String, File> resultMap = new HashMap<>();
for (Map.Entry<String, String> entry : filter.entrySet()) {
//key is path to file on local machine
//value is new path in GS
File currentFile = new File(entry.getKey());
if (allFiles.containsValue(currentFile)){
resultMap.put(entry.getValue(), currentFile);
}
}
return resultMap;
}
public Map<String, File> generateFileMap(File rootFile, String directory){
if (rootFile == null){
throw new IllegalArgumentException("File can't be null");
}
if (directory == null){
throw new IllegalArgumentException("Directory name can't be null");
}
if (!directory.isEmpty() && !"/".equals(directory.substring(directory.length()-1))){
directory = directory + "/";
}
Map<String,File> fileMap = new HashMap<>();
if (!rootFile.isDirectory()){
fileMap.put(directory + rootFile.getName(), rootFile);
return fileMap;
}
String pathToDirectory = rootFile.getAbsolutePath();
List<File> allFiles = listAllFiles(pathToDirectory);
for (File currentFile : allFiles){
if (!currentFile.isDirectory()){
fileMap.put(combineTwoNames(pathToDirectory, directory, currentFile), currentFile);
}
}
return fileMap;
}
public java.util.Map<String, String> genFileFilterList(java.util.List<java.util.Map<String, String>> list,
String localdir, String remotedir) {
if (remotedir != null && !"".equals(remotedir)) {
@@ -120,4 +167,23 @@ public class GSObjectUtil {
InputStream mimetypesFile = this.getClass().getResourceAsStream("/resource/mime.types");
Mimetypes.getInstance().loadAndReplaceMimetypes(mimetypesFile);
}
private List<File> listAllFiles(String directoryName) {
File directory = new File(directoryName);
List<File> resultList = new ArrayList<>();
File[] fList = directory.listFiles();
resultList.addAll(Arrays.asList(fList));
for (File file : fList) {
if (file.isDirectory()) {
resultList.addAll(listAllFiles(file.getAbsolutePath()));
}
}
return resultList;
}
private String combineTwoNames(String coreDir, String targetDir, File file){
String filePath = file.getAbsolutePath();
String relativePath = targetDir + filePath.replace(coreDir + FileSystems.getDefault().getSeparator(), "");
return relativePath.replaceAll("\\\\","/");
}
}

View File

@@ -0,0 +1,131 @@
package util;
import org.junit.jupiter.api.Test;
import org.talend.gs.util.GSObjectUtil;
import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.*;
class GSObjectUtilTest {
@Test
void checkSizeOfFilesInFolderTest() {
Path pathToDirectory = Paths.get("src", "test", "resources", "dirWithThreeFiles");
Path pathToFile1 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "1.csv");
Path pathToFile2 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "2.csv");
Path pathToFile3 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "3.csv");
Path pathToFile4 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "inner", "1.csv");
String expectedRelativePathToFile1 = "/1.csv";
String expectedRelativePathToFile2 = "/2.csv";
String expectedRelativePathToFile3 = "/3.csv";
String expectedRelativePathToFile4 = "/inner/1.csv";
File rootFile = new File(pathToDirectory.toUri());
GSObjectUtil gsObjectUtil = new GSObjectUtil();
Map<String, File> files = gsObjectUtil.generateFileMap(rootFile, "/");
assertEquals(4, files.size());
File expectedFile1 = new File(pathToFile1.toUri());
File expectedFile2 = new File(pathToFile2.toUri());
File expectedFile3 = new File(pathToFile3.toUri());
File expectedFile4 = new File(pathToFile4.toUri());
assertTrue(files.containsKey(expectedRelativePathToFile1));
assertTrue(files.containsKey(expectedRelativePathToFile2));
assertTrue(files.containsKey(expectedRelativePathToFile3));
assertTrue(files.containsKey(expectedRelativePathToFile4));
assertEquals(expectedFile1.getAbsoluteFile(), files.get(expectedRelativePathToFile1).getAbsoluteFile());
assertEquals(expectedFile2.getAbsoluteFile(), files.get(expectedRelativePathToFile2).getAbsoluteFile());
assertEquals(expectedFile3.getAbsoluteFile(), files.get(expectedRelativePathToFile3).getAbsoluteFile());
assertEquals(expectedFile4.getAbsoluteFile(), files.get(expectedRelativePathToFile4).getAbsoluteFile());
}
@Test
void checkSizeOfFilesInFolder2Test() {
Path pathToDirectory = Paths.get("src", "test", "resources", "dirWithThreeFiles");
Path pathToFile1 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "1.csv");
Path pathToFile2 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "2.csv");
Path pathToFile3 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "3.csv");
Path pathToFile4 = Paths.get("src", "test", "resources", "dirWithThreeFiles", "inner", "1.csv");
String expectedRelativePathToFile1 = "1.csv";
String expectedRelativePathToFile2 = "2.csv";
String expectedRelativePathToFile3 = "3.csv";
String expectedRelativePathToFile4 = "inner/1.csv";
File rootFile = new File(pathToDirectory.toUri());
GSObjectUtil gsObjectUtil = new GSObjectUtil();
Map<String, File> files = gsObjectUtil.generateFileMap(rootFile, "");
assertEquals(4, files.size());
File expectedFile1 = new File(pathToFile1.toUri());
File expectedFile2 = new File(pathToFile2.toUri());
File expectedFile3 = new File(pathToFile3.toUri());
File expectedFile4 = new File(pathToFile4.toUri());
assertTrue(files.containsKey(expectedRelativePathToFile1));
assertTrue(files.containsKey(expectedRelativePathToFile2));
assertTrue(files.containsKey(expectedRelativePathToFile3));
assertTrue(files.containsKey(expectedRelativePathToFile4));
assertEquals(expectedFile1.getAbsoluteFile(), files.get(expectedRelativePathToFile1).getAbsoluteFile());
assertEquals(expectedFile2.getAbsoluteFile(), files.get(expectedRelativePathToFile2).getAbsoluteFile());
assertEquals(expectedFile3.getAbsoluteFile(), files.get(expectedRelativePathToFile3).getAbsoluteFile());
assertEquals(expectedFile4.getAbsoluteFile(), files.get(expectedRelativePathToFile4).getAbsoluteFile());
}
@Test
void oneFileWithCustomPathTest(){
Path pathToFile = Paths.get("src","test", "resources", "empty.csv");
String pathToFolder = "/folder/folder";
File expectedFile = new File(pathToFile.toUri());
GSObjectUtil gsObjectUtil = new GSObjectUtil();
Map<String, File> files = gsObjectUtil.generateFileMap(expectedFile, pathToFolder);
String expectedRelativePathToFile = "/folder/folder/empty.csv";
assertEquals(1, files.size());
assertTrue(files.containsKey(expectedRelativePathToFile));
assertEquals(expectedFile.getAbsoluteFile(), files.get(expectedRelativePathToFile).getAbsoluteFile());
}
@Test
void oneFileWithOtherCustomPathTest(){
Path pathToFile = Paths.get("src","test", "resources", "empty.csv");
String pathToFolder = "folder/folder";
File expectedFile = new File(pathToFile.toUri());
GSObjectUtil gsObjectUtil = new GSObjectUtil();
Map<String, File> files = gsObjectUtil.generateFileMap(expectedFile, pathToFolder);
String expectedRelativePathToFile = "folder/folder/empty.csv";
assertEquals(1, files.size());
assertTrue(files.containsKey(expectedRelativePathToFile));
assertEquals(expectedFile.getAbsoluteFile(), files.get(expectedRelativePathToFile).getAbsoluteFile());
}
@Test
void folderWithOtherCustomPathTest(){
Path pathToFolder = Paths.get("src", "test", "resources", "dirWithThreeFiles", "inner");
String pathToGSFolder = "folder";
File folder = new File(pathToFolder.toUri());
GSObjectUtil gsObjectUtil = new GSObjectUtil();
Map<String, File> files = gsObjectUtil.generateFileMap(folder, pathToGSFolder);
String expectedRelativePathToFile = "folder/1.csv";
File expectedFile = new File(pathToFolder + "/1.csv");
assertEquals(1, files.size());
assertTrue(files.containsKey(expectedRelativePathToFile));
assertEquals(expectedFile.getAbsoluteFile(), files.get(expectedRelativePathToFile).getAbsoluteFile());
}
}

View File

@@ -170,7 +170,7 @@
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.0</version>
<version>1.9.4</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -310,7 +310,7 @@
<link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
<link>http://www.junit.org/junit/javadoc/</link>
<link>
http://jakarta.apache.org/commons/beanutils/commons-beanutils-1.7.0/docs/api/
http://jakarta.apache.org/commons/beanutils/commons-beanutils-1.9.4/docs/api/
</link>
<link>
http://jakarta.apache.org/commons/lang/api-2.2/

View File

@@ -51,7 +51,8 @@ public abstract class AbstractJSONObjectStaticBuildersTestCase extends TestCase
jsonConfig.setIgnoreDefaultExcludes( true );
JSONObject json = JSONObject.fromObject( getSource(), jsonConfig );
assertJSONObject( json, getProperties() );
assertTrue( json.has( "class" ) );
//see : https://github.com/apache/commons-beanutils/compare/BEANUTILS_1_9_3...commons-beanutils-1.9.4#diff-dbeaa70d3a09169fb5a1e42e5b319037R34-R43
//assertTrue( json.has( "class" ) );
assertTrue( !json.has( "pexcluded" ) );
}

View File

@@ -199,7 +199,8 @@ public class TestJSONObject extends TestCase {
jsonConfig.setIgnoreDefaultExcludes( true );
jsonObject.element( "bean", new ObjectBean(), jsonConfig );
JSONObject actual = jsonObject.getJSONObject( "bean" );
Assertions.assertTrue( actual.has( "class" ) );
//see : https://github.com/apache/commons-beanutils/compare/BEANUTILS_1_9_3...commons-beanutils-1.9.4#diff-dbeaa70d3a09169fb5a1e42e5b319037R34-R43
//Assertions.assertTrue( actual.has( "class" ) );
Assertions.assertTrue( !actual.has( "pexcluded" ) );
}
@@ -258,7 +259,8 @@ public class TestJSONObject extends TestCase {
jsonObject.element( "list", list, jsonConfig );
JSONObject actual = jsonObject.getJSONArray( "list" )
.getJSONObject( 0 );
Assertions.assertTrue( actual.has( "class" ) );
//see : https://github.com/apache/commons-beanutils/compare/BEANUTILS_1_9_3...commons-beanutils-1.9.4#diff-dbeaa70d3a09169fb5a1e42e5b319037R34-R43
//Assertions.assertTrue( actual.has( "class" ) );
Assertions.assertTrue( !actual.has( "pexcluded" ) );
}

View File

@@ -13,9 +13,9 @@
<optional>true</optional>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>

View File

@@ -1,26 +1,64 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend</groupId>
<groupId>org.talend.libraries</groupId>
<artifactId>mdm_transaction</artifactId>
<name>mdm_transaction</name>
<version>1.2.0</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
</properties>
<distributionManagement>
<snapshotRepository>
<id>talend_nexus_deployment</id>
<url>${talend.nexus.url}/nexus/content/repositories/TalendOpenSourceSnapshot/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</snapshotRepository>
<repository>
<id>talend_nexus_deployment</id>
<url>${talend.nexus.url}/nexus/content/repositories/TalendOpenSourceRelease/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</distributionManagement>
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.0</version>
<exclusions>
<exclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
@@ -49,5 +87,4 @@
</testResource>
</testResources>
</build>
<version>1</version>
</project>

View File

@@ -1,13 +1,12 @@
package com.talend.mdm.transaction.client;
import java.io.IOException;
import java.util.Base64;
import java.util.List;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.PostMethod;
@@ -26,24 +25,27 @@ public class MDMTransaction {
public void commit() throws IOException {
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
client.getParams().setAuthenticationPreemptive(true);
byte[] authBytes = (username + ":" + password).getBytes("UTF-8");
String authString = Base64.getEncoder().encodeToString(authBytes);
HttpMethod method = new PostMethod(url + "/" + id);
method.setDoAuthentication(true);
HttpMethod post = new PostMethod(url + "/" + id);
post.setDoAuthentication(true);
post.setRequestHeader("Authorization", "Basic " + authString);
try {
for (String cookie : cookies) {
method.addRequestHeader("Cookie", cookie);
post.addRequestHeader("Cookie", cookie);
}
client.executeMethod(method);
client.executeMethod(post);
} catch (HttpException e) {
throw e;
} catch (IOException e) {
throw e;
} finally {
method.releaseConnection();
post.releaseConnection();
}
int statuscode = method.getStatusCode();
int statuscode = post.getStatusCode();
if (statuscode >= 400) {
throw new MDMTransactionException("Commit failed. The commit operation has returned the code " + statuscode + ".");
}
@@ -51,24 +53,27 @@ public class MDMTransaction {
public void rollback() throws IOException {
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
client.getParams().setAuthenticationPreemptive(true);
byte[] authBytes = (username + ":" + password).getBytes("UTF-8");
String authString = Base64.getEncoder().encodeToString(authBytes);
HttpMethod method = new DeleteMethod(url + "/" + id);
method.setDoAuthentication(true);
HttpMethod delete = new DeleteMethod(url + "/" + id);
delete.setDoAuthentication(true);
delete.setRequestHeader("Authorization", "Basic " + authString);
try {
for (String cookie : cookies) {
method.addRequestHeader("Cookie", cookie);
delete.addRequestHeader("Cookie", cookie);
}
client.executeMethod(method);
client.executeMethod(delete);
} catch (HttpException e) {
throw e;
} catch (IOException e) {
throw e;
} finally {
method.releaseConnection();
delete.releaseConnection();
}
int statuscode = method.getStatusCode();
int statuscode = delete.getStatusCode();
if (statuscode >= 400) {
throw new MDMTransactionException(
"Rollback failed. The rollback operation has returned the code " + statuscode + ".");

View File

@@ -2,14 +2,13 @@ package com.talend.mdm.transaction.client;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PutMethod;
@@ -18,11 +17,13 @@ public class MDMTransactionClient {
public static MDMTransaction newTransaction(String url, String username, String password) throws IOException {
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
client.getParams().setAuthenticationPreemptive(true);
byte[] authBytes = (username + ":" + password).getBytes("UTF-8");
String authString = Base64.getEncoder().encodeToString(authBytes);
PutMethod put = new PutMethod(url);
put.setDoAuthentication(true);
put.setRequestHeader("Authorization", "Basic " + authString);
String tid;
List<String> cookies;
try {
@@ -76,11 +77,13 @@ public class MDMTransactionClient {
public static List<String> getCookies(String url, String username, String password) throws IOException {
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
client.getParams().setAuthenticationPreemptive(true);
byte[] authBytes = (username + ":" + password).getBytes("UTF-8");
String authString = Base64.getEncoder().encodeToString(authBytes);
GetMethod get = new GetMethod(url);
get.setDoAuthentication(true);
get.setRequestHeader("Authorization", "Basic " + authString);
List<String> cookies;
try {
client.executeMethod(get);

View File

@@ -20,7 +20,7 @@
<groupId>org.talend.components</groupId>
<artifactId>components-servicenow</artifactId>
<name>servicenow</name>
<version>1.0.1</version>
<version>1.0.1-20200824</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
@@ -41,7 +41,7 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.6</version>
<version>1.14</version>
<type>jar</type>
</dependency>
<dependency>

View File

@@ -73,11 +73,10 @@
<artifactId>geronimo-stax-api_1.0_spec</artifactId>
<version>1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
<dependency>
<groupId>dom4j</groupId>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
<version>2.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
<dependency>

View File

@@ -1,9 +1,9 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.libraries</groupId>
<artifactId>talend-soap</artifactId>
<version>2.1-20190716</version>
<groupId>org.talend.components</groupId>
<artifactId>components-soap</artifactId>
<version>2.2-20200824</version>
<packaging>jar</packaging>
<name>talend-soap</name>
@@ -63,12 +63,12 @@
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.6.2</version>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
<version>1.14</version>
</dependency>
</dependencies>
<build>

View File

@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.components.lib</groupId>
<artifactId>job-audit</artifactId>
<version>1.2</version>
<groupId>org.talend.libraries</groupId>
<artifactId>job-audit</artifactId>
<version>1.1</version>
<properties>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
<daikon.audit.version>1.16.0</daikon.audit.version>
</properties>
<repositories>
<repository>
<id>talend_nexus</id>
@@ -23,7 +24,7 @@
<url>${talend.nexus.url}/nexus/content/repositories/TalendOpenSourceRelease/</url>
</repository>
</repositories>
<distributionManagement>
<snapshotRepository>
<id>talend_nexus_deployment</id>
@@ -46,47 +47,54 @@
</releases>
</repository>
</distributionManagement>
<dependencies>
<dependency>
<groupId>org.talend.daikon</groupId>
<artifactId>audit-common</artifactId>
<version>1.8.0</version>
</dependency>
<!--
<dependencies>
<dependency>
<groupId>org.talend.daikon</groupId>
<artifactId>audit-log4j1</artifactId>
<version>1.8.0</version>
<groupId>org.talend.daikon</groupId>
<artifactId>audit-common</artifactId>
<version>${daikon.audit.version}</version>
</dependency>
<!-- <dependency> <groupId>org.talend.daikon</groupId> <artifactId>audit-log4j1</artifactId>
<version>${daikon.audit.version}</version> </dependency> <dependency> <groupId>log4j</groupId>
<artifactId>log4j</artifactId> <version>1.2.17</version> <scope>test</scope>
</dependency> -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>test</scope>
</dependency>
-->
<groupId>org.talend.daikon</groupId>
<artifactId>audit-log4j2</artifactId>
<version>${daikon.audit.version}</version>
</dependency>
<dependency>
<groupId>org.talend.daikon</groupId>
<artifactId>audit-log4j2</artifactId>
<version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.12.1</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
<optional>true</optional>
</dependency>
</dependencies>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.12.1</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

View File

@@ -6,20 +6,23 @@ import org.talend.logging.audit.EventAuditLogger;
import org.talend.logging.audit.LogLevel;
public interface JobAuditLogger extends EventAuditLogger {
@AuditEvent(category = "job", message = "Job start : job_name:{jobName}, job_version:{jobVersion}, job_id:{jobId}, timestamp:{timestamp}", level = LogLevel.INFO)
void jobstart(Context context);
@AuditEvent(category = "job", message = "Job stop : job_name:{jobName}, job_version:{jobVersion}, job_id:{jobId}, timestamp:{timestamp}, status:{status}, duration:{duration}", level = LogLevel.INFO)
void jobstop(Context context);
@AuditEvent(category = "connector", message = "Component run : job_name:{jobName}, job_version:{jobVersion}, job_id:{jobId}, connector_type:{connectorType}, connector_id:{connectorId}", level = LogLevel.INFO)
void runcomponent(Context context);
@AuditEvent(category = "connection", message = "Component {connectorType} {connectionType} {rows} rows in {duration} with {connectionName} line", level = LogLevel.INFO)
void flowOutput(Context context);
@AuditEvent(category = "connection", message = "Component {connectorType} received {rows} rows in {duration} with {connectionName} line", level = LogLevel.INFO)
void flowInput(Context context);
@AuditEvent(category = "jobstart", message = "Job start : job_name:{job_name}, job_version:{job_version}, job_id:{job_id}, timestamp:{timestamp}", level = LogLevel.INFO)
void jobstart(Context context);
@AuditEvent(category = "jobstop", message = "Job stop : job_name:{job_name}, job_version:{job_version}, job_id:{job_id}, timestamp:{timestamp}, status:{status}, duration:{duration}", level = LogLevel.INFO)
void jobstop(Context context);
@AuditEvent(category = "runcomponent", message = "Component run : job_name:{job_name}, job_version:{job_version}, job_id:{job_id}, connector_type:{connector_type}, connector_id:{connector_id}, connector_label:{connector_label}", level = LogLevel.INFO)
void runcomponent(Context context);
@AuditEvent(category = "flowoutput", message = "Component {connector_type} {connector_label} {connection_type} {rows} rows in {duration} with {connection_name} line", level = LogLevel.INFO)
void flowOutput(Context context);
@AuditEvent(category = "flowinput", message = "Component {connector_type} {connector_label} received {rows} rows in {duration} with {connection_name} line", level = LogLevel.INFO)
void flowInput(Context context);
@AuditEvent(category = "flowexecution", message = "connection : {connection_name}, row : {rows}, cost : {duration}", level = LogLevel.INFO)
void flowExecution(Context context);
}

View File

@@ -5,86 +5,160 @@ import org.talend.logging.audit.ContextBuilder;
public class JobContextBuilder {
private final ContextBuilder builder;
private final ContextBuilder builder;
public JobContextBuilder(ContextBuilder builder) {
this.builder = builder;
}
public JobContextBuilder(ContextBuilder builder) {
this.builder = builder;
}
public static JobContextBuilder create() {
return new JobContextBuilder(ContextBuilder.create());
}
public static JobContextBuilder create() {
return new JobContextBuilder(ContextBuilder.create());
}
public JobContextBuilder jobName(String jobName) {
builder.with("jobName", jobName);
return this;
}
public JobContextBuilder jobVersion(String jobVersion) {
builder.with("jobVersion", jobVersion);
return this;
}
public JobContextBuilder jobId(String jobId) {
builder.with("jobId", jobId);
return this;
}
/**
* component type like "tXMLMap"
* @param connectorType
* @return self
*/
public JobContextBuilder connectorType(String connectorType) {
builder.with("connectorType", connectorType);
return this;
}
/**
* component type like "tXMLMap_1"
* @param connectorType
* @return self
*/
public JobContextBuilder connectorId(String connectorId) {
builder.with("connectorId", connectorId);
return this;
}
public JobContextBuilder rows(long rowCount) {
builder.with("rows", String.valueOf(rowCount));
return this;
}
//output or reject
public JobContextBuilder connectionType(String connectionType) {
builder.with("connectionType", connectionType);
return this;
}
//like "row1"
public JobContextBuilder connectionName(String connectionName) {
builder.with("connectionName", connectionName);
return this;
}
//100s
public JobContextBuilder duration(String duration) {
builder.with("duration", duration);
return this;
}
public JobContextBuilder timestamp(String timestamp) {
builder.with("timestamp", timestamp);
return this;
}
public JobContextBuilder status(String status) {
builder.with("status", status);
return this;
}
public JobContextBuilder jobName(String job_name) {
builder.with("job_name", job_name);
return this;
}
public Context build() {
return builder.build();
}
public JobContextBuilder jobVersion(String job_version) {
builder.with("job_version", job_version);
return this;
}
public JobContextBuilder jobId(String job_id) {
builder.with("job_id", job_id);
return this;
}
/**
* component label, default is unique name like "tXMLMap_1", but user can adjust
* it in studio to any value
*
* @param connectorType
* @return self
*/
public JobContextBuilder connectorLabel(String connector_label) {
builder.with("connector_label", connector_label);
return this;
}
/**
* component type like "tXMLMap"
*
* @param connectorType
* @return self
*/
public JobContextBuilder connectorType(String connector_type) {
builder.with("connector_type", connector_type);
return this;
}
/**
* component unique name like "tXMLMap_1"
*
* @param connectorType
* @return self
*/
public JobContextBuilder connectorId(String connector_id) {
builder.with("connector_id", connector_id);
return this;
}
public JobContextBuilder rows(long rows) {
builder.with("rows", String.valueOf(rows));
return this;
}
// output or reject
public JobContextBuilder connectionType(String connection_type) {
builder.with("connection_type", connection_type);
return this;
}
// like "row1"
public JobContextBuilder connectionName(String connection_name) {
builder.with("connection_name", connection_name);
return this;
}
// 100s
public JobContextBuilder duration(String duration) {
builder.with("duration", duration);
return this;
}
public JobContextBuilder timestamp(String timestamp) {
builder.with("timestamp", timestamp);
return this;
}
public JobContextBuilder status(String status) {
builder.with("status", status);
return this;
}
public Context build() {
return builder.build();
}
/**
* source connector id
*
* @return
*/
public JobContextBuilder sourceId(String source_id) {
builder.with("source_id", source_id);
return this;
}
/**
* source connector label
*
* @return
*/
public JobContextBuilder sourceLabel(String source_label) {
builder.with("source_label", source_label);
return this;
}
/**
* source connector name
*
* @return
*/
public JobContextBuilder sourceConnectorType(String source_connector_type) {
builder.with("source_connector_type", source_connector_type);
return this;
}
/**
* target connector id
*
* @return
*/
public JobContextBuilder targetId(String target_id) {
builder.with("target_id", target_id);
return this;
}
/**
* target connector label
*
* @return
*/
public JobContextBuilder targetLabel(String target_label) {
builder.with("target_label", target_label);
return this;
}
/**
* target connector name
*
* @return
*/
public JobContextBuilder targetConnectorType(String target_connector_type) {
builder.with("target_connector_type", target_connector_type);
return this;
}
}

View File

@@ -5,45 +5,47 @@ import java.util.Properties;
import org.talend.logging.audit.AuditLoggerFactory;
import org.talend.logging.audit.EventAuditLogger;
import org.talend.logging.audit.impl.AbstractBackend;
import org.talend.logging.audit.impl.AuditConfiguration;
import org.talend.logging.audit.impl.AuditConfigurationMap;
import org.talend.logging.audit.impl.AuditLoggerBase;
import org.talend.logging.audit.impl.DefaultAuditLoggerBase;
import org.talend.logging.audit.impl.ProxyEventAuditLogger;
import org.talend.logging.audit.impl.*;
public class JobEventAuditLoggerFactory {
public static JobAuditLogger createJobAuditLogger(final Properties properties) {
final AuditConfigurationMap config = AuditConfiguration.loadFromProperties(properties);
AbstractBackend logger = null;
//load log4j2 implement firstly
String loggerClass = "org.talend.logging.audit.log4j2.Log4j2Backend";
try {
final Class<?> clz = Class.forName(loggerClass);
logger = (AbstractBackend) clz.getConstructor(AuditConfigurationMap.class).newInstance(config);
} catch (ReflectiveOperationException e) {
// do nothing
}
final DefaultAuditLoggerBase loggerBase;
//load log4j1 implement if not found log4j2
if (logger == null) {
loggerClass = "org.talend.logging.audit.log4j1.Log4j1Backend";
final Backends backend = AuditConfiguration.BACKEND.getValue(config, Backends.class);
if (backend == Backends.CUSTOM) {
loggerBase = new DefaultAuditLoggerBase(config);
} else {
AbstractBackend logger = null;
// load log4j2 implement firstly
String loggerClass = "org.talend.logging.audit.log4j2.Log4j2Backend";
try {
final Class<?> clz = Class.forName(loggerClass);
logger = (AbstractBackend) clz.getConstructor(AuditConfigurationMap.class).newInstance(config);
} catch (ReflectiveOperationException e) {
// do nothing
}
}
if(logger == null) {
throw new RuntimeException("Unable to load backend : " + loggerClass);
}
final DefaultAuditLoggerBase loggerBase = new DefaultAuditLoggerBase(logger, config);
// load log4j1 implement if not found log4j2
if (logger == null) {
loggerClass = "org.talend.logging.audit.log4j1.Log4j1Backend";
try {
final Class<?> clz = Class.forName(loggerClass);
logger = (AbstractBackend) clz.getConstructor(AuditConfigurationMap.class).newInstance(config);
} catch (ReflectiveOperationException e) {
// do nothing
}
}
if (logger == null) {
throw new RuntimeException("Unable to load backend : " + loggerClass);
}
loggerBase = new DefaultAuditLoggerBase(logger, config);
}
JobAuditLogger result = getEventAuditLogger(JobAuditLogger.class, loggerBase);
return result;

View File

@@ -1,9 +1,9 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.libraries</groupId>
<groupId>org.talend.components</groupId>
<artifactId>talend-mscrm</artifactId>
<version>3.4-20200330</version>
<version>3.4-20200824</version>
<packaging>jar</packaging>
<name>talend-mscrm</name>
@@ -110,7 +110,7 @@
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>1.6.4-20200211</version>
<version>1.6.4-20200824</version>
</dependency>
</dependencies>
<build>

View File

@@ -6,7 +6,7 @@
<groupId>org.talend.components.lib</groupId>
<artifactId>talend-proxy</artifactId>
<version>1.0.0</version>
<version>1.0.1</version>
<build>
<plugins>
<plugin>
@@ -46,9 +46,9 @@
<version>3.9</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
</dependencies>

View File

@@ -1,22 +1,20 @@
package org.talend.proxy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.net.Proxy;
import java.net.ProxySelector;
import java.net.SocketAddress;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import org.apache.log4j.Logger;
public class TalendProxySelector extends ProxySelector {
private static TalendProxySelector instance;
private static final Logger log = Logger.getLogger(TalendProxySelector.class);
private static final Logger log = LoggerFactory.getLogger(TalendProxySelector.class);
private ThreadLocal<ProxyHolder> threadLocalProxyHolder;
private ProxyHolder globalProxyHolder;

View File

@@ -4,7 +4,7 @@
<groupId>org.talend.libraries</groupId>
<artifactId>talend-webservice-input</artifactId>
<version>1.0.0-20170301</version>
<version>1.0.2</version>
<packaging>jar</packaging>
<name>talend-webservice-input</name>
@@ -51,6 +51,12 @@
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.2</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/wsdl4j/wsdl4j -->
<dependency>
@@ -64,12 +70,6 @@
<groupId>javax.xml</groupId>
<artifactId>jaxrpc-api</artifactId>
<version>1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
@@ -95,6 +95,7 @@
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>default-jar</id>

View File

@@ -18,7 +18,7 @@
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/commons-logging-1.1.1.jar" />
<pathelement location="${component.plugin.home}/tWriteJSONFieldIn/commons-lang-2.6.jar" />
<pathelement location="${component.plugin.home}/tWebService/commons-collections-3.2.1.jar" />
<pathelement location="${component.plugin.home}/tWebService/commons-beanutils-1.7.0.jar" />
<pathelement location="${component.plugin.home}/tWebService/commons-beanutils-1.9.4.jar" />
<pathelement location="${component.plugin.home}/tWebService/cxf-2.6.0-modified.jar" />
<pathelement location="${component.plugin.home}/tWebService/jaxb-xjc-2.2.5-modified.jar" />
<pathelement location="${component.plugin.home}/tWebService/jaxb-impl-2.2.5-modified.jar" />

View File

@@ -2,9 +2,9 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.libraries</groupId>
<groupId>org.talend.components</groupId>
<artifactId>talend-ws</artifactId>
<version>1.0.1-20191112</version>
<version>1.0.1-20200824</version>
<packaging>jar</packaging>
<properties>
@@ -43,7 +43,7 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
<version>1.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
<dependency>
@@ -85,7 +85,7 @@
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.3</version>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>

View File

@@ -48,4 +48,6 @@ please @see org\talend\ws\helper\ServiceDiscoveryHelper.java
please @see org\talend\ws\helper\ServiceInvokerHelper.java
org\talend\ws\mapper\MapperFactory.java
10.(2019-01-18 modified by dchmyga) fixed TDI-41647
10.(2019-01-18 modified by dchmyga) fixed TDI-41647
11.(2020-08-24 modified by ozhelezniak) updated commons-codec to 1.14 in scope of TDI-44145

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.libraries</groupId>
<artifactId>talendExcel-1.5-20190731</artifactId>
<artifactId>talendExcel-1.5-20200825</artifactId>
<version>6.0.0</version>
<packaging>jar</packaging>
@@ -73,11 +73,10 @@
<artifactId>geronimo-stax-api_1.0_spec</artifactId>
<version>1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
<dependency>
<groupId>dom4j</groupId>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
<version>2.1.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
<dependency>

View File

@@ -6,11 +6,13 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.GeneralSecurityException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.poifs.crypt.Decryptor;
import org.apache.poi.poifs.crypt.EncryptionInfo;
import org.apache.poi.poifs.crypt.EncryptionMode;
import org.apache.poi.poifs.crypt.Encryptor;
@@ -158,9 +160,13 @@ public class ExcelTool {
}
}
private void appendActionForFile(String fileName) throws IOException {
InputStream inp = new FileInputStream(fileName);
wb = WorkbookFactory.create(inp);
private void appendActionForFile(String fileName) throws Exception {
if (password == null) {
InputStream inp = new FileInputStream(fileName);
wb = WorkbookFactory.create(inp);
} else {
wb = readEncryptedFile(fileName);
}
sheet = wb.getSheet(sheetName);
if (sheet != null) {
if (appendSheet) {
@@ -185,10 +191,27 @@ public class ExcelTool {
}
private void initPreXlsx(String fileName) throws Exception {
InputStream preIns = new FileInputStream(fileName);
preWb = WorkbookFactory.create(preIns);
if(password == null) {
InputStream preIns = new FileInputStream(fileName);
preWb = WorkbookFactory.create(preIns);
} else {
preWb = readEncryptedFile(fileName);
}
preSheet = preWb.getSheet(sheetName);
}
private Workbook readEncryptedFile(String fileName)
throws IOException, GeneralSecurityException {
InputStream inp = new FileInputStream(fileName);
POIFSFileSystem fs = new POIFSFileSystem(inp);
EncryptionInfo info = new EncryptionInfo(fs);
Decryptor decryptor = Decryptor.getInstance(info);
if (!decryptor.verifyPassword(password)) {
throw new GeneralSecurityException("Error: Incorrect password!");
}
InputStream dataStream = decryptor.getDataStream(fs);
return WorkbookFactory.create(dataStream);
}
public void setFont(String fontName) {
if (StringUtils.isNotEmpty(fontName)) {

View File

@@ -4,7 +4,7 @@
<groupId>org.talend.components.lib</groupId>
<artifactId>talendsap</artifactId>
<name>talendsap</name>
<version>1.0.2</version>
<version>1.0.3</version>
<properties>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
@@ -35,9 +35,15 @@
<dependencies>
<dependency>
<groupId>dom4j</groupId>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>

View File

@@ -16,21 +16,11 @@ public class DocumentExtractor {
public DocumentExtractor(Document doc,String function) {
this.doc = doc;
this.finalFunction = replaceNamespace(function);
this.finalFunction = SAPXMLCoder.encode(function);
}
/**
* the xml document which come from the cimt sap api will change the element name which contains "/" and convert "/" to "_-",
* we need to do the same thing for finding the element by the xpath
* @param name
* @return
*/
private String replaceNamespace(String name) {
return name.replace("/", "_-");
}
public String getSingleResult(String name) {
final String finalName = replaceNamespace(name);
final String finalName = SAPXMLCoder.encode(name);
XPath xpath = org.dom4j.DocumentHelper.createXPath(
sb.append("/").append(finalFunction).append("/OUTPUT/").append(finalName)
@@ -47,7 +37,7 @@ public class DocumentExtractor {
}
public List<String> getStructureResult(String structureName,List<String> names) {
final String finalStructureName = replaceNamespace(structureName);
final String finalStructureName = SAPXMLCoder.encode(structureName);
XPath xpath = org.dom4j.DocumentHelper.createXPath(
sb.append("/").append(finalFunction).append("/OUTPUT/").append(finalStructureName)
@@ -65,7 +55,7 @@ public class DocumentExtractor {
List<String> result = new ArrayList<String>();
for(String name : names) {
final String finalName = replaceNamespace(name);
final String finalName = SAPXMLCoder.encode(name);
Node subNode = node.selectSingleNode(finalName);
if(subNode == null) {
result.add(null);
@@ -78,7 +68,7 @@ public class DocumentExtractor {
}
public List<List<String>> getTableResult(String tableName,List<String> names) {
final String finalTableName = replaceNamespace(tableName);
final String finalTableName = SAPXMLCoder.encode(tableName);
List<List<String>> result = new ArrayList<List<String>>();
@@ -112,7 +102,7 @@ public class DocumentExtractor {
for(Element element : elements) {
List<String> row = new ArrayList<String>();
for(String name : names) {
final String finalName = replaceNamespace(name);
final String finalName = SAPXMLCoder.encode(name);
Element subElement = element.element(finalName);
if(subElement == null) {
row.add(null);

View File

@@ -28,7 +28,7 @@ public class DocumentHelper {
}
public void setFunctionName(String name) {
root = doc.addElement(name);
root = doc.addElement(SAPXMLCoder.encode(name));
}
private void correctInput() {
@@ -55,20 +55,20 @@ public class DocumentHelper {
}
if (parameter_type == SAPParameterType.CHANGING) {
correctChanging();
changing.addElement(name).setText(value);
changing.addElement(SAPXMLCoder.encode(name)).setText(value);
} else {
correctInput();
input.addElement(name).setText(value);
input.addElement(SAPXMLCoder.encode(name)).setText(value);
}
}
public void addStructParameter(String name, SAPParameterType parameter_type) {
if (parameter_type == SAPParameterType.CHANGING) {
correctChanging();
currentStruct = changing.addElement(name);
currentStruct = changing.addElement(SAPXMLCoder.encode(name));
} else {
correctInput();
currentStruct = input.addElement(name);
currentStruct = input.addElement(SAPXMLCoder.encode(name));
}
}
@@ -76,19 +76,19 @@ public class DocumentHelper {
if(value == null) {
value = "";
}
currentStruct.addElement(name).setText(value);
currentStruct.addElement(SAPXMLCoder.encode(name)).setText(value);
}
public void addTableParameter(String name, SAPParameterType parameter_type) {
if (parameter_type == SAPParameterType.CHANGING) {
correctChanging();
currentTable = changing.addElement(name);
currentTable = changing.addElement(SAPXMLCoder.encode(name));
} else if(parameter_type == SAPParameterType.TABLES) {
correctTables();
currentTable = tables.addElement(name);
currentTable = tables.addElement(SAPXMLCoder.encode(name));
} else {
correctInput();
currentTable = input.addElement(name);
currentTable = input.addElement(SAPXMLCoder.encode(name));
}
}
@@ -100,66 +100,11 @@ public class DocumentHelper {
if(value == null) {
value = "";
}
currentRow.addElement(name).setText(value);
currentRow.addElement(SAPXMLCoder.encode(name)).setText(value);
}
public Document getDocument() {
return doc;
}
public static void main(String[] args) throws IOException {
DocumentHelper helper = new DocumentHelper();
helper.setFunctionName("READ_TABLE_FUNCTION");
helper.addSingleParameter("ID", "1", SAPParameterType.CHANGING);
helper.addSingleParameter("NAME", "gaoyan", SAPParameterType.IMPORT);
helper.addStructParameter("INFO", SAPParameterType.CHANGING);
helper.addStructChildParameter("ID", "2");
helper.addStructChildParameter("NAME", "wangwei");
helper.addStructParameter("INFO1", SAPParameterType.IMPORT);
helper.addStructChildParameter("ID1", "4");
helper.addStructChildParameter("NAME1", "momo");
helper.addTableParameter("TABLE1", SAPParameterType.TABLES);
for (int i = 0; i < 200000; i++) {
helper.addTableRow();
helper.addTableRowChildParameter("c1", i + "");
helper.addTableRowChildParameter("c2", "wangwei" + i);
helper.addTableRowChildParameter("c3", "wangwei" + i);
helper.addTableRowChildParameter("c4", "wangwei" + i);
helper.addTableRowChildParameter("c5", "wangwei" + i);
helper.addTableRowChildParameter("c6", "wangwei" + i);
helper.addTableRowChildParameter("c7", "wangwei" + i);
helper.addTableRowChildParameter("c8", "wangwei" + i);
}
helper.addTableParameter("TABLE2", SAPParameterType.TABLES);
for (int i = 0; i < 2; i++) {
helper.addTableRow();
helper.addTableRowChildParameter("ID4", i + "");
helper.addTableRowChildParameter("NAME4", "gaoyan" + i);
}
// StringWriter sw = new StringWriter();
// OutputFormat format = OutputFormat.createPrettyPrint();
// XMLWriter writer = new XMLWriter(sw, format);
Document doc = helper.getDocument();
// writer.write(doc);
// System.out.println(sw.toString());
DocumentExtractor ext = new DocumentExtractor(doc,"READ_TABLE_FUNCTION");
String single = ext.getSingleResult("ID");
System.out.println(single);
List<String> struct = ext.getStructureResult("INFO", Arrays.asList("ID","NAME"));
System.out.println(struct);
List<List<String>> table = ext.getTableResult("TABLE1", Arrays.asList("c1","c2","c3","c4","c5","c6","c7","c8"));
for(List<String> row : table) {
System.out.println(row);
}
}
}

View File

@@ -0,0 +1,124 @@
package org.talend.sap;
/**
* sap <-> valid xml element name by coder
*
* first char :
* 0 <-> _0
* 1 <-> _1
* 2 <-> _2
* ...
* 9 <-> _9
*
* any location char
* / <-> _-
*/
public class SAPXMLCoder {
/**
* convert sapname to xmlname
* @param sapname
* @return
*/
public static String encode(String sapname) {
if(sapname == null) {
return sapname;
}
StringBuilder sb = new StringBuilder();
for(int i=0;i<sapname.length();i++) {
char c = sapname.charAt(i);
if(i==0) {
if(isDigit(c)) {
sb.append('_').append(c);
} else if(c == '/'){
sb.append("_-");
} else {
sb.append(c);
}
} else {
if(c == '/'){
sb.append("_-");
} else {
sb.append(c);
}
}
}
return sb.toString();
}
/**
* convert xmlname to sapname
* @param xmlname
* @return
*/
static String decode(String xmlname) {
if(xmlname == null) {
return xmlname;
}
StringBuilder sb = new StringBuilder();
for(int i=0;i<xmlname.length();i++) {
char c = xmlname.charAt(i);
if(i==0) {
if(c == '_') {
int next_index = i + 1;
if(next_index < xmlname.length()) {
char next = xmlname.charAt(next_index);
if(isDigit(next)) {
sb.append(next);
i++;
} else if(next == '-') {
sb.append('/');
i++;
} else {
sb.append(c);
}
} else {
sb.append(c);
}
} else {
sb.append(c);
}
} else {
if(c == '_') {
int next_index = i + 1;
if(next_index < xmlname.length()) {
char next = xmlname.charAt(next_index);
if(next == '-') {
sb.append('/');
i++;
} else {
sb.append(c);
}
} else {
sb.append(c);
}
} else {
sb.append(c);
}
}
}
return sb.toString();
}
private static boolean isDigit(char c) {
return c>=48 && c<=57;
}
public static void main(String[] args) {
//ecnode
System.out.println(encode("/CMT/TLND_TABLE"));
System.out.println(encode("0CMT0TLND_TABLE"));
System.out.println(encode("1CMT1TLND_TABLE"));
//decode
System.out.println(decode(encode("/CMT/TLND_TABLE")));
System.out.println(decode(encode("0CMT0TLND_TABLE")));
System.out.println(decode(encode("1CMT1TLND_TABLE")));
}
}

View File

@@ -0,0 +1,75 @@
package org.talend.sap;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.List;
import org.dom4j.Document;
import org.junit.Test;
public class BasicTest {
@Test
public void testSAPXMLCoder() {
assertEquals("_-CMT_-TLND_TABLE", SAPXMLCoder.encode("/CMT/TLND_TABLE"));
assertEquals("_0CMT0TLND_TABLE", SAPXMLCoder.encode("0CMT0TLND_TABLE"));
assertEquals("/CMT/TLND_TABLE", SAPXMLCoder.decode(SAPXMLCoder.encode("/CMT/TLND_TABLE")));
assertEquals("0CMT0TLND_TABLE", SAPXMLCoder.decode(SAPXMLCoder.encode("0CMT0TLND_TABLE")));
assertEquals("BAPI_MATERIAL_GET_ALL", SAPXMLCoder.decode(SAPXMLCoder.encode("BAPI_MATERIAL_GET_ALL")));
assertEquals("2STEP_PICK", SAPXMLCoder.decode(SAPXMLCoder.encode("2STEP_PICK")));
}
@Test
public void testDocumentHelperAndExtractor() {
DocumentHelper helper = new DocumentHelper();
String function = "/CMT/TLND_TABLE";
helper.setFunctionName(function);
helper.addSingleParameter("ID", "1", SAPParameterType.CHANGING);
helper.addSingleParameter("NAME", "gaoyan", SAPParameterType.IMPORT);
helper.addStructParameter("INFO", SAPParameterType.CHANGING);
helper.addStructChildParameter("ID", "2");
helper.addStructChildParameter("NAME", "wangwei");
helper.addStructParameter("INFO1", SAPParameterType.IMPORT);
helper.addStructChildParameter("ID1", "4");
helper.addStructChildParameter("NAME1", "momo");
helper.addTableParameter("TABLE1", SAPParameterType.TABLES);
for (int i = 0; i < 10; i++) {
helper.addTableRow();
helper.addTableRowChildParameter("c1", i + "");
helper.addTableRowChildParameter("c2", "wangwei" + i);
helper.addTableRowChildParameter("c3", "wangwei" + i);
helper.addTableRowChildParameter("c4", "wangwei" + i);
helper.addTableRowChildParameter("c5", "wangwei" + i);
helper.addTableRowChildParameter("c6", "wangwei" + i);
helper.addTableRowChildParameter("c7", "wangwei" + i);
helper.addTableRowChildParameter("c8", "wangwei" + i);
}
helper.addTableParameter("TABLE2", SAPParameterType.TABLES);
for (int i = 0; i < 2; i++) {
helper.addTableRow();
helper.addTableRowChildParameter("ID4", i + "");
helper.addTableRowChildParameter("NAME4", "gaoyan" + i);
}
Document doc = helper.getDocument();
DocumentExtractor ext = new DocumentExtractor(doc,function);
String single = ext.getSingleResult("ID");
assertEquals("1", single);
List<String> struct = ext.getStructureResult("INFO", Arrays.asList("ID","NAME"));
assertEquals(java.util.Arrays.asList("2", "wangwei"), struct);
List<List<String>> table = ext.getTableResult("TABLE1", Arrays.asList("c1","c2","c3","c4","c5","c6","c7","c8"));
assertEquals(10, table.size());
}
}

View File

@@ -132,7 +132,7 @@ int tmp_batchUpdateCount_<%=cid%> = 0;
int deletedCount_<%=cid%>=0;
int updatedCount_<%=cid%>=0;
int insertedCount_<%=cid%>=0;
int rowsToCommitCount_<%=cid%>=0;
String tableName_<%=cid%> = <%=table%>;
boolean whetherReject_<%=cid%> = false;

View File

@@ -4,6 +4,7 @@ imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.process.IConnection
org.talend.core.model.process.IProcess
java.util.List
"
%>
@@ -14,11 +15,15 @@ imports="
String cid = node.getUniqueName();
dbLog = new DBLogUtil(node);
IProcess process = node.getProcess();
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String commitEvery = ElementParameterParser.getValue(node, "__COMMIT_EVERY__");
String useExistingConn = ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__");
boolean setAutoCommit = false;
boolean useExistingConnection = "true".equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
String useCommitControl = ElementParameterParser.getValue(node,"__USE_COMMIT_CONTROL__");
@@ -30,6 +35,17 @@ imports="
IConnection rejectConn = rejectConns.get(0);
rejectConnName = rejectConn.getName();
}
String connection = ElementParameterParser.getValue(node,"__CONNECTION__");
if(useExistingConnection) {
List<? extends INode> nodes = process.getNodesOfType("tAS400Connection");
for (INode ne:nodes) {
if (connection.equals(ne.getUniqueName())) {
setAutoCommit = "true".equals(ElementParameterParser.getValue(ne, "__AUTO_COMMIT__"));
break;
}
}
}
boolean useBatch = (rejectConnName == null)
&& (
@@ -82,15 +98,19 @@ imports="
%>
resourceMap.put("statementClosed_<%=cid%>", true);
<%
if(!("true").equals(useExistingConn)) {
if(!useExistingConnection) {
if(("true").equals(useCommitControl)) {
if(!("").equals(commitEvery) && !("0").equals(commitEvery)) {
%>
if(commitCounter_<%=cid%> > 0) {
<%dbLog.commit().commitTry(null, dbLog.var("commitCounter"));%>
conn_<%=cid%>.commit();
<%dbLog.commit().commitDone(null);%>
if(commitCounter_<%=cid%> > 0 && rowsToCommitCount_<%=cid%> != 0) {
<%dbLog.commit().commitTry(null, dbLog.var("rowsToCommitCount"));%>
}
conn_<%=cid%>.commit();
if(commitCounter_<%=cid%> > 0 && rowsToCommitCount_<%=cid%> != 0) {
<%dbLog.commit().commitDone(null);%>
rowsToCommitCount_<%=cid%> = 0;
}
commitCounter_<%=cid%> = 0;
<%
}
}

View File

@@ -310,7 +310,9 @@ skeleton="../templates/db_output_bulk.skeleton"
try {
nb_line_<%=cid%>++;
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
insertedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
<%dbLog.data().inserting(dbLog.var("nb_line"));%>
} catch(java.sql.SQLException e) {
whetherReject_<%=cid%> = true;
@@ -442,7 +444,9 @@ skeleton="../templates/db_output_bulk.skeleton"
try {
nb_line_<%=cid%>++;
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
updatedCount_<%=cid%> = updatedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
updatedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
<%dbLog.data().updating(dbLog.var("nb_line"));%>
} catch(java.sql.SQLException e) {
whetherReject_<%=cid%> = true;
@@ -589,7 +593,9 @@ skeleton="../templates/db_output_bulk.skeleton"
}
%>
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
updatedCount_<%=cid%> = updatedCount_<%=cid%> + pstmtUpdate_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmtUpdate_<%=cid %>.executeUpdate();
updatedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().updating(dbLog.var("nb_line"));%>
} catch(java.sql.SQLException e) {
@@ -665,7 +671,9 @@ skeleton="../templates/db_output_bulk.skeleton"
}
%>
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmtInsert_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmtInsert_<%=cid %>.executeUpdate();
insertedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().inserting(dbLog.var("nb_line"));%>
} catch(java.sql.SQLException e) {
@@ -795,6 +803,7 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
updateFlag_<%=cid%>=pstmtUpdate_<%=cid %>.executeUpdate();
updatedCount_<%=cid%> = updatedCount_<%=cid%>+updateFlag_<%=cid%>;
rowsToCommitCount_<%=cid%> += updateFlag_<%=cid%>;
if(updateFlag_<%=cid%> == 0) {
@@ -840,7 +849,9 @@ skeleton="../templates/db_output_bulk.skeleton"
}
%>
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmtInsert_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmtInsert_<%=cid %>.executeUpdate();
insertedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().inserting(dbLog.var("nb_line"));%>
}else{
@@ -930,7 +941,9 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
try {
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
deletedCount_<%=cid%> = deletedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
deletedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().deleting(dbLog.var("nb_line"));%>
} catch(java.sql.SQLException e) {
@@ -1014,10 +1027,15 @@ skeleton="../templates/db_output_bulk.skeleton"
}
<%
}%>
<%dbLog.commit().commitTry(null, dbLog.var("commitCounter"));%>
conn_<%=cid%>.commit();
<%dbLog.commit().commitDone(null);%>
commitCounter_<%=cid%>=0;
if(rowsToCommitCount_<%=cid%> != 0){
<%dbLog.commit().commitTry(null, dbLog.var("rowsToCommitCount"));%>
}
conn_<%=cid%>.commit();
if(rowsToCommitCount_<%=cid%> != 0){
<%dbLog.commit().commitDone(null);%>
rowsToCommitCount_<%=cid%> = 0;
}
commitCounter_<%=cid%>=0;
}
<%
}

View File

@@ -100,7 +100,7 @@ int nb_line_rejected_<%=cid%> = 0;
int deletedCount_<%=cid%>=0;
int updatedCount_<%=cid%>=0;
int insertedCount_<%=cid%>=0;
int rowsToCommitCount_<%=cid%>=0;
String tableName_<%=cid%> = <%=tableName%>;
boolean whetherReject_<%=cid%> = false;
java.sql.Connection conn_<%=cid%> = null;

View File

@@ -17,6 +17,7 @@ imports="
String dataAction = ElementParameterParser.getValue(node,"__DATA_ACTION__");
String commitEvery = ElementParameterParser.getValue(node, "__COMMIT_EVERY__");
boolean setAutoCommit = false;
boolean useExistingConnection = "true".equals(ElementParameterParser.getValue(node,"__USE_EXISTING_CONNECTION__"));
if(("INSERT_OR_UPDATE").equals(dataAction)) {
@@ -56,20 +57,25 @@ imports="
%>
resourceMap.put("statementClosed_<%=cid%>", true);
<%
if(!useExistingConnection)
{
if(!useExistingConnection){
if(!("").equals(commitEvery)&&!("0").equals(commitEvery)){
%>
if(rowsToCommitCount_<%=cid%> != 0){
<%dbLog.commit().commitTry(null, dbLog.var("rowsToCommitCount"));%>
}
conn_<%=cid%>.commit();
if(rowsToCommitCount_<%=cid%> != 0){
<%dbLog.commit().commitDone(null);%>
rowsToCommitCount_<%=cid%> = 0;
}
commitCounter_<%=cid%> = 0;
<%
}
%>
<%dbLog.commit().commitTry(null, dbLog.var("commitCounter"));%>
conn_<%=cid%>.commit();
<%dbLog.commit().commitDone(null);%>
<%
}
%>
<%dbLog.conn().closeTry(null);%>
conn_<%=cid%> .close();
<%dbLog.conn().closeDone(null);%>
resourceMap.put("finish_<%=cid%>", true);
<%dbLog.conn().closeTry(null);%>
conn_<%=cid%> .close();
<%dbLog.conn().closeDone(null);%>
resourceMap.put("finish_<%=cid%>", true);
<%
}
%>

View File

@@ -140,7 +140,9 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
try {
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
insertedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().inserting(dbLog.var("nb_line"));%>
} catch(java.lang.Exception e) {
@@ -230,7 +232,9 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
try {
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
updatedCount_<%=cid%> = updatedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
updatedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().updating(dbLog.var("nb_line"));%>
} catch(java.lang.Exception e) {
@@ -348,7 +352,9 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
try {
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
updatedCount_<%=cid%> = updatedCount_<%=cid%> + pstmtUpdate_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmtUpdate_<%=cid %>.executeUpdate();
updatedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().updating(dbLog.var("nb_line"));%>
} catch(java.lang.Exception e) {
@@ -410,7 +416,9 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
try{
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmtInsert_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmtInsert_<%=cid %>.executeUpdate();
insertedCount_<%=cid%> = processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().inserting(dbLog.var("nb_line"));%>
} catch(java.lang.Exception e) {
@@ -511,7 +519,8 @@ skeleton="../templates/db_output_bulk.skeleton"
nb_line_<%=cid%>++;
<%dbLog.data().updating(dbLog.var("nb_line"));%>
}
updatedCount_<%=cid%> = updatedCount_<%=cid%>+updateFlag_<%=cid%>;
updatedCount_<%=cid%> += updateFlag_<%=cid%>;
rowsToCommitCount_<%=cid%> += updateFlag_<%=cid%>;
} catch(java.lang.Exception e) {
whetherReject_<%=cid%> = true;
<%
@@ -573,7 +582,9 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
try {
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmtInsert_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmtInsert_<%=cid %>.executeUpdate();
insertedCount_<%=cid%> += processedCount_<%=cid%>;
rowsToCommitCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().inserting(dbLog.var("nb_line"));%>
} catch(java.lang.Exception e) {
@@ -585,7 +596,7 @@ skeleton="../templates/db_output_bulk.skeleton"
<%
} else {
%>
nb_line_<%=cid%>++;
nb_line_<%=cid%>++;
<%
if(rejectConnName != null && rejectColumnList != null && rejectColumnList.size() > 0) {
%>
@@ -652,7 +663,8 @@ skeleton="../templates/db_output_bulk.skeleton"
%>
try {
<%if(isEnableDebug){dbLog.data().sqlDebugPrint("globalMap.get(\""+cid+"_QUERY\")");}%>
deletedCount_<%=cid%> = deletedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
int processedCount_<%=cid%> = pstmt_<%=cid %>.executeUpdate();
deletedCount_<%=cid%> += processedCount_<%=cid%>;
nb_line_<%=cid%>++;
<%dbLog.data().deleting(dbLog.var("nb_line"));%>
} catch(java.lang.Exception e) {
@@ -697,7 +709,7 @@ skeleton="../templates/db_output_bulk.skeleton"
<%
for(IConnection outgoingConn : outgoingConns) {
if(rejectConnName == null || (rejectConnName != null && !outgoingConn.getName().equals(rejectConnName))) {
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
if(outgoingConn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)){
%>
<%=outgoingConn.getName()%> = new <%=outgoingConn.getName()%>Struct();
<%
@@ -713,21 +725,26 @@ skeleton="../templates/db_output_bulk.skeleton"
}
<%
}
////////////commit every////////////
if(!useExistingConnection) {
if(!("").equals(commitEvery) && !("0").equals(commitEvery)) {
%>
commitCounter_<%=cid%>++;
if(commitEvery_<%=cid%><=commitCounter_<%=cid%>) {
<%dbLog.commit().commitTry(null, dbLog.var("commitCounter"));%>
conn_<%=cid%>.commit();
<%dbLog.commit().commitDone(null);%>
commitCounter_<%=cid%>=0;
}
if(commitEvery_<%=cid%> <= commitCounter_<%=cid%>){
if(rowsToCommitCount_<%=cid%> != 0){
<%dbLog.commit().commitTry(null, dbLog.var("rowsToCommitCount"));%>
}
conn_<%=cid%>.commit();
if(rowsToCommitCount_<%=cid%> != 0){
<%dbLog.commit().commitDone(null);%>
rowsToCommitCount_<%=cid%> = 0;
}
commitCounter_<%=cid%>=0;
}
<%
}
}
}
}
%>

View File

@@ -465,7 +465,7 @@ class GenerateToolByDom4j{
}
%>
}
<%touchXMLNode.getXMLElement(parentName);%>.elements().add(orders_<%=cid %>[<%=currPos %>],<%touchXMLNode.getXMLNode(currEleName);%>);
<%touchXMLNode.getXMLElement(parentName);%>.elements().add(orders_<%=cid %>[<%=currPos %>],<%touchXMLNode.getXMLElement(currEleName);%>);
<%
}else{
%>
@@ -475,7 +475,7 @@ class GenerateToolByDom4j{
if(<%=currPos +1 %> < orders_<%=cid %>.length){
orders_<%=cid %>[<%=currPos +1 %>] = 0;
}
<%touchXMLNode.getXMLElement(parentName);%>.elements().add(orders_<%=cid %>[<%=currPos %>]++,<%touchXMLNode.getXMLNode(currEleName);%>);
<%touchXMLNode.getXMLElement(parentName);%>.elements().add(orders_<%=cid %>[<%=currPos %>]++,<%touchXMLNode.getXMLElement(currEleName);%>);
<%
}
}else{

View File

@@ -166,9 +166,19 @@ if ((metadatas != null) && (metadatas.size() > 0)) {
element.setText(value);
}
}
public void appendContent(org.dom4j.Element element, org.dom4j.Document doc) {
element.appendContent(doc);
List<org.dom4j.Element> childElements = doc.getRootElement().elements();
if(childElements.isEmpty()) {
element.appendContent(doc);
} else {
for(org.dom4j.Element elem : childElements) {
org.dom4j.Node node = elem.detach();
element.add(elem);
}
}
}
public void replaceDefaultNameSpace(org.dom4j.Element nestRoot){
if (nestRoot != null) {
boolean isDefaultNameSpaceAtRoot = "".equals(nestRoot.getQName().getNamespace().getPrefix());

View File

@@ -105,6 +105,7 @@ if(currentRowCount_<%=cid %> > 0){
}
%>
nestXMLTool_<%=cid%>.replaceDefaultNameSpace(doc_<%=cid%>.getRootElement());
nestXMLTool_<%=cid%>.removeWhiteSpaceTextNode(doc_<%=cid %>.getRootElement());
<%
if(!("true").equals(outputAsXSD) && !("true").equals(allowEmpty)){
%>

View File

@@ -211,7 +211,7 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="Java_DOM4J_2.1.1" MODULE="dom4j-2.1.1.jar" MVN="mvn:org.dom4j/dom4j/2.1.1" REQUIRED="true" BundleID="" />
<IMPORT NAME="Java_DOM4J" MODULE="dom4j-2.1.3.jar" MVN="mvn:org.dom4j/dom4j/2.1.3" REQUIRED="true" BundleID="" />
<IMPORT NAME="Java_JAXEN_1.1.6" MODULE="jaxen-1.1.6.jar" MVN="mvn:jaxen/jaxen/1.1.6" REQUIRED="true" BundleID="" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -58,7 +58,7 @@
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="SESSION_DURATION" FIELD="TEXT" NUM_ROW="15" REQUIRED="true"
<PARAMETER NAME="SESSION_DURATION" FIELD="TEXT" NUM_ROW="15"
SHOW_IF="ASSUME_ROLE == 'true'"
GROUP="AUTHENTICATION">
<DEFAULT>15</DEFAULT>
@@ -105,21 +105,131 @@
</PARAMETERS>
<ADVANCED_PARAMETERS>
<PARAMETER NAME="SET_STS_ENDPOINT" FIELD="CHECK" NUM_ROW="1" REQUIRED="true"
SHOW_IF="ASSUME_ROLE == 'true'">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="STS_ENDPOINT" FIELD="TEXT" NUM_ROW="1" REQUIRED="true"
SHOW_IF="(ASSUME_ROLE == 'true') AND (SET_STS_ENDPOINT == 'true')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="SET_STS_ENDPOINT"
FIELD="CHECK"
NUM_ROW="1"
NB_LINES="5"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="isShow[ASSUME_ROLE] AND (ASSUME_ROLE == 'true')"
>
</PARAMETER>
<PARAMETER
NAME="STS_ENDPOINT"
FIELD="TEXT"
NUM_ROW="1"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="isShow[SET_STS_ENDPOINT] AND (SET_STS_ENDPOINT == 'true')"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="SIGNING_REGION"
FIELD="OPENED_LIST"
NUM_ROW="2"
GROUP="ASSUME_ROLE_CONFIG"
REQUIRED="true"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<ITEMS DEFAULT="DEFAULT">
<ITEM NAME="DEFAULT" VALUE="DEFAULT" />
<ITEM NAME="GovCloud" VALUE="&quot;us-gov-west-1&quot;" />
<ITEM NAME="US_EAST_1" VALUE="&quot;us-east-1&quot;" />
<ITEM NAME="US_WEST_1" VALUE="&quot;us-west-1&quot;" />
<ITEM NAME="US_WEST_2" VALUE="&quot;us-west-2&quot;" />
<ITEM NAME="US_EAST_2" VALUE="&quot;us-east-2&quot;" />
<ITEM NAME="SA_EAST_1" VALUE="&quot;sa-east-1&quot;" />
<ITEM NAME="EU_WEST_1" VALUE="&quot;eu-west-1&quot;" />
<ITEM NAME="EU_CENTRAL_1" VALUE="&quot;eu-central-1&quot;" />
<ITEM NAME="EU_WEST_2" VALUE="&quot;eu-west-2&quot;" />
<ITEM NAME="EU_WEST_3" VALUE="&quot;eu-west-3&quot;" />
<ITEM NAME="EU_NORTH_1" VALUE="&quot;eu-north-1&quot;" />
<ITEM NAME="CN_NORTH_1" VALUE="&quot;cn-north-1&quot;" />
<ITEM NAME="CN_NORTHWEST_1" VALUE="&quot;cn-northwest-1&quot;" />
<ITEM NAME="AP_EAST_1" VALUE="&quot;ap-east-1&quot;" />
<ITEM NAME="AP_SOUTHEAST_1" VALUE="&quot;ap-southeast-1&quot;" />
<ITEM NAME="AP_SOUTHEAST_2" VALUE="&quot;ap-southeast-2&quot;" />
<ITEM NAME="AP_NORTHEAST_1" VALUE="&quot;ap-northeast-1&quot;" />
<ITEM NAME="AP_NORTHEAST_2" VALUE="&quot;ap-northeast-2&quot;" />
<ITEM NAME="AP_SOUTH_1" VALUE="&quot;ap-south-1&quot;" />
<ITEM NAME="CA_CENTRAL_1" VALUE="&quot;ca-central-1&quot;" />
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="EXTERNALID"
FIELD="TEXT"
NUM_ROW="3"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="SERIALNUMBER"
FIELD="TEXT"
NUM_ROW="4"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="TOKENCODE"
FIELD="TEXT"
NUM_ROW="5"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="TAGS"
FIELD="TABLE"
NUM_ROW="6"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<ITEMS>
<ITEM NAME="TAG_KEY" FIELD="TEXT" />
<ITEM NAME="TAG_VALUE" FIELD="TEXT" />
<ITEM NAME="TAG_TRANSITIVE" FIELD="CHECK" VALUE="FALSE"/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="POLICY_TABLE"
FIELD="TABLE"
NUM_ROW="7"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<ITEMS>
<ITEM NAME="POLICY_ARN" VALUE="" />
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="POLICY"
FIELD="MEMO"
NUM_ROW="8"
GROUP="ASSUME_ROLE_CONFIG"
NB_LINES="15"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="aws-java-sdk-1.11.729.jar" MODULE="aws-java-sdk-1.11.729.jar"
MVN="mvn:com.amazonaws/aws-java-sdk/1.11.729"
<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"
@@ -130,11 +240,11 @@
<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"
REQUIRED="true" />
<IMPORT NAME="httpcore-4.4.11.jar" MODULE="httpcore-4.4.11.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.11"
<IMPORT NAME="httpcore-4.4.13.jar" MODULE="httpcore-4.4.13.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.13"
REQUIRED="true" />
<IMPORT NAME="httpclient-4.5.9.jar" MODULE="httpclient-4.5.9.jar"
MVN="mvn:org.apache.httpcomponents/httpclient/4.5.9"
<IMPORT NAME="httpclient-4.5.12.jar" MODULE="httpclient-4.5.12.jar"
MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"
REQUIRED="true" />
<IMPORT NAME="joda-time-2.8.1.jar" MODULE="joda-time-2.8.1.jar"
MVN="mvn:joda-time/joda-time/2.8.1"
@@ -142,8 +252,8 @@
<IMPORT NAME="commons-logging-1.2.jar" MODULE="commons-logging-1.2.jar"
MVN="mvn:commons-logging/commons-logging/1.2"
REQUIRED="true" />
<IMPORT NAME="commons-codec-1.11.jar" MODULE="commons-codec-1.11.jar"
MVN="mvn:commons-codec/commons-codec/1.11"
<IMPORT NAME="commons-codec-1.14.jar" MODULE="commons-codec-1.14.jar"
MVN="mvn:commons-codec/commons-codec/1.14"
REQUIRED="true" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -52,5 +52,38 @@ ARN.NAME=Role ARN
ROLE_SESSION_NAME.NAME=Role session name
SESSION_DURATION.NAME=Session duration(minutes)
ASSUME_ROLE_CONFIG.NAME=Assume Role Configuration
EXTERNALID.NAME=External Id
SERIALNUMBER.NAME=Serial number
TOKENCODE.NAME=Token code
POLICY_TABLE.NAME=IAM Policy ARNs
POLICY_TABLE.ITEM.POLICY_ARN=Policy ARN
POLICY.NAME=Policy
TAGS.NAME=Tags
TAGS.ITEM.TAG_KEY=Key
TAGS.ITEM.TAG_VALUE=Value
TAGS.ITEM.TAG_TRANSITIVE=Transitive
SET_STS_ENDPOINT.NAME=STS Endpoint
STS_ENDPOINT.NAME=
STS_ENDPOINT.NAME=
SIGNING_REGION.NAME=Signing region
SIGNING_REGION.ITEM.DEFAULT=DEFAULT
SIGNING_REGION.ITEM.GovCloud=AWS GovCloud (US)
SIGNING_REGION.ITEM.US_EAST_1=US Standard
SIGNING_REGION.ITEM.US_WEST_1=US West (N. California)
SIGNING_REGION.ITEM.US_WEST_2=US West (Oregon)
SIGNING_REGION.ITEM.US_EAST_2=US East (Ohio)
SIGNING_REGION.ITEM.SA_EAST_1=South America (Sao Paulo)
SIGNING_REGION.ITEM.EU_WEST_1=EU (Ireland)
SIGNING_REGION.ITEM.EU_CENTRAL_1=EU (Frankfurt)
SIGNING_REGION.ITEM.EU_WEST_2=EU (London)
SIGNING_REGION.ITEM.EU_WEST_3=EU (Paris)
SIGNING_REGION.ITEM.EU_NORTH_1=EU (Stockholm)
SIGNING_REGION.ITEM.CN_NORTH_1=China (Beijing)
SIGNING_REGION.ITEM.CN_NORTHWEST_1=China (Ningxia)
SIGNING_REGION.ITEM.AP_EAST_1=Asia Pacific (Hong Kong)
SIGNING_REGION.ITEM.AP_SOUTHEAST_1=Asia Pacific (Singapore)
SIGNING_REGION.ITEM.AP_SOUTHEAST_2=Asia Pacific (Sydney)
SIGNING_REGION.ITEM.AP_NORTHEAST_1=Asia Pacific (Tokyo)
SIGNING_REGION.ITEM.AP_NORTHEAST_2=Asia Pacific (Seoul)
SIGNING_REGION.ITEM.AP_SOUTH_1=Asia Pacific (Mumbai)
SIGNING_REGION.ITEM.CA_CENTRAL_1=Canada (Central)

View File

@@ -19,7 +19,7 @@ REGION.ITEM.CN_NORTH_1=China (Beijing)
REGION.ITEM.AP_SOUTHEAST_1=Asia Pacific (Singapore)
REGION.ITEM.AP_SOUTHEAST_2=Asia Pacific (Sydney)
REGION.ITEM.AP_NORTHEAST_1=Asia Pacific (Tokyo)
REGION.ITEM.SA_EAST_1=South America (Sao Paulo)
REGION.ITEM.SA_EAST_1=South America (S\u00E3o Paulo)
CLUSTER_ID.NAME=Cluster id
ENABLE_LOG.NAME=Enable log
ENABLE_KEY_PAIR.NAME=Use EC2 key pair
@@ -36,3 +36,36 @@ ARN.NAME=Role ARN
ROLE_SESSION_NAME.NAME=Role session name
SESSION_DURATION.NAME=Session duration
SET_STS_ENDPOINT.NAME=STS Endpoint
ASSUME_ROLE_CONFIG.NAME=Assume Role Configuration
EXTERNALID.NAME=External Id
SERIALNUMBER.NAME=Serial number
TOKENCODE.NAME=Token code
POLICY_TABLE.NAME=IAM Policy ARNs
POLICY_TABLE.ITEM.POLICY_ARN=Policy ARN
POLICY.NAME=Policy
TAGS.NAME=Tags
TAGS.ITEM.TAG_KEY=Key
TAGS.ITEM.TAG_VALUE=Value
TAGS.ITEM.TAG_TRANSITIVE=Transitive
SIGNING_REGION.NAME=Signing region
SIGNING_REGION.ITEM.DEFAULT=DEFAULT
SIGNING_REGION.ITEM.GovCloud=AWS GovCloud (US)
SIGNING_REGION.ITEM.US_EAST_1=US Standard
SIGNING_REGION.ITEM.US_WEST_1=US West (N. California)
SIGNING_REGION.ITEM.US_WEST_2=US West (Oregon)
SIGNING_REGION.ITEM.US_EAST_2=US East (Ohio)
SIGNING_REGION.ITEM.SA_EAST_1=South America (S\u00E3o Paulo)
SIGNING_REGION.ITEM.EU_WEST_1=EU (Ireland)
SIGNING_REGION.ITEM.EU_CENTRAL_1=EU (Frankfurt)
SIGNING_REGION.ITEM.EU_WEST_2=EU (London)
SIGNING_REGION.ITEM.EU_WEST_3=EU (Paris)
SIGNING_REGION.ITEM.EU_NORTH_1=EU (Stockholm)
SIGNING_REGION.ITEM.CN_NORTH_1=China (Beijing)
SIGNING_REGION.ITEM.CN_NORTHWEST_1=China (Ningxia)
SIGNING_REGION.ITEM.AP_EAST_1=Asia Pacific (Hong Kong)
SIGNING_REGION.ITEM.AP_SOUTHEAST_1=Asia Pacific (Singapore)
SIGNING_REGION.ITEM.AP_SOUTHEAST_2=Asia Pacific (Sydney)
SIGNING_REGION.ITEM.AP_NORTHEAST_1=Asia Pacific (Tokyo)
SIGNING_REGION.ITEM.AP_NORTHEAST_2=Asia Pacific (Seoul)
SIGNING_REGION.ITEM.AP_SOUTH_1=Asia Pacific (Mumbai)
SIGNING_REGION.ITEM.CA_CENTRAL_1=Canada (Central)

View File

@@ -17,7 +17,7 @@ REGION.ITEM.CN_NORTH_1=Chine (P\u00E9kin)
REGION.ITEM.AP_SOUTHEAST_1=Asie Pacifique (Singapour)
REGION.ITEM.AP_SOUTHEAST_2=Asie Pacifique (Sydney)
REGION.ITEM.AP_NORTHEAST_1=Asie Pacifique (Tokyo)
REGION.ITEM.SA_EAST_1=South America (Sao Paulo)
REGION.ITEM.SA_EAST_1=Am\u00E9rique du Sud (S\u00E3o Paulo)
CLUSTER_ID.NAME=iD du cluster
ENABLE_LOG.NAME=Activer le log
ENABLE_KEY_PAIR.NAME=Utiliser la paire de cl\u00E9s EC2

View File

@@ -5,7 +5,7 @@ if(!use_customize_version){
%>String[] applications_<%=cid%> = <%
String application = ElementParameterParser.getValue(node, "__APPLICATION__");
if("ALL_APPLICATIONS".equals(application)) {
if("\"emr-4.6.0\",\"emr-4.9.2\",\"emr-5.11.0\",\"emr-5.15.0\"".contains(cluster_version)) {
if("\"emr-4.6.0\",\"emr-4.9.2\",\"emr-5.11.0\",\"emr-5.15.0\", \"emr-5.29.0\"".contains(cluster_version)) {
%>
{}
<%
@@ -15,7 +15,7 @@ if(!use_customize_version){
<%
}
} else if("CORE_HADOOP".equals(application)) {
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version)){%>
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version) || "\"emr-5.29.0\"".equals(cluster_version)){%>
{"Ganglia","Hadoop","Hive","Hue","Mahout","Pig","Tez"}
<%
}else if("\"emr-4.6.0\"".equals(cluster_version) || "\"emr-4.9.2\"".equals(cluster_version)) {
@@ -38,7 +38,7 @@ if(!use_customize_version){
<%
}
} else if("PRESTO".equals(application)) {
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version)){%>
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version) || "\"emr-5.29.0\"".equals(cluster_version)){%>
{"Hadoop","Hive","Presto"}
<% } else { %>
if(true) {
@@ -47,7 +47,7 @@ if(!use_customize_version){
<%
}
} else if("SPARK".equals(application)) {
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version)){%>
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version) || "\"emr-5.29.0\"".equals(cluster_version)){%>
{"Ganglia","Hadoop","Spark","Zeppelin"}
<%
} else if("\"emr-4.6.0\"".equals(cluster_version) || "\"emr-4.9.2\"".equals(cluster_version)) {
@@ -60,7 +60,7 @@ if(!use_customize_version){
<%
}
} else if("HBASE".equals(application)) {
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-4.9.2\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version)){%>
if("\"emr-5.11.0\"".equals(cluster_version) || "\"emr-4.9.2\"".equals(cluster_version) || "\"emr-5.15.0\"".equals(cluster_version) || "\"emr-5.29.0\"".equals(cluster_version)){%>
{"HBase","Ganglia","Hadoop","Hive","Hue","Phoenix","ZooKeeper"}
<%
} else if("\"emr-4.6.0\"".equals(cluster_version)) {

View File

@@ -110,6 +110,7 @@
String key_pair = ElementParameterParser.getValue(node, "__KEY_PAIR__");
String instance_count = ElementParameterParser.getValue(node, "__INSTANCE_COUNT__");
String slave_instance_count = ElementParameterParser.getValue(node, "__SLAVE_INSTANCE_COUNT__");
String master_instance_type = ElementParameterParser.getValue(node, "__MASTER_INSTANCE_TYPE__");
String slave_instance_type = ElementParameterParser.getValue(node, "__SLAVE_INSTANCE_TYPE__");
@@ -139,6 +140,8 @@
boolean use_customize_version = "true".equals(ElementParameterParser.getValue(node, "__USE_CUSTOMIZE_VERSION__"));
String cluster_version = use_customize_version?ElementParameterParser.getValue(node, "__CUSTOMIZE_VERSION__").trim().replace(' ', '-'):ElementParameterParser.getValue(node, "__CLUSTER_VERSION__");
cluster_version = cluster_version.toLowerCase();
boolean use_multiple_master = "true".equals(ElementParameterParser.getValue(node, "__USE_MULTIPLE_MASTER_NODES__"));
%>
<%@ include file="@{org.talend.designer.components.localprovider}/components/templates/Amazon/EMRClient.javajet"%>
@@ -246,59 +249,81 @@
if(setApps) {
%>
<%@ include file="./app_mapping.javajet"%>
<%
}
<%}%>
java.util.List<com.amazonaws.services.elasticmapreduce.model.Configuration> configs_<%=cid%> = new java.util.ArrayList<com.amazonaws.services.elasticmapreduce.model.Configuration>();
<%
Map<String, List<Map<String,String>>> classification2Properties = new HashMap<String, List<Map<String,String>>>();
if(newApi) {
List<Map<String, String>> property_table = (List<Map<String, String>>)ElementParameterParser.getObjectValue(node, "__PROPERTY_TABLE__");
if(property_table!=null) {
for (int i=0; i<property_table.size(); i++) {
Map<String, String> property = property_table.get(i);
String classification = property.get("CLASSIFICATION");
List<Map<String,String>> properties = classification2Properties.get(classification);
if(properties == null) {
properties = new ArrayList<Map<String,String>>();
classification2Properties.put(classification, properties);
String property_json = ElementParameterParser.getValue(node, "__PROPERTY_JSON__");
boolean property_json_validated = property_json != null && !property_json.equals("\"\"") && property_json.length() > 0;
%>
boolean property_json_validated_<%=cid%> = <%=property_json_validated %>;
<%
if(!use_multiple_master) {
if(newApi) {
List<Map<String, String>> property_table = (List<Map<String, String>>)ElementParameterParser.getObjectValue(node, "__PROPERTY_TABLE__");
if(property_table!=null) {
for (int i=0; i<property_table.size(); i++) {
Map<String, String> property = property_table.get(i);
String classification = property.get("CLASSIFICATION");
List<Map<String,String>> properties = classification2Properties.get(classification);
if(properties == null) {
properties = new ArrayList<Map<String,String>>();
classification2Properties.put(classification, properties);
}
properties.add(property);
}
properties.add(property);
}
if(!classification2Properties.isEmpty()) {
%>
java.util.List<com.amazonaws.services.elasticmapreduce.model.Configuration> configs_<%=cid%> = new java.util.ArrayList<com.amazonaws.services.elasticmapreduce.model.Configuration>();
java.util.Map<String,String> properties_<%=cid%> = null;
com.amazonaws.services.elasticmapreduce.model.Configuration config_<%=cid%> = null;
<%
}
for(java.util.Map.Entry<String, List<Map<String,String>>> entry : classification2Properties.entrySet()) {
String classification = entry.getKey();
List<Map<String,String>> properties = entry.getValue();
if(!classification2Properties.isEmpty()) {
%>
properties_<%=cid%> = new java.util.HashMap<String,String>();
<%
for(Map<String,String> property : properties) {
%>
properties_<%=cid%>.put(<%=property.get("KEY")%>, <%=property.get("VALUE")%>);
<%
}
%>
config_<%=cid%> = new com.amazonaws.services.elasticmapreduce.model.Configuration()
.withClassification(<%=classification%>)
.withProperties(properties_<%=cid%>);
configs_<%=cid%>.add(config_<%=cid%>);
<%
java.util.Map<String,String> properties_<%=cid%> = null;
com.amazonaws.services.elasticmapreduce.model.Configuration config_<%=cid%> = null;
<%
}
for(java.util.Map.Entry<String, List<Map<String,String>>> entry : classification2Properties.entrySet()) {
String classification = entry.getKey();
List<Map<String,String>> properties = entry.getValue();
%>
properties_<%=cid%> = new java.util.HashMap<String,String>();
<%
for(Map<String,String> property : properties) {
%>
properties_<%=cid%>.put(<%=property.get("KEY")%>, <%=property.get("VALUE")%>);
<%
}
%>
config_<%=cid%> = new com.amazonaws.services.elasticmapreduce.model.Configuration()
.withClassification(<%=classification%>)
.withProperties(properties_<%=cid%>);
configs_<%=cid%>.add(config_<%=cid%>);
<%
}
}
}
}
}else{
boolean isHasSubnetId = subnet_id != null && !subnet_id.equals("\"\"") && subnet_id.length() > 0;
%>
boolean isHasSubnetId_<%=cid%> = <%=isHasSubnetId %>;
if(!isHasSubnetId_<%=cid%>) {
throw new RuntimeException("The subnet ID must be specified while using multiple master nodes.");
}
if(property_json_validated_<%=cid%>) {
com.fasterxml.jackson.databind.ObjectMapper mapper_<%=cid%> = new com.fasterxml.jackson.databind.ObjectMapper();
mapper_<%=cid%>.configure(com.fasterxml.jackson.databind.MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
try {
configs_<%=cid%> = java.util.Arrays.asList(mapper_<%=cid%>.readValue(<%=property_json%>, com.amazonaws.services.elasticmapreduce.model.Configuration[].class));
} catch (com.fasterxml.jackson.core.JsonProcessingException e) {
e.printStackTrace();
}
}
<%}%>
com.amazonaws.services.elasticmapreduce.model.RunJobFlowRequest request_<%=cid%> = new com.amazonaws.services.elasticmapreduce.model.RunJobFlowRequest()
.withName(<%=cluster_name%>)
<%if(enable_log){%>
@@ -342,18 +367,32 @@
.withBootstrapActions(actions_<%=cid %>)
<%}%>
<%if(!classification2Properties.isEmpty()){%>
.withConfigurations(configs_<%=cid%>)
<%}%>
<%if(!classification2Properties.isEmpty() || (use_multiple_master && property_json_validated)){%>
.withConfigurations(configs_<%=cid%>)
<%}%>
.withInstances(
new com.amazonaws.services.elasticmapreduce.model.JobFlowInstancesConfig()
.withInstanceCount(<%=instance_count%>)
<%if(enable_key_pair){%>
.withEc2KeyName(<%=key_pair%>)
<%}%>
<%if(use_multiple_master){%>
.withInstanceGroups(
new com.amazonaws.services.elasticmapreduce.model.InstanceGroupConfig()
.withInstanceRole(com.amazonaws.services.elasticmapreduce.model.InstanceRoleType.MASTER)
.withInstanceCount(3)
.withInstanceType(<%=master_instance_type%>),
new com.amazonaws.services.elasticmapreduce.model.InstanceGroupConfig()
.withInstanceRole(com.amazonaws.services.elasticmapreduce.model.InstanceRoleType.CORE)
.withInstanceCount(<%=slave_instance_count%>)
.withInstanceType(<%=slave_instance_type%>)
)
<%}else{%>
.withInstanceCount(<%=instance_count%>)
.withMasterInstanceType(<%=master_instance_type%>)
.withSlaveInstanceType(<%=slave_instance_type%>)
<%}%>
<%if(parameterUtil.isValid(subnet_id)){%>
.withEc2SubnetId(<%=subnet_id%>)
@@ -403,7 +442,7 @@
if(wait_for_cluster_ready) {
%>
boolean clusterIsAlive_<%=cid%> = false;
System.out.println("Wating for cluster to become available.");
System.out.println("Waiting for cluster to become available.");
while (true) {
com.amazonaws.services.elasticmapreduce.model.DescribeClusterResult result2_<%=cid%> = emr_<%=cid%>.describeCluster(
new com.amazonaws.services.elasticmapreduce.model.DescribeClusterRequest()
@@ -433,7 +472,7 @@
boolean waitForStep_<%=cid%> = clusterIsAlive_<%=cid%> && (steps_<%=cid %>.size() > 1);
if(waitForStep_<%=cid%>) {
System.out.println("Wating for steps to complete.");
System.out.println("Waiting for steps to complete.");
}
while (waitForStep_<%=cid%>) {

View File

@@ -58,7 +58,7 @@
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="SESSION_DURATION" FIELD="TEXT" NUM_ROW="15" REQUIRED="true"
<PARAMETER NAME="SESSION_DURATION" FIELD="TEXT" NUM_ROW="15"
SHOW_IF="ASSUME_ROLE == 'true'"
GROUP="AUTHENTICATION">
<DEFAULT>15</DEFAULT>
@@ -97,7 +97,8 @@
<PARAMETER NAME="CLUSTER_VERSION" FIELD="OPENED_LIST"
NUM_ROW="32" SHOW_IF="(ACTION=='START') AND (USE_CUSTOMIZE_VERSION == 'false')" GROUP="CONFIGURATION">
<ITEMS DEFAULT="EMR5_15_0">
<ITEMS DEFAULT="EMR5_29_0">
<ITEM NAME="EMR5_29_0" VALUE="&quot;emr-5.29.0&quot;" />
<ITEM NAME="EMR5_15_0" VALUE="&quot;emr-5.15.0&quot;" />
<ITEM NAME="EMR5_11_0" VALUE="&quot;emr-5.11.0&quot;" />
<ITEM NAME="EMR4_9_2" VALUE="&quot;emr-4.9.2&quot;" />
@@ -112,14 +113,14 @@
</PARAMETER>
<PARAMETER NAME="APPLICATION" FIELD="CLOSED_LIST" NUM_ROW="32"
SHOW_IF="(ACTION=='START') AND (USE_CUSTOMIZE_VERSION == 'false') AND ((CLUSTER_VERSION=='EMR5_15_0') OR (CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR4_9_2') OR (CLUSTER_VERSION=='EMR4_6_0') OR (CLUSTER_VERSION=='EMR4_5_0'))" GROUP="CONFIGURATION">
SHOW_IF="(ACTION=='START') AND (USE_CUSTOMIZE_VERSION == 'false') AND ((CLUSTER_VERSION=='EMR5_29_0') OR (CLUSTER_VERSION=='EMR5_15_0') OR (CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR4_9_2') OR (CLUSTER_VERSION=='EMR4_6_0') OR (CLUSTER_VERSION=='EMR4_5_0'))" GROUP="CONFIGURATION">
<ITEMS DEFAULT="CORE_HADOOP">
<ITEM NAME="ALL_APPLICATIONS" VALUE="ALL_APPLICATIONS" NOT_SHOW_IF="(CLUSTER_VERSION=='EMR4_6_0') OR (CLUSTER_VERSION=='EMR4_9_2') OR (CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR5_15_0')"/>
<ITEM NAME="ALL_APPLICATIONS" VALUE="ALL_APPLICATIONS" NOT_SHOW_IF="(CLUSTER_VERSION=='EMR4_6_0') OR (CLUSTER_VERSION=='EMR4_9_2') OR (CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR5_15_0') OR (CLUSTER_VERSION=='EMR5_29_0')"/>
<ITEM NAME="CORE_HADOOP" VALUE="CORE_HADOOP" />
<ITEM NAME="HBASE" VALUE="HBASE" SHOW_IF="(CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR4_9_2') OR (CLUSTER_VERSION=='EMR4_6_0') OR (CLUSTER_VERSION=='EMR5_15_0')"/>
<ITEM NAME="PRESTO_SANDBOX" VALUE="PRESTO_SANDBOX" NOT_SHOW_IF="(CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR5_15_0')"/>
<ITEM NAME="PRESTO" VALUE="PRESTO" SHOW_IF="(CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR5_15_0')"/>
<ITEM NAME="HBASE" VALUE="HBASE" SHOW_IF="(CLUSTER_VERSION=='EMR5_29_0') OR (CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR4_9_2') OR (CLUSTER_VERSION=='EMR4_6_0') OR (CLUSTER_VERSION=='EMR5_15_0')"/>
<ITEM NAME="PRESTO_SANDBOX" VALUE="PRESTO_SANDBOX" NOT_SHOW_IF="(CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR5_15_0') OR (CLUSTER_VERSION=='EMR5_29_0')"/>
<ITEM NAME="PRESTO" VALUE="PRESTO" SHOW_IF="(CLUSTER_VERSION=='EMR5_11_0') OR (CLUSTER_VERSION=='EMR5_15_0') OR (CLUSTER_VERSION=='EMR5_29_0')"/>
<ITEM NAME="SPARK" VALUE="SPARK" />
</ITEMS>
</PARAMETER>
@@ -156,9 +157,14 @@
</PARAMETER>
<PARAMETER NAME="INSTANCE_COUNT" FIELD="TEXT" NUM_ROW="52"
SHOW_IF="ACTION=='START'" GROUP="INSTANCE_CONFIGURATION">
SHOW_IF="ACTION=='START' AND (USE_MULTIPLE_MASTER_NODES=='false')" GROUP="INSTANCE_CONFIGURATION">
<DEFAULT>3</DEFAULT>
</PARAMETER>
<PARAMETER NAME="SLAVE_INSTANCE_COUNT" FIELD="TEXT" NUM_ROW="52"
SHOW_IF="ACTION=='START' AND (USE_MULTIPLE_MASTER_NODES=='true')" GROUP="INSTANCE_CONFIGURATION">
<DEFAULT>2</DEFAULT>
</PARAMETER>
<PARAMETER NAME="MASTER_INSTANCE_TYPE" FIELD="OPENED_LIST"
NUM_ROW="55" SHOW_IF="ACTION=='START'" GROUP="INSTANCE_CONFIGURATION">
@@ -259,47 +265,167 @@
</PARAMETERS>
<ADVANCED_PARAMETERS>
<PARAMETER NAME="SET_STS_ENDPOINT" FIELD="CHECK" NUM_ROW="1" REQUIRED="true"
SHOW_IF="ASSUME_ROLE == 'true'">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="STS_ENDPOINT" FIELD="TEXT" NUM_ROW="1" REQUIRED="true"
SHOW_IF="(ASSUME_ROLE == 'true') AND (SET_STS_ENDPOINT == 'true')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="SET_STS_ENDPOINT"
FIELD="CHECK"
NUM_ROW="1"
NB_LINES="5"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="isShow[ASSUME_ROLE] AND (ASSUME_ROLE == 'true')"
>
</PARAMETER>
<PARAMETER
NAME="STS_ENDPOINT"
FIELD="TEXT"
NUM_ROW="1"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="isShow[SET_STS_ENDPOINT] AND (SET_STS_ENDPOINT == 'true')"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="SIGNING_REGION"
FIELD="OPENED_LIST"
NUM_ROW="2"
GROUP="ASSUME_ROLE_CONFIG"
REQUIRED="true"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<ITEMS DEFAULT="DEFAULT">
<ITEM NAME="DEFAULT" VALUE="DEFAULT" />
<ITEM NAME="GovCloud" VALUE="&quot;us-gov-west-1&quot;" />
<ITEM NAME="US_EAST_1" VALUE="&quot;us-east-1&quot;" />
<ITEM NAME="US_WEST_1" VALUE="&quot;us-west-1&quot;" />
<ITEM NAME="US_WEST_2" VALUE="&quot;us-west-2&quot;" />
<ITEM NAME="US_EAST_2" VALUE="&quot;us-east-2&quot;" />
<ITEM NAME="SA_EAST_1" VALUE="&quot;sa-east-1&quot;" />
<ITEM NAME="EU_WEST_1" VALUE="&quot;eu-west-1&quot;" />
<ITEM NAME="EU_CENTRAL_1" VALUE="&quot;eu-central-1&quot;" />
<ITEM NAME="EU_WEST_2" VALUE="&quot;eu-west-2&quot;" />
<ITEM NAME="EU_WEST_3" VALUE="&quot;eu-west-3&quot;" />
<ITEM NAME="EU_NORTH_1" VALUE="&quot;eu-north-1&quot;" />
<ITEM NAME="CN_NORTH_1" VALUE="&quot;cn-north-1&quot;" />
<ITEM NAME="CN_NORTHWEST_1" VALUE="&quot;cn-northwest-1&quot;" />
<ITEM NAME="AP_EAST_1" VALUE="&quot;ap-east-1&quot;" />
<ITEM NAME="AP_SOUTHEAST_1" VALUE="&quot;ap-southeast-1&quot;" />
<ITEM NAME="AP_SOUTHEAST_2" VALUE="&quot;ap-southeast-2&quot;" />
<ITEM NAME="AP_NORTHEAST_1" VALUE="&quot;ap-northeast-1&quot;" />
<ITEM NAME="AP_NORTHEAST_2" VALUE="&quot;ap-northeast-2&quot;" />
<ITEM NAME="AP_SOUTH_1" VALUE="&quot;ap-south-1&quot;" />
<ITEM NAME="CA_CENTRAL_1" VALUE="&quot;ca-central-1&quot;" />
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="EXTERNALID"
FIELD="TEXT"
NUM_ROW="3"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="SERIALNUMBER"
FIELD="TEXT"
NUM_ROW="4"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="TOKENCODE"
FIELD="TEXT"
NUM_ROW="5"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER
NAME="TAGS"
FIELD="TABLE"
NUM_ROW="6"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<ITEMS>
<ITEM NAME="TAG_KEY" FIELD="TEXT" />
<ITEM NAME="TAG_VALUE" FIELD="TEXT" />
<ITEM NAME="TAG_TRANSITIVE" FIELD="CHECK" VALUE="FALSE"/>
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="POLICY_TABLE"
FIELD="TABLE"
NUM_ROW="7"
GROUP="ASSUME_ROLE_CONFIG"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<ITEMS>
<ITEM NAME="POLICY_ARN" VALUE="" />
</ITEMS>
</PARAMETER>
<PARAMETER
NAME="POLICY"
FIELD="MEMO"
NUM_ROW="8"
GROUP="ASSUME_ROLE_CONFIG"
NB_LINES="15"
SHOW_IF="ASSUME_ROLE == 'true'"
>
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WAIT_FOR_CLUSTER_READY" FIELD="CHECK"
NUM_ROW="2" SHOW_IF="(ACTION=='START')" GROUP="ADVANCED_CONFIGURATION">
NUM_ROW="10" SHOW_IF="(ACTION=='START')" GROUP="ADVANCED_CONFIGURATION">
<DEFAULT>true</DEFAULT>
</PARAMETER>
<PARAMETER NAME="VISIBLE_TO_ALL_USERS" FIELD="CHECK"
NUM_ROW="5" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
NUM_ROW="15" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="TERMINATION_PROTECTED" FIELD="CHECK"
NUM_ROW="5" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
NUM_ROW="20" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="ENABLE_DEBUG" FIELD="CHECK"
NUM_ROW="7" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
NUM_ROW="25" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
<DEFAULT>true</DEFAULT>
</PARAMETER>
<PARAMETER NAME="USE_CUSTOMIZE_VERSION" FIELD="CHECK"
NUM_ROW="10" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
NUM_ROW="30" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="CUSTOMIZE_VERSION" FIELD="TEXT"
NUM_ROW="12" SHOW_IF="(ACTION=='START') AND (USE_CUSTOMIZE_VERSION =='true')" GROUP="CUSTOMIZE_APPLICATION_GROUP">
<DEFAULT>"emr-5.15.0"</DEFAULT>
<PARAMETER NAME="USE_MULTIPLE_MASTER_NODES" FIELD="CHECK"
NUM_ROW="31" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_CONFIGURATION">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="CUSTOMIZE_APPLICATION_TABLE" FIELD="TABLE" NUM_ROW="13" NB_LINES="5" GROUP="CUSTOMIZE_APPLICATION_GROUP"
<PARAMETER NAME="NOTE" FIELD="LABEL"
NUM_ROW="31" SHOW_IF="isShow[USE_MULTIPLE_MASTER_NODES]" GROUP="ADVANCED_CONFIGURATION" >
<DEFAULT>(supported by version 5.23.0 and later)</DEFAULT>
</PARAMETER>
<PARAMETER NAME="CUSTOMIZE_VERSION" FIELD="TEXT"
NUM_ROW="35" SHOW_IF="(ACTION=='START') AND (USE_CUSTOMIZE_VERSION =='true')" GROUP="CUSTOMIZE_APPLICATION_GROUP">
<DEFAULT>"emr-5.29.0"</DEFAULT>
</PARAMETER>
<PARAMETER NAME="CUSTOMIZE_APPLICATION_TABLE" FIELD="TABLE" NUM_ROW="40" NB_LINES="5" GROUP="CUSTOMIZE_APPLICATION_GROUP"
SHOW_IF="(ACTION=='START') AND (USE_CUSTOMIZE_VERSION =='true')">
<ITEMS>
<ITEM NAME="NAME" FIELD="OPENED_LIST">
@@ -334,51 +460,51 @@
</PARAMETER>
<PARAMETER NAME="SUBNET_ID" FIELD="TEXT"
NUM_ROW="17" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_INSTANCE_CONFIGURATION">
NUM_ROW="45" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="AVAILABILITY_ZONE" FIELD="TEXT"
NUM_ROW="18" SHOW_IF="(ACTION=='START')" GROUP="ADVANCED_INSTANCE_CONFIGURATION">
NUM_ROW="50" SHOW_IF="(ACTION=='START')" GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="MASTER_SECURITY_GROUP" FIELD="TEXT"
REQUIRED="true" NUM_ROW="19" SHOW_IF="ACTION=='START'"
REQUIRED="true" NUM_ROW="55" SHOW_IF="ACTION=='START'"
GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="ADDITIONAL_MASTER_SECURITY_GROUPS" FIELD="TEXT"
REQUIRED="true" NUM_ROW="19" SHOW_IF="ACTION=='START'"
REQUIRED="true" NUM_ROW="55" SHOW_IF="ACTION=='START'"
GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="SLAVE_SECURITY_GROUP" FIELD="TEXT"
REQUIRED="true" NUM_ROW="20" SHOW_IF="ACTION=='START'"
REQUIRED="true" NUM_ROW="60" SHOW_IF="ACTION=='START'"
GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="ADDITIONAL_SLAVE_SECURITY_GROUPS" FIELD="TEXT"
REQUIRED="true" NUM_ROW="20" SHOW_IF="ACTION=='START'"
REQUIRED="true" NUM_ROW="60" SHOW_IF="ACTION=='START'"
GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="NOTE" FIELD="LABEL" REQUIRED="true"
NUM_ROW="30" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_INSTANCE_CONFIGURATION">
NUM_ROW="65" SHOW_IF="ACTION=='START'" GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>Additional groups should be set like this : "gname1,gname2,gname3"</DEFAULT>
</PARAMETER>
<PARAMETER NAME="SERVICE_ACCESS_SECURITY_GROUP" FIELD="TEXT"
REQUIRED="true" NUM_ROW="31" SHOW_IF="ACTION=='START'"
REQUIRED="true" NUM_ROW="70" SHOW_IF="ACTION=='START'"
GROUP="ADVANCED_INSTANCE_CONFIGURATION">
<DEFAULT>""</DEFAULT>
</PARAMETER>
<PARAMETER NAME="BOOTSTRAP_ACTIONS" FIELD="TABLE" SHOW_IF="ACTION=='START'" NUM_ROW="32" NB_LINES="5" GROUP="BOOTSTRAP_GROUP">
<PARAMETER NAME="BOOTSTRAP_ACTIONS" FIELD="TABLE" SHOW_IF="ACTION=='START'" NUM_ROW="75" NB_LINES="5" GROUP="BOOTSTRAP_GROUP">
<ITEMS>
<ITEM NAME="NAME" />
<ITEM NAME="SCRIPT_PATH" />
@@ -386,7 +512,7 @@
</ITEMS>
</PARAMETER>
<PARAMETER NAME="STEP_TABLE" FIELD="TABLE" SHOW_IF="ACTION=='START'" NUM_ROW="35" NB_LINES="5" GROUP="STEPS">
<PARAMETER NAME="STEP_TABLE" FIELD="TABLE" SHOW_IF="ACTION=='START'" NUM_ROW="80" NB_LINES="5" GROUP="STEPS">
<ITEMS>
<ITEM NAME="NAME" />
<ITEM NAME="ACTION_ON_FAILURE" FIELD="CLOSED_LIST">
@@ -402,28 +528,35 @@
</ITEMS>
</PARAMETER>
<PARAMETER NAME="KEEP_ALIVE" FIELD="CHECK"
NUM_ROW="36" SHOW_IF="ACTION=='START'" GROUP="STEPS">
NUM_ROW="85" SHOW_IF="ACTION=='START'" GROUP="STEPS">
<DEFAULT>true</DEFAULT>
</PARAMETER>
<PARAMETER NAME="WAIT_FOR_STEPS_COMPLETE" FIELD="CHECK"
NUM_ROW="37" SHOW_IF="ACTION=='START' AND isShow[WAIT_FOR_CLUSTER_READY] AND (WAIT_FOR_CLUSTER_READY=='true')" GROUP="STEPS">
NUM_ROW="90" SHOW_IF="ACTION=='START' AND isShow[WAIT_FOR_CLUSTER_READY] AND (WAIT_FOR_CLUSTER_READY=='true')" GROUP="STEPS">
<DEFAULT>true</DEFAULT>
</PARAMETER>
<PARAMETER NAME="PROPERTY_TABLE" FIELD="TABLE" NUM_ROW="40" NB_LINES="5" GROUP="PROPERTY_GROUP"
SHOW_IF="(ACTION=='START') AND (CLUSTER_VERSION!='AMI3_10_0') AND (CLUSTER_VERSION!='AMI3_9_0') AND (CLUSTER_VERSION!='AMI3_8_0') AND (CLUSTER_VERSION!='AMI2_4_11') AND (CLUSTER_VERSION!='AMI2_4_10')">
<PARAMETER NAME="PROPERTY_TABLE" FIELD="TABLE" NUM_ROW="95" NB_LINES="5" GROUP="PROPERTY_GROUP"
SHOW_IF="(ACTION=='START') AND (CLUSTER_VERSION!='AMI3_10_0') AND (CLUSTER_VERSION!='AMI3_9_0') AND (CLUSTER_VERSION!='AMI3_8_0') AND (CLUSTER_VERSION!='AMI2_4_11') AND (CLUSTER_VERSION!='AMI2_4_10')
AND (USE_MULTIPLE_MASTER_NODES=='false')">
<ITEMS>
<ITEM NAME="CLASSIFICATION" />
<ITEM NAME="KEY" />
<ITEM NAME="VALUE" />
</ITEMS>
</PARAMETER>
<PARAMETER NAME="PROPERTY_JSON" FIELD="MEMO" NUM_ROW="95" NB_LINES="15" GROUP="PROPERTY_GROUP"
SHOW_IF="(ACTION=='START') AND (CLUSTER_VERSION!='AMI3_10_0') AND (CLUSTER_VERSION!='AMI3_9_0') AND (CLUSTER_VERSION!='AMI3_8_0') AND (CLUSTER_VERSION!='AMI2_4_11') AND (CLUSTER_VERSION!='AMI2_4_10')
AND (USE_MULTIPLE_MASTER_NODES=='true')">
<DEFAULT>""</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="aws-java-sdk-1.11.729.jar" MODULE="aws-java-sdk-1.11.729.jar"
MVN="mvn:com.amazonaws/aws-java-sdk/1.11.729"
<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"
@@ -434,11 +567,11 @@
<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"
REQUIRED="true" />
<IMPORT NAME="httpcore-4.4.11.jar" MODULE="httpcore-4.4.11.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.11"
<IMPORT NAME="httpcore-4.4.13.jar" MODULE="httpcore-4.4.13.jar"
MVN="mvn:org.apache.httpcomponents/httpcore/4.4.13"
REQUIRED="true" />
<IMPORT NAME="httpclient-4.5.9.jar" MODULE="httpclient-4.5.9.jar"
MVN="mvn:org.apache.httpcomponents/httpclient/4.5.9"
<IMPORT NAME="httpclient-4.5.12.jar" MODULE="httpclient-4.5.12.jar"
MVN="mvn:org.apache.httpcomponents/httpclient/4.5.12"
REQUIRED="true" />
<IMPORT NAME="joda-time-2.8.1.jar" MODULE="joda-time-2.8.1.jar"
MVN="mvn:joda-time/joda-time/2.8.1"
@@ -446,8 +579,8 @@
<IMPORT NAME="commons-logging-1.2.jar" MODULE="commons-logging-1.2.jar"
MVN="mvn:commons-logging/commons-logging/1.2"
REQUIRED="true" />
<IMPORT NAME="commons-codec-1.11.jar" MODULE="commons-codec-1.11.jar"
MVN="mvn:commons-codec/commons-codec/1.11"
<IMPORT NAME="commons-codec-1.14.jar" MODULE="commons-codec-1.14.jar"
MVN="mvn:commons-codec/commons-codec/1.14"
REQUIRED="true" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -29,6 +29,7 @@ REGION.ITEM.SA_EAST_1=South America (Sao Paulo)
CLUSTER_NAME.NAME=Cluster name
CLUSTER_VERSION.NAME=Cluster version
CLUSTER_VERSION.ITEM.EMR5_29_0=EMR 5.29.0
CLUSTER_VERSION.ITEM.EMR5_15_0=EMR 5.15.0
CLUSTER_VERSION.ITEM.EMR5_11_0=EMR 5.11.0
CLUSTER_VERSION.ITEM.EMR4_9_2=EMR 4.9.2
@@ -61,6 +62,8 @@ INSTANCE_CONFIGURATION.NAME=Instance Configuration
INSTANCE_COUNT.NAME=Instance count
SLAVE_INSTANCE_COUNT.NAME=Slave instance count
MASTER_INSTANCE_TYPE.NAME=Master instance type
MASTER_INSTANCE_TYPE.ITEM.m3.xlarge=m3.xlarge
MASTER_INSTANCE_TYPE.ITEM.m3.2xlarge=m3.2xlarge
@@ -190,16 +193,53 @@ PROPERTY_TABLE.ITEM.CLASSIFICATION=Classification
PROPERTY_TABLE.ITEM.KEY=Key
PROPERTY_TABLE.ITEM.VALUE=Value
PROPERTY_JSON.NAME=Properties in JSON
ENABLE_DEBUG.NAME=Enable debug
USE_MULTIPLE_MASTER_NODES.NAME=Use multiple master nodes
INHERIT_CREDENTIALS.NAME=Inherit credentials from AWS role
ASSUME_ROLE.NAME=Assume role
ARN.NAME=Role ARN
ROLE_SESSION_NAME.NAME=Role session name
SESSION_DURATION.NAME=Session duration(minutes)
ASSUME_ROLE_CONFIG.NAME=Assume Role Configuration
EXTERNALID.NAME=External Id
SERIALNUMBER.NAME=Serial number
TOKENCODE.NAME=Token code
POLICY_TABLE.NAME=IAM Policy ARNs
POLICY_TABLE.ITEM.POLICY_ARN=Policy ARN
POLICY.NAME=Policy
TAGS.NAME=Tags
TAGS.ITEM.TAG_KEY=Key
TAGS.ITEM.TAG_VALUE=Value
TAGS.ITEM.TAG_TRANSITIVE=Transitive
SET_STS_ENDPOINT.NAME=STS Endpoint
STS_ENDPOINT.NAME=
SIGNING_REGION.NAME=Signing region
SIGNING_REGION.ITEM.DEFAULT=DEFAULT
SIGNING_REGION.ITEM.GovCloud=AWS GovCloud (US)
SIGNING_REGION.ITEM.US_EAST_1=US Standard
SIGNING_REGION.ITEM.US_WEST_1=US West (N. California)
SIGNING_REGION.ITEM.US_WEST_2=US West (Oregon)
SIGNING_REGION.ITEM.US_EAST_2=US East (Ohio)
SIGNING_REGION.ITEM.SA_EAST_1=South America (Sao Paulo)
SIGNING_REGION.ITEM.EU_WEST_1=EU (Ireland)
SIGNING_REGION.ITEM.EU_CENTRAL_1=EU (Frankfurt)
SIGNING_REGION.ITEM.EU_WEST_2=EU (London)
SIGNING_REGION.ITEM.EU_WEST_3=EU (Paris)
SIGNING_REGION.ITEM.EU_NORTH_1=EU (Stockholm)
SIGNING_REGION.ITEM.CN_NORTH_1=China (Beijing)
SIGNING_REGION.ITEM.CN_NORTHWEST_1=China (Ningxia)
SIGNING_REGION.ITEM.AP_EAST_1=Asia Pacific (Hong Kong)
SIGNING_REGION.ITEM.AP_SOUTHEAST_1=Asia Pacific (Singapore)
SIGNING_REGION.ITEM.AP_SOUTHEAST_2=Asia Pacific (Sydney)
SIGNING_REGION.ITEM.AP_NORTHEAST_1=Asia Pacific (Tokyo)
SIGNING_REGION.ITEM.AP_NORTHEAST_2=Asia Pacific (Seoul)
SIGNING_REGION.ITEM.AP_SOUTH_1=Asia Pacific (Mumbai)
SIGNING_REGION.ITEM.CA_CENTRAL_1=Canada (Central)
CUSTOMIZE_APPLICATION_GROUP.NAME=Customize Version and Application
USE_CUSTOMIZE_VERSION.NAME=Customize Version and Application

View File

@@ -19,7 +19,7 @@ REGION.ITEM.CN_NORTH_1=China (Beijing)
REGION.ITEM.AP_SOUTHEAST_1=Asia Pacific (Singapore)
REGION.ITEM.AP_SOUTHEAST_2=Asia Pacific (Sydney)
REGION.ITEM.AP_NORTHEAST_1=Asia Pacific (Tokyo)
REGION.ITEM.SA_EAST_1=South America (Sao Paulo)
REGION.ITEM.SA_EAST_1=South America (S\u00E3o Paulo)
CLUSTER_NAME.NAME=Cluster name
CLUSTER_VERSION.NAME=Cluster version
CLUSTER_VERSION.ITEM.AMI3_10_0=AMI 3.10.0
@@ -189,3 +189,40 @@ CUSTOMIZE_APPLICATION_TABLE.ITEM.NAME.ITEM.ZEPPELIN-SANDBOX=Zeppelin-Sandbox
CUSTOMIZE_APPLICATION_TABLE.ITEM.NAME.ITEM.ZOOKEEPER-SANDBOX=ZooKeeper-Sandbox
CUSTOMIZE_APPLICATION_TABLE.ITEM.NAME.ITEM.OOZIE-SANDBOX=Oozie-Sandbox
CLUSTER_VERSION.ITEM.EMR5_15_0=EMR 5.15.0
ASSUME_ROLE_CONFIG.NAME=Assume Role Configuration
EXTERNALID.NAME=External Id
SERIALNUMBER.NAME=Serial number
TOKENCODE.NAME=Token code
POLICY_TABLE.NAME=IAM Policy ARNs
POLICY_TABLE.ITEM.POLICY_ARN=Policy ARN
POLICY.NAME=Policy
TAGS.NAME=Tags
TAGS.ITEM.TAG_KEY=Key
TAGS.ITEM.TAG_VALUE=Value
TAGS.ITEM.TAG_TRANSITIVE=Transitive
SIGNING_REGION.NAME=Signing region
SIGNING_REGION.ITEM.DEFAULT=DEFAULT
SIGNING_REGION.ITEM.GovCloud=AWS GovCloud (US)
SIGNING_REGION.ITEM.US_EAST_1=US Standard
SIGNING_REGION.ITEM.US_WEST_1=US West (N. California)
SIGNING_REGION.ITEM.US_WEST_2=US West (Oregon)
SIGNING_REGION.ITEM.US_EAST_2=US East (Ohio)
SIGNING_REGION.ITEM.SA_EAST_1=South America (S\u00E3o Paulo)
SIGNING_REGION.ITEM.EU_WEST_1=EU (Ireland)
SIGNING_REGION.ITEM.EU_CENTRAL_1=EU (Frankfurt)
SIGNING_REGION.ITEM.EU_WEST_2=EU (London)
SIGNING_REGION.ITEM.EU_WEST_3=EU (Paris)
SIGNING_REGION.ITEM.EU_NORTH_1=EU (Stockholm)
SIGNING_REGION.ITEM.CN_NORTH_1=China (Beijing)
SIGNING_REGION.ITEM.CN_NORTHWEST_1=China (Ningxia)
SIGNING_REGION.ITEM.AP_EAST_1=Asia Pacific (Hong Kong)
SIGNING_REGION.ITEM.AP_SOUTHEAST_1=Asia Pacific (Singapore)
SIGNING_REGION.ITEM.AP_SOUTHEAST_2=Asia Pacific (Sydney)
SIGNING_REGION.ITEM.AP_NORTHEAST_1=Asia Pacific (Tokyo)
SIGNING_REGION.ITEM.AP_NORTHEAST_2=Asia Pacific (Seoul)
SIGNING_REGION.ITEM.AP_SOUTH_1=Asia Pacific (Mumbai)
SIGNING_REGION.ITEM.CA_CENTRAL_1=Canada (Central)
CLUSTER_VERSION.ITEM.EMR5_29_0=EMR 5.29.0
SLAVE_INSTANCE_COUNT.NAME=Slave instance count
PROPERTY_JSON.NAME=Properties in JSON
USE_MULTIPLE_MASTER_NODES.NAME=Use multiple master nodes

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