Compare commits

...

212 Commits

Author SHA1 Message Date
Zhiwei Xue
90f2bd86e6 fix(TUP-18979):fix junit failure (#5494) 2022-07-22 16:18:40 +08:00
hzhao-talendbj
0e5021cb70 fix jackson cve (#5480) (#5481) 2022-07-19 20:47:16 +08:00
hzhao-talendbj
938039f350 chore(TUP-35265): upgrade 'crypto-utils' jar in low level (#5477) 2022-07-19 16:24:23 +08:00
Zhiwei Xue
26b3f749f5 fix(TUP-18979):fix sync mapping file error of job project (#5471) 2022-07-18 16:55:22 +08:00
zyuan-talend
8a0b38d076 fix(TUP-36231,TUP31721): deploy libs from custom component. (#5468) 2022-07-17 20:30:28 +08:00
Jane Ding
ad085163f9 feat(TUP-35644):tMap - possible simplified metrics to send to Pendo (#5409)
* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644

* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644

* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644

* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644
2022-07-14 17:23:15 +08:00
sbliu
4ba9104034 chore(TUP-35948) TP_ALL as cloud/on-prem license (#5445) 2022-07-14 15:53:26 +08:00
sbieliaievl
216082efac fix(APPINT-33559) - fixed screenshot is not available in demos (#5344)
* fix(APPINT-33559) - added sreenshots to DI demo jobs

* fix(APPINT-33559) - fix for saving screenshot after duplicating

* fix(APPINT-33559) - removed exception

* fix(APPINT-33559) - added io exception
2022-07-14 10:50:58 +03:00
sponomarova
d652f86bf2 feat(TBD-13825): GA - Azure Synapse Spark pools with Azure AD Service Principal (#5427) 2022-07-14 10:05:25 +03:00
zshen-talend
c6620e03e6 feat(TDQ-19828): make sure tDataQualityRule support spark job (#5435) 2022-07-14 12:32:25 +08:00
Zhiwei Xue
d44180bf64 fix(TUP-18979):Fix UI import issue (#5457) 2022-07-13 18:22:40 +08:00
Zhiwei Xue
e754516075 fix(TUP-18979):Migration tasks including mapping files (#5441) 2022-07-13 11:02:27 +08:00
Laurent BOURGEOIS
e192a5a747 fix(TBD-13998):Issue with Use Kerberos authentication checkbox in tImpalaConnection and tImpalaInput components (#5443) (#5451) 2022-07-11 15:28:20 +02:00
sbliu
9e602c54ad fix(TUP-32331) fix unit failure. (#5448) 2022-07-11 18:06:04 +08:00
hcyi
0d098da3bc fix(TUP-35774):The prompt feature for context variables. (#5376) 2022-07-07 17:09:40 +08:00
Emmanuel GALLOIS
8843c51255 feat(TDI-48200) bump component-runtime to 1.46 (#5422)
* feat(TDI-48200): bump component-runtime to 1.46.1
2022-07-07 10:29:48 +02:00
sbliu
3207338fe6 fix(TUP-32331) fix cannot translate to valid file path when url contains special '#' (#5355) 2022-07-07 14:48:39 +08:00
hzhao-talendbj
aed39722eb chore(TUP-35265): upgrade 'crypto-utils' jar in low level (#5372) 2022-07-04 17:42:03 +08:00
hzhao-talendbj
6e0d5400bf fix(TUP-35645): Studio update git for nothing (#5335) 2022-07-01 12:57:46 +08:00
zyuan-talend
afa700b229 fix(TUP-31721):Not clear studio index cache in normal case. (#5350) 2022-06-30 14:54:07 +08:00
jiezhang-tlnd
bb48918802 fix(TUP-35979)Adjust nimbus-jose-jwt-9.3.jar to nimbus-jose-jwt-9.22 (#5413) 2022-06-30 12:08:31 +08:00
jiezhang-tlnd
54e08f8d10 chore(TUP-35857)CVE: bsh-2.0b4.jar (#5375) 2022-06-30 09:47:30 +08:00
bhe-talendbj
ce221bc5b3 fix(TUP-35637): not clean target folders (#5374) 2022-06-28 16:51:43 +08:00
zyuan-talend
45ee6a61eb fix(TUP-35823): CVE consolidate maven-artifact-manager to 2.2.1. (#5383) 2022-06-28 15:39:44 +08:00
bhe-talendbj
d03c572ed4 chore(TUP-35849): add classifier support (#5408) 2022-06-28 15:27:54 +08:00
msjian
5cd44b8318 fix(TDQ-19435): fxi NPE and remove useless jars (#5393) 2022-06-28 14:18:08 +08:00
zyuan-talend
e4cff52913 Add localized files. (#5407)
* Add localized files (#5384)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

* Add localized files (#5401)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: jzhangbj <jzhang@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-06-24 09:38:47 +08:00
Chao MENG
21a9fcae19 chore: update plugin timestamp (#5403) 2022-06-23 17:13:44 +08:00
Jane Ding
4c2ed00331 fix(TUP-35599):SuggestionValues.Item support of user friendly UI label (#5351)
* fix(TUP-35599):SuggestionValues.Item support of user friendly UI label
different from it's id
https://jira.talendforge.org/browse/TUP-35599

* fix(TUP-35599):SuggestionValues.Item support of user friendly UI label
different from it's id
https://jira.talendforge.org/browse/TUP-35599
2022-06-21 22:03:15 +08:00
Liu Xinquan
b16c6c5d0e fix(TDQ-20360) snowflake jdbc connection context mode issue (#5388) 2022-06-17 16:38:41 +08:00
hzhao-talendbj
503077af62 Add localized files (#5385) (#5386)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Xuwei ZHU <xzhu@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-06-16 17:53:53 +08:00
AlixMetivier
155beefd6b feat(TBD-13824): Spark 3.2.x standalone GA (#5322) 2022-06-16 12:07:50 +03:00
jiezhang-tlnd
a068fcdf66 feat(TUP-35192)Hide the Debug->Modules from show view (#5368)
https://jira.talendforge.org/browse/TUP-35192
2022-06-16 16:55:03 +08:00
Liu Xinquan
81ec0e7368 fix(TDQ-20360) snowflake jdbc connection context mode issue (#5378) 2022-06-16 15:07:12 +08:00
hcyi
f30930d483 fix(TUP-35508):Better to improve context prompt for JDBC. (#5370)
* fix(TUP-35508):Better to improve context prompt for JDBC.

* fix(TUP-35508):Better to improve context prompt for JDBC.
2022-06-14 15:06:14 +08:00
qiongli
c4abb4e764 fix(TDQ-20442):Split 'handelDQComponents()' so as to handle 2 DQ components(#5352) 2022-06-10 10:27:51 +08:00
Jane Ding
c66b0b1101 feat(TUP-33085):Add Icon(s) to open Help (#5328)
* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085

* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085

* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085

* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085
fix(TUP-35782):[bug] button 'Online help' can't work for some TCK
components
https://jira.talendforge.org/browse/TUP-35782

* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085

* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085
2022-06-09 17:55:55 +08:00
Emmanuel GALLOIS
287d7733bc feat(TDI-48010): bump component-runtime to 1.45.2 (#5327)
* feat(TDI-48010): bump component-runtime to 1.45.0
* feat(TDI-48010): bump component-runtime to 1.45.1
2022-06-09 10:11:42 +02:00
Oleksandr Zhelezniak
5bcbdc1ca9 feat(TDI-48013): jackson align (#5347)
* bump version of Jackson libraries to 2.13.2 and 2.13.2.2
2022-06-09 10:06:11 +03:00
jiezhang-tlnd
74f6189a58 fix(TUP-35826)link path generated is not correct for tRunjob (#5364) 2022-06-09 12:27:32 +08:00
jiezhang-tlnd
dc66db4b77 fix(TUP-35539)Netsuite parent node show as Items missing parent node (#5332)
* fix(TUP-35539)Netsuite: parent node show as "Items missing parent node
(Deprecated)" after import or do delete the datastore directly
https://jira.talendforge.org/browse/TUP-35539

* export dataset need with datastore

* format code

* handle reference project case

* handle import issue

* improve code

* improve code

* improve code
2022-06-09 10:01:23 +08:00
msjian
52224ab37c fix(TDQ-20476) :add jboss-marshalling-2.0.12.Final.jar to build to fix run analysis get error (#5353) 2022-06-08 16:21:58 +08:00
jiezhang-tlnd
a0423027d2 fix(TUP-35683)doc use job for route, joblet for routelet (#5357)
https://jira.talendforge.org/browse/TUP-35683
2022-06-08 15:16:16 +08:00
bhe-talendbj
c0359b5b78 feat(TUP-33929): remove duplicated sub modules from parent (#5235)
* feat(TUP-33929): remove duplicated sub modules from parent

* feat(TUP-33929): refactor

* feat(TUP-33929): add logs for profile mode
2022-06-08 11:06:58 +08:00
jiezhang-tlnd
239b697b01 feat(TUP-34931)Support Sybase 17 (#5236)
* feat(TUP-34931)Support Sybase 17

* add library needed
2022-06-08 09:49:56 +08:00
hcyi
0142e33068 feat(TUP-34855):Setup custom JKS for job signature from GUI. (#5305)
* feat(TUP-34855):Setup custom JKS for job signature from GUI.

* feat(TUP-34855):hide password in mvn command

* feat(TUP-34855):Setup custom JKS for job signature from GUI
2022-06-02 10:52:15 +08:00
jiezhang-tlnd
0451c982ab feat(TUP-28853)tRunjob is ok, need handle joblet (#5269)
* feat(TUP-28853)tRunjob is ok, need handle joblet

* generation document is ok from standard process

* format code

* improve performance

* format code

* improve performance

* format code

* improve performance

* handle latest version

* handle route process

* format code

* format code
2022-05-31 17:02:22 +08:00
sbliu
a221cab814 chore(TUP-35684) upgrade xmlbeans. (#5339) 2022-05-31 16:12:32 +08:00
bhe-talendbj
f649cdaa0d chore(TUP-35685): upgrade database driver version (#5330) 2022-05-31 11:38:43 +08:00
Chao MENG
f6f1ff0c8e feat(TUP-33655): Improve Git pull & Merge if current branch and target (#5307)
branch are on different monthly update.
https://jira.talendforge.org/browse/TUP-33655
2022-05-31 10:11:57 +08:00
Oleksandr Zhelezniak
85e0d731ec fix(TDI-45946): greenplum mapping (#5278)
* add TIMESTAMP WITH TIME ZONE
* add TIME WITH TIME ZONE
2022-05-30 16:16:33 +03:00
sbliu
8d0e77ffd7 fix(TUP-35598) fix OutOfMemoryError: Metaspace (#5333) 2022-05-30 16:39:01 +08:00
hzhao-talendbj
d2ce5eb839 Add localized files (#5336) (#5337)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-30 15:57:25 +08:00
bhe-talendbj
cac1899508 fix(TUP-35518): fix dropdownlist of context (#5286) 2022-05-26 16:07:23 +08:00
sbliu
c3710b0199 chore(TUP-35445) upgrade guava to 30.0-jre (#5325) 2022-05-26 11:24:34 +08:00
Zhiwei Xue
48baa99ee7 fix(TUP-31233):Routine pom is not updated after installed the required (#5309)
* fix(TUP-31233):Routine pom is not updated after installed the required
jar of user routine

* fix(TUP-31233):Routine pom is not updated after installed the required
jar of user routine
2022-05-25 18:05:00 +08:00
Chao MENG
a2a2fdc4c1 fix(TUP-35616): Problems on the \ processing on the password field after TUP-32821 (#5319)
* fix(TUP-35616): Problems on the \ processing on the password field after
TUP-32821
https://jira.talendforge.org/browse/TUP-35616

* Update ElementParameterParser.java

* fix(TUP-35616): Problems on the \ processing on the password field after
TUP-32821
https://jira.talendforge.org/browse/TUP-35616

* fix(TUP-35616): Problems on the \ processing on the password field after
TUP-32821
https://jira.talendforge.org/browse/TUP-35616

* fix(TUP-35616): Problems on the \ processing on the password field after
TUP-32821
https://jira.talendforge.org/browse/TUP-35616
2022-05-19 19:25:10 +08:00
hzhao-talendbj
73375cda48 801 loc translate fr 2022 05 19 (#5321)
* Add localized files (#5316)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

* Add localized files (#5317)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-05-19 18:44:41 +08:00
hcyi
c49e6af190 fix(TUP-35607):should no prompt for analysis when DB connection have context group with Multiple db set (#5310)
* fix(TUP-35607):should no prompt for analysis when DB connection have
context group with Multiple db set

* fix(TUP-35607):should no prompt for analysis when DB connection have
context group with Multiple db set

* fix(TUP-35607):should no prompt for analysis when DB connection have
context group with Multiple db set
2022-05-19 17:47:15 +08:00
Jane Ding
a2c9fb3308 fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5303)
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119
2022-05-17 17:44:03 +08:00
Jane Ding
812a94119c Revert "fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5139)" (#5301)
This reverts commit 9d2f2d25ae.
2022-05-16 15:51:20 +08:00
Emmanuel GALLOIS
f26a582453 feat(TDI-47911): bump component-runtime to 1.44.3 (#5274) 2022-05-13 09:55:36 +02:00
Liu Xinquan
7228acdfaf Revert "chore(TDQ-20339) improve mvn path: org.talend.libraries.jfreechart (#5283)" (#5298)
This reverts commit ed91d67ccc.
2022-05-13 11:42:25 +08:00
bhe-talendbj
09c48442c1 fix(TUP-35541): replace log4j-1.x (#5290) 2022-05-13 10:37:44 +08:00
Jane Ding
af128c8734 fix(TUP-35538):failed to run job when studio is Chinese on R04 (#5295)
* fix(TUP-35538):failed to run job when studio is Chinese on R04
https://jira.talendforge.org/browse/TUP-35538

* fix(TUP-35538):failed to run job when studio is Chinese on R04
https://jira.talendforge.org/browse/TUP-35538
2022-05-13 10:29:02 +08:00
hzhao-talendbj
a7bfec2ca6 Add localized files (#5287) (#5289)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-12 21:04:27 +08:00
Chao MENG
063fff3ba9 Cmeng/feat/tup 33928 tmc update 8 (#5249)
* feat(TUP-33928): Controlled Studio Updates from TMC
https://jira.talendforge.org/browse/TUP-33928
2022-05-12 18:58:16 +08:00
Chao MENG
8f899d61c5 feat(TUP-32821): Credential property value in json format in tck (#5243)
framework
https://jira.talendforge.org/browse/TUP-32821
2022-05-12 18:35:15 +08:00
Liu Xinquan
ed91d67ccc chore(TDQ-20339) improve mvn path: org.talend.libraries.jfreechart (#5283) 2022-05-12 17:18:24 +08:00
hcyi
0eae9a3add feat(TUP-34889):Support to prompt Context on Metadata Connection (#5253)
* feat(TUP-34889):Support to prompt Context on Metadata Connection

* feat(TUP-34889):Support to prompt Context on Metadata Connection

* feat(TUP-34889):Support to prompt Context on Metadata Connection

* feat(TUP-34889):active the prompt when export as context

* feat(TUP-34889):improve for Support to prompt Context on Metadata
Connection

* feat(TUP-34889):add junits and improve.

* feat(TUP-34889):update messages

* feat(TUP-34889):fix bug TUP-35369

* feat(TUP-34889): fix a bug .

* feat(TUP-34889):fix bug TUP-35503 and TUP-35504

* feat(TUP-34889):improve if multiple context group but not prompt .
2022-05-12 17:08:25 +08:00
Jane Ding
9d2f2d25ae fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5139)
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119
2022-05-11 10:38:15 +08:00
Jane Ding
9c6a4cfd9c fix(TUP-35315):Redshift SSO support driver 2.x (#5241)
* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069

* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315
fix(TUP-35356):[Bug] Redshiftsso can not check pass and throw error log
"java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials"

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315
fix(TUP-35356):[Bug] Redshiftsso can not check pass and throw error log
"java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials"

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315
fix(TUP-35356):[Bug] Redshiftsso can not check pass and throw error log
"java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials"

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315
fix(TUP-35411):[Bug] When create redshift sso use driver 2, studio can
not load the properties ok.

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315
fix(TUP-35424):[Bug] studio throw NPE error log when save tredshiftsso
component to a built-in metadata.

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315

* fix(TUP-35315):Redshift SSO support driver 2.x
https://jira.talendforge.org/browse/TUP-35315
2022-05-11 10:36:12 +08:00
Zhiwei Xue
5c9555669a fix(TUP-35219):Nullpointer exception with building job on (#5246)
commandline-script mode
2022-05-09 10:11:04 +08:00
Zhiwei Xue
4a9f849581 fix(TUP-34109):[7.3.1] slow project export compared to studio 6.5.1 (#5202) 2022-05-09 10:08:17 +08:00
hcyi
767fb94ff3 fix(TUP-35248):Context password exposed when hovering over context on Talend 8 (#5264)
* fix(TUP-35248):Context password exposed when hovering over context on
Talend 8

* fix(TUP-35248):add junits
2022-05-06 15:56:28 +08:00
hzhao-talendbj
1543d95ed5 Add localized files (#5272) (#5273)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-06 09:43:44 +08:00
Chao MENG
9401dfdfa2 fix(TUP-35048): Job takes about 30-60 minutes to build in Studio (#5222)
* fix(TUP-35048): Job takes about 30-60 minutes to build in Studio
https://jira.talendforge.org/browse/TUP-35048

* fix(TUP-35048): Job takes about 30-60 minutes to build in Studio
https://jira.talendforge.org/browse/TUP-35048

Add junit
2022-05-05 17:28:20 +08:00
sbliu
8f794d57eb Add localized files (#5268)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-04-28 18:33:44 +08:00
hzhao-talendbj
139ee4790a chore(TUP-35039):CVE: com.fasterxml.jackson (#5226) 2022-04-26 09:36:44 +08:00
sbliu
e8c59475c0 Add localized files (#5257)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-04-24 10:14:56 +08:00
sponomarova
b30ceb1644 feat(TBD-13632): Dataproc GA (#5104) 2022-04-20 11:16:46 +03:00
Jane Ding
8339e97e6f feat(TUP-35069):Upgrade Redshift driver to v2.x (#5227)
https://jira.talendforge.org/browse/TUP-35069
2022-04-19 17:42:23 +08:00
Chao MENG
dbc7b38790 chore: fix swtbot issue (#5240) 2022-04-19 11:12:49 +08:00
Zhiwei Xue
a4c10d3e7f fix(TUP-35302):Maven URI isn't updated if install R2022-03v2 first then (#5231)
install R2022-04
2022-04-18 14:23:30 +08:00
Laurent BOURGEOIS
129274171f feat(TBD-13522):CDE - GA (#5161) 2022-04-15 17:36:33 +02:00
sbliu
d2a1b44dc5 Add localized files (#5218)
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-04-15 15:10:33 +08:00
zyuan-talend
6976cb5f7c fix(TUP-35195): Deploy studio index to oss. (#5215) 2022-04-15 14:24:29 +08:00
Jane Ding
6acab4ee3f feat(TUP-35069):Upgrade Redshift driver to v2.x (#5192)
* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069

* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069

* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069

* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069

* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069

* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069
fix(TUP-35236):[bug] Addition parameter table layout issue

* feat(TUP-35069):Upgrade Redshift driver to v2.x
https://jira.talendforge.org/browse/TUP-35069
fix(TUP-35249):[bug]Use string parameter and Addition parameter table
showed when switch to other DB type
2022-04-14 17:45:08 +08:00
sponomarova
b68673389c feat(TBD-13328): Synapse service principal (#5204) 2022-04-14 12:21:21 +03:00
yyin
06aea8f475 Feat TDQ-20141 add param algoversion (#5212) 2022-04-14 16:05:36 +08:00
Chao MENG
c41901deea Cmeng/feat/tup 31734 test branch 8 (#5169)
* feat(TUP-31734): Prompt users to Test patches when migrating projects
https://jira.talendforge.org/browse/TUP-31734
2022-04-14 14:43:50 +08:00
hzhao-talendbj
0a926f8c03 feat(TDI-46111): update url (#5209) 2022-04-13 16:30:54 +08:00
Emmanuel GALLOIS
53f53ace47 feat(TDI-47693): bump component-runtime to 1.43.1 (#5141)
* feat(TDI-47693): bump component-runtime to 1.43.0
* fix(TDI-47693): component-runtime 1.43.1
- fix misaligned openwebbeans-spi dependency
2022-04-13 09:13:32 +02:00
hzhao-talendbj
ad29b74b2a feat(TUP-34929): Support for MSSQL Database 2019 (#5163)
* feat(TUP-34929): Support for MSSQL Database 2019

* feat(TUP-34929): Support for MSSQL Database 2019

* feat(TUP-34929): add dependency log4j

* feat(TUP-34929): Support for MSSQL Database 2019
2022-04-13 11:25:45 +08:00
jiezhang-tlnd
56ae308496 add new line break (#5206) 2022-04-12 17:35:22 +08:00
bhe-talendbj
c3b356d954 feat(TUP-34987): Identify Jobs having CVEs remediated improvement. (#5159)
* feat(TUP-34987): add cache

* feat(TUP-34987): refactor

* feat(TUP-34987): add cache
2022-04-12 16:51:48 +08:00
jiezhang-tlnd
5eaf89d87e fix(TUP-35153)remove old log4j from plugin (#5198) 2022-04-08 16:12:41 +08:00
hcyi
b2f0466ce3 feat(TUP-34849):Support retrieve SAP ADSOs metadata for provisioning. (#5155) 2022-04-08 10:52:44 +08:00
hzhao-talendbj
6f07c4da98 feat(TUP-34896): support teradata jdbc version 17 (#5168)
* feat(TUP-34896): support teradata jdbc version 17

* feat(TUP-34896): support teradata jdbc version 17
2022-04-07 15:25:25 +08:00
zyuan-talend
80a1ccd382 fix(TUP-35011):Improve Studio index build for monthly. (#5160) 2022-04-07 14:49:48 +08:00
qiongli
27dfb6a195 fix(TDQ-20222):Move backward 'handelDQComponents()' to avoid reset (#5164) 2022-04-06 16:14:33 +08:00
sbliu
330e31abb6 Add localized files (#5177) (#5185)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-04-01 16:12:55 +08:00
jiezhang-tlnd
8763339c06 remove bundle type (#5184) 2022-04-01 15:35:49 +08:00
wang wei
e6946750e0 fix(TDI-47633): CVE: Replace log4j1.x by reload4j or upgrade to log4j2 (#5146) 2022-04-01 14:32:31 +08:00
jiezhang-tlnd
e914973534 fix(TUP-34954)CVE: Replace log4j1.x by reload4j (#5142)
* fix(TUP-34954)CVE: Replace log4j1.x by reload4j

* fix(TUP-34954)CVE: Replace log4j1.x by reload4j

* update driver version

* exclude log4j from slf4j-log4j12

* update maven-repository
2022-04-01 14:14:22 +08:00
Zhiwei Xue
668987a61b fix(TUP-35133):Run a job with subjob failed after applied a patch with (#5167)
new version of CI-Builder
2022-03-30 17:40:30 +08:00
Chao MENG
0accf530d1 fix(TUP-35034): CI - stop the build if custom component is missing (#5151)
* fix(TUP-35034): CI - stop the build if custom component is missing
https://jira.talendforge.org/browse/TUP-35034

* fix(TUP-35034): CI - stop the build if custom component is missing
https://jira.talendforge.org/browse/TUP-35034
2022-03-30 16:09:50 +08:00
Oleksandr Zhelezniak
44341a7f9b fix(TDI-47651): bump Redshift driver to 1.2.55.1083 (#5154) 2022-03-25 11:46:31 +02:00
sbliu
ff46e1bab5 Add localized files (#5157) (#5158)
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-03-25 16:02:47 +08:00
sbliu
46b4b3a8db Add localized files (#5149)
* Add localized files (#5147)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

* Add localized files (#5148)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-03-24 17:33:27 +08:00
jiezhang-tlnd
eb9690239d chore(TUP-34977)Help links in Studio (#5132) 2022-03-21 14:49:43 +08:00
sbliu
7bbef8f4b2 Add localized files (#5138)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-03-18 11:38:42 +08:00
kjwang
df8f2bee44 Fix TUP-34930 Talend Studio 7.3 font color issues (#5101)
Fix TUP-34930 Talend Studio 7.3 font color issues
https://jira.talendforge.org/browse/TUP-34930
2022-03-17 10:30:12 +08:00
jiezhang-tlnd
ec8bf846c8 add parameter datacenter (#5118) 2022-03-14 15:09:46 +08:00
bhe-talendbj
61a97e6f00 fix(TUP-33810): fix test case (#5126) 2022-03-14 14:56:31 +08:00
sbliu
09cc2ab88d Add localized files (#5116)
* Add localized files (#5105)
* Add localized files (#5113)
* Add localized files (#5114)
* Add localized files (#5115)
2022-03-11 18:30:11 +08:00
hzhao-talendbj
8abfa5691b chore(TUP-34729): change code simply to trigger plugin updated (#5123) 2022-03-11 15:43:36 +08:00
hzhao-talendbj
5d90e3ddf9 chore(TUP-34729): change order simply to trigger plugin updated (#5119)
* chore(TUP-34729): change order simply to trigger plugin updated

* chore(TUP-34729): change order simply to trigger plugin updated

* chore(TUP-34729): change order simply to trigger plugin updated

* chore(TUP-34729): change code simply to trigger plugin updated
2022-03-11 15:41:10 +08:00
chmyga
51e101a2d6 feat(TDI-46441): update mapping (#4646)
Co-authored-by: Dmytro Chmyga <dmytro.chmyga@globallogic.com>
Co-authored-by: Dmytro Sylaiev <dmytro.sylaiev@globallogic.com>
2022-03-10 19:08:20 +08:00
msjian
e501f74225 fix(TDQ-19889): fix reload database functions for context prompt (#5112)
connection
2022-03-10 17:07:37 +08:00
Emmanuel GALLOIS
bbe564d285 feat(TDI-47609): bump component-runtime to 1.42.0 (#5088) 2022-03-10 08:44:21 +01:00
Liu Xinquan
ca6dd0414d fix(TDQ-20069) new component DQ rules Part 2 for GA (DI standard job) (#5109) 2022-03-10 11:28:24 +08:00
msjian
7c81cea780 feat(TDQ-19889):support analysis when using file connection prompt context (#5094) 2022-03-10 10:05:02 +08:00
Jane Ding
c4196919f7 fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#5077)
not work as tExasolOutput
https://jira.talendforge.org/browse/TUP-28898
2022-03-09 16:03:37 +08:00
hcyi
fccaad16b0 fix(TUP-34427):Resource:"The system cannot find the path specified" (#5100)
error shows if build job first then run job and job calls child job
which using resource.
2022-03-09 14:44:41 +08:00
Jane Ding
78295beef0 feat(TUP-33990):Pendo tracking for Studio integrations with API Designer (#5059)
* feat(TUP-33990):Pendo tracking for Studio integrations with API Designer
& API Tester
https://jira.talendforge.org/browse/TUP-33990

* feat(TUP-33990):Pendo tracking for Studio integrations with API Designer
& API Tester
https://jira.talendforge.org/browse/TUP-33990

* feat(TUP-33990):Pendo tracking for Studio integrations with API Designer
& API Tester
https://jira.talendforge.org/browse/TUP-33990

* fix(TUP-34791):Add project reference to Project Login Pendo tracking
https://jira.talendforge.org/browse/TUP-34791

* fix(TUP-34791):Add project reference to Project Login Pendo tracking
https://jira.talendforge.org/browse/TUP-34791

* fix(TUP-34791):Add project reference to Project Login Pendo tracking
https://jira.talendforge.org/browse/TUP-34791
2022-03-09 14:42:54 +08:00
wang wei
ce8da37a4a fix(TDI-47154): send exception info for audit log (#5103) 2022-03-08 22:02:14 +08:00
bhe-talendbj
7e29ffef3b feat(TUP-33809): Studio commandline: DetectCVE to Get list of jobs impacted by CVE jars (#5022)
* feat(TUP-33809): add detect cve service interface

* feat(TUP-33809): merge cveitem from different distributions

* feat(TUP-33809): add project name to report

* feat(TUP-33809): add columns to report header

* feat(TUP-33809): update report columns

* feat(TUP-33809): update report and cve index column names

* feat(TUP-33809): update usedbyTalend

* feat(TUP-33809): add getproductdate and test case

* feat(TUP-33809): fix test case

* feat(TUP-33809): revert from version changes

* feat(TUP-33809): by default not include fixed is false

* feat(TUP-33809): by default include not fixed is false

* feat(TUP-33809): add cvss colum for report

* feat(TUP-33809): update column name

* feat(TUP-33809): add clone of object
2022-03-08 10:43:54 +08:00
zshen-talend
9a72cf74ae Zshen/feat/tdq 20069 backport on 80 for patch3 (#5095) 2022-03-07 17:24:10 +08:00
Zhiwei Xue
9b02401b3f workitem(TUP-34590):improve performance of import items for tuj (#5087) 2022-03-04 16:26:58 +08:00
jiezhang-tlnd
de0005397b fix(TUP-34772)com.h2database:h2:2.0.206 (#5045) 2022-03-04 14:09:04 +08:00
jiezhang-tlnd
1b99ea876d Backport localized files 0303 (#5084)
* Add localized files (#5064)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

* Add localized files (#5065)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

* Add localized files (#5082)

Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: jiezhang-tlnd <40561780+jiezhang-tlnd@users.noreply.github.com>

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-03-04 08:43:52 +08:00
kjwang
1cf24c225c Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#5078)
Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a black box in Talend Studio designer tab
https://jira.talendforge.org/browse/TUP-32950
2022-03-02 17:27:44 +08:00
Hongchun Yi
340f3e3029 fix(TUP-34593):Cannot connect to Salesforce with password starting with
double-quotes
2022-03-02 12:10:07 +08:00
AlixMetivier
b625946c87 fix(TBD-13493): Hive connection failed in Talend 8 with CDH 7.1.6 (#5058)
https://jira.talendforge.org/browse/TBD-13493

Co-authored-by: Chao MENG <cmeng@talend.com>
2022-03-01 16:52:54 +01:00
msjian
1944bc03fe feat(TDQ-19889): Enabling the prompt context for profiling (#4991) (#5055) 2022-02-28 12:22:27 +08:00
hcyi
f8ae64d1a6 fix(TUP-34593):Cannot connect to Salesforce with password starting with (#5068)
double-quotes
2022-02-25 17:51:57 +08:00
hzhao-talendbj
ca2ebecc4e chore(TUP-34729): remove jar which is not used by osgi or point to any (#5039)
component
2022-02-25 17:41:17 +08:00
Jill Yan
3e276b2faa Revert "APPINT-34310 remove lib folder for MS zip (#5052)" (#5071)
This reverts commit b8d9189565.
2022-02-25 15:40:50 +08:00
sbliu
5ed90797f0 fix(TUP-34769) Error fields for Rejects get dropped from tSalesforceOutput after Sync Columns. (#5061)
fix bug TUP-33497
2022-02-23 18:01:51 +08:00
Jill Yan
b8d9189565 APPINT-34310 remove lib folder for MS zip (#5052)
Co-authored-by: jillyan <yan955599@gmail.com>
2022-02-22 14:42:25 +08:00
Xilai Dai
9c80461254 (APPINT-33481) fix the missing jetty-all when cHttp as server for MS (#5003) 2022-02-22 10:10:05 +08:00
Jane Ding
b301fec008 Revert "fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#4867)" (#5050)
This reverts commit 21aed909e7.
2022-02-18 17:17:37 +08:00
ypiel
f369769f4d fix(TDI-47477): Fix ParserUtils for tExtractPositionalFields 2022-02-18 10:15:52 +01:00
sponomarova
66b27d8a65 feat(TBD-12990): Dataproc TP (#5034) 2022-02-17 18:48:57 +02:00
kjwang
de1c6ab17e Revert "Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#4949)" (#5042)
This reverts commit 7dd57d3b8a.
2022-02-17 17:32:26 +08:00
sbliu
fd64f25f47 feat(TUP-34032): Support connection string and X509 authentication method for MongoDB Metadata. (#4959)
add field for context extraction
2022-02-15 14:16:27 +08:00
Jane Ding
7cece59991 fix(TUP-34401):Detect Dependencies is not working (#5033)
https://jira.talendforge.org/browse/TUP-34401
2022-02-15 11:22:18 +08:00
bhe-talendbj
3515f254e8 fix(TUP-34682): fix required wrong bundle (#5029)
fix(TUP-34682): fix required wrong bundle
2022-02-15 10:54:20 +08:00
Jane Ding
4124061a46 fix(TUP-34438):CVE: com.h2database:h2:1.4.198 (#4981)
* fix(TUP-34438):CVE: com.h2database:h2:1.4.198
https://jira.talendforge.org/browse/TUP-34438

* fix(TUP-34438):CVE: com.h2database:h2:1.4.198
https://jira.talendforge.org/browse/TUP-34438

* fix(TUP-34438):CVE: com.h2database:h2:1.4.198
https://jira.talendforge.org/browse/TUP-34438

* fix(TUP-34438):CVE: com.h2database:h2:1.4.198
https://jira.talendforge.org/browse/TUP-34438

* fix(TUP-34483)CVE: com.h2database:h2:1.4.198

Co-authored-by: jiezhang-tlnd <jie.zhang@talend.com>
2022-02-14 17:59:14 +08:00
jiezhang-tlnd
3c9cc66ffa Add localized files (#5028) (#5031)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-02-14 16:01:21 +08:00
Jane Ding
21aed909e7 fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#4867)
not work as tExasolOutput
https://jira.talendforge.org/browse/TUP-28898
2022-02-14 10:12:27 +08:00
kjwang
9987c00841 kjwang/Fix TUP-34660 TOS Cannot build job successfully (#5026)
kjwang/Fix TUP-34660 TOS Cannot build job successfully
https://jira.talendforge.org/browse/TUP-34660
2022-02-11 18:19:02 +08:00
kjwang
5cf8ee359c TUP-34510 Wrong dependency on TOS build (#4993)
TUP-34510 Wrong dependency on TOS build
https://jira.talendforge.org/browse/TUP-34510
2022-02-09 16:15:37 +08:00
jiezhang-tlnd
a33889b88d Add localized files (#5019) (#5021)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-02-07 18:01:57 +08:00
zyuan-talend
c7aefba2a6 fix(TUP-34489):forward interpreter to child job in commandline. (#5000) 2022-02-07 12:15:12 +08:00
Jane Ding
e906b6925b fix(TUP-34401):Detect Dependencies is not working (#4979)
https://jira.talendforge.org/browse/TUP-34401
2022-01-30 11:26:15 +08:00
hcyi
bdc5ccd55b fix(TUP-34595):we are trying to access api.eu.cloud.talend.com without (#5007)
passing through a proxy.
2022-01-29 11:18:41 +08:00
zyuan-talend
0e1b35e7de fix(TUP-33432): Improve feature manager top bar button for mac. (#4998) 2022-01-29 10:09:22 +08:00
jiezhang-tlnd
4ba66eddcd fix(TUP-34483)CVE org.apache.maven.shared maven-shared-utils [0.4,0.1] (#4995) 2022-01-28 16:57:12 +08:00
jiezhang-tlnd
b5bed2a301 Add localized files (#4999) (#5001)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-28 16:00:32 +08:00
apoltavtsev
fc33cddda6 feat(APPINT-32531) Make all DS/Route builds Java 11 and above compatible, design/build & run should work with different Java versions (#4969) 2022-01-27 09:26:06 +01:00
Emmanuel GALLOIS
f5e702a00e feat(TDI-47414): bump component-runtime to 1.41.0 (#4983) 2022-01-27 09:20:46 +01:00
jiezhang-tlnd
ccab416ff2 fix(TUP-31581)Remove CryptoHelper from test-studio-commandline (#4986) 2022-01-27 09:36:05 +08:00
jiezhang-tlnd
f1393a7d51 fix(TUP-34281): Cleanup of old translation files (#4954)
* fix(TUP-34281): Cleanup of old translation files

* Cleanup of old translation files

* change Require-Bundle of org.talend.model

* reset org.talend.model
2022-01-26 18:12:54 +08:00
kjwang
ce12083ea6 TUP-34120 Restart studio after install feature will have : "Workbench (#4913) (#4978)
TUP-34120 Restart studio after install feature will have : "Workbench has not been created yet" in error log
https://jira.talendforge.org/browse/TUP-34120
2022-01-26 14:30:10 +08:00
hzhao-talendbj
a669d7f92a fix(TUP-33675): try set manifest required version 1.0.7 (#4953)
* fix(TUP-33675): try set manifest required version 1.0.7

* fix(TUP-33675):Throw "Invalid key name: mdm.encryption.key" in error log

* fix(TUP-33675):fix wrong commit
2022-01-25 14:29:16 +08:00
jiezhang-tlnd
72668901f0 fix(TUP-34390)Wrong file selection dialog title for "Export custom (#4965)
settings" in Modules view
https://jira.talendforge.org/browse/TUP-34390
2022-01-25 10:12:21 +08:00
kjwang
7dd57d3b8a Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#4949)
Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a black box in Talend Studio designer tab
https://jira.talendforge.org/browse/TUP-32950
2022-01-21 14:48:18 +08:00
Wei Hua
b83974b619 Hwei/bugfix/801/appint 33765 (#4975)
* APPINT-33765 [7.3.1 patch] ClassNotFoundException in runtime when DB connection (SQLServer) in joblet without using alias

* APPINT-33765 [7.3.1 patch] ClassNotFoundException in runtime when DB connection (SQLServer) in joblet without using alias
2022-01-21 10:30:52 +08:00
jiezhang-tlnd
2f2db71457 Add localized files (#4980) (#4984)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-21 09:56:02 +08:00
Chao MENG
38befbe884 chore: change the url check url (#4971) 2022-01-19 11:59:35 +08:00
Jill Yan
74c96bca38 Revert "APPINT-33992 (#4937)" (#4967)
This reverts commit 21232bf4e4.
2022-01-17 12:04:12 +08:00
kjwang
0fe5142ec4 TUP-34420 In 8.0 patch, there are some libraries plugin's version can't (#4960)
TUP-34420 In 8.0 patch, there are some libraries plugin's version can't update that cause Studio can't apply it.
https://jira.talendforge.org/browse/TUP-34420
2022-01-13 17:31:52 +08:00
zshen-talend
8810097d4b Zshen/feat/tdq 19814 backport 80 (#4962)
* feat(TDQ-19814): create a new component tDataQualityRules

* feat(TDQ-19814): remove code call about IClasspathAdjuster
2022-01-13 16:59:17 +08:00
zyuan-talend
440986e764 fix(TUP-27184):escape label value for javajet. (#4961) 2022-01-13 16:40:04 +08:00
jiezhang-tlnd
290bcee6eb Jzhang/80/tup 34021 re (#4956)
* fix(TUP-34347)DataViewer doesnt work on retrieved schema

* fix(TUP-34347)DataViewer doesnt work on retrieved schema
2022-01-13 15:27:24 +08:00
hcyi
6b2b710b9f fix(TUP-34020):CVE: org.apache.axis2:axis2-kernel:[1.1-1.8.0] (#4839) 2022-01-12 18:47:59 +08:00
Jill Yan
21232bf4e4 APPINT-33992 (#4937)
Co-authored-by: jillyan <yan955599@gmail.com>
2022-01-12 15:57:14 +08:00
Zhiwei Xue
ed81969198 feat(TUP-33284):Allow Publishing to cloud only if the job items are (#4916) (#4917)
committed and pushed to Git
2022-01-11 15:53:48 +08:00
zyuan-talend
f19b61bb60 fix(TUP-27184):copy label from GraphicNode to DataNode. (#4947) 2022-01-11 15:46:06 +08:00
Xilai Dai
455ed6e133 Feat/maintenance/8.0/appint 34208 (#4948)
* add git info in pom.xml

* (APPINT-34208) add branch name into pom properties

* (APPINT-34208) fix the getting branch name

Co-authored-by: Zhiwei Xue <zwxue@talend.com>
2022-01-11 15:01:40 +08:00
hcyi
f4925493d8 fix(TUP-30975):Can't move Couchbase connection to folder. (#4914) 2022-01-10 10:31:54 +08:00
Jane Ding
b52a7c0c15 Add localized files (#4941) (#4942)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-07 11:18:13 +08:00
kjwang
77bfe5f89f TUP-34282 CVE: log4j-core(1.2-api)-[2-2.16.0) (#4925)
TUP-34282 CVE: log4j-core(1.2-api)-[2-2.16.0)
https://jira.talendforge.org/browse/TUP-34282

Conflicts:
	main/plugins/org.talend.designer.maven.repo.tcksdk/pom.xml
2022-01-07 09:59:54 +08:00
hzhao-talendbj
3beb45da54 fix(TUP-33644): TMC: error pop up when uncheck "use manual commit mode" (#4939)
* fix(TUP-33644): TMC: error pop up when uncheck "use manual commit mode"

* fix(TUP-33644): TMC: error pop up when uncheck "use manual commit mode
2022-01-06 18:01:15 +08:00
cbadillo1603
e0b63e2692 fix(TBD-12184):Password field missing for tImpalaRow (#4520) (#4927)
* Revert "Revert "fix(TBD-12184):Password field missing for tImpalaRow (#4472)" (#4507)"

This reverts commit f7fb174301.

* fix(TBD-12184):Password field missing for tImpalaRow

* fix(TBD-12184):Password field missing for tImpalaRow

* fix(TBD-12184):Password field missing for tImpalaRow

* fix(TBD-12184):Password field missing for tImpalaRow
2022-01-04 14:18:54 +01:00
Emmanuel GALLOIS
e18d768d45 feat(TDI-47278): bump component-runtime to 1.40.0 (#4897) 2022-01-04 12:34:51 +01:00
hzhao-talendbj
c926c78297 fix(TUP-33962): Error in handling default value as NULL (#4875) (#4918)
* fix(TUP-33962): Error in handling default value as NULL

* fix(TUP-33962): Error in handling default value as NULL

* fix(TUP-33962): Error in handling default value as NULL
2022-01-04 17:51:16 +08:00
Jane Ding
4a473f97bd Localize message update 4 maintenance80 (#4923)
* Add localized files (#4920)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

* Add localized files (#4921)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-01-04 12:02:16 +08:00
Zhiwei Xue
fe3969b4da workitem(TUP-34111):slow studio build time for remote execution (#4884) 2021-12-30 16:07:03 +08:00
jiezhang-tlnd
3ef0cbce5f chore(TUP-34021)CVE: org.apache.maven:maven-core:3.8.1 (#4861)
* chore(TUP-34021)CVE: org.apache.maven:maven-core:3.8.1

* CVE on maven-core-3.8.1
2021-12-30 15:01:37 +08:00
zyuan-talend
6d68cd1e26 fix(TUP-33214):complement the tree node sorting logic. (#4911) 2021-12-30 11:55:23 +08:00
Jane Ding
897730f107 fix(TUP-33830):[7.3] ref project compilation error (#4842)
* fix(TUP-33830):[7.3] ref project compilation error
https://jira.talendforge.org/browse/TUP-33830

* fix(TUP-33830):[7.3] ref project compilation error
https://jira.talendforge.org/browse/TUP-33830
2021-12-29 11:35:20 +08:00
sbliu
b23971ce4b chore(TUP-33954) upgrade ant 1.10.9 to 1.10.11 (#4836) 2021-12-28 17:49:20 +08:00
hzhao-talendbj
091637fba2 fix(TUP-33939): Ubuntu: Cannot close "Quick Tour" (#4904)
* fix(TUP-33939): Ubuntu: Cannot close "Quick Tour"

* fix(TUP-33939): Ubuntu: Cannot close "Quick Tour"
2021-12-27 19:14:44 +08:00
hcyi
8fa6b6e972 fix(TUP-33897):Remove username from Studio Cloud Login. (#4864)
* fix(TUP-33897):Remove username from Studio Cloud Login.

* fix(TUP-33897):fix a bug when check connection at the first time.

* fix(TUP-33897):fix a bug when check connection at the first time.
2021-12-27 10:28:27 +08:00
bhe-talendbj
dc2d37a3f2 fix(TUP-34155): add dependencies to shade plugin (#4899) 2021-12-21 14:48:52 +08:00
undx
76ba5fa734 Revert "feat(TDI-47278): bump component-runtime to 1.39.3"
This reverts commit aab581232e.
2021-12-20 12:21:31 +01:00
undx
aab581232e feat(TDI-47278): bump component-runtime to 1.39.3 2021-12-20 12:20:23 +01:00
Jane Ding
7293f33b65 Add localized files (#4880) (#4895)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-12-20 09:56:43 +08:00
Chao MENG
89e5ab0ae6 fix(TUP-34118): Can't use latest dependencies of tcompv0 after installed (#4881)
patch
https://jira.talendforge.org/browse/TUP-34118
2021-12-16 20:50:46 +08:00
Chao MENG
efdc58a2a2 fix(TUP-34141): can't pull the changes of requiredFeatures.json for (#4879)
local mode
https://jira.talendforge.org/browse/TUP-34141
2021-12-16 18:17:27 +08:00
Chao MENG
d0a82b708b fix(TUP-34140): run job with tRunJob failed if user B logon a project that user A installed some features contain routine (#4874)
* fix(TUP-34140): run job with tRunJob failed if user B logon a project
that user A installed some features contain routine
https://jira.talendforge.org/browse/TUP-34140

* fix(TUP-34140): run job with tRunJob failed if user B logon a project
that user A installed some features contain routine
https://jira.talendforge.org/browse/TUP-34140
2021-12-15 22:40:32 +08:00
bhe-talendbj
86e9c0287b fix(TUP-34105): backport (#4868) 2021-12-15 11:44:25 +08:00
hcyi
93b6012426 feat(TUP-33198):add some junits (#4849) 2021-12-15 10:40:40 +08:00
Chao MENG
3eaf1769d9 fix(TUP-34118): Can't use latest dependencies of tcompv0 after installed (#4859)
patch
https://jira.talendforge.org/browse/TUP-34118
2021-12-14 18:55:56 +08:00
bhe-talendbj
045405ff29 fix(TUP-34105): upgrade log4j2 (#4852)
* fix(TUP-34105): upgrade log4j2

* fix(TUP-34105): fix test case

* fix(TUP-34105): update version

* fix(TUP-34105): update version

* fix(TDI-47241): CVE: log4j-api(core)-[2 - 2.15.0)

* add the miss jar align

* fix(TUP-34105): fix synchronize libs

* fix(TUP-34105): update plugin version

* fix(TUP-34105): update plugin version

* fix(TUP-34105): update bundle version

* fix(TUP-34105): update bundle version

* fix(TUP-34105): update bundle version

Co-authored-by: wwang-talend <wwang@talend.com>
2021-12-14 15:40:24 +08:00
kjwang
feba8702bc TUP-34096 failed to logon the project, after clicking NO on the patch update restart dialog (#4850)
* TUP-34096 failed to logon the project, after clicking NO on the patch
update restart dialog
https://jira.talendforge.org/browse/TUP-34096
2021-12-13 15:09:52 +08:00
wang wei
70b21e3faf fix(TDI-46962): tAmazonAuoraOutput compilation errors (#4761) 2021-12-13 11:21:56 +08:00
Zhiwei Xue
5be1510aed fix(TUP-32059):Add git info in the jobinfo.properties when building job (#4826)
from CI
2021-12-10 19:02:17 +08:00
Chao MENG
a437c4d2b5 fix(TUP-33713): Logon popup message in a mess when main project and (#4847)
refer project are on different patch level
https://jira.talendforge.org/browse/TUP-33713
2021-12-09 20:31:55 +08:00
370 changed files with 15184 additions and 9925 deletions

View File

@@ -21,11 +21,11 @@
<import plugin="org.junit" version="4.13.2" match="greaterOrEqual"/>
<import plugin="org.slf4j.api" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.slf4j.binding.log4j12" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.talend.studio.studio-utils" version="0.0.0" match="greaterOrEqual"/>
</requires>
<plugin id="org.talend.daikon" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.talend.daikon.exception" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.talend.daikon.crypto.utils" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.talend.studio.studio-utils" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.talend.utils" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
<plugin id="org.talend.platform.logging" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
</feature>

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

View File

@@ -28,11 +28,21 @@ public interface ColorConstants {
static final Color YELLOW_COLOR = new Color(null, 255, 173, 37);// 254, 182, 84
static final Color RED_COLOR = new Color(null, new RGB(204,87,89));// 255
static final Color RED_COLOR = new Color(null, new RGB(204, 87, 89));// 255
static final Color VERTICAL_SEPERATOR_LINE_COLOR = new Color(null, 162, 179, 195);
static final Color LOCHMARA_COLOR = new Color(null, 6, 117, 193);
static final Color WATHET_COLOR = new Color(null, 135, 206, 235);
static final Color INFO_COLOR = new Color(null, 205, 227, 242);
// static final Color INFO_COLOR = YELLOW_GREEN_COLOR;
static final Color WARN_COLOR = new Color(null, 252, 230, 217);
static final Color ERR_COLOR = new Color(null, 255, 235, 235);
static final Color SUCCEED_COLOR = new Color(null, 221, 242, 217);
}

View File

@@ -1,132 +0,0 @@
AccessorUtils.Assert0=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly. {2} is required for bean <B>
AccessorUtils.Assert1=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly or the value set has not the correct type.
AccessorUtils.NoClassDef=NoClassDefFoundError ({0})\:{1}
AccessorUtils.isReq=\ is required for the bean (<B>).
AccessorUtils.isReqValue=\ is required for the value (<V>), but the value could be adapted with CellEditorValueAdapter.
AddPushButton.AddButton.Tip=Add
AddAllPushButton.AddAllButton.Tip=Add All
CellEditorDialogBehavior.textContent=...
CellEditorValueAdapterFactory.valueNotStringType=Bean value should be a class of String type \!
ColorStyledText.RedoItem.Text=Redo
ColorStyledText.UndoItem.Text=Undo
ColorStyledText.CopyItem.Text=Copy
ColorStyledText.PasteItem.Text=Paste
ColorStyledText.SelectAllItem.Text=Select All
ContentProposalAdapterExtended.close=close
ContentProposalAdapterExtended.closeFocusout=close focusout
ControlUtils.Unsupported1=This control ({0}) is not supported, add case if you want...
CopyPushButton.CopyButton.Tip=Copy selected items
Curve2D.MaxNum.Be0=maximumSegments must be positive or 0
Curve2D.MinNum.Be0=minimumSegments must be positive or 0
DateDialog.textContent=Select Date & Time
DefaultCellModifier.tableItemDispose=TableItem disposed
DialogErrorForCellEditorListener.Error.MsgDialogTitle=Error
ErrorDialogWidthDetailArea.ErrorMessage.Text=Error Message
ErrorDialogWidthDetailArea.ErrorMessage.ColumnText=Column can not be empty
ErrorDialogWidthDetailArea.ErrorMessage.ColumnText.NotValid=The input '{0}' is not valid, will use the original value '{1}' instead of it.
ErrorDialogWithContinue.setParameter=Set parameters and continue
EventUtil.activate=activate
EventUtil.arm=arm
EventUtil.close=close
EventUtil.collapse=collapse
EventUtil.deactivate=deactivate
EventUtil.defaultSelection=default selection
EventUtil.deiconify=deiconify
EventUtil.detailNull=null
EventUtil.dispose=dispose
EventUtil.dragDetect=drag detect
EventUtil.expand=expand
EventUtil.focusIn=focus in
EventUtil.focusOut=focus out
EventUtil.hardKeyDown=hard key down
EventUtil.hardKeyUp=hard key up
EventUtil.help=help
EventUtil.hide=hide
EventUtil.iconify=iconify
EventUtil.keyDown=key down
EventUtil.keyUp=key up
EventUtil.menuDetect=menu detect
EventUtil.modify=modify
EventUtil.mouseDoubleClick=mouse double click
EventUtil.mouseDown=mouse down
EventUtil.mouseEnter=mouse enter
EventUtil.mouseExit=mouse exit
EventUtil.mouseHover=mouse hover
EventUtil.mouseMove=mouse move
EventUtil.mouseUp=mouse up
EventUtil.move=move
EventUtil.paint=paint
EventUtil.resize=resize
EventUtil.selectedEqual=SELECTED=
EventUtil.selection=selection
EventUtil.show=show
EventUtil.traverse=traverse
EventUtil.typeNull=null
EventUtil.UnknowDetail=unkown ??? value of event detail \:
EventUtil.UnknowType=unkown ??? value of event type \:
EventUtil.verify=verify
ExceptionHandler.Parameter.BeNull=ex param cannot be null
ExceptionMessageDialog.Cancel=Cancel
ExceptionMessageDialog.log=log
ExceptionMessageDialog.No=No
ExceptionMessageDialog.OK=OK
ExceptionMessageDialog.Yes=Yes
ExportPushButton.ExportButton.Tip=Export all rows into XML file
ExportPushButtonForExtendedTable.ErrorMsg.Text=Error occurred
ExtendedTableAddCommand.Add.Label=Add one or more table entries
ExtendedTableCopyCommand.Copy.Label=Copy one or more table entries in the internal clipboard
ExtendedTableModel.ModifiedObject.Error=ModifiedBeanListenable object must be set before use this method
ExtendedTableMoveCommand.MoveLabel=Move up or down, one or more table entries
ExtendedTablePasteCommand.Paste.Label=Paste data from the internal clipoard
ExtendedTableRemoveCommand.Romve.Label=Remove table entries
ExtendedTableResetDBTypesCommand.ResetDBTypes.Label=Reset all DB Types to get the defaults
ImportPushButton.ImportButton.Tip=Replace all rows by import from xml file
ImportPushButtonForExtendedTable.ErrorMsg.Text=Error occurred
LabelledFileField.BrowseButton.Text=Browse...
LabelledFileField.FileDialog.Text=Select a
Mode.Mode.ToString=Mode [{0}]
ModeReader.IgnoreElement=Ignore unknown element
ModelSelectionDialog.Title=Edit parameter using repository
ModifyBeanValueCommand.ModifyCell.Label=Modify cell value
MoveDownPushButton.MoveDownTip=Move down selected items
MoveUpPushButton.MoveUpButton.Tip=Move up selected items
PastePushButton.PasteButton.Label=Paste
ProposalUtils.CellProposal.Error=Proposal of this type of CellEditor is unsupported \:
ProposalUtils.CtrlProposal.ErrorMsg=Proposal for this type of Control is unsupported \:
RemovePushButton.RemoveButton.Tip=Remove selected items
ResetDBTypesButton.ResetDBTypesButton.Tip=Reset DB Types
Rule.rule=Rule [{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=Save as generic schema
SelectContextVariablesPushButton.Label=Select context variables
SWTCalendarWithTime.contentEvening=Evening
SWTCalendarWithTime.contentHr=Hr:
SWTCalendarWithTime.contentMin=Min:
SWTCalendarWithTime.contentMorning=Morning
SWTCalendarWithTime.contentNoon=Noon
SWTCalendarWithTime.contentNow=Now
SWTCalendarWithTime.contnetSec=Sec:
TableViewerCreator.CallMethod.ErrorMsg=You can call this method only if you have already called createTable()
TableViewerCreator.CellModifier.ExError=The current CellModifier does'nt support this operation. \n Use '{0}' or a class which extends it to use this feature
TableViewerCreator.columnNoIBeanProperty=The column '{0}' ('{1}') has a CellEditor set but does'nt have a IBeanPropertyAccessors \!
TableViewerCreator.columnNullId=Column '{0}' has null id \!
TableViewerCreator.IdProperty.AssertMsg=You must change the idProperty of one of your column, the idProperty must be unique for each column for one Table.
TableViewerCreator.Table.BeNull=table is null
TableViewerCreator.TableColumn.AssertMsg=The TableColumn of TableEditorColumn with idProperty '{0}' has not the correct Table parent
TreeToTablesLinker.Type.Unsupported=This type of currentControl is unsupported
commons.error=Error
exception.errorOccured=An error occured ({0}).\nSee log for more details.
ModelSelectionDialog.Message=Please choose one option, or cancel.
ModelSelectionDialog.Option=option
ModelSelectionDialog.BuiltIn=Change to built-in property.
ModelSelectionDialog.ViewSchema=View schema (read only).
ModelSelectionDialog.newViewSchema=View schema
ModelSelectionDialog.ViewQuery=View query (read only).
ModelSelectionDialog.Update=Update repository connection.
FileStep2.previewFailure=Preview error. Some settings must be changed.\nNote\: Preview errors are generally due to a wrong encoding setting.
GlobalServiceRegister.ServiceNotRegistered=The service {0} has not been registered.
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.title=The xml can't parse.
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.msg=The xml can't parse in this format.
SSLConfirmDialog.KeyStore=please input keyStore
SSLConfirmDialog.TrustStore=please input trustStore
SSLConfirmDialog.Password=please input password
HibernateUtils.auditDBIsNotUsable=The audit database must be empty or only contains tables related to audit.

View File

@@ -65,7 +65,7 @@ EventUtil.typeNull=NULL
EventUtil.UnknowDetail=\u30A4\u30D9\u30F3\u30C8\u8A73\u7D30\u306E\u4E0D\u660E\u306A???\u5024:
EventUtil.UnknowType=\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7\u306E\u4E0D\u660E\u306A???\u5024:
EventUtil.verify=\u78BA\u8A8D
ExceptionHandler.Parameter.BeNull=ex \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306B\u306Fnull\u3092\u8A2D\u5B9A\u51FA\u6765\u307E\u305B\u3093
ExceptionHandler.Parameter.BeNull=ex \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306B\u306Fnull\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093
ExceptionMessageDialog.Cancel=\u30AD\u30E3\u30F3\u30BB\u30EB
ExceptionMessageDialog.log=\u30ED\u30B0
ExceptionMessageDialog.No=\u3044\u3044\u3048
@@ -73,12 +73,12 @@ ExceptionMessageDialog.OK=OK
ExceptionMessageDialog.Yes=\u306F\u3044
ExportPushButton.ExportButton.Tip=\u3059\u3079\u3066\u306E\u884C\u3092XML\u30D5\u30A1\u30A4\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8
ExportPushButtonForExtendedTable.ErrorMsg.Text=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
ExtendedTableAddCommand.Add.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30921\u3064\u4EE5\u4E0A\u8FFD\u52A0
ExtendedTableCopyCommand.Copy.Label=\u5185\u90E8\u30AF\u30EA\u30FC\u30F3\u30DC\u30FC\u30C9\u306B\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30921\u3064\u4EE5\u4E0A\u30B3\u30D4\u30FC
ExtendedTableAddCommand.Add.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u30921\u3064\u4EE5\u4E0A\u8FFD\u52A0
ExtendedTableCopyCommand.Copy.Label=\u5185\u90E8\u30AF\u30EA\u30FC\u30F3\u30DC\u30FC\u30C9\u306B\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u30921\u3064\u4EE5\u4E0A\u30B3\u30D4\u30FC
ExtendedTableModel.ModifiedObject.Error=\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u4F7F\u7528\u3059\u308B\u524D\u306BModifiedBeanListenable\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
ExtendedTableMoveCommand.MoveLabel=\u8907\u6570\u306E\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u3092\u4E0A\u4E0B\u306B\u79FB\u52D5
ExtendedTableMoveCommand.MoveLabel=\u8907\u6570\u306E\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u4E0A\u4E0B\u306B\u79FB\u52D5
ExtendedTablePasteCommand.Paste.Label=\u5185\u90E8\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u304B\u3089\u30C7\u30FC\u30BF\u3092\u8CBC\u308A\u4ED8\u3051\u308B
ExtendedTableRemoveCommand.Romve.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664
ExtendedTableRemoveCommand.Romve.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u524A\u9664
ExtendedTableResetDBTypesCommand.ResetDBTypes.Label=DB\u30BF\u30A4\u30D7\u3092\u3059\u3079\u3066\u30EA\u30BB\u30C3\u30C8\u3057\u3066\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u53D6\u5F97
ImportPushButton.ImportButton.Tip=\u884C\u3092\u3059\u3079\u3066XML\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u7F6E\u63DB
ImportPushButtonForExtendedTable.ErrorMsg.Text=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
@@ -106,7 +106,7 @@ SWTCalendarWithTime.contentNoon=\u5348\u5F8C
SWTCalendarWithTime.contentNow=\u73FE\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u3001createTable()\u3092\u65E2\u306B\u547C\u3073\u51FA\u3057\u3066\u3044\u308B\u5834\u5408\u306E\u307F\u547C\u3073\u51FA\u305B\u307E\u3059
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002\n\u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u3046\u306B\u306F\u3001'{0}'\u304B\u62E1\u5F35\u30AF\u30E9\u30B9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002 \n \u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001'{0}'\u304B\u3001\u62E1\u5F35\u3059\u308B\u30AF\u30E9\u30B9\u3092\u4F7F\u3044\u307E\u3059\u3002
TableViewerCreator.columnNoIBeanProperty=\u30AB\u30E9\u30E0'{0}' ('{1}')\u306B\u306FCellEditor\u30BB\u30C3\u30C8\u304C\u3042\u308A\u307E\u3059\u304C\u3001IBeanPropertyAccessors\u304C\u3042\u308A\u307E\u305B\u3093!
TableViewerCreator.columnNullId=\u30AB\u30E9\u30E0'{0}'\u304Cnull\u3067\u3059\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u30AB\u30E9\u30E0\u306EidProperty\u306E\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3001idProperty\u306F\uFF11\u3064\u306E\u30C6\u30FC\u30D6\u30EB\u3067\u30E6\u30CB\u30FC\u30AF\u3067\u306A\u304F\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002
@@ -121,11 +121,11 @@ ModelSelectionDialog.BuiltIn=\u7D44\u307F\u8FBC\u307F\u30D7\u30ED\u30D1\u30C6\u3
ModelSelectionDialog.ViewSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.newViewSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u8868\u793A
ModelSelectionDialog.ViewQuery=\u30AF\u30A8\u30EA\u30FC\u3046\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u3002
SSLConfirmDialog.KeyStore=KeyStore\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
SSLConfirmDialog.TrustStore=TrustStore\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
SSLConfirmDialog.Password=\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u3044\u304F\u3064\u304B\u306E\u8A2D\u5B9A\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u4E00\u90E8\u306E\u8A2D\u5B9A\u3092\u5909\u66F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u7684\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
GlobalServiceRegister.ServiceNotRegistered=\u30B5\u30FC\u30D3\u30B9{0}\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.title=XML\u306B\u89E3\u6790\u3067\u304D\u307E\u305B\u3093.
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.msg=\u3053\u306E\u5F62\u5F0F\u3067\u306F\u3001XML\u306B\u89E3\u6790\u3067\u304D\u307E\u305B\u3093.

View File

@@ -106,7 +106,7 @@ SWTCalendarWithTime.contentNoon=\u4E2D\u5348
SWTCalendarWithTime.contentNow=\u73B0\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u53EA\u6709\u60A8\u5DF2\u7ECF\u8C03\u7528\u4E86 createTable() \u65B9\u6CD5\u540E\uFF0C\u624D\u80FD\u8C03\u7528\u6B64\u65B9\u6CD5\u3002
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002\n \u4F7F\u7528 '{0}' \u6216\u80FD\u591F\u5BF9\u5176\u8FDB\u884C\u6269\u5C55\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002 \n \u4F7F\u7528 '{0}' \u6216\u6269\u5C55\u5B83\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.columnNoIBeanProperty=\u5217 '{0}' ('{1}') \u8BBE\u7F6E\u4E86 CellEditor\uFF0C\u4F46\u6CA1\u6709 IBeanPropertyAccessors\uFF01
TableViewerCreator.columnNullId=\u5217 '{0}' \u7684 id \u4E3A null\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u4F60\u5FC5\u987B\u6539\u53D8\u5176\u4E2D\u4E00\u4E2A\u5217\u7684 idProperty\uFF0C\u4E00\u4E2A\u8868\u4E2D\u7684\u6BCF\u4E2A\u5217\u7684 idProperty \u5FC5\u987B\u552F\u4E00\u3002
@@ -114,7 +114,7 @@ TableViewerCreator.Table.BeNull=\u8868\u4E3A null
TableViewerCreator.TableColumn.AssertMsg=TableEditorColumn \u7684 idProperty \u4E3A '{0}' \u7684 TableColumn \u6CA1\u6709\u6B63\u786E\u7684 Table \u7236\u9879
TreeToTablesLinker.Type.Unsupported=\u4E0D\u652F\u6301\u8FD9\u79CD\u7C7B\u578B\u7684 currentControl
commons.error=\u9519\u8BEF
exception.errorOccured=\u53D1\u751F\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
exception.errorOccured=\u51FA\u73B0\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
ModelSelectionDialog.Message=\u8BF7\u9009\u62E9\u4E00\u4E2A\u9009\u9879\u6216\u53D6\u6D88\u3002
ModelSelectionDialog.Option=\u9009\u9879
ModelSelectionDialog.BuiltIn=\u66F4\u6539\u4E3A\u5185\u7F6E\u5C5E\u6027\u3002
@@ -125,7 +125,7 @@ ModelSelectionDialog.Update=\u66F4\u65B0\u5B58\u50A8\u5E93\u8FDE\u63A5\u3002
SSLConfirmDialog.KeyStore=\u8BF7\u8F93\u5165\u5BC6\u94A5\u5E93
SSLConfirmDialog.TrustStore=\u8BF7\u8F93\u5165\u4FE1\u4EFB\u5E93
SSLConfirmDialog.Password=\u8BF7\u8F93\u5165\u5BC6\u7801
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u987B\u6539\u53D8\u4E00\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u53EF\u80FD\u662F\u56E0\u4E3A\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u9020\u6210\u7684\u3002
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u5FC5\u987B\u66F4\u6539\u67D0\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u901A\u5E38\u662F\u7531\u4E8E\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u5BFC\u81F4\u3002
GlobalServiceRegister.ServiceNotRegistered=\u670D\u52A1 {0} \u8FD8\u672A\u6CE8\u518C\u3002
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.title=xml \u65E0\u6CD5\u89E3\u6790\u3002
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.msg=xml \u65E0\u6CD5\u4EE5\u8FD9\u79CD\u683C\u5F0F\u89E3\u6790\u3002

View File

@@ -39,6 +39,10 @@ public enum EImage implements IImage {
EDIT_ICON("/icons/write_obj.gif"), //$NON-NLS-1$
READ_ICON("/icons/read_obj.gif"), //$NON-NLS-1$
QUESTION_ICON("/icons/question.gif"), //$NON-NLS-1$
HELP_ICON("/icons/help.png"), //$NON-NLS-1$
CREATE_CONNECTION_ICON("/icons/connection.gif"), //$NON-NLS-1$
RESET_DBTYPES_ICON("/icons/reset_dbtypes.jpg"), //$NON-NLS-1$

View File

@@ -95,10 +95,9 @@
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<type>bundle</type>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
</dependency>
</dependencies>

View File

@@ -58,10 +58,14 @@ public class CommonsPlugin implements BundleActivator {
// TESB-17856: For commandline builds ESB Micorservice bundle
private static boolean isESBMicorservice = false;
private static Boolean isJunitWorking;
private static Boolean isDevMode = null;
private static ServiceTracker proxyTracker;
private static Boolean isDebugP2 = null;
public static boolean isWorkbenchCreated() {
return isWorkbenchCreated;
}
@@ -124,6 +128,17 @@ public class CommonsPlugin implements BundleActivator {
}
}
public static boolean isDebugP2() {
try {
if (isDebugP2 == null) {
isDebugP2 = Boolean.getBoolean("talend.studio.lite.p2.debug");
}
return isDebugP2;
} catch (Exception e) {
return false;
}
}
public static boolean isDebugMode() {
return Boolean.getBoolean("talendDebug") //$NON-NLS-1$
|| ArrayUtils.contains(Platform.getApplicationArgs(), TalendDebugHandler.TALEND_DEBUG);
@@ -137,6 +152,35 @@ public class CommonsPlugin implements BundleActivator {
return "org.talend.rcp.branding.tuj.product".equals(Platform.getProduct().getId()); //$NON-NLS-1$
}
public static boolean isJunitWorking() {
if (isJunitWorking == null) {
try {
String[] args = Platform.getCommandLineArgs();
String applicationId = null;
for (int i = 0; i < args.length - 1; i++) {
if (args[i].equalsIgnoreCase("-application")) { //$NON-NLS-1$
applicationId = args[i + 1];
}
}
if (applicationId != null
&& (applicationId.equals("org.eclipse.swtbot.eclipse.junit.headless.swtbottestapplication") //$NON-NLS-1$
|| applicationId.equals("org.eclipse.pde.junit.runtime.uitestapplication"))) { //$NON-NLS-1$
isJunitWorking = true;
} else {
isJunitWorking = false;
}
} catch (Throwable e) {
isJunitWorking = false;
}
}
if (isJunitWorking == null) {
isJunitWorking = false;
}
return isJunitWorking;
}
/**
* Answer the file associated with name. This handles the case of running as a plugin and running standalone which
* happens during testing.

View File

@@ -1,60 +0,0 @@
DatabaseContentRetriever.PRODUCTNAME=Database Product Name:
DatabaseContentRetriever.PRODUCTVERSION=Database Product Version:
DB2ForZosResultSet.outofRange=\ is out of range.
DB2ForZosResultSet.parameterIndex=Invalid argument\: parameter index
DB2ForZosResultSet.unknowCloumn=Invalid argument\: unknown column name
SybaseResultSet.outofRange=\ is out of range.
SybaseResultSet.parameterIndex=Invalid argument\: parameter index
SybaseResultSet.unknowCloumn=Invalid argument\: unknown column name
AbstractFakeResultSet.unknowCloumn=Invalid argument\: {0} is unknown column name
AbstractFakeResultSet.parameterIndexOutOfRange=Invalid argument\: parameter index {0} is out of range
EntryLocation.returnTableName={tableName={0}, columnName={1}}
ExceptionHandler.Parameter.BeNull=ex param cannot be null
ExtensionImplementationProviders.ExtensionPointError=Extension point must authorize a single instance
ListenableList.IndexSameLength.Error=indexOrigin and indexDestination must have same length
ReflectionPropertyException.Access.ErrorMsg3=Error when trying to access to the {0} of the property ' of the property '{1}' of the class '{2}'
ResourceUtils.canMove1=Can move
ResourceUtils.canMove2=Can move {0} -> {1}
ResourceUtils.cannotMoveRule3=Cannot move {0} -> {1} (Rule 3-Descendant)
ResourceUtils.cnanotMoveRule1=Cannot move {0} -> {1} (Rule 1-Test if source & target are differents)
ResourceUtils.go=\ ->
ResourceUtils.streamNull=stream is null
ReusableMultiKey.Keys.BeNull=The array of keys must not be null
StringUtils.IllegalArgument0=only support the \\uxxxx or \\xhh encoding.
StringUtils.IllegalArgument1=Malformed \\uxxxx encoding.
StringUtils.IllegalArgument2=Malformed \\uxxxx encoding.
StringUtils.IllegalArgument3=Malformed \\0xxx encoding.
VersionUtils.Version.Error2=Malformed string {0} (expecting M{1}m)
FilesUtils.operationCanceled=Operation is canceled during copying folders or files.
resources.file.notCreated=File "{0}" cannot be created ({1})
resources.file.notDeleted=File "{0}" cannot be deleted
resources.file.notGet=Required file "{0}" not found in folder "{1}"
resources.fileContent.notGet=Content of file "{0}" cannot be retrieve
resources.folder.notCreated=Folder "{0}" cannot be created
resources.folder.notDeleted=Folder "{0}" cannot be deleted
resources.folder.notEmptied=Folder "{0}" cannot be emptied
resources.folder.notGet=Required folder "{0}" not found in project "{1}"
resources.members.notGet=Members of container "{0}" cannot be retrieve
resources.project.notGet=Required project "{0}" not found
resources.resource.notMoved=Resource "{0}" cannot be moved to "{1}"
utils.data.container=Id {0} already used in container
utils.workbench.extensions.badNumberOfExtension=Bad number of extensions found on {0}. Expecting between {1} and {2} but found {3}.
utils.workbench.extensions.noExtension=No plug-in extending extension point ID "{0}" can be found.
XmlNodeRetriever.countResult=Count result \:
XmlNodeRetriever.field2Node=field2Node=
XmlNodeRetriever.filed1Node=field1Node=
XmlNodeRetriever.mainExpression=main expression =
XmlNodeRetriever.mainNode=mainNode=
XmlNodeRetriever.proposal2Node=proposal2Nodes \:
XmlNodeRetriever.prposal1Node=proposal1Nodes \:
XmlNodeRetriever.singleQuotes='
XmlNodeRetriever.xPathExpression=xPathExpression = '
VersionUtils.readPropertyFileError=Error to read property in talend.properties file.
SoftwareSystemManager.NULL_CONN_INSTANCE=null connection instance.
SoftwareSystemManager.NULL_INSTANCE_SOFTWARE_SYS=null software system instance.
AS400ResultSet.unknowCloumn=Invalid argument\: unknown column name
AS400ResultSet.parameterIndex=Invalid argument\: parameter index
AS400ResultSet.outofRange=\ is out of range.
ITaCoKitService.exception.multipleInstance=More than one instance found: {0}
TalendProxySelector.exception.badUriMap=Bad uri map: {0}
TalendProxySelector.exception.proxySelectionError=Error occurs when selecting proxy for {0}

View File

@@ -11,7 +11,7 @@ SybaseResultSet.unknowCloumn=\u7121\u52B9\u306A\u5F15\u6570: \u30AB\u30E9\u30E0\
AbstractFakeResultSet.unknowCloumn=\u7121\u52B9\u306A\u5F15\u6570: {0}\u304C\u4E0D\u660E\u306A\u30AB\u30E9\u30E0\u540D
AbstractFakeResultSet.parameterIndexOutOfRange=\u7121\u52B9\u306A\u5F15\u6570: \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9{0}\u304C\u7BC4\u56F2\u5916
EntryLocation.returnTableName={tableName={0}, \u30AB\u30E9\u30E0\u540D={1}}
ExceptionHandler.Parameter.BeNull=ex \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306B\u306Fnull\u3092\u8A2D\u5B9A\u51FA\u6765\u307E\u305B\u3093
ExceptionHandler.Parameter.BeNull=ex \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306B\u306Fnull\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093
ExtensionImplementationProviders.ExtensionPointError=\u62E1\u5F35\u30DD\u30A4\u30F3\u30C8\u306F1\u3064\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u8A8D\u8A3C\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
ListenableList.IndexSameLength.Error=indexOrigin\u3068indexDestination\u304C\u540C\u3058\u9577\u3055\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
ReflectionPropertyException.Access.ErrorMsg3=\u30AF\u30E9\u30B9'{2}'\u306E\u30D7\u30ED\u30D1\u30C6\u30A3'{1}'\u306E{0}\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F

View File

@@ -46,6 +46,12 @@ public interface ITaCoKitService {
boolean isTaCoKitType(Object repoType);
Object getDatastoreFromDataset(Object repositoryViewObject);
String getParentItemIdFromItem(Object Item);
boolean isValueSelectionParameter(Object parameter);
public static ITaCoKitService getInstance() {
BundleContext bc = FrameworkUtil.getBundle(ITaCoKitService.class).getBundleContext();
Collection<ServiceReference<ITaCoKitService>> tacokitServices = Collections.emptyList();

View File

@@ -50,8 +50,6 @@ public class NetworkUtil {
private static final String TALEND_DISABLE_INTERNET = "talend.disable.internet";//$NON-NLS-1$
private static final String HTTP_NETWORK_URL = "https://talend-update.talend.com";
private static final int DEFAULT_TIMEOUT = 4000;
private static final int DEFAULT_NEXUS_TIMEOUT = 20000;// same as preference value
@@ -89,7 +87,7 @@ public class NetworkUtil {
}
HttpURLConnection conn = null;
try {
URL url = new URL(HTTP_NETWORK_URL);
URL url = new URL(getCheckUrl());
conn = (HttpURLConnection) url.openConnection();
conn.setDefaultUseCaches(false);
conn.setUseCaches(false);
@@ -112,6 +110,15 @@ public class NetworkUtil {
return true;
}
private static String getCheckUrl() {
String customUrl = System.getProperty("talend.studio.network.checkUrlPath");
if (StringUtils.isNotBlank(customUrl)) {
return customUrl;
} else {
return "https://talend-update.talend.com/nexus/content/repositories/libraries/";
}
}
public static boolean isNetworkValid(String url, Integer timeout) {
if (url == null) {
return isNetworkValid(timeout);

View File

@@ -139,11 +139,16 @@ public class TalendProxySelector extends ProxySelector {
private boolean updateSystemPropertiesForJre = true;
private boolean excludeLoopbackAddressAutomatically = false;
private ProxySelector getStardardJreProxySelector() {
if (this.jreDefaultSelector != null) {
return this.jreDefaultSelector;
}
Object o = System.getProperties().get(SYS_JRE_PROXY_SELECTOR);
if (o != null && o instanceof ProxySelector) {
return (ProxySelector) o;
this.jreDefaultSelector = (ProxySelector) o;
System.getProperties().remove(SYS_JRE_PROXY_SELECTOR);
return this.jreDefaultSelector;
}
return getDefault();
}

View File

@@ -1,137 +0,0 @@
commons.error=Error
TableViewerCreator.TableColumn.AssertMsg=The TableColumn of TableEditorColumn with idProperty '{0}' has not the correct Table parent
ColorStyledText.PasteItem.Text=Paste
EventUtil.UnknowDetail=unkown ??? value of event detail :
ImportPushButtonForExtendedTable.ErrorMsg.Text=Error occurred
ResetDBTypesButton.ResetDBTypesButton.Tip=Reset DB Types
ExportPushButtonForExtendedTable.ErrorMsg.Text=Error occurred
TableViewerCreator.IdProperty.AssertMsg=You must change the idProperty of one of your column, the idProperty must be unique for each column for one Table.
TableViewerCreator.CallMethod.ErrorMsg=You can call this method only if you have already called createTable()
ModelSelectionDialog.BuiltIn=Change to built-in property.
ExtendedTablePasteCommand.Paste.Label=Paste data from the internal clipoard
SelectContextVariablesPushButton.Label=Select context variables
ExtendedTableModel.ModifiedObject.Error=ModifiedBeanListenable object must be set before use this method
ImportPushButton.ImportButton.Tip=Replace all rows by import from xml file
LabelledFileField.FileDialog.Text=Select a
ModelSelectionDialog.Option=option
ModelSelectionDialog.Update=Update repository connection.
TableViewerCreator.Table.BeNull=table is null
ModelSelectionDialog.Title=Edit parameter using repository
AddAllPushButton.AddAllButton.Tip=Add All
ExtendedTableRemoveCommand.Romve.Label=Remove table entries
AddPushButton.AddButton.Tip=Add
MoveDownPushButton.MoveDownTip=Move down selected items
ExtendedTableCopyCommand.Copy.Label=Copy one or more table entries in the internal clipboard
ProposalUtils.CtrlProposal.ErrorMsg=Proposal for this type of Control is unsupported :
AccessorUtils.isReq= is required for the bean (<B>).
EventUtil.UnknowType=unkown ??? value of event type :
ProposalUtils.CellProposal.Error=Proposal of this type of CellEditor is unsupported:
RemovePushButton.RemoveButton.Tip=Remove selected items
FileStep2.previewFailure=Preview error. Some settings must be changed.\nNote: Preview errors are generally due to a wrong encoding setting.
PastePushButton.PasteButton.Label=Paste
ModelSelectionDialog.ViewSchema=View schema (read only).
LabelledFileField.BrowseButton.Text=Browse...
ModelSelectionDialog.ViewQuery=View query (read only).
MoveUpPushButton.MoveUpButton.Tip=Move up selected items
AccessorUtils.Assert1=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly or the value set has not the correct type.
exception.errorOccured=An error occured ({0}).\nSee log for more details.
ColorStyledText.CopyItem.Text=Copy
AccessorUtils.Assert0=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly. {2} is required for bean <B>
ExtendedTableMoveCommand.MoveLabel=Move up or down, one or more table entries
CopyPushButton.CopyButton.Tip=Copy selected items
ExtendedTableResetDBTypesCommand.ResetDBTypes.Label=Reset all DB Types to get the defaults
ExtendedTableAddCommand.Add.Label=Add one or more table entries
ControlUtils.Unsupported1=This control ({0}) is not supported, add case if you want...
AccessorUtils.isReqValue= is required for the value (<V>), but the value could be adapted with CellEditorValueAdapter.
AccessorUtils.NoClassDef=NoClassDefFoundError ({0}):
ErrorDialogWidthDetailArea.ErrorMessage.Text=Error Message
ExceptionHandler.Parameter.BeNull=ex param cannot be null
ModelSelectionDialog.Message=Please choose one option, or cancel.
TreeToTablesLinker.Type.Unsupported=This type of currentControl is unsupported
Mode.Mode.ToString=Mode [{0}]
ModifyBeanValueCommand.ModifyCell.Label=Modify cell value
ColorStyledText.SelectAllItem.Text=Select All
DialogErrorForCellEditorListener.Error.MsgDialogTitle=Error
ExportPushButton.ExportButton.Tip=Export all rows into XML file
TableViewerCreator.CellModifier.ExError=The current CellModifier does'nt support this operation. \n Use '{0}' or a class which extends it to use this feature
Curve2D.MinNum.Be0=minimumSegments be must positive or 0
ModeReader.IgnoreElement=Ignore unknown element
Curve2D.MaxNum.Be0=maximumSegments must be positive or 0
CellEditorDialogBehavior.textContent=...
CellEditorValueAdapterFactory.valueNotStringType=Bean value should be a class of String type \!
ColorStyledText.RedoItem.Text=Redo
ColorStyledText.UndoItem.Text=Undo
ContentProposalAdapterExtended.close=close
ContentProposalAdapterExtended.closeFocusout=close focusout
DateDialog.textContent=Select Date & Time
DefaultCellModifier.tableItemDispose=TableItem disposed
ErrorDialogWithContinue.setParameter=Set parameters and continue
EventUtil.activate=activate
EventUtil.arm=arm
EventUtil.close=close
EventUtil.collapse=collapse
EventUtil.deactivate=deactivate
EventUtil.defaultSelection=default selection
EventUtil.deiconify=deiconify
EventUtil.detailNull=null
EventUtil.dispose=dispose
EventUtil.dragDetect=drag detect
EventUtil.expand=expand
EventUtil.focusIn=focus in
EventUtil.focusOut=focus out
EventUtil.hardKeyDown=hard key down
EventUtil.hardKeyUp=hard key up
EventUtil.help=help
EventUtil.hide=hide
EventUtil.iconify=iconify
EventUtil.keyDown=key down
EventUtil.keyUp=key up
EventUtil.menuDetect=menu detect
EventUtil.modify=modify
EventUtil.mouseDoubleClick=mouse double click
EventUtil.mouseDown=mouse down
EventUtil.mouseEnter=mouse enter
EventUtil.mouseExit=mouse exit
EventUtil.mouseHover=mouse hover
EventUtil.mouseMove=mouse move
EventUtil.mouseUp=mouse up
EventUtil.move=move
EventUtil.paint=paint
EventUtil.resize=resize
EventUtil.selectedEqual=SELECTED
EventUtil.selection=selection
EventUtil.show=show
EventUtil.traverse=traverse
EventUtil.typeNull=null
EventUtil.verify=verify
ExceptionMessageDialog.log=log
Rule.rule=Rule [{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=Save as generic schema
SWTCalendarWithTime.contentEvening=Evening
SWTCalendarWithTime.contentHr=Hr:
SWTCalendarWithTime.contentMin=Min:
SWTCalendarWithTime.contentMorning=Morning
SWTCalendarWithTime.contentNoon=Noon
SWTCalendarWithTime.contentNow=Now
SWTCalendarWithTime.contnetSec=Sec:
TableViewerCreator.columnNoIBeanProperty=The column '{0}' ('{1}') has a CellEditor set but does'nt have a IBeanPropertyAccessors \!
TableViewerCreator.columnNullId=Column '{0}' has null id \!
StateComposite.FLL_DB_INFOR=Fill DB Information
StateComposite.HELP_MESSAGE=Help Messages
StateComposite.MESSAGE1=It's possible to create dynamic jobs and set a file name or table name who depends on the input table.
StateComposite.MESSAGE2=For this it just needs to use the text
StateComposite.MESSAGE3=\ in the file name or table name.
StateComposite.MESSAGE4=For example for one table:
StateComposite.MESSAGE5=For example for one file:
StateComposite.MESSAGE6=\ or maybe
StateComposite.OUTPUT_SELECTION=Output Selection
StateComposite.SEL_JOBNAME=Set Jobs Name
StateComposite.STATE=State
StateComposite.TABLE_SELECTION=Table Selection
StateComposite.TEMPLATE_SELECTION=Template Selection
ArchiveDirectoryChooser.WizardProjectsImportPage_RootSelectTitle=Select roo&t directory:
ArchiveDirectoryChooser.DataTransfer_browse=B&rowse...
ArchiveDirectoryChooser.WizardProjectsImportPage_ArchiveSelectTitle=Select &archive file:
ArchiveDirectoryChooser.FileExport_selectDestinationMessage=Select a directory to export to.
ArchiveDirectoryChooser.ArchiveExport_description=Export resources to an archive file on the local file system.
DisplayUtils.NotSupportedExceptionOnLinux=Linux/Unit doesn't support multiple display.

View File

@@ -63,16 +63,16 @@ EventUtil.typeNull=NULL
EventUtil.UnknowDetail=\u30A4\u30D9\u30F3\u30C8\u8A73\u7D30\u306E\u4E0D\u660E\u306A???\u5024:
EventUtil.UnknowType=\u30A4\u30D9\u30F3\u30C8\u30BF\u30A4\u30D7\u306E\u4E0D\u660E\u306A???\u5024:
EventUtil.verify=\u78BA\u8A8D
ExceptionHandler.Parameter.BeNull=ex \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306B\u306Fnull\u3092\u8A2D\u5B9A\u51FA\u6765\u307E\u305B\u3093
ExceptionHandler.Parameter.BeNull=ex \u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306B\u306Fnull\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093
ExceptionMessageDialog.log=\u30ED\u30B0
ExportPushButton.ExportButton.Tip=\u3059\u3079\u3066\u306E\u884C\u3092XML\u30D5\u30A1\u30A4\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8
ExportPushButtonForExtendedTable.ErrorMsg.Text=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
ExtendedTableAddCommand.Add.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30921\u3064\u4EE5\u4E0A\u8FFD\u52A0
ExtendedTableCopyCommand.Copy.Label=\u5185\u90E8\u30AF\u30EA\u30FC\u30F3\u30DC\u30FC\u30C9\u306B\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30921\u3064\u4EE5\u4E0A\u30B3\u30D4\u30FC
ExtendedTableAddCommand.Add.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u30921\u3064\u4EE5\u4E0A\u8FFD\u52A0
ExtendedTableCopyCommand.Copy.Label=\u5185\u90E8\u30AF\u30EA\u30FC\u30F3\u30DC\u30FC\u30C9\u306B\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u30921\u3064\u4EE5\u4E0A\u30B3\u30D4\u30FC
ExtendedTableModel.ModifiedObject.Error=\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u4F7F\u7528\u3059\u308B\u524D\u306BModifiedBeanListenable\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
ExtendedTableMoveCommand.MoveLabel=\u8907\u6570\u306E\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u3092\u4E0A\u4E0B\u306B\u79FB\u52D5
ExtendedTableMoveCommand.MoveLabel=\u8907\u6570\u306E\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u4E0A\u4E0B\u306B\u79FB\u52D5
ExtendedTablePasteCommand.Paste.Label=\u5185\u90E8\u30AF\u30EA\u30C3\u30D7\u30DC\u30FC\u30C9\u304B\u3089\u30C7\u30FC\u30BF\u3092\u8CBC\u308A\u4ED8\u3051\u308B
ExtendedTableRemoveCommand.Romve.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u3092\u524A\u9664
ExtendedTableRemoveCommand.Romve.Label=\u30C6\u30FC\u30D6\u30EB\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u524A\u9664
ExtendedTableResetDBTypesCommand.ResetDBTypes.Label=DB\u30BF\u30A4\u30D7\u3092\u3059\u3079\u3066\u30EA\u30BB\u30C3\u30C8\u3057\u3066\u30C7\u30D5\u30A9\u30EB\u30C8\u3092\u53D6\u5F97
ExtendedTableCaseCommand.case.Label=\u9078\u629E\u3055\u308C\u305FDB\u30AB\u30E9\u30E0\u3092\u5927\u6587\u5B57/\u5C0F\u6587\u5B57\u306B\u5909\u66F4
ExtendedTableQuoteCommand.Quote.Label=\u9078\u629E\u3055\u308C\u305FDB\u30AB\u30E9\u30E0\u3092\u56F2\u3080
@@ -102,7 +102,7 @@ SWTCalendarWithTime.contentNoon=\u5348\u5F8C
SWTCalendarWithTime.contentNow=\u73FE\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u3001createTable()\u3092\u65E2\u306B\u547C\u3073\u51FA\u3057\u3066\u3044\u308B\u5834\u5408\u306E\u307F\u547C\u3073\u51FA\u305B\u307E\u3059
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002\n\u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u3046\u306B\u306F\u3001'{0}'\u304B\u62E1\u5F35\u30AF\u30E9\u30B9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002 \n \u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001'{0}'\u304B\u3001\u62E1\u5F35\u3059\u308B\u30AF\u30E9\u30B9\u3092\u4F7F\u3044\u307E\u3059\u3002
TableViewerCreator.columnNoIBeanProperty=\u30AB\u30E9\u30E0'{0}' ('{1}')\u306B\u306FCellEditor\u30BB\u30C3\u30C8\u304C\u3042\u308A\u307E\u3059\u304C\u3001IBeanPropertyAccessors\u304C\u3042\u308A\u307E\u305B\u3093!
TableViewerCreator.columnNullId=\u30AB\u30E9\u30E0'{0}'\u304Cnull\u3067\u3059\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u30AB\u30E9\u30E0\u306EidProperty\u306E\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3001idProperty\u306F\uFF11\u3064\u306E\u30C6\u30FC\u30D6\u30EB\u3067\u30E6\u30CB\u30FC\u30AF\u3067\u306A\u304F\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002
@@ -116,8 +116,8 @@ ModelSelectionDialog.Option=\u30AA\u30D7\u30B7\u30E7\u30F3
ModelSelectionDialog.BuiltIn=\u7D44\u307F\u8FBC\u307F\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u5909\u66F4\u3057\u307E\u3059\u3002
ModelSelectionDialog.ViewSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.ViewQuery=\u30AF\u30A8\u30EA\u30FC\u3046\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u3044\u304F\u3064\u304B\u306E\u8A2D\u5B9A\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u3002
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u4E00\u90E8\u306E\u8A2D\u5B9A\u3092\u5909\u66F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u7684\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
StateComposite.FLL_DB_INFOR=DB\u60C5\u5831\u3092\u5165\u529B
StateComposite.HELP_MESSAGE=\u30D8\u30EB\u30D7\u30E1\u30C3\u30BB\u30FC\u30B8
StateComposite.MESSAGE1=\u30C0\u30A4\u30CA\u30DF\u30C3\u30AF\u30B8\u30E7\u30D6\u3092\u8A2D\u5B9A\u3057\u3066\u3001\u5165\u529B\u30C6\u30FC\u30D6\u30EB\u306B\u4F9D\u5B58\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u540D\u307E\u305F\u306F\u30C6\u30FC\u30D6\u30EB\u540D\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u3059\u3002

View File

@@ -102,7 +102,7 @@ SWTCalendarWithTime.contentNoon=\u4E2D\u5348
SWTCalendarWithTime.contentNow=\u73B0\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u53EA\u6709\u60A8\u5DF2\u7ECF\u8C03\u7528\u4E86 createTable() \u65B9\u6CD5\u540E\uFF0C\u624D\u80FD\u8C03\u7528\u6B64\u65B9\u6CD5\u3002
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002\n \u4F7F\u7528 '{0}' \u6216\u80FD\u591F\u5BF9\u5176\u8FDB\u884C\u6269\u5C55\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002 \n \u4F7F\u7528 '{0}' \u6216\u6269\u5C55\u5B83\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.columnNoIBeanProperty=\u5217 '{0}' ('{1}') \u8BBE\u7F6E\u4E86 CellEditor\uFF0C\u4F46\u6CA1\u6709 IBeanPropertyAccessors\uFF01
TableViewerCreator.columnNullId=\u5217 '{0}' \u7684 id \u4E3A null\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u4F60\u5FC5\u987B\u6539\u53D8\u5176\u4E2D\u4E00\u4E2A\u5217\u7684 idProperty\uFF0C\u4E00\u4E2A\u8868\u4E2D\u7684\u6BCF\u4E2A\u5217\u7684 idProperty \u5FC5\u987B\u552F\u4E00\u3002
@@ -110,14 +110,14 @@ TableViewerCreator.Table.BeNull=\u8868\u4E3A null
TableViewerCreator.TableColumn.AssertMsg=TableEditorColumn \u7684 idProperty \u4E3A '{0}' \u7684 TableColumn \u6CA1\u6709\u6B63\u786E\u7684 Table \u7236\u9879
TreeToTablesLinker.Type.Unsupported=\u4E0D\u652F\u6301\u8FD9\u79CD\u7C7B\u578B\u7684 currentControl
commons.error=\u9519\u8BEF
exception.errorOccured=\u53D1\u751F\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
exception.errorOccured=\u51FA\u73B0\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
ModelSelectionDialog.Message=\u8BF7\u9009\u62E9\u4E00\u4E2A\u9009\u9879\u6216\u53D6\u6D88\u3002
ModelSelectionDialog.Option=\u9009\u9879
ModelSelectionDialog.BuiltIn=\u66F4\u6539\u4E3A\u5185\u7F6E\u5C5E\u6027\u3002
ModelSelectionDialog.ViewSchema=\u67E5\u770B schema (\u53EA\u8BFB)\u3002
ModelSelectionDialog.ViewQuery=\u67E5\u770B\u67E5\u8BE2 (\u53EA\u8BFB)\u3002
ModelSelectionDialog.Update=\u66F4\u65B0\u5B58\u50A8\u5E93\u8FDE\u63A5\u3002
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u987B\u6539\u53D8\u4E00\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u53EF\u80FD\u662F\u56E0\u4E3A\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u9020\u6210\u7684\u3002
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u5FC5\u987B\u66F4\u6539\u67D0\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u901A\u5E38\u662F\u7531\u4E8E\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u5BFC\u81F4\u3002
StateComposite.FLL_DB_INFOR=\u586B\u5199\u6570\u636E\u5E93\u4FE1\u606F
StateComposite.HELP_MESSAGE=\u5E2E\u52A9\u6D88\u606F
StateComposite.MESSAGE1=\u53EF\u4EE5\u521B\u5EFA\u52A8\u6001\u4F5C\u4E1A\u5E76\u8BBE\u7F6E\u4F9D\u8D56\u4E8E\u8F93\u5165\u8868\u7684\u6587\u4EF6\u540D\u6216\u8868\u540D\u3002

View File

@@ -0,0 +1,38 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.swt.graphics.Color;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ITalendWizard extends IWizard {
Color getBackgroundColor();
Color getForegroundColor();
int getHorizonPadding();
int getVerticalPadding();
int getVerticalMargin();
int getHorizonMargin();
boolean hideDefaultMessageArea();
}

View File

@@ -0,0 +1,26 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.wizard.IWizardContainer2;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ITalendWizardContainer extends IWizardContainer2 {
void showMoreInfoLink(IDialogPage page, String name, String link);
}

View File

@@ -0,0 +1,968 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.window.ToolTip;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.ProgressMonitorPart;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.forms.events.HyperlinkAdapter;
import org.eclipse.ui.forms.events.HyperlinkEvent;
import org.eclipse.ui.forms.widgets.Hyperlink;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.ColorConstants;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizardDialog extends WizardDialog implements ITalendWizardContainer {
private boolean useNewStyle = false;
private Color backgroundColor;
private Color foregroundColor;
private static Font titleBigFont;
private Canvas titleLabelWithAnimation;
private Canvas messagePanel;
private Color msgPanelColor = ColorConstants.INFO_COLOR;
private Composite topPanel;
private Label errIcon;
private StyledText errMsgTxt;
private Hyperlink moreInfoLink;
private String moreInfoUrl;
private volatile Thread titleAnimationSchedulerThread;
private volatile boolean threadShowingMsg = false;
private Image bigTitleImg;
private Image smallTitleImg;
private String title;
private int messageTopY;
private volatile double percentage = 1.0;
private boolean hideMessageArea = false;
public TalendWizardDialog(Shell parentShell, IWizard newWizard) {
super(parentShell, newWizard);
useNewStyle = true;
if (newWizard instanceof ITalendWizard) {
ITalendWizard talendWizard = (ITalendWizard) newWizard;
backgroundColor = talendWizard.getBackgroundColor();
foregroundColor = talendWizard.getForegroundColor();
hideMessageArea = talendWizard.hideDefaultMessageArea();
}
// this.setTitleAreaColor(new RGB(205, 227, 242));
}
private Thread createTitleAnimationSchedulerThread(boolean showMessage) {
return new Thread(new Runnable() {
@Override
public void run() {
titleAnimationSchedulerThread(showMessage);
}
}, "title anmimation, show: " + showMessage);
}
private void titleAnimationSchedulerThread(boolean showMessage) {
int totalTime = 500;
int split = 30;
int sleepTime = totalTime / split;
double percentPerFrame = 1.0 / split;
for (int i = 1; i < split; i++) {
double curX = 1 - percentPerFrame * i;
double donePercent = Math.sqrt(1 - curX * curX);
onTitleAreaRefresh(donePercent, showMessage);
if (Thread.currentThread().isInterrupted()) {
break;
}
try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
onTitleAnimationInterupted(showMessage);
return;
}
}
onTitleAreaRefresh(1.0, showMessage);
}
private void onTitleAnimationInterupted(boolean showMessage) {
this.percentage = 1.0;
}
private boolean isHideMessageArea() {
return hideMessageArea;
}
private void onTitleAreaRefresh(double donePercent, boolean showMessage) {
if (isHideMessageArea()) {
return;
}
topPanel.getDisplay().syncExec(() -> {
onTitleAreaRefreshFrame(donePercent, showMessage);
});
}
private void onTitleAreaRefreshFrame(double donePercent, boolean showMessage) {
if (isHideMessageArea()) {
return;
}
this.percentage = donePercent;
sortPanelOrder();
if (!showMessage) {
messagePanel.setVisible(false);
} else {
messagePanel.setVisible(true);
// errIcon.setVisible(true);
}
Point size = topPanel.getSize();
int totalY = size.y - messageTopY;
int y = 0;
if (showMessage) {
y = messageTopY + (int) ((1.0 - donePercent) * totalY);
} else {
y = messageTopY + (int) (donePercent * totalY);
}
FormData fd = (FormData) messagePanel.getLayoutData();
fd.top = new FormAttachment(0, y);
this.titleLabelWithAnimation.redraw();
topPanel.layout();
}
public void setNewErrorStyle(boolean newErrStyle) {
this.useNewStyle = newErrStyle;
}
@Override
protected Control createContents(Composite parent) {
if (useNewStyle()) {
parent.setBackground(backgroundColor);
parent.setForeground(foregroundColor);
}
Control panel = super.createContents(parent);
try {
if (useNewStyle()) {
sortPanelOrder();
workArea.setBackground(backgroundColor);
workArea.setForeground(foregroundColor);
pageContainer.setBackground(backgroundColor);
pageContainer.setForeground(foregroundColor);
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
return panel;
}
private boolean useNewStyle() {
return this.useNewStyle;
}
@Override
protected Control createDialogArea(Composite parent) {
Composite panel = (Composite) super.createDialogArea(parent);
if (useNewStyle()) {
this.titleBarSeparator.dispose();
this.separator.dispose();
}
return panel;
}
@Override
protected ProgressMonitorPart createProgressMonitorPart(Composite composite, GridLayout pmlayout) {
if (useNewStyle()) {
composite.setBackground(backgroundColor);
composite.setForeground(foregroundColor);
// progMonitor.setBackground(backgroundColor);
// progMonitor.setForeground(foregroundColor);
}
ProgressMonitorPart progMonitor = super.createProgressMonitorPart(composite, pmlayout);
return progMonitor;
}
@Override
protected Control createButtonBar(Composite parent) {
if (!useNewStyle()) {
return super.createButtonBar(parent);
}
Composite composite = new Composite(parent, SWT.NONE);
composite.setBackground(backgroundColor);
composite.setForeground(foregroundColor);
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
layout.horizontalSpacing = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
composite.setFont(parent.getFont());
Control helpControl = null;
// create help control if needed
if (isHelpAvailable()) {
helpControl = createHelpControl(composite);
((GridData) helpControl.getLayoutData()).horizontalIndent = convertHorizontalDLUsToPixels(
IDialogConstants.HORIZONTAL_MARGIN);
}
createButtonsForButtonBar(composite);
Button helpButton = getButton(IDialogConstants.HELP_ID);
Button finishButton = getButton(IDialogConstants.FINISH_ID);
Button cancelButton = getButton(IDialogConstants.CANCEL_ID);
Button backButton = getButton(IDialogConstants.BACK_ID);
Button nextButton = getButton(IDialogConstants.NEXT_ID);
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = getHorizonMargin();
formLayout.marginHeight = getVerticalPadding();
composite.setLayout(formLayout);
final int HORIZON_ALIGN = getHorizonPadding();
cancelButton.setBackground(backgroundColor);
cancelButton.setForeground(foregroundColor);
FormData cancelData = new FormData();
cancelData.left = new FormAttachment(0);
cancelData.top = new FormAttachment(composite, 0, SWT.CENTER);
cancelData.width = getButtonWidth(cancelButton);
cancelButton.setLayoutData(cancelData);
Control tmpCtrl = cancelButton;
if (helpControl != null) {
helpControl.setBackground(backgroundColor);
helpControl.setForeground(foregroundColor);
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
helpControl.setLayoutData(formData);
tmpCtrl = helpControl;
}
if (helpButton != null) {
helpButton.setBackground(backgroundColor);
helpButton.setForeground(foregroundColor);
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
formData.width = getButtonWidth(helpButton);
helpButton.setLayoutData(formData);
tmpCtrl = helpButton;
}
finishButton.setBackground(backgroundColor);
finishButton.setForeground(foregroundColor);
FormData finishData = new FormData();
finishData.right = new FormAttachment(100);
finishData.top = new FormAttachment(composite, 0, SWT.CENTER);
finishData.width = getButtonWidth(finishButton);
finishButton.setLayoutData(finishData);
tmpCtrl = finishButton;
if (nextButton != null) {
nextButton.setBackground(backgroundColor);
nextButton.setForeground(foregroundColor);
FormData nextData = new FormData();
Composite nextParentCtrl = nextButton.getParent();
nextParentCtrl.setBackground(backgroundColor);
nextParentCtrl.setForeground(foregroundColor);
nextData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
nextData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
nextParentCtrl.setLayoutData(nextData);
}
if (backButton != null) {
backButton.setBackground(backgroundColor);
backButton.setForeground(foregroundColor);
}
return composite;
}
private int getButtonWidth(Button btn) {
int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
Point minSize = btn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
return Math.max(widthHint, minSize.x);
}
@Override
protected Control createTitleArea(Composite parent) {
Control titleCtrl = null;
if (useNewStyle()) {
final int horizonPadding = getHorizonPadding();
final int horizonMargin = getHorizonMargin();
final int verticalPadding = getVerticalPadding();
final int msgMargin = getMargin();
Control oldTitleArea = super.createTitleArea(parent);
topPanel = new Composite(parent, SWT.NONE);
titleCtrl = topPanel;
// topPanel.setBackground(ColorConstants.RED_COLOR);
topPanel.setBackground(backgroundColor);
topPanel.setForeground(foregroundColor);
FormData topPanelFd = new FormData();
topPanelFd.top = new FormAttachment(0);
topPanelFd.left = new FormAttachment(0);
topPanelFd.right = new FormAttachment(100);
// topPanelFd.bottom = new FormAttachment(oldTitleArea, 0, SWT.BOTTOM);
Label tmpLabel = new Label(parent, SWT.NONE);
// tmpLabel.setFont(getTitleBigFont());
tmpLabel.setFont(JFaceResources.getBannerFont());
tmpLabel.setText("Test");
tmpLabel.pack();
Point size = tmpLabel.getSize();
tmpLabel.setFont(null);
tmpLabel.setText("Test");
tmpLabel.pack();
Point errSize = tmpLabel.getSize();
tmpLabel.dispose();
if (isHideMessageArea()) {
topPanelFd.height = 0;
} else {
topPanelFd.height = verticalPadding + size.y + verticalPadding + errSize.y + msgMargin * 2;
}
topPanel.setLayoutData(topPanelFd);
topPanel.setLayout(new FormLayout());
// sortPanelOrder();
titleLabelWithAnimation = new Canvas(topPanel, SWT.DOUBLE_BUFFERED);
titleLabelWithAnimation.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
drawTitle(e);
}
});
titleLabelWithAnimation.setBackground(backgroundColor);
titleLabelWithAnimation.setForeground(foregroundColor);
titleLabelWithAnimation.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
if (bigTitleImg != null && !bigTitleImg.isDisposed()) {
bigTitleImg.dispose();
}
if (smallTitleImg != null && !smallTitleImg.isDisposed()) {
smallTitleImg.dispose();
}
}
});
FormData fd = new FormData();
fd.top = new FormAttachment(0, verticalPadding);
fd.left = new FormAttachment(0, horizonMargin);
fd.right = new FormAttachment(100);
fd.bottom = new FormAttachment(100);
titleLabelWithAnimation.setLayoutData(fd);
messagePanel = new Canvas(topPanel, SWT.DOUBLE_BUFFERED);
messagePanel.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
drawMessageBackground(e, messagePanel);
// int len = 160;
// int a = 10;
// int a_Len = a + (int) (percentage * (size.x - a));
// int b_Len = a_Len + len;
// if (a_Len < size.x || b_Len < size.x) {
// if (size.x <= a_Len) {
// a_Len = size.x;
// }
// if (size.x <= b_Len) {
// b_Len = size.x;
// }
// e.gc.setBackground(ColorConstants.WHITE_COLOR);
// e.gc.fillPolygon(new int[] { a_Len, 0, size.x, 0, size.x, size.y, b_Len, size.y });
// }
}
});
messagePanel.setBackground(backgroundColor);
messagePanel.setForeground(foregroundColor);
fd = new FormData();
tmpLabel = new Label(topPanel, SWT.NONE);
tmpLabel.setFont(JFaceResources.getBannerFont());
tmpLabel.setText("Test");
tmpLabel.pack();
size = tmpLabel.getSize();
tmpLabel.dispose();
messageTopY = verticalPadding + size.y + verticalPadding;
fd.top = new FormAttachment(0, messageTopY);
// fd.left = new FormAttachment(0, convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING));
// fd.right = new FormAttachment(100, -convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING));
fd.left = new FormAttachment(0, horizonMargin);
fd.right = new FormAttachment(100, -horizonMargin);
fd.bottom = new FormAttachment(100);
messagePanel.setLayoutData(fd);
messagePanel.setLayout(new FormLayout());
errIcon = new Label(messagePanel, SWT.NONE);
errIcon.setBackground(msgPanelColor);
errIcon.setForeground(foregroundColor);
fd = new FormData();
fd.top = new FormAttachment(0, msgMargin);
fd.left = new FormAttachment(0, msgMargin);
errIcon.setLayoutData(fd);
moreInfoLink = new Hyperlink(messagePanel, SWT.NONE);
moreInfoLink.setText("");
moreInfoLink.setBackground(msgPanelColor);
moreInfoLink.setUnderlined(true);
moreInfoLink.addHyperlinkListener(new HyperlinkAdapter() {
@Override
public void linkActivated(HyperlinkEvent e) {
onMoreInfoLinkClicked(e);
}
});
errMsgTxt = new StyledText(messagePanel, SWT.READ_ONLY | SWT.WRAP);
errMsgTxt.setEditable(false);
errMsgTxt.setBackground(msgPanelColor);
errMsgTxt.setForeground(org.eclipse.draw2d.ColorConstants.black);
fd = new FormData();
fd.top = new FormAttachment(errMsgTxt, 0, SWT.CENTER);
fd.right = new FormAttachment(100, -msgMargin);
moreInfoLink.setLayoutData(fd);
fd = new FormData();
fd.top = new FormAttachment(errIcon, 0, SWT.TOP);
fd.left = new FormAttachment(errIcon, horizonPadding, SWT.RIGHT);
fd.right = new FormAttachment(moreInfoLink, -horizonPadding, SWT.LEFT);
fd.bottom = new FormAttachment(100, -msgMargin);
errMsgTxt.setLayoutData(fd);
parent.setBackground(backgroundColor);
// parent.setBackground(ColorConstants.YELLOW_COLOR);
titleImageLabel.setBackground(backgroundColor);
titleLabel.setBackground(backgroundColor);
titleLabel.moveBelow(null);
messageImageLabel.setBackground(backgroundColor);
leftFillerLabel.setBackground(backgroundColor);
bottomFillerLabel.setBackground(backgroundColor);
messageLabel.setBackground(backgroundColor);
} else {
titleCtrl = super.createTitleArea(parent);
}
return titleCtrl;
}
private Composite createToolTipContent(Composite parent) {
Composite result = new Composite(parent, SWT.NONE);
final int msgMargin = getMargin();
final int horizonPadding = getHorizonPadding();
result.setBackground(null);
result.setLayout(new FormLayout());
Canvas msgPanel = new Canvas(result, SWT.DOUBLE_BUFFERED);
FormData fd = new FormData();
fd.top = new FormAttachment(0);
fd.left = new FormAttachment(0);
fd.width = messagePanel.getSize().x;
fd.bottom = new FormAttachment(100);
msgPanel.setLayoutData(fd);
msgPanel.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
drawMessageBackground(e, msgPanel);
}
});
msgPanel.setBackground(messagePanel.getBackground());
msgPanel.setForeground(messagePanel.getForeground());
msgPanel.setLayout(new FormLayout());
Label errIconLabel = new Label(msgPanel, SWT.NONE);
errIconLabel.setBackground(errIcon.getBackground());
errIconLabel.setForeground(errIcon.getForeground());
errIconLabel.setImage(errIcon.getImage());
fd = new FormData();
fd.top = new FormAttachment(0, msgMargin);
fd.left = new FormAttachment(0, msgMargin);
errIconLabel.setLayoutData(fd);
Hyperlink link = new Hyperlink(msgPanel, SWT.NONE);
link.setText(moreInfoLink.getText());
link.setBackground(moreInfoLink.getBackground());
link.setUnderlined(moreInfoLink.isUnderlined());
StyledText msgTxt = new StyledText(msgPanel, SWT.READ_ONLY | SWT.WRAP);
msgTxt.setBackground(errMsgTxt.getBackground());
msgTxt.setForeground(errMsgTxt.getForeground());
msgTxt.setText(errMsgTxt.getText());
fd = new FormData();
fd.top = new FormAttachment(msgTxt, 0, SWT.CENTER);
fd.right = new FormAttachment(100, -msgMargin);
link.setLayoutData(fd);
fd = new FormData();
fd.top = new FormAttachment(errIconLabel, 0, SWT.TOP);
fd.left = new FormAttachment(errIconLabel, horizonPadding, SWT.RIGHT);
fd.right = new FormAttachment(link, -horizonPadding, SWT.LEFT);
msgTxt.setLayoutData(fd);
return result;
}
private void onMoreInfoLinkClicked(HyperlinkEvent e) {
Program.launch(moreInfoUrl);
}
@Override
protected void resetWorkAreaAttachments(Control top) {
FormData childData = new FormData();
childData.top = new FormAttachment(topPanel, 0, SWT.BOTTOM);
childData.right = new FormAttachment(100, 0);
childData.left = new FormAttachment(0, 0);
childData.bottom = new FormAttachment(100, 0);
workArea.setLayoutData(childData);
}
@Override
protected void layoutForNewMessage(boolean forceLayout) {
if (!useNewStyle()) {
super.layoutForNewMessage(forceLayout);
return;
}
// if (forceLayout) {
// return;
// }
if (hasMessage()) {
messagePanel.setVisible(true);
// Image image = messageImageLabel.getImage();
// if (image == null) {
// image = messageImage;
// }
// if (image != null && messageImageLabel.isVisible()) {
//// this.errIcon.setVisible(true);
// this.errIcon.setImage(image);
// } else {
// this.errIcon.setImage(null);
//// this.errIcon.setVisible(false);
// }
updateMsgPanelColor(pageMessageType);
// topPanel.layout();
messagePanel.layout();
Point messageSize = errMsgTxt.getSize();
int messageLabelUnclippedHeight = errMsgTxt.computeSize(messageSize.x, SWT.DEFAULT, true).y;
boolean messageLabelClipped = messageLabelUnclippedHeight > messageSize.y;
if (errMsgTxt.getData() instanceof ToolTip) {
ToolTip toolTip = (ToolTip) errMsgTxt.getData();
toolTip.hide();
toolTip.deactivate();
errMsgTxt.setData(null);
}
if (messageLabelClipped) {
ToolTip tooltip = new ToolTip(errMsgTxt, ToolTip.NO_RECREATE, false) {
@Override
protected Composite createToolTipContentArea(Event event, Composite parent) {
return createToolTipContent(parent);
}
@Override
public Point getLocation(Point tipSize, Event event) {
return errMsgTxt.getShell().toDisplay(messagePanel.getLocation());
}
};
errMsgTxt.setData(tooltip);
tooltip.setPopupDelay(0);
tooltip.activate();
}
}
}
@Override
protected void setImageLabelVisible(boolean visible) {
super.setImageLabelVisible(visible);
if (useNewStyle()) {
messagePanel.setVisible(visible);
if (visible) {
errIcon.setImage(messageImageLabel.getImage());
} else {
errIcon.setImage(null);
}
}
}
private void sortPanelOrder() {
if (isHideMessageArea()) {
return;
}
if (this.topPanel == null) {
return;
}
this.titleImageLabel.moveAbove(null);
this.topPanel.moveBelow(this.titleImageLabel);
messagePanel.moveAbove(titleLabelWithAnimation);
if (!hasMessage()) {
messagePanel.setVisible(false);
}
}
@Override
protected void setLayoutsForNormalMessage(int verticalSpacing, int horizontalSpacing) {
if (isHideMessageArea()) {
return;
}
super.setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
if (useNewStyle()) {
if (this.topPanel != null) {
onTitleAreaRefreshFrame(1.0, false);
}
}
}
private static Font getTitleBigFont() {
if (titleBigFont != null) {
return titleBigFont;
}
Font bannerFont = JFaceResources.getBannerFont();
FontData[] fontData = bannerFont.getFontData();
for (FontData fd : fontData) {
fd.setHeight(fd.getHeight() + 7);
}
titleBigFont = new Font(Display.getDefault(), fontData);
return titleBigFont;
}
@Override
protected void updateMessage(String newMessage) {
if (isHideMessageArea()) {
return;
}
boolean hadMsg = hasMessage();
super.updateMessage(newMessage);
this.errMsgTxt.setText(this.messageLabel.getText());
boolean hasMsg = hasMessage();
messagePanel.setVisible(hasMsg);
if (hadMsg != hasMsg) {
startAnimation();
}
}
@Override
public void setErrorMessage(String newErrorMessage) {
if (isHideMessageArea()) {
return;
}
if (StringUtils.isNotBlank(newErrorMessage)) {
this.pageMessageType = IMessageProvider.ERROR;
updateMsgPanelColor(this.pageMessageType);
}
super.setErrorMessage(newErrorMessage);
}
@Override
protected void showMessage(String newMessage, Image newImage) {
if (isHideMessageArea()) {
return;
}
super.showMessage(newMessage, newImage);
}
@Override
public void setMessage(String newMessage, int newType) {
if (isHideMessageArea()) {
return;
}
if (StringUtils.isNotBlank(newMessage)) {
updateMsgPanelColor(newType);
}
super.setMessage(newMessage, newType);
}
private void updateMsgPanelColor(int type) {
Color foreColor = getMsgPanelForegroundColor(type);
msgPanelColor = getMsgPanelBackgroundColor(type);
errIcon.setBackground(msgPanelColor);
errMsgTxt.setBackground(msgPanelColor);
errMsgTxt.setForeground(foreColor);
moreInfoLink.setBackground(msgPanelColor);
// moreInfoLink.setForeground(getMoreInfoLinkForegroundColor(type));
messagePanel.redraw();
}
private Color getMsgPanelBackgroundColor(int type) {
Color color = ColorConstants.INFO_COLOR;
switch (type) {
case IMessageProvider.NONE:
case IMessageProvider.INFORMATION:
color = ColorConstants.INFO_COLOR;
break;
case IMessageProvider.WARNING:
color = ColorConstants.WARN_COLOR;
break;
case IMessageProvider.ERROR:
color = ColorConstants.ERR_COLOR;
break;
}
return color;
}
private Color getMsgPanelForegroundColor(int type) {
Color color = ColorConstants.WHITE_COLOR;
switch (type) {
case IMessageProvider.WARNING:
color = org.eclipse.draw2d.ColorConstants.black;
break;
case IMessageProvider.NONE:
case IMessageProvider.INFORMATION:
case IMessageProvider.ERROR:
color = ColorConstants.WHITE_COLOR;
break;
}
return color;
}
private Color getMoreInfoLinkForegroundColor(int type) {
Color color = null;
switch (type) {
case IMessageProvider.NONE:
case IMessageProvider.INFORMATION:
case IMessageProvider.ERROR:
color = ColorConstants.WHITE_COLOR;
break;
default:
break;
}
return color;
}
private void startAnimation() {
boolean hasMsg = hasMessage();
if (this.titleAnimationSchedulerThread != null) {
if (hasMsg == threadShowingMsg) {
return;
} else {
this.titleAnimationSchedulerThread.interrupt();
}
}
threadShowingMsg = hasMsg;
titleAnimationSchedulerThread = createTitleAnimationSchedulerThread(threadShowingMsg);
titleAnimationSchedulerThread.start();
}
private boolean hasMessage() {
return StringUtils.isNotBlank(messageLabel.getText());
}
@Override
public void setTitle(String newTitle) {
super.setTitle(newTitle);
if (StringUtils.equals(newTitle, title) && this.bigTitleImg != null) {
return;
}
if (this.titleAnimationSchedulerThread != null) {
this.titleAnimationSchedulerThread.interrupt();
}
this.title = newTitle;
if (this.bigTitleImg != null) {
this.bigTitleImg.dispose();
}
this.bigTitleImg = createTitleImage(getTitleBigFont(), this.title);
if (this.smallTitleImg != null) {
this.smallTitleImg.dispose();
}
this.smallTitleImg = createTitleImage(JFaceResources.getBannerFont(), this.title);
this.titleLabelWithAnimation.redraw();
}
@Override
public void showMoreInfoLink(IDialogPage page, String name, String link) {
if (isHideMessageArea()) {
return;
}
if (getCurrentPage() != page) {
return;
}
if (StringUtils.isBlank(name)) {
moreInfoLink.setText("");
moreInfoLink.setEnabled(false);
} else {
moreInfoLink.setEnabled(true);
moreInfoLink.setText(name);
}
moreInfoUrl = link;
this.moreInfoLink.pack();
this.moreInfoLink.redraw();
this.messagePanel.layout();
}
@Override
public void setTitleImage(Image newTitleImage) {
super.setTitleImage(newTitleImage);
if (this.titleAreaImage != null) {
if (this.messageTopY < this.titleAreaImage.getBounds().height) {
FormData fd = (FormData) messagePanel.getLayoutData();
Rectangle imgBounds = this.titleAreaImage.getBounds();
fd.right = new FormAttachment(100, -getHorizonPadding() - imgBounds.width);
FormData panelFd = (FormData) this.topPanel.getLayoutData();
int imageY = imgBounds.height;
int topPanelY = panelFd.height;
if (topPanelY < imageY) {
panelFd.height = imageY;
// fd.right = new FormAttachment(this.titleImageLabel, -getMargin(), SWT.LEFT);
this.topPanel.getParent().layout();
} else {
}
this.topPanel.layout();
}
}
}
private Image createTitleImage(Font font, String title) {
Label tmpLabel = new Label(titleLabel.getParent(), SWT.NONE);
tmpLabel.setText(title);
tmpLabel.setFont(font);
tmpLabel.pack();
Point size = tmpLabel.getSize();
tmpLabel.dispose();
int width = size.x;
if (StringUtils.isEmpty(title)) {
width = 1;
}
Image tmpImg = new Image(Display.getDefault(), width, size.y);
GC gc = new GC(tmpImg);
gc.setAntialias(SWT.ON);
gc.setInterpolation(SWT.HIGH);
gc.setFont(font);
gc.setAlpha(0);
gc.drawRectangle(0, 0, width, size.y);
gc.setAlpha(255);
gc.drawText(title, 0, 0, true);
gc.dispose();
ImageData imageData = tmpImg.getImageData();
imageData.transparentPixel = imageData.getPixel(0, 0);
tmpImg.dispose();
return new Image(Display.getDefault(), imageData);
}
private void drawTitle(PaintEvent e) {
double p = percentage;
Rectangle sBounds = smallTitleImg.getBounds();
Rectangle bBounds = bigTitleImg.getBounds();
int width = bBounds.width - sBounds.width;
int height = bBounds.height - sBounds.height;
Rectangle baseBounds = sBounds;
Image finalImg = bigTitleImg;
finalImg = bigTitleImg;
int totalHight = e.height;
int middleY = (totalHight - bBounds.height) / 2;
// int startY = getMargin();
int startY = 0;
int baseY = startY;
int y = (int) (p * (middleY - startY));
if (hasMessage()) {
y = -y;
width = -width;
height = -height;
baseBounds = bBounds;
baseY = middleY;
finalImg = smallTitleImg;
}
Point newSize = new Point((int) (baseBounds.width + p * width), (int) (baseBounds.height + p * height));
GC gc = e.gc;
gc.setAntialias(SWT.ON);
gc.setInterpolation(SWT.HIGH);
if (p <= 1.0) {
gc.drawImage(bigTitleImg, 0, 0, bBounds.width, bBounds.height, 0, baseY + y, newSize.x, newSize.y);
} else {
Rectangle bounds = finalImg.getBounds();
gc.drawImage(finalImg, 0, 0, bounds.width, bounds.height, 0, baseY + y, bounds.width, bounds.height);
}
}
private void drawMessageBackground(PaintEvent e, Control ctrl) {
e.gc.setBackground(msgPanelColor);
e.gc.setAntialias(SWT.ON);
e.gc.setInterpolation(SWT.HIGH);
Point size = ctrl.getSize();
e.gc.fillRoundRectangle(0, 0, size.x, size.y, 15, 15);
}
private int getHorizonPadding() {
IWizard wizard = this.getWizard();
if (wizard instanceof ITalendWizard) {
return ((ITalendWizard) wizard).getHorizonPadding();
}
return 5;
}
private int getVerticalPadding() {
IWizard wizard = this.getWizard();
if (wizard instanceof ITalendWizard) {
return ((ITalendWizard) wizard).getVerticalPadding();
}
return 5;
}
private int getHorizonMargin() {
IWizard wizard = this.getWizard();
if (wizard instanceof ITalendWizard) {
return ((ITalendWizard) wizard).getHorizonMargin();
}
return 5;
}
private int getMargin() {
return 10;
}
}

View File

@@ -0,0 +1,244 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import java.lang.reflect.Field;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.jface.resource.JFaceColors;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.ProgressMonitorPart;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.ColorConstants;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizardDialog_backup extends WizardDialog {
private boolean useNewErrorStyle = false;
/**
* Warning color: #FCE6D9 <br/>
* info color: #CDE3F2
*/
public TalendWizardDialog_backup(Shell parentShell, IWizard newWizard) {
super(parentShell, newWizard);
useNewErrorStyle = true;
this.setTitleAreaColor(new RGB(205, 227, 242));
}
public void setNewErrorStyle(boolean newErrStyle) {
this.useNewErrorStyle = newErrStyle;
}
@Override
protected Control createContents(Composite parent) {
parent.setBackground(ColorConstants.WHITE_COLOR);
Control panel = super.createContents(parent);
Display display = parent.getDisplay();
Color background = JFaceColors.getBannerBackground(display);
Color foreground = JFaceColors.getBannerForeground(display);
try {
Field workAreaField = TitleAreaDialog.class.getDeclaredField("workArea");
workAreaField.setAccessible(true);
Composite workArea = (Composite) workAreaField.get(this);
workArea.setBackground(ColorConstants.WHITE_COLOR);
Field pageContainerField = WizardDialog.class.getDeclaredField("pageContainer");
pageContainerField.setAccessible(true);
Composite pageContainer = (Composite) pageContainerField.get(this);
pageContainer.setBackground(ColorConstants.WHITE_COLOR);
if (useNewErrorStyle()) {
FormData formData = (FormData) workArea.getLayoutData();
formData.top = new FormAttachment(0);
}
Field bottomFillerLabelField = TitleAreaDialog.class.getDeclaredField("bottomFillerLabel");
bottomFillerLabelField.setAccessible(true);
Composite bottomFillerLabel = (Composite) bottomFillerLabelField.get(this);
bottomFillerLabel.setVisible(false);
} catch (Exception e) {
ExceptionHandler.process(e);
}
return panel;
}
@Override
public void setMessage(String newMessage) {
if (useNewErrorStyle()) {
ExceptionHandler.log(newMessage);
} else {
super.setMessage(newMessage);
}
}
@Override
public void setMessage(String newMessage, int newType) {
if (useNewErrorStyle()) {
ExceptionHandler.log(newMessage);
} else {
super.setMessage(newMessage, newType);
}
}
@Override
public void setErrorMessage(String newErrorMessage) {
if (useNewErrorStyle()) {
ExceptionHandler.log(newErrorMessage);
} else {
super.setErrorMessage(newErrorMessage);
}
}
private boolean useNewErrorStyle() {
return this.useNewErrorStyle;
}
@Override
protected Control createDialogArea(Composite parent) {
Composite panel = (Composite) super.createDialogArea(parent);
Control[] children = panel.getChildren();
for (Control child : children) {
child.setBackground(ColorConstants.WHITE_COLOR);
if (child instanceof Label) {
int style = child.getStyle();
if (0 < (style & SWT.HORIZONTAL) && 0 < (style & SWT.SEPARATOR)) {
child.setVisible(false);
}
}
}
return panel;
}
@Override
protected ProgressMonitorPart createProgressMonitorPart(Composite composite, GridLayout pmlayout) {
ProgressMonitorPart progMonitor = super.createProgressMonitorPart(composite, pmlayout);
progMonitor.setBackground(ColorConstants.WHITE_COLOR);
return progMonitor;
}
@Override
protected Control createButtonBar(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
composite.setBackground(ColorConstants.WHITE_COLOR);
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
layout.horizontalSpacing = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
composite.setFont(parent.getFont());
Control helpControl = null;
// create help control if needed
if (isHelpAvailable()) {
helpControl = createHelpControl(composite);
((GridData) helpControl.getLayoutData()).horizontalIndent = convertHorizontalDLUsToPixels(
IDialogConstants.HORIZONTAL_MARGIN);
}
createButtonsForButtonBar(composite);
Button helpButton = getButton(IDialogConstants.HELP_ID);
Button finishButton = getButton(IDialogConstants.FINISH_ID);
Button cancelButton = getButton(IDialogConstants.CANCEL_ID);
Button backButton = getButton(IDialogConstants.BACK_ID);
Button nextButton = getButton(IDialogConstants.NEXT_ID);
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = 10;
formLayout.marginHeight = 20;
composite.setLayout(formLayout);
final int HORIZON_ALIGN = 5;
FormData cancelData = new FormData();
cancelData.left = new FormAttachment(0);
cancelData.top = new FormAttachment(composite, 0, SWT.CENTER);
cancelData.width = getButtonWidth(cancelButton);
cancelButton.setLayoutData(cancelData);
Control tmpCtrl = cancelButton;
if (helpControl != null) {
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
helpControl.setLayoutData(formData);
tmpCtrl = helpControl;
}
if (helpButton != null) {
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
formData.width = getButtonWidth(helpButton);
helpButton.setLayoutData(formData);
tmpCtrl = helpButton;
}
FormData finishData = new FormData();
finishData.right = new FormAttachment(100);
finishData.top = new FormAttachment(composite, 0, SWT.CENTER);
finishData.width = getButtonWidth(finishButton);
finishButton.setLayoutData(finishData);
tmpCtrl = finishButton;
if (nextButton != null) {
FormData nextData = new FormData();
Composite nextParentCtrl = nextButton.getParent();
nextData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
nextData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
nextParentCtrl.setLayoutData(nextData);
}
if (false) {
if (nextButton != null) {
FormData nextData = new FormData();
nextData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
nextData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
nextData.width = getButtonWidth(nextButton);
nextButton.setLayoutData(nextData);
}
if (backButton != null) {
FormData backData = new FormData();
backData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
backData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
backData.width = getButtonWidth(backButton);
backButton.setLayoutData(backData);
}
}
return composite;
}
private int getButtonWidth(Button btn) {
int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
Point minSize = btn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
return Math.max(widthHint, minSize.x);
}
}

View File

@@ -0,0 +1,693 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.dialogs.TrayDialog;
import org.eclipse.jface.resource.JFaceColors;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.window.ToolTip;
import org.eclipse.swt.SWT;
import org.eclipse.swt.accessibility.ACC;
import org.eclipse.swt.accessibility.AccessibleAttributeAdapter;
import org.eclipse.swt.accessibility.AccessibleAttributeEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
* A dialog that has a title area for displaying a title and an image as well as a common area for displaying a
* description, a message, or an error message.
* <p>
* This dialog class may be subclassed.
*/
public class TitleAreaDialog extends TrayDialog {
/**
* Image registry key for error message image.
*/
public static final String DLG_IMG_TITLE_ERROR = DLG_IMG_MESSAGE_ERROR;
/**
* Image registry key for banner image (value <code>"dialog_title_banner_image"</code>).
*/
public static final String DLG_IMG_TITLE_BANNER = "dialog_title_banner_image";//$NON-NLS-1$
/**
* Message type constant used to display an info icon with the message.
*
* @since 2.0
* @deprecated
*/
@Deprecated
public static final String INFO_MESSAGE = "INFO_MESSAGE"; //$NON-NLS-1$
/**
* Message type constant used to display a warning icon with the message.
*
* @since 2.0
* @deprecated
*/
@Deprecated
public static final String WARNING_MESSAGE = "WARNING_MESSAGE"; //$NON-NLS-1$
// Space between an image and a label
private static final int H_GAP_IMAGE = 5;
// Minimum dialog width (in dialog units)
private static final int MIN_DIALOG_WIDTH = 350;
// Minimum dialog height (in dialog units)
private static final int MIN_DIALOG_HEIGHT = 150;
protected Label titleLabel;
protected Label titleImageLabel;
protected Label bottomFillerLabel;
protected Label leftFillerLabel;
private RGB titleAreaRGB;
Color titleAreaColor;
protected String message = ""; //$NON-NLS-1$
protected String errorMessage;
protected Label messageLabel;
protected Composite workArea;
protected Label messageImageLabel;
protected Image messageImage;
private boolean showingError = false;
private boolean titleImageLargest = true;
private int messageLabelHeight;
protected Image titleAreaImage;
/**
* Instantiate a new title area dialog.
*
* @param parentShell the parent SWT shell
*/
public TitleAreaDialog(Shell parentShell) {
super(parentShell);
}
/*
* @see Dialog.createContents(Composite)
*/
@Override
protected Control createContents(Composite parent) {
// create the overall composite
Composite contents = new Composite(parent, SWT.NONE);
contents.setLayoutData(new GridData(GridData.FILL_BOTH));
// initialize the dialog units
initializeDialogUnits(contents);
FormLayout layout = new FormLayout();
contents.setLayout(layout);
// Now create a work area for the rest of the dialog
workArea = new Composite(contents, SWT.NONE);
// workArea.setBackground(ColorConstants.RED_COLOR);
GridLayout childLayout = new GridLayout();
childLayout.marginHeight = 0;
childLayout.marginWidth = 0;
childLayout.verticalSpacing = 0;
workArea.setLayout(childLayout);
Control top = createTitleArea(contents);
resetWorkAreaAttachments(top);
workArea.setFont(JFaceResources.getDialogFont());
// initialize the dialog units
initializeDialogUnits(workArea);
// create the dialog area and button bar
dialogArea = createDialogArea(workArea);
buttonBar = createButtonBar(workArea);
// need to react to new size of title area
getShell().addListener(SWT.Resize, event -> layoutForNewMessage(true));
return contents;
}
/**
* Creates and returns the contents of the upper part of this dialog (above the button bar).
* <p>
* The <code>Dialog</code> implementation of this framework method creates and returns a new <code>Composite</code>
* with no margins and spacing. Subclasses should override.
* </p>
*
* @param parent The parent composite to contain the dialog area
* @return the dialog area control
*/
@Override
protected Control createDialogArea(Composite parent) {
// create the top level composite for the dialog area
Composite composite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
layout.verticalSpacing = 0;
layout.horizontalSpacing = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
composite.setFont(parent.getFont());
// Build the separator line
titleBarSeparator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
titleBarSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
return composite;
}
protected Label titleBarSeparator;
/**
* Creates the dialog's title area.
*
* @param parent the SWT parent for the title area widgets
* @return Control with the highest x axis value.
*/
protected Control createTitleArea(Composite parent) {
// Determine the background color of the title bar
Display display = parent.getDisplay();
Color background;
Color foreground;
if (titleAreaRGB != null) {
titleAreaColor = new Color(display, titleAreaRGB);
background = titleAreaColor;
foreground = null;
} else {
background = JFaceColors.getBannerBackground(display);
foreground = JFaceColors.getBannerForeground(display);
}
parent.setBackground(background);
int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
int horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
// Dialog image @ right
titleImageLabel = new Label(parent, SWT.CENTER);
titleImageLabel.setBackground(background);
if (titleAreaImage == null || titleAreaImage.isDisposed())
titleImageLabel.setImage(JFaceResources.getImage(DLG_IMG_TITLE_BANNER));
else
titleImageLabel.setImage(titleAreaImage);
FormData imageData = new FormData();
imageData.top = new FormAttachment(0, 0);
// Note: do not use horizontalSpacing on the right as that would be a
// regression from
// the R2.x style where there was no margin on the right and images are
// flush to the right
// hand side. see reopened comments in 41172
imageData.right = new FormAttachment(100, 0); // horizontalSpacing
titleImageLabel.setLayoutData(imageData);
// Title label @ top, left
titleLabel = new Label(parent, SWT.LEFT);
JFaceColors.setColors(titleLabel, foreground, background);
titleLabel.setFont(JFaceResources.getBannerFont());
titleLabel.setText(" ");//$NON-NLS-1$
FormData titleData = new FormData();
titleData.top = new FormAttachment(0, verticalSpacing);
titleData.right = new FormAttachment(titleImageLabel);
titleData.left = new FormAttachment(0, horizontalSpacing);
titleLabel.setLayoutData(titleData);
// Message image @ bottom, left
messageImageLabel = new Label(parent, SWT.CENTER);
messageImageLabel.setBackground(background);
// Message label @ bottom, center
// messageLabel = new Text(parent, SWT.WRAP | SWT.READ_ONLY);
messageLabel = new Label(parent, SWT.WRAP);
JFaceColors.setColors(messageLabel, foreground, background);
messageLabel.setText(" \n "); // two lines//$NON-NLS-1$
messageLabel.setFont(JFaceResources.getDialogFont());
// Bug 248410 - This snippet will only work with Windows screen readers.
messageLabel.getAccessible().addAccessibleAttributeListener(new AccessibleAttributeAdapter() {
@Override
public void getAttributes(AccessibleAttributeEvent e) {
e.attributes = new String[] { "container-live", //$NON-NLS-1$
"polite", "live", "polite", //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
"container-live-role", "status", }; //$NON-NLS-1$ //$NON-NLS-2$
}
});
messageLabelHeight = messageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
// Filler labels
leftFillerLabel = new Label(parent, SWT.CENTER);
leftFillerLabel.setBackground(background);
bottomFillerLabel = new Label(parent, SWT.CENTER);
bottomFillerLabel.setBackground(background);
setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
determineTitleImageLargest();
if (titleImageLargest)
return titleImageLabel;
return messageLabel;
}
/**
* Determine if the title image is larger than the title message and message area. This is used for layout
* decisions.
*/
private void determineTitleImageLargest() {
int titleY = titleImageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
int labelY = titleLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
labelY += verticalSpacing;
labelY += messageLabelHeight;
labelY += verticalSpacing;
titleImageLargest = titleY > labelY;
}
/**
* Set the layout values for the messageLabel, messageImageLabel and fillerLabel for the case where there is a
* normal message.
*
* @param verticalSpacing int The spacing between widgets on the vertical axis.
* @param horizontalSpacing int The spacing between widgets on the horizontal axis.
*/
protected void setLayoutsForNormalMessage(int verticalSpacing, int horizontalSpacing) {
FormData messageImageData = new FormData();
messageImageData.top = new FormAttachment(titleLabel, verticalSpacing);
messageImageData.left = new FormAttachment(0, H_GAP_IMAGE);
messageImageLabel.setLayoutData(messageImageData);
FormData messageLabelData = new FormData();
messageLabelData.top = new FormAttachment(titleLabel, verticalSpacing);
messageLabelData.right = new FormAttachment(titleImageLabel);
messageLabelData.left = new FormAttachment(messageImageLabel, horizontalSpacing);
messageLabelData.height = messageLabelHeight;
if (titleImageLargest)
messageLabelData.bottom = new FormAttachment(titleImageLabel, 0, SWT.BOTTOM);
messageLabel.setLayoutData(messageLabelData);
FormData fillerData = new FormData();
fillerData.left = new FormAttachment(0, horizontalSpacing);
fillerData.top = new FormAttachment(messageImageLabel, 0);
fillerData.bottom = new FormAttachment(messageLabel, 0, SWT.BOTTOM);
bottomFillerLabel.setLayoutData(fillerData);
FormData data = new FormData();
data.top = new FormAttachment(messageImageLabel, 0, SWT.TOP);
data.left = new FormAttachment(0, 0);
data.bottom = new FormAttachment(messageImageLabel, 0, SWT.BOTTOM);
data.right = new FormAttachment(messageImageLabel, 0);
leftFillerLabel.setLayoutData(data);
}
/**
* The <code>TitleAreaDialog</code> implementation of this <code>Window</code> methods returns an initial size which
* is at least some reasonable minimum.
*
* @return the initial size of the dialog
*/
@Override
protected Point getInitialSize() {
Point shellSize = super.getInitialSize();
return new Point(Math.max(convertHorizontalDLUsToPixels(MIN_DIALOG_WIDTH), shellSize.x),
Math.max(convertVerticalDLUsToPixels(MIN_DIALOG_HEIGHT), shellSize.y));
}
/**
* Retained for backward compatibility.
*
* Returns the title area composite. There is no composite in this implementation so the shell is returned.
*
* @return Composite
* @deprecated
*/
@Deprecated
protected Composite getTitleArea() {
return getShell();
}
/**
* Returns the title image label.
*
* @return the title image label
*/
protected Label getTitleImageLabel() {
return titleImageLabel;
}
/**
* Display the given error message. The currently displayed message is saved and will be redisplayed when the error
* message is set to <code>null</code>.
*
* @param newErrorMessage the newErrorMessage to display or <code>null</code>
*/
public void setErrorMessage(String newErrorMessage) {
// Any change?
if (errorMessage == null ? newErrorMessage == null : errorMessage.equals(newErrorMessage))
return;
errorMessage = newErrorMessage;
// Clear or set error message.
if (errorMessage == null) {
if (showingError) {
// we were previously showing an error
showingError = false;
}
// show the message
// avoid calling setMessage in case it is overridden to call
// setErrorMessage,
// which would result in a recursive infinite loop
if (message == null) // this should probably never happen since
// setMessage does this conversion....
message = ""; //$NON-NLS-1$
updateMessage(message);
messageImageLabel.setImage(messageImage);
setImageLabelVisible(messageImage != null);
} else {
// Add in a space for layout purposes but do not
// change the instance variable
String displayedErrorMessage = " " + errorMessage; //$NON-NLS-1$
updateMessage(displayedErrorMessage);
if (!showingError) {
// we were not previously showing an error
showingError = true;
messageImageLabel.setImage(JFaceResources.getImage(DLG_IMG_TITLE_ERROR));
setImageLabelVisible(true);
}
}
layoutForNewMessage(false);
}
/**
* Re-layout the labels for the new message.
*
* @param forceLayout <code>true</code> to force a layout of the shell
*/
protected void layoutForNewMessage(boolean forceLayout) {
int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
int horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
// If there are no images then layout as normal
if (errorMessage == null && messageImage == null) {
setImageLabelVisible(false);
setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
} else {
messageImageLabel.setVisible(true);
bottomFillerLabel.setVisible(true);
leftFillerLabel.setVisible(true);
/**
* Note that we do not use horizontalSpacing here as when the background of the messages changes there will
* be gaps between the icon label and the message that are the background color of the shell. We add a
* leading space elsewhere to compendate for this.
*/
FormData data = new FormData();
data.left = new FormAttachment(0, H_GAP_IMAGE);
data.top = new FormAttachment(titleLabel, verticalSpacing);
messageImageLabel.setLayoutData(data);
data = new FormData();
data.top = new FormAttachment(messageImageLabel, 0);
data.left = new FormAttachment(0, 0);
data.bottom = new FormAttachment(messageLabel, 0, SWT.BOTTOM);
data.right = new FormAttachment(messageImageLabel, 0, SWT.RIGHT);
bottomFillerLabel.setLayoutData(data);
data = new FormData();
data.top = new FormAttachment(messageImageLabel, 0, SWT.TOP);
data.left = new FormAttachment(0, 0);
data.bottom = new FormAttachment(messageImageLabel, 0, SWT.BOTTOM);
data.right = new FormAttachment(messageImageLabel, 0);
leftFillerLabel.setLayoutData(data);
FormData messageLabelData = new FormData();
messageLabelData.top = new FormAttachment(titleLabel, verticalSpacing);
messageLabelData.right = new FormAttachment(titleImageLabel);
messageLabelData.left = new FormAttachment(messageImageLabel, 0);
messageLabelData.height = messageLabelHeight;
if (titleImageLargest)
messageLabelData.bottom = new FormAttachment(titleImageLabel, 0, SWT.BOTTOM);
messageLabel.setLayoutData(messageLabelData);
}
if (forceLayout) {
getShell().layout();
} else {
// Do not layout before the dialog area has been created
// to avoid incomplete calculations.
if (dialogArea != null)
workArea.getParent().layout(true);
}
Point messageSize = messageLabel.getSize();
int messageLabelUnclippedHeight = messageLabel.computeSize(messageSize.x, SWT.DEFAULT, true).y;
boolean messageLabelClipped = messageLabelUnclippedHeight > messageSize.y;
if (messageLabel.getData() instanceof ToolTip) {
ToolTip toolTip = (ToolTip) messageLabel.getData();
toolTip.hide();
toolTip.deactivate();
messageLabel.setData(null);
}
if (messageLabelClipped) {
ToolTip tooltip = new ToolTip(messageLabel, ToolTip.NO_RECREATE, false) {
@Override
protected Composite createToolTipContentArea(Event event, Composite parent) {
Composite result = new Composite(parent, SWT.NONE);
result.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
result.setLayout(new GridLayout());
Text text = new Text(result, SWT.WRAP);
text.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
text.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
text.setText(messageLabel.getText());
GridData gridData = new GridData();
gridData.widthHint = messageSize.x;
text.setLayoutData(gridData);
Dialog.applyDialogFont(result);
return result;
}
@Override
public Point getLocation(Point tipSize, Event event) {
return messageLabel.getShell().toDisplay(messageLabel.getLocation());
}
};
messageLabel.setData(tooltip);
tooltip.setPopupDelay(0);
tooltip.activate();
}
}
/**
* Set the message text. If the message line currently displays an error, the message is saved and will be
* redisplayed when the error message is set to <code>null</code>.
* <p>
* Shortcut for <code>setMessage(newMessage, IMessageProvider.NONE)</code>
* </p>
* This method should be called after the dialog has been opened as it updates the message label immediately.
*
* @param newMessage the message, or <code>null</code> to clear the message
*/
public void setMessage(String newMessage) {
setMessage(newMessage, IMessageProvider.NONE);
}
/**
* Sets the message for this dialog with an indication of what type of message it is.
* <p>
* The valid message types are one of <code>NONE</code>, <code>INFORMATION</code>,<code>WARNING</code>, or
* <code>ERROR</code>.
* </p>
* <p>
* Note that for backward compatibility, a message of type <code>ERROR</code> is different than an error message
* (set using <code>setErrorMessage</code>). An error message overrides the current message until the error message
* is cleared. This method replaces the current message and does not affect the error message.
* </p>
*
* @param newMessage the message, or <code>null</code> to clear the message
* @param newType the message type
* @since 2.0
*/
public void setMessage(String newMessage, int newType) {
Image newImage = null;
if (newMessage != null) {
switch (newType) {
case IMessageProvider.NONE:
break;
case IMessageProvider.INFORMATION:
newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_INFO);
break;
case IMessageProvider.WARNING:
newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_WARNING);
break;
case IMessageProvider.ERROR:
newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_ERROR);
break;
}
}
showMessage(newMessage, newImage);
}
/**
* Show the new message and image.
*
* @param newMessage
* @param newImage
*/
protected void showMessage(String newMessage, Image newImage) {
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=249915
if (newMessage == null)
newMessage = ""; //$NON-NLS-1$
// Any change?
if (message.equals(newMessage) && messageImage == newImage) {
return;
}
message = newMessage;
// Message string to be shown - if there is an image then add in
// a space to the message for layout purposes
String shownMessage = (newImage == null) ? message : " " + message; //$NON-NLS-1$
messageImage = newImage;
if (!showingError) {
// we are not showing an error
updateMessage(shownMessage);
messageImageLabel.setImage(messageImage);
setImageLabelVisible(messageImage != null);
layoutForNewMessage(false);
}
}
/**
* Update the contents of the messageLabel.
*
* @param newMessage the message to use
*/
protected void updateMessage(String newMessage) {
String oldMessage = messageLabel.getText();
messageLabel.setText(newMessage);
// Bug 248410 - This snippet will only work with Windows screen readers.
messageLabel.getAccessible().sendEvent(ACC.EVENT_ATTRIBUTE_CHANGED, null);
messageLabel.getAccessible().sendEvent(ACC.EVENT_TEXT_CHANGED, new Object[] { Integer.valueOf(ACC.TEXT_DELETE),
Integer.valueOf(0), Integer.valueOf(oldMessage.length()), oldMessage });
messageLabel.getAccessible().sendEvent(ACC.EVENT_TEXT_CHANGED, new Object[] { Integer.valueOf(ACC.TEXT_INSERT),
Integer.valueOf(0), Integer.valueOf(newMessage.length()), newMessage });
}
/**
* Sets the title to be shown in the title area of this dialog.
*
* @param newTitle the title show
*/
public void setTitle(String newTitle) {
if (titleLabel == null)
return;
String title = newTitle;
if (title == null)
title = "";//$NON-NLS-1$
titleLabel.setText(title);
}
/**
* Sets the title bar color for this dialog.
*
* @param color the title bar color
*/
public void setTitleAreaColor(RGB color) {
titleAreaRGB = color;
}
/**
* Sets the title image to be shown in the title area of this dialog.
*
* @param newTitleImage the title image to be shown
*/
public void setTitleImage(Image newTitleImage) {
titleAreaImage = newTitleImage;
if (titleImageLabel != null) {
titleImageLabel.setImage(newTitleImage);
determineTitleImageLargest();
Control top;
if (titleImageLargest)
top = titleImageLabel;
else
top = messageLabel;
resetWorkAreaAttachments(top);
}
}
/**
* Make the label used for displaying error images visible depending on boolean.
*
* @param visible If <code>true</code> make the image visible, if not then make it not visible.
*/
protected void setImageLabelVisible(boolean visible) {
messageImageLabel.setVisible(visible);
bottomFillerLabel.setVisible(visible);
leftFillerLabel.setVisible(visible);
}
/**
* Reset the attachment of the workArea to now attach to top as the top control.
*
* @param top
*/
protected void resetWorkAreaAttachments(Control top) {
FormData childData = new FormData();
childData.top = new FormAttachment(top);
childData.right = new FormAttachment(100, 0);
childData.left = new FormAttachment(0, 0);
childData.bottom = new FormAttachment(100, 0);
workArea.setLayoutData(childData);
}
/**
* Returns the current message text for this dialog. This message is displayed in the message line of the dialog
* when the error message is <code>null</code>. If there is a non-null error message, this message is not shown, but
* is stored so that it can be shown in the message line whenever {@link #setErrorMessage(String)} is called with a
* <code>null</code> parameter.
*
* @return the message text, which is never <code>null</code>.
*
* @see #setMessage(String)
* @see #setErrorMessage(String)
*
* @since 3.6
*/
public String getMessage() {
return message;
}
/**
* Returns the current error message being shown in the dialog, or <code>null</code> if there is no error message
* being shown.
*
* @return the error message, which may be <code>null</code>.
*
* @see #setErrorMessage(String)
* @see #setMessage(String)
*
* @since 3.6
*/
public String getErrorMessage() {
return errorMessage;
}
}

View File

@@ -0,0 +1,233 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.formtools;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
/**
* Create a Label and a Checkbox.
*/
public class LabelledCheckbox implements LabelledWidget{
private Button button;
private Label label;
/**
* Create a Label and a Text.
*
* @param composite
* @param string
*/
public LabelledCheckbox(Composite composite, String string) {
createLabelledButton(composite, string, 1, true);
}
/**
* Create a Label and a Text.
*
* @param composite
* @param string
* @param isFill
*/
public LabelledCheckbox(Composite composite, String string, boolean isFill) {
createLabelledButton(composite, string, 1, isFill);
}
/**
* Create a Label and a Button width specific styleField.
*
* @param composite
* @param string
* @param int horizontalSpan
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan) {
createLabelledButton(composite, string, horizontalSpan, true);
}
/**
* Create a Label and a Button width specific styleField.
*
* @param composite
* @param string
* @param int horizontalSpan
* @param styleField
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan, int styleField) {
createLabelledButton(composite, string, horizontalSpan, true);
}
/**
* Create a Label and a Button width Gridata option FILL.
*
* @param composite
* @param string
* @param styleField
* @param int horizontalSpan
* @param isFill
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan, boolean isFill) {
createLabelledButton(composite, string, horizontalSpan, isFill);
}
/**
* Create a Label and a Button width specific styleField and Gridata option FILL.
*
* @param composite
* @param string
* @param int horizontalSpan
* @param styleField
* @param isFill
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan, int styleField, boolean isFill) {
createLabelledButton(composite, string, horizontalSpan, isFill);
}
/**
* Create a Label and a Button width specific styleField and Gridata option FILL.
*
* @param composite
* @param string
* @param int horizontalSpan
* @param styleField
* @param isFill
*/
private void createLabelledButton(Composite composite, String string, int horizontalSpan, boolean isFill) {
label = new Label(composite, SWT.LEFT);
if (string != null) {
label.setText(string);
}
button = new Button(composite, SWT.CHECK);
int gridDataStyle = SWT.NONE;
if (isFill) {
gridDataStyle = SWT.FILL;
}
GridData gridData = new GridData(gridDataStyle, SWT.CENTER, true, false);
gridData.horizontalSpan = horizontalSpan;
button.setLayoutData(gridData);
}
/**
* setToolTipText to Text Object.
*
* @param string
*/
public void setToolTipText(final String string) {
button.setToolTipText(string);
}
/**
* is Checkbox Selected.
*
* @return boolean
*/
public Boolean isSelected() {
return button.getSelection();
}
/**
* setText to Label Object.
*
* @param string
*/
public void setLabelText(final String string) {
if (string != null) {
label.setText(string);
} else {
label.setText(""); //$NON-NLS-1$
}
}
/**
* setEditable to Button and Label Object.
*
* @param boolean
*/
public void forceFocus() {
setEnabled(true);
button.forceFocus();
}
/**
* setEnabled to Button and Label Object.
*
* @param boolean
*/
public void setEnabled(final boolean visible) {
button.setEnabled(visible);
label.setEnabled(visible);
}
/**
* setVisible to Button and Label Object.
*
* @param boolean
*/
public void setVisible(final boolean visible) {
button.setVisible(visible);
label.setVisible(visible);
}
public void setVisible(final boolean visible, final boolean exclude) {
Control[] controls = new Control[] { label, button };
for (Control control : controls) {
control.setVisible(visible);
if (control.getLayoutData() instanceof GridData) {
((GridData) control.getLayoutData()).exclude = exclude;
}
}
}
/**
* addListener to Button Object.
*
* @param eventType
* @param listener
*/
public void addListener(int eventType, Listener listener) {
button.addListener(eventType, listener);
}
/**
* addFocusListener to Button Object.
*
* @param listener
*/
public void addFocusListener(FocusListener listener) {
button.addFocusListener(listener);
}
@Override
public void set(String value) {
button.setSelection(Boolean.parseBoolean(value));
}
public void addSelectionListener(SelectionListener listener) {
button.addSelectionListener(listener);
}
public boolean getSelection() {
return button.getSelection();
}
}

View File

@@ -33,7 +33,7 @@ import org.eclipse.swt.widgets.Text;
* $Id: LabelledText.java 7038 2007-11-15 14:05:48Z plegall $
*
*/
public class LabelledText {
public class LabelledText implements LabelledWidget{
private Text text;
@@ -297,6 +297,16 @@ public class LabelledText {
label.setVisible(visible);
}
public void setVisible(final boolean visible, final boolean exclude) {
Control[] controls = new Control[] { label, text };
for (Control control : controls) {
control.setVisible(visible);
if (control.getLayoutData() instanceof GridData) {
((GridData) control.getLayoutData()).exclude = exclude;
}
}
}
public boolean isVisiable() {
return text.isVisible() && label.isVisible();
}
@@ -472,4 +482,9 @@ public class LabelledText {
text.getParent().layout();
}
@Override
public void set(String value) {
this.setText(value);
}
}

View File

@@ -0,0 +1,9 @@
package org.talend.commons.ui.swt.formtools;
public interface LabelledWidget {
// Set the value of the widget
public void set(String value);
public void setVisible(boolean visible, boolean exclude);
}

View File

@@ -0,0 +1,28 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.wizard;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizard {
/**
* DOC cmeng TalendWizard constructor comment.
*/
public TalendWizard() {
// TODO Auto-generated constructor stub
}
}

View File

@@ -0,0 +1,55 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.wizard;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizardDialog extends Dialog {
public TalendWizardDialog(Shell parentShell) {
super(parentShell);
}
@Override
protected Control createContents(Composite parent) {
return super.createContents(parent);
}
public static void main(String[] args) throws Exception {
int sleep = 1000 / 60;
double time = 1.0 / 50;
int total = 0;
for (int i = 1; i <= 25; i++) {
double curTime = time * i;
double value = 1.0 - Math.sqrt(1 - curTime * curTime);
int lengh = (int) (250 * value);
total += lengh;
System.out.println(i + "\t:" + lengh + ", total: " + total);
}
for (int i = 25; i <= 50; i++) {
double curTime = 1 - time * i;
double value = 1.0 - Math.sqrt(1 - curTime * curTime);
int lengh = (int) (250 * value);
total += lengh;
System.out.println(i + "\t:" + lengh + ", total: " + total);
}
}
}

View File

@@ -0,0 +1,28 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.wizard;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizardPage {
/**
* DOC cmeng TalendWizardPage constructor comment.
*/
public TalendWizardPage() {
// TODO Auto-generated constructor stub
}
}

View File

@@ -113,10 +113,6 @@ public class SimpleHtmlFigure extends Figure {
add(horizContainer);
}
public void setText(final String text) {
setText(text, false);
}
/**
* Display some HTML text..
*
@@ -124,7 +120,7 @@ public class SimpleHtmlFigure extends Figure {
* @param isSysDefaultColor true if use system default font color
*/
@SuppressWarnings("unchecked")
public void setText(final String text, boolean isSysDefaultColor) {
public void setText(final String text) {
if (this.text.equals(text)) {
// if the text is the same, there's nothing to change, so return.
@@ -142,16 +138,14 @@ public class SimpleHtmlFigure extends Figure {
newHorizContainer();
List<Color> colorStack = new ArrayList<Color>();
colorStack.add(ColorConstants.black);
// for some dark theme system like Ubuntu,if true use default system font color
buildFigures(text, SWT.None, colorStack, isSysDefaultColor);
buildFigures(text, SWT.None, colorStack);
setPreferredSize(computePreferedSize());
this.text = text;
}
private void buildFigures(final String newText, final int fontCode, final List<Color> colorStack, boolean isSysDefaultColor) {
private void buildFigures(final String newText, final int fontCode, final List<Color> colorStack) {
// Optimize
if (newText == null || newText.length() == 0) {
return;
@@ -167,7 +161,7 @@ public class SimpleHtmlFigure extends Figure {
if (isFirstIndex(boldIndex, italicIndex, fontIndex, brIndex)) {
if (boldIndex > 0) {
String begText = newText.substring(0, boldIndex);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(begText, newFontCode, colorStack);
}
newFontCode = newFontCode | SWT.BOLD;
@@ -176,17 +170,17 @@ public class SimpleHtmlFigure extends Figure {
if (endBoldIndex != -1) {
String boldText = newText.substring(boldIndex + TAG_BOLD_BEG.length(), endBoldIndex);
endText = newText.substring(endBoldIndex + TAG_BOLD_END.length());
buildFigures(boldText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(boldText, newFontCode, colorStack);
} else {
endText = newText.substring(boldIndex + TAG_BOLD_BEG.length());
}
newFontCode = newFontCode ^ SWT.BOLD;
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(endText, newFontCode, colorStack);
} else if (isFirstIndex(italicIndex, boldIndex, fontIndex, brIndex)) {
if (italicIndex > 0) {
String begText = newText.substring(0, italicIndex);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(begText, newFontCode, colorStack);
}
newFontCode = newFontCode | SWT.ITALIC;
@@ -195,52 +189,59 @@ public class SimpleHtmlFigure extends Figure {
if (endItalicIndex != -1) {
String italicText = newText.substring(italicIndex + TAG_ITALIC_BEG.length(), endItalicIndex);
endText = newText.substring(endItalicIndex + TAG_ITALIC_END.length());
buildFigures(italicText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(italicText, newFontCode, colorStack);
} else {
endText = newText.substring(italicIndex + TAG_ITALIC_BEG.length());
}
newFontCode = newFontCode ^ SWT.ITALIC;
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(endText, newFontCode, colorStack);
} else if (isFirstIndex(fontIndex, boldIndex, italicIndex, brIndex)) {
if (fontIndex > 0) {
String begText = newText.substring(0, fontIndex);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(begText, newFontCode, colorStack);
}
int colorIndex = newText.indexOf(TAG_FONT_COLOR_BEG_1);
Color color;
Color color = null;
int colorIndex2 = newText.indexOf(TAG_FONT_BEG_2);
if (colorIndex2 != -1) {
String colorCode = newText.substring(colorIndex + TAG_FONT_COLOR_BEG_1.length(), colorIndex2);
color = getColor(colorCode);
} else {
} else if (colorStack.size() > 0){
color = colorStack.get(colorStack.size() - 1);
}
colorStack.add(color);
boolean isPushed = false;
if (color != null) {
colorStack.add(color);
isPushed = true;
}
String endText;
int endColorIndex = newText.indexOf(TAG_FONT_END);
if (endColorIndex != -1) {
String colorText = newText.substring(colorIndex2 + TAG_FONT_BEG_2.length(), endColorIndex);
endText = newText.substring(endColorIndex + TAG_FONT_END.length());
buildFigures(colorText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(colorText, newFontCode, colorStack);
} else {
endText = newText.substring(colorIndex2 + TAG_FONT_BEG_2.length());
}
colorStack.remove(colorStack.size() - 1);
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
if (isPushed) {
colorStack.remove(colorStack.size() - 1);
}
buildFigures(endText, newFontCode, colorStack);
} else if (isFirstIndex(brIndex, boldIndex, italicIndex, fontIndex)) {
if (brIndex > 0) {
String begText = newText.substring(0, brIndex);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(begText, newFontCode, colorStack);
}
newHorizContainer();
String endText = newText.substring(brIndex + TAG_BR.length());
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
buildFigures(endText, newFontCode, colorStack);
} else {
Font fontToUse;
Label label = new Label();
@@ -259,7 +260,7 @@ public class SimpleHtmlFigure extends Figure {
}
}
label.setFont(fontToUse);
if (!isSysDefaultColor) {
if (colorStack.size() > 0) {
label.setForegroundColor(colorStack.get(colorStack.size() - 1));
}
horizContainer.add(label);

View File

@@ -93,8 +93,8 @@
<RepositoryComponent
name="EXASOL"
withSchema="true"
input="tEXAInput"
output="tEXAOutput">
input="tExasolInput"
output="tExasolOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>

View File

@@ -168,7 +168,8 @@ ProjectRepositoryNode.sapFunctions.inputSchema=Input
ProjectRepositoryNode.sapFunctions.outputSchema=Output
ProjectRepositoryNode.sapIDocs=SAP iDocs
ProjectRepositoryNode.sapTables=SAP Tables
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=SAP ADSO
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (Input)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (Output)
ProjectRepositoryNode.sapBWDataSource=SAP DataSource
ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube

View File

@@ -1,209 +0,0 @@
AbstractEMFRepositoryFactory.cannotGenerateItem=Cannot generate pasted item label.
AbstractEMFRepositoryFactory.job=Job
AbstractEMFRepositoryFactory.presistenceException.OnlyOneOccurenceMustbeFound=More than one items are retrieved at the same time.\n{0}
AbstractEMFRepositoryFactory.presistenceException.whoCauseProblems=Items who cause problems are:
AbstractEMFRepositoryFactory.requiredComponent=Required for using component \:
ProxyRepositoryFactory.bussinessException.itemNonModifiable=You do not have enough right for this action
ProxyRepositoryFactory.exec.migration.tasks=Execute migrations tasks
ProxyRepositoryFactory.illegalArgumentException.labeAlreadyInUse=Label {0} is already in use
ProxyRepositoryFactory.illegalArgumentException.labelNotMatchPattern=Label {0} does not match pattern {1}
ProxyRepositoryFactory.initializeProjectConnection=Initialize Project Connection
ProxyRepositoryFactory.JobNameErroe=Jobname Error
ProxyRepositoryFactory.Label=Label
ProxyRepositoryFactory.load.componnents=Load Components...
ProxyRepositoryFactory.log.Restoration=Restoration [{0}] by {1} to "/{2}".
ProxyRepositoryFactory.log.lock=Lock [{0}] by "{1}".
ProxyRepositoryFactory.log.loggedOn={0} logged on {1}
ProxyRepositoryFactory.log.logicalDeletion=Logical deletion [{0}] by {1}.
ProxyRepositoryFactory.log.move=Move [{0}] to "{1}".
ProxyRepositoryFactory.log.newIdGenerated=New ID generated on project [{0}] \= {1}
ProxyRepositoryFactory.log.physicalDeletion=Physical deletion [{0}] by {1}.
ProxyRepositoryFactory.log.tempFolderEmptied=Temp folder emptied ({0} files deleted in {1} ms)
ProxyRepositoryFactory.log.unlock=Unlock [{0}] by "{1}".
ProxyRepositoryFactory.logonInProgress=Log on in progress...
ProxyRepositoryFactory.projectIsNotCompatible=The project {0} had been opend by a more recent studio so cannot open it.
ProxyRepositoryFactory.ReplaceJob=is already in use,do you want to replace it?
ProxyRepositoryFactory.synch.repo.items=Synchronize repository items
ProxyRepositoryFactory.synchronizeLibraries=Synchronize libraries...
CreateSandboxProjectDialog.createUserLabel=Create a new user linked to the creating sandbox project
CreateSandboxProjectDialog.Failure=Failure
CreateSandboxProjectDialog.failureMessage=Create sandbox project Failure.
CreateSandboxProjectDialog.ProjectDesc=Description
CreateSandboxProjectDialog.ProjectLabel=Label
CreateSandboxProjectDialog.ProjectSvnAdvance=SVN advanced settings
CreateSandboxProjectDialog.successMessage=Create sandbox project successfully
CreateSandboxProjectDialog.successTitile=Success
CreateSandboxProjectDialog.svnUrl=URL
CreateSandboxProjectDialog.Title=Create sandbox project - {0}
CreateSandboxProjectDialog.userFirstname=First name
CreateSandboxProjectDialog.userLastname=Last name
CreateSandboxProjectDialog.userLoginMessage=The project svn login can't be empty
CreateSandboxProjectDialog.userLoginValidMessage=The user login must be a valid email
CreateSandboxProjectDialog.userPasswordEmptyMessage=The user password can't be empty
CreateSandboxProjectDialog.Login=Login
CreateSandboxProjectDialog.Password=Password
CreateSandboxProjectDialog.URLMessage=Must set the svn URL
CreateSandboxProjectDialog.userSvnSettingLabel=Default SVN settings
PropertiesWizardPage.Author=Author
PropertiesWizardPage.Locker=Locker
PropertiesWizardPage.Description=Description
PropertiesWizardPage.EmptyDescWarning=Empty description is discouraged.
PropertiesWizardPage.EmptyPurposeWarning=Empty purpose is discouraged.
PropertiesWizardPage.ItemExistsError=This item already exists. Check the Recycle bin and empty it if needed.
PropertiesWizardPage.KeywordsError=Name is not a valid identifier.
PropertiesWizardPage.Name=Name
PropertiesWizardPage.NameEmptyError=Name is empty.
PropertiesWizardPage.NameFormatError=Name contains incorrect characters.
PropertiesWizardPage.Path=Path
PropertiesWizardPage.Purpose=Purpose
PropertiesWizardPage.Select=Select
PropertiesWizardPage.SelectfolderMessage=Select the folder in which the item will be created
PropertiesWizardPage.SelectfolderTitle=Select folder
PropertiesWizardPage.Status=Status
PropertiesWizardPage.Version=Version
PropertiesWizardPage.Version.Major=M
PropertiesWizardPage.Version.Minor=m
PropertiesWizardPage.ImageSizeError=Please select image in size 32*32.
EAuthenticationMethod.anonymousAuth=Anonymous Authentication
EAuthenticationMethod.simpleAuth=Simple Authentication
AdvancedSocketFactory.failedInitial=Error\: failed to initialize \:
LDAPCATruster.failedCreateCert=Failed to create cert store \:
LDAPCATruster.failedCreateTmp=Failed to create tmp trust store \:
LDAPCATruster.failedInitialTrust=Failed to create initial trust manager \:
LDAPCATruster.failedLoadCert=Failed to load the cert store \:
LDAPCATruster.failedSaveTrust=Failed to save trust store \:
LDAPCATruster.locationInvalid=The location of the cert store file is invalid\:
LDAPCATruster.noCertificate=\nPlease use the keytool command to import the server certificate.
LDAPCATruster.sslError1=SSL Error:Server certificate chain verification failed.
LDAPCATruster.sslError2=SSL Error\:Server certificate chain verification failed and \\nthe CA is missing.
LDAPCATruster.sslError3=SSL Error:CA certificate is not in the server certificate chain.
CopyAction.thisText.copy=Copy
RestoreAction.action.title=Restore
RestoreAction.action.toolTipText=Restore
PasteAction.thisText.paste=Paste
DeleteAction.action.foreverTitle=Delete forever
DeleteAction.action.logicalTitle=Delete
DeleteAction.action.logicalToolTipText=Put object in recycle bin
DeleteAction.deleteJobAssignedToOneService=\ is assigned to one operation of a Service\!\nDo you want to delete this job?
DeleteAction.deleteSomeJobsAssignedToServices=\ were assigned to some operations of some Services\!\nDo you want to delete these jobs?
DeleteAction.dialog.message0=will be deleted forever (cannot be retrieved).
DeleteAction.dialog.message1=The selected element(s) will be deleted forever (cannot be retrieved).
DeleteAction.dialog.message2=Continue anyway?
DeleteAction.dialog.messageAllElements=All the elements will be deleted forever (cannot be retrieved).
DeleteAction.dialog.title=Delete forever
DeleteAction.error.lockedOrOpenedObject.newMessage=The {0} is locked, so you can't delete it.\n If this object is opened ,you must close it before deletion.
DeleteAction.error.title=Deletion forbidden
DeleteAction.warning.message1=can not delete the folder because at least one item contained in this folder is currently open. Close any open item and try again.
DeleteAction.warning.title=Warning
DuplicateAction.cannotGenerateItem=Cannot generate pasted item label.
DuplicateAction.dialog.message=Give name to new job
DuplicateAction.dialog.title=Please input job name
DuplicateAction.input.message=Input new name
DuplicateAction.thisText.duplicate=Duplicate
DuplicateAction.NameEmptyError=Name is empty.
DuplicateAction.NameFormatError=Name contains incorrect characters.
DuplicateAction.ItemExistsError=This item already exists. Check the Recycle bin and empty it if needed.
DuplicateAction.KeywordsError=Name is not a valid identifier.
EmptyRecycleBinAction.action.title=Empty recycle bin
EmptyRecycleBinAction.action.toolTipText=Empty recycle bin
EmptyRecycleBinAction.dialog.title=Empty recycle bin
EmptyRecycleBinAction.dialog.allDependencies=You can't empty the Recycle Bin.\nOne of items is depended by Data Profiler Perspective.please don't delete it.
PasteObjectAction.error.labelAlreadyExists=An object with this label already exists at this path
PasteObjectAction.error.title=Paste impossible
JobletReferenceDialog.DeletedInfor=in Recycle Bin
JobletReferenceDialog.Messages=Some joblets cannot be deleted because they are referenced from jobs.
JobletReferenceDialog.NodeTotals=Totals
JobletReferenceDialog.NodeTotalsTip=The totals of node reference
JobletReferenceDialog.project=Project
JobletReferenceDialog.ReferenceJob=Reference Job
JobletReferenceDialog.Title=Delete the joblet failure
ContextReferenceDialog.Title=Delete Context Group
ContextReferenceDialog.Recycle=in Recycle Bin
ContextReferenceDialog.ReferenceJob=Reference Objects
ContextReferenceDialog.Types=Type
ContextReferenceDialog.NodeTypeTip=The type of node reference
ContextReferenceDialog.Messages=Context({0} {1}) is referenced from\:\n
ContextReferenceDialog.kindMessages=The context group of {0} {1} is referred by the following list, if you really want to delete it, the context group is used in job will be changed to built-in when job is opened again. Would you still like to delete it?
ContextReferenceDialog.kindMessages1=The context group of {0} {1} is referred by the following list, Would you still like to delete it?
CopyToGenericSchemaHelper.cannotGenarateItem=Cannot generate pasted item label.
ProxyRepositoryFactory.ReplaceJobHazardDescription=\nDependence on the original connection may be lost\!
ItemReferenceDialog.title=Items which cannot be deleted
ItemReferenceDialog.item=Item
ItemReferenceDialog.referenceItem=Reference Item
ItemReferenceDialog.nodeTotals=Totals
ItemReferenceDialog.nodeTotalsTip=The totals of node reference
ItemReferenceDialog.project=Project
ItemReferenceDialog.deletedInfor=In Recycle Bin
ItemReferenceDialog.messages=Some items cannot be deleted because they are referenced from other items.
ProjectRepositoryNode.code=Code
ProjectRepositoryNode.rulesManagement=Rules Management
ProjectRepositoryNode.itemInvalid=Item not valid: [{0}] {1}
ProjectRepositoryNode.invalidItem=Invalid item
ProjectRepositoryNode.columns=Columns
ProjectRepositoryNode.validationRules=Validation Rules
ProjectRepositoryNode.cdcFoundation=CDC Foundation
ProjectRepositoryNode.genericSchema=Generic schemas
ProjectRepositoryNode.queries=Queries
ProjectRepositoryNode.synonymSchemas=Synonym schemas
ProjectRepositoryNode.tableSchemas=Table schemas
ProjectRepositoryNode.viewSchemas=View schemas
ProjectRepositoryNode.sapFunctions=SAP Functions
ProjectRepositoryNode.sapIDocs=SAP iDocs
RepositoryDropAdapter_copyingItems=Copying items...
RepositoryDropAdapter_lockedByOthers=This item is locked by other users, it can not be moved now.
RepositoryDropAdapter_lockedByYou=This item is locked by you, it can not be moved now.
RepositoryDropAdapter_moveTitle=Move
RepositoryDropAdapter_movingItems=Moving items...
RepositoryDropAdapter.checkingLockStatus=Checking lock status of
RepositoryDropAdapter.moving=Moving
NewFolderWizard.description=Create a new folder in repository
NewFolderWizard.failureText=An error occurs. Folder cannot be created. See log for more details.
NewFolderWizard.failureTitle=Error
NewFolderWizard.label=Label
NewFolderWizard.nameEmpty=Label is required
NewFolderWizard.nameIncorrect=Label contains incorrect characters.
NewFolderWizard.nameInvalid=Label {0} is forbidden
NewFolderWizard.title=Folder
NewFolderWizard.windowTitle=New folder
CreateFolderAction.action.title=Create folder
CreateFolderAction.action.toolTipText=Create folder
RenameFolderAction.action.title=Rename folder
RenameFolderAction.action.toolTipText=Rename folder
RenameFolderAction.warning.editorOpen.message=Cannot rename "{1}" folder because an item ({0}) contained in this folder is currently open.\nClose it and retry.
RenameFolderAction.warning.editorOpen.title=Action not available
RenameFolderAction.warning.cannotFind.message=Cannot rename folder, it may have been moved or deleted. Click refresh button to update the repository.
RenameFolderAction.warning.cannotFind.title=Action not available
ProxyRepositoryFactory.cleanWorkspace=Clean workspace
ProxyRepositoryFactory.DeleteFolderContainsLockedItem=Cannot delete a folder which contains locked items
ProxyRepositoryFactory.MoveFolderContainsLockedItem=Cannot move a folder which contains locked items
ProxyRepositoryFactory.RenameFolderContainsLockedItem=Cannot rename a folder which contains locked items
RepositoryDropAdapter_errorMsg=This directory contains the locked item,it can not be moved now
RenameFolderAction.description=Rename the folder
ProxyRepositoryFactory.projectCanNotOpen=Cannot open the project.Error task is {0}.
ProjectRepositoryNode.sapBapi=SAP Bapi
ProjectRepositoryNode.sapFunctions.inputSchema=Input
ProjectRepositoryNode.sapFunctions.outputSchema=Output
ProjectRepositoryNode.sapTables=SAP Tables
DuplicateAction.input.title.v2=Duplicate
DuplicateAction.SameAsProjectname=Name is same as project name.
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage=The test case/cases of {0} is/are locked, so you can't delete it.\n If this object is opened ,you must close it before deletion.
ProjectRepositoryNode.sapBWDataSource=SAP DataSource
ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ConvertJobsUtil.warning.title=Warning
ConvertJobsUtil.warning.message=The target framework is not fully supported for this release.
ItemReferenceDialog.doNotDelete.button=Don't delete
ItemReferenceDialog.forceDelete.button=Force delete
ItemReferenceDialog.forceDelete.warn.title=Are You Sure?
ItemReferenceDialog.forceDelete.warn.message=Force delete action may break items which use this item. Do you really want to force delete it?
ProjectRepositoryNode.sapContentExtractor=SAP BI Content Extractor
ProjectRepositoryNode.calculationViewSchemas=Calculation View schemas
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=SAP ADSO
ProxyRepositoryFactory.CycleReferenceError=The cycle projects reference detected.
ProxyRepositoryFactory.titleWarning=Warning
ProxyRepositoryFactory.msgMissingReferencedProjects=Missing referenced project [{0}]. Do you want to continue login project?
ProxyRepositoryFactory.exceptionMissingReferencedProjects=Missing referenced project [{0}].
ProxyRepositoryFactory.btnLabelContinue=Continue
ProxyRepositoryFactory.load.sdk.componnents=Load SDK Components...
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Create stats log and implicit parameters

View File

@@ -72,7 +72,7 @@ PropertiesWizardPage.Version.Major=M
PropertiesWizardPage.Version.Minor=m
PropertiesWizardPage.ImageSizeError=S\u00E9lectionnez une image de taille 32*32.
EAuthenticationMethod.anonymousAuth=Authentification anonyme
EAuthenticationMethod.simpleAuth=Authentification simple
EAuthenticationMethod.simpleAuth=Authentification basique
AdvancedSocketFactory.failedInitial=Erreur : impossible d'initialiser :
LDAPCATruster.failedCreateCert=Impossible de cr\u00E9er le stockage du certificat
LDAPCATruster.failedCreateTmp=Impossible de cr\u00E9er le
@@ -91,7 +91,7 @@ PasteAction.thisText.paste=Coller
DeleteAction.action.foreverTitle=Supprimer d\u00E9finitivement
DeleteAction.action.logicalTitle=Supprimer
DeleteAction.action.logicalToolTipText=Placer l'\u00E9l\u00E9ment dans la Corbeille
DeleteAction.deleteJobAssignedToOneService= est attribu\u00E9 \u00E0 une op\u00E9ration d'un service.\nSupprimer ce Job ?
DeleteAction.deleteJobAssignedToOneService= est assign\u00E9 \u00E0 une op\u00E9ration d'un Service.\nSupprimer ce Job ?
DeleteAction.deleteSomeJobsAssignedToServices= sont assign\u00E9s \u00E0 des op\u00E9rations de Services.\nSupprimer ces Jobs ?
DeleteAction.dialog.message0=sera supprim\u00E9 d\u00E9finitivement (r\u00E9cup\u00E9ration impossible).
DeleteAction.dialog.message1=Les \u00E9l\u00E9ments s\u00E9lectionn\u00E9s seront supprim\u00E9s d\u00E9finitivement (pas de r\u00E9cup\u00E9ration possible).
@@ -168,7 +168,8 @@ ProjectRepositoryNode.sapFunctions.inputSchema=Lecture
ProjectRepositoryNode.sapFunctions.outputSchema=Sortie
ProjectRepositoryNode.sapIDocs=SAP IDoc
ProjectRepositoryNode.sapTables=Tables SAP
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=ADSO SAP
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (Entr\u00E9e)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (Sortie)
ProjectRepositoryNode.sapBWDataSource=Source des donn\u00E9es SAP
ProjectRepositoryNode.sapBWDataStoreObject=Objet Data Store SAP
ProjectRepositoryNode.sapBWInfoCube=InfoCube SAP

View File

@@ -75,10 +75,10 @@ EAuthenticationMethod.anonymousAuth=\u533F\u540D\u8A8D\u8A3C
EAuthenticationMethod.simpleAuth=\u5358\u7D14\u306A\u8A8D\u8A3C
AdvancedSocketFactory.failedInitial=\u30A8\u30E9\u30FC : \u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F :
LDAPCATruster.failedCreateCert=\u8A3C\u660E\u66F8\u30B9\u30C8\u30A2\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedCreateTmp=tmp\u4FE1\u983C\u30B9\u30C8\u30A2\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedCreateTmp=\u4E00\u6642\u30C8\u30E9\u30B9\u30C8\u30B9\u30C8\u30A2\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedInitialTrust=\u521D\u671F\u4FE1\u983C\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedLoadCert=\u8A3C\u660E\u66F8\u30B9\u30C8\u30A2\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
LDAPCATruster.failedSaveTrust=\u4FE1\u983C\u30B9\u30C8\u30A2\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedSaveTrust=\u30C8\u30E9\u30B9\u30C8\u30B9\u30C8\u30A2\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.locationInvalid=\u8A3C\u660E\u66F8\u30B9\u30C8\u30A2\u30D5\u30A1\u30A4\u30EB\u306E\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u7121\u52B9\u3067\u3059:
LDAPCATruster.noCertificate=\n\u30AD\u30FC\u30C4\u30FC\u30EB\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u3063\u3066\u3001\u30B5\u30FC\u30D0\u30FC\u8A3C\u660E\u66F8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u3066\u304F\u3060\u3055\u3044\u3002
LDAPCATruster.sslError1=SSL\u30A8\u30E9\u30FC\uFF1A\u30B5\u30FC\u30D0\u30FC\u8A3C\u660E\u66F8\u3092\u691C\u8A3C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
@@ -91,15 +91,15 @@ PasteAction.thisText.paste=\u8CBC\u308A\u4ED8\u3051
DeleteAction.action.foreverTitle=\u5B8C\u5168\u306B\u524A\u9664
DeleteAction.action.logicalTitle=\u524A\u9664
DeleteAction.action.logicalToolTipText=\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u3054\u307F\u7BB1\u306B\u5165\u308C\u308B
DeleteAction.deleteJobAssignedToOneService= \u306F\u30B5\u30FC\u30D3\u30B9\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u307E\u3059!\n\u3053\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.deleteSomeJobsAssignedToServices= \u306F\u4E00\u90E8\u306E\u30B5\u30FC\u30D3\u30B9\u306E\u4E00\u90E8\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u307E\u3059!\n\u3053\u308C\u3089\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.dialog.message0=\u3054\u307F\u7BB1\u3092\u7A7A\u306B\u3059\u308B(\u5FA9\u65E7\u3067\u304D\u307E\u305B\u3093)
DeleteAction.deleteJobAssignedToOneService= 1\u3064\u306E\u30B5\u30FC\u30D3\u30B9\u306E1\u3064\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u307E\u3057\u305F!\n\u3053\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.deleteSomeJobsAssignedToServices= \u4E00\u90E8\u306E\u30B5\u30FC\u30D3\u30B9\u306E\u4E00\u90E8\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u307E\u3057\u305F!\n\u3053\u308C\u3089\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.dialog.message0=\u3054\u307F\u7BB1\u3092\u7A7A\u306B\u3059\u308B(\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093)
DeleteAction.dialog.message1=\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u306F\u5B8C\u5168\u306B\u524A\u9664\u3055\u308C\u307E\u3059\u3002
DeleteAction.dialog.message2=\u7D9A\u884C\u3057\u307E\u3059\u304B?
DeleteAction.dialog.messageAllElements=\u30A8\u30EC\u30E1\u30F3\u30C8\u306F\u3059\u3079\u3066\u5B8C\u5168\u306B\u524A\u9664\u3055\u308C\u307E\u3059(\u53D6\u5F97\u4E0D\u53EF\u80FD)\u3002
DeleteAction.dialog.title=\u5B8C\u5168\u306B\u524A\u9664
DeleteAction.error.lockedOrOpenedObject.newMessage={0}\u304C\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n\u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage={0}\u306E\u30C6\u30B9\u30C8\u30B1\u30FC\u30B9\u304C\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n\u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.lockedOrOpenedObject.newMessage={0}\u306F\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n \u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u3059\u308B\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage={0}\u306E\u30C6\u30B9\u30C8\u30B1\u30FC\u30B9\u306F\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n \u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u3059\u308B\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.title=\u524A\u9664\u7981\u6B62
DeleteAction.warning.message1=\u30D5\u30A9\u30EB\u30C0\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u958B\u304B\u308C\u3066\u3044\u308B\u305F\u3081\u30D5\u30A9\u30EB\u30C0\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\u3059\u3079\u3066\u306E\u30A2\u30A4\u30C6\u30E0\u3092\u9589\u3058\u305F\u72B6\u614B\u3067\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
DeleteAction.warning.title=\u8B66\u544A
@@ -132,7 +132,7 @@ ContextReferenceDialog.Recycle=\u3054\u307F\u7BB1\u5185
ContextReferenceDialog.ReferenceJob=\u53C2\u7167\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8
ContextReferenceDialog.Types=\u30BF\u30A4\u30D7
ContextReferenceDialog.NodeTypeTip=\u30CE\u30FC\u30C9\u53C2\u7167\u306E\u30BF\u30A4\u30D7
ContextReferenceDialog.Messages=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8({0} {1})\u306F\n\u304B\u3089\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059
ContextReferenceDialog.Messages=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8({0} {1})\u306E\u53C2\u7167\u5143:\n
ContextReferenceDialog.kindMessages={0} {1}\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u306F\u6B21\u306E\u30EA\u30B9\u30C8\u306B\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u524A\u9664\u3057\u305F\u3044\u5834\u5408\u306F\u3001\u30B8\u30E7\u30D6\u304C\u3082\u3046\u4E00\u5EA6\u958B\u304B\u308C\u305F\u6642\u306B\u3001\u30B8\u30E7\u30D6\u3067\u4F7F\u7528\u3055\u308C\u308B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u306F\u7D44\u307F\u8FBC\u307F\u306B\u5909\u63DB\u3055\u308C\u307E\u3059\u3002\u524A\u9664\u3057\u307E\u3059\u304B?
ContextReferenceDialog.kindMessages1={0} {1}\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u304C\u4EE5\u4E0B\u306E\u30EA\u30B9\u30C8\u306B\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u524A\u9664\u3057\u307E\u3059\u304B?
CopyToGenericSchemaHelper.cannotGenarateItem=\u8CBC\u4ED8\u3051\u3055\u308C\u305F\u30A2\u30A4\u30C6\u30E0\u30E9\u30D9\u30EB\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3002
@@ -168,7 +168,8 @@ ProjectRepositoryNode.sapFunctions.inputSchema=\u5165\u529B
ProjectRepositoryNode.sapFunctions.outputSchema=\u51FA\u529B
ProjectRepositoryNode.sapIDocs=SAP iDocs
ProjectRepositoryNode.sapTables=SAP\u30C6\u30FC\u30D6\u30EB
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=SAP ADSO
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (\u5165\u529B)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (\u51FA\u529B)
ProjectRepositoryNode.sapBWDataSource=SAP DataSource
ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
@@ -196,7 +197,7 @@ CreateFolderAction.action.toolTipText=\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u4F5C
RenameFolderAction.action.title=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4
RenameFolderAction.action.toolTipText=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4
RenameFolderAction.description=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4
RenameFolderAction.warning.editorOpen.message=\u73FE\u5728\u3001\u3053\u306E\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u542B\u307E\u308C\u308B\u30A2\u30A4\u30C6\u30E0({0})\u304C\u958B\u304B\u308C\u3066\u3044\u308B\u305F\u3081\u3001"{1}" \u30D5\u30A9\u30EB\u30C0\u30FC\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002\n\u9589\u3058\u3066\u3001\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
RenameFolderAction.warning.editorOpen.message=\u73FE\u5728\u3001\u3053\u306E\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u542B\u307E\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C6\u30E0({0})\u304C\u958B\u304B\u308C\u3066\u3044\u308B\u305F\u3081\u3001"{1}"\u30D5\u30A9\u30EB\u30C0\u30FC\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002\n\u9589\u3058\u3066\u304B\u3089\u3084\u308A\u76F4\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002
RenameFolderAction.warning.editorOpen.title=\u4F7F\u7528\u3067\u304D\u306A\u3044\u30A2\u30AF\u30B7\u30E7\u30F3
RenameFolderAction.warning.cannotFind.message=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002\u79FB\u52D5\u3055\u308C\u305F\u304B\u3001\u524A\u9664\u3055\u308C\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u66F4\u65B0\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3001\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002
RenameFolderAction.warning.cannotFind.title=\u4F7F\u7528\u3067\u304D\u306A\u3044\u30A2\u30AF\u30B7\u30E7\u30F3

View File

@@ -91,15 +91,15 @@ PasteAction.thisText.paste=\u7C98\u8D34
DeleteAction.action.foreverTitle=\u6C38\u4E45\u5220\u9664
DeleteAction.action.logicalTitle=\u5220\u9664
DeleteAction.action.logicalToolTipText=\u5C06\u5BF9\u8C61\u653E\u5165\u56DE\u6536\u7AD9
DeleteAction.deleteJobAssignedToOneService= \u88AB\u5206\u914D\u7ED9\u670D\u52A1\u7684\u4E00\u4E2A\u64CD\u4F5C\uFF01\n\u662F\u5426\u8981\u5220\u9664\u6B64\u4F5C\u4E1A\uFF1F
DeleteAction.deleteSomeJobsAssignedToServices= \u88AB\u5206\u914D\u7ED9\u4E00\u4E9B\u670D\u52A1\u7684\u4E00\u4E9B\u64CD\u4F5C\uFF01\n\u662F\u5426\u8981\u5220\u9664\u8FD9\u4E9B\u4F5C\u4E1A\uFF1F
DeleteAction.deleteJobAssignedToOneService= \u88AB\u5206\u914D\u7ED9\u4E00\u4E2A\u670D\u52A1\u7684\u4E00\u4E2A\u64CD\u4F5C\uFF01\n\u662F\u5426\u8981\u5220\u9664\u6B64\u4F5C\u4E1A\uFF1F
DeleteAction.deleteSomeJobsAssignedToServices= \u88AB\u5206\u914D\u7ED9\u4E00\u4E9B\u670D\u52A1\u7684\u4E00\u4E9B\u64CD\u4F5C\n\u662F\u5426\u8981\u5220\u9664\u8FD9\u4E9B\u4F5C\u4E1A\uFF1F
DeleteAction.dialog.message0=\u5C06\u6C38\u4E45\u5220\u9664 (\u4E0D\u53EF\u6062\u590D)\u3002
DeleteAction.dialog.message1=\u6240\u9009\u5143\u7D20\u5C06\u6C38\u4E45\u5220\u9664 (\u65E0\u6CD5\u6062\u590D)\u3002
DeleteAction.dialog.message2=\u4ECD\u7136\u7EE7\u7EED\uFF1F
DeleteAction.dialog.messageAllElements=\u6240\u6709\u5143\u7D20\u90FD\u5C06\u6C38\u4E45\u5220\u9664 (\u65E0\u6CD5\u6062\u590D)\u3002
DeleteAction.dialog.title=\u6C38\u4E45\u5220\u9664
DeleteAction.error.lockedOrOpenedObject.newMessage={0} \u5DF2\u9501\u5B9A\uFF0C\u56E0\u6B64\u60A8\u4E0D\u80FD\u5220\u9664\u5B83\u3002\n\u5982\u679C\u6B64\u5BF9\u8C61\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5C06\u5176\u5173\u95ED\u4E4B\u540E\u624D\u80FD\u5220\u9664\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage=\u6D4B\u8BD5\u7528\u4F8B{0}\u88AB\u9501\u5B9A\uFF0C\u56E0\u6B64\u60A8\u65E0\u6CD5\u5220\u9664\u5B83\u3002\n\u5982\u679C\u6B64\u5BF9\u8C61\u88AB\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5728\u5220\u9664\u4E4B\u524D\u5173\u95ED\u5B83\u3002
DeleteAction.error.lockedOrOpenedObject.newMessage={0} \u5DF2\u88AB\u9501\u5B9A\uFF0C\u56E0\u6B64\u65E0\u6CD5\u5220\u9664\u3002\n \u5982\u679C\u6B64\u5BF9\u8C61\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5C06\u5176\u5173\u95ED\u4E4B\u540E\u624D\u80FD\u5220\u9664\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage={0} \u7684\u6D4B\u8BD5\u7528\u4F8B\u5DF2\u88AB\u9501\u5B9A\uFF0C\u56E0\u6B64\u65E0\u6CD5\u5220\u9664\u3002\n \u5982\u679C\u6B64\u5BF9\u8C61\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5C06\u5176\u5173\u95ED\u4E4B\u540E\u624D\u80FD\u5220\u9664\u3002
DeleteAction.error.title=\u7981\u6B62\u5220\u9664
DeleteAction.warning.message1=\u65E0\u6CD5\u5220\u9664\u8BE5\u6587\u4EF6\u5939\uFF0C\u56E0\u4E3A\u5176\u4E2D\u81F3\u5C11\u6709\u4E00\u4E2A\u9879\u76EE\u5F53\u524D\u5904\u4E8E\u6253\u5F00\u72B6\u6001\u3002\u5173\u95ED\u6240\u6709\u6253\u5F00\u7684\u9879\u76EE\u5E76\u91CD\u8BD5\u3002
DeleteAction.warning.title=\u8B66\u544A
@@ -117,7 +117,7 @@ DuplicateAction.SameAsProjectname=\u540D\u79F0\u4E0E\u5DE5\u7A0B\u540D\u79F0\u76
EmptyRecycleBinAction.action.title=\u6E05\u7A7A\u56DE\u6536\u7AD9
EmptyRecycleBinAction.action.toolTipText=\u6E05\u7A7A\u56DE\u6536\u7AD9
EmptyRecycleBinAction.dialog.title=\u6E05\u7A7A\u56DE\u6536\u7AD9
EmptyRecycleBinAction.dialog.allDependencies=\u4F60\u4E0D\u80FD\u6E05\u7A7A\u56DE\u6536\u7AD9\u3002\nData Profiler Perspective \u4EE5\u6765\u5176\u4E2D\u4E00\u4E2A\u9879\u76EE\uFF0C\u8BF7\u4E0D\u8981\u5220\u9664\u5B83\u3002
EmptyRecycleBinAction.dialog.allDependencies=\u60A8\u4E0D\u80FD\u6E05\u7A7A\u56DE\u6536\u7AD9\u3002\nData Profiler \u900F\u89C6\u56FE\u4F9D\u8D56\u5176\u4E2D\u4E00\u4E2A\u9879\u76EE\uFF0C\u8BF7\u4E0D\u8981\u5220\u9664\u5B83\u3002
PasteObjectAction.error.labelAlreadyExists=\u6B64\u8DEF\u5F84\u4E0B\u5DF2\u5B58\u5728\u5E26\u6709\u8BE5\u6807\u7B7E\u7684\u5BF9\u8C61
PasteObjectAction.error.title=\u65E0\u6CD5\u7C98\u8D34
JobletReferenceDialog.DeletedInfor=\u5728\u56DE\u6536\u7AD9
@@ -168,7 +168,8 @@ ProjectRepositoryNode.sapFunctions.inputSchema=\u8F93\u5165
ProjectRepositoryNode.sapFunctions.outputSchema=\u8F93\u51FA
ProjectRepositoryNode.sapIDocs=SAP iDocs
ProjectRepositoryNode.sapTables=SAP \u8868
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=SAP ADSO
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (\u8F93\u5165)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (\u8F93\u51FA)
ProjectRepositoryNode.sapBWDataSource=SAP DataSource
ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube

View File

@@ -74,6 +74,7 @@ import org.talend.core.model.properties.ValidationRulesConnectionItem;
import org.talend.core.model.repository.DynaEnum;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.Folder;
import org.talend.core.model.repository.GITConstant;
import org.talend.core.model.repository.IRepositoryContentHandler;
import org.talend.core.model.repository.IRepositoryObject;
import org.talend.core.model.repository.IRepositoryPrefConstants;
@@ -82,7 +83,6 @@ import org.talend.core.model.repository.RepositoryContentManager;
import org.talend.core.model.repository.RepositoryManager;
import org.talend.core.model.repository.RepositoryNodeProviderRegistryReader;
import org.talend.core.model.repository.RepositoryViewObject;
import org.talend.core.model.repository.GITConstant;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.repositoryObject.MetadataColumnRepositoryObject;
import org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject;
@@ -368,8 +368,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
String[] contentRight = contentType.getUserRight();
if (contentRight != null && contentRight.length > 0 && userRights != null && userRights.length > 0) {
for (int i = 0; i < contentRight.length; i++) {
if (!ArrayUtils.contains(userRights, contentRight[i])) {
for (String element : contentRight) {
if (!ArrayUtils.contains(userRights, element)) {
removeNode(this, node);
}
}
@@ -1731,22 +1731,25 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
node.getChildren().add(iDocNode);
createSAPIDocNodes(repObj, metadataConnection, iDocNode);
// 4. BW AdvancedDataStoreObject:
createSAPBWAdvancedDataStoreObjectNodes(repObj, metadataConnection, node, validationRules);
// 4. BW AdvancedDataStoreObject Input:
createSAPBWAdvancedDataStoreObjectInputNodes(repObj, metadataConnection, node, validationRules);
// 5. BW DataSource:
// 5. BW AdvancedDataStoreObject Output:
createSAPBWAdvancedDataStoreObjectOutputNodes(repObj, metadataConnection, node, validationRules);
// 6. BW DataSource:
createSAPBWDataSourceNodes(repObj, metadataConnection, node, validationRules);
// 6. BW DataStoreObject:
// 7. BW DataStoreObject:
createSAPBWDataStoreObjectNodes(repObj, metadataConnection, node, validationRules);
// 7. BW InfoCube:
// 8. BW InfoCube:
createSAPBWInfoCubeNodes(repObj, metadataConnection, node, validationRules);
// 8. BW InfoObject:
// 9. BW InfoObject:
createSAPBWInfoObjectNodes(repObj, metadataConnection, node, validationRules);
// 8. BW Business Content Extractor:
// 10. BW Business Content Extractor:
createSAPContentExtractorNodes(repObj, metadataConnection, node, validationRules);
} else if (metadataConnection instanceof SalesforceSchemaConnection) {
createSalesforceModuleNodes(repObj, metadataConnection, node, validationRules);
@@ -1789,12 +1792,12 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
private void createSAPBWAdvancedDataStoreObjectNodes(IRepositoryViewObject repObj, Connection metadataConnection,
private void createSAPBWAdvancedDataStoreObjectInputNodes(IRepositoryViewObject repObj, Connection metadataConnection,
RepositoryNode node, List<IRepositoryViewObject> validationRules) {
StableRepositoryNode container = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.sapBWAdvancedDataStoreObject"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
Messages.getString("ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
container.setChildrenObjectType(ERepositoryObjectType.METADATA_CON_TABLE);
container.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT);
container.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_INPUT);
IRepositoryNode cacheNode = nodeCache.getCache(container);
if (cacheNode != null && cacheNode instanceof StableRepositoryNode) {
@@ -1806,8 +1809,38 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
node.getChildren().add(container);
EList<SAPBWTable> advancedDataStoreObjects = ((SAPConnection) metadataConnection).getBWAdvancedDataStoreObjects();
EList tables = new BasicEList();
tables.addAll(advancedDataStoreObjects);
EList<SAPBWTable> tables = new BasicEList<SAPBWTable>();
for (SAPBWTable bwTable : advancedDataStoreObjects) {
if (!SAPBWTableHelper.ADSO_OUTPUT.equals(bwTable.getCategory())) {
tables.add(bwTable);
}
}
createTables(container, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSAPBWAdvancedDataStoreObjectOutputNodes(IRepositoryViewObject repObj, Connection metadataConnection,
RepositoryNode node, List<IRepositoryViewObject> validationRules) {
StableRepositoryNode container = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
container.setChildrenObjectType(ERepositoryObjectType.METADATA_CON_TABLE);
container.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_OUTPUT);
IRepositoryNode cacheNode = nodeCache.getCache(container);
if (cacheNode != null && cacheNode instanceof StableRepositoryNode) {
container = (StableRepositoryNode) cacheNode;
container.getChildren().clear();
} else {
nodeCache.addCache(container, true);
}
node.getChildren().add(container);
EList<SAPBWTable> advancedDataStoreObjects = ((SAPConnection) metadataConnection).getBWAdvancedDataStoreObjects();
EList<SAPBWTable> tables = new BasicEList<SAPBWTable>();
for (SAPBWTable bwTable : advancedDataStoreObjects) {
if (SAPBWTableHelper.ADSO_OUTPUT.equals(bwTable.getCategory())) {
tables.add(bwTable);
}
}
createTables(container, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
@@ -1937,8 +1970,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
private void createSalesforceModuleNodes(IRepositoryViewObject rebObj, Connection metadataConnection,
RepositoryNode connectionNode, List<IRepositoryViewObject> validationRules) {
EList modules = ((SalesforceSchemaConnection) metadataConnection).getModules();
for (int i = 0; i < modules.size(); i++) {
SalesforceModuleUnit unit = (SalesforceModuleUnit) modules.get(i);
for (Object module : modules) {
SalesforceModuleUnit unit = (SalesforceModuleUnit) module;
RepositoryNode tableNode = createSalesforceNode(rebObj, connectionNode, unit);
createTables(tableNode, rebObj, unit.getTables(), ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
@@ -1961,8 +1994,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
if (functions == null || functions.isEmpty()) {
return;
}
for (int i = 0; i < functions.size(); i++) {
SAPFunctionUnit unit = (SAPFunctionUnit) functions.get(i);
for (Object function : functions) {
SAPFunctionUnit unit = (SAPFunctionUnit) function;
RepositoryNode tableNode = createSAPNode(rebObj, functionNode, unit);
// create input and output container
@@ -2002,8 +2035,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
if (iDocs == null || iDocs.isEmpty()) {
return;
}
for (int i = 0; i < iDocs.size(); i++) {
SAPIDocUnit unit = (SAPIDocUnit) iDocs.get(i);
for (Object iDoc : iDocs) {
SAPIDocUnit unit = (SAPIDocUnit) iDoc;
RepositoryNode tableNode = createSAPNode(rebObj, iDocNode, unit);
if (SubItemHelper.isDeleted(unit)) {
// recBin.getChildren().add(tableNode);

View File

@@ -16,7 +16,6 @@ import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.Dictionary;
@@ -99,7 +98,6 @@ import org.talend.core.model.components.IComponentsService;
import org.talend.core.model.general.ILibrariesService;
import org.talend.core.model.general.ModuleNeeded;
import org.talend.core.model.general.Project;
import org.talend.core.model.metadata.MetadataTalendType;
import org.talend.core.model.metadata.builder.connection.AbstractMetadataObject;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.migration.IMigrationToolService;
@@ -135,6 +133,7 @@ import org.talend.core.model.repository.RepositoryContentManager;
import org.talend.core.model.repository.RepositoryObject;
import org.talend.core.model.repository.RepositoryViewObject;
import org.talend.core.model.routines.CodesJarInfo;
import org.talend.core.model.routines.RoutinesUtil;
import org.talend.core.model.utils.RepositoryManagerHelper;
import org.talend.core.repository.CoreRepositoryPlugin;
import org.talend.core.repository.constants.Constant;
@@ -154,6 +153,7 @@ import org.talend.core.runtime.util.ItemDateParser;
import org.talend.core.runtime.util.JavaHomeUtil;
import org.talend.core.runtime.util.SharedStudioUtils;
import org.talend.core.service.ICoreUIService;
import org.talend.core.service.IDetectCVEService;
import org.talend.core.utils.CodesJarResourceCache;
import org.talend.cwm.helper.SubItemHelper;
import org.talend.cwm.helper.TableHelper;
@@ -2276,14 +2276,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
try {
// for new added mapping file, sync to project mapping folder
MetadataTalendType.syncNewMappingFileToProject();
} catch (SystemException e) {
// ignore
ExceptionHandler.process(e);
}
currentMonitor = subMonitor.newChild(1, SubMonitor.SUPPRESS_NONE);
currentMonitor.beginTask("Execute before logon migrations tasks", 1); //$NON-NLS-1$
ProjectManager.getInstance().getMigrationRecords().clear();
@@ -2361,17 +2353,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
TimeMeasurePerformance.step("logOnProject", "sync log4j"); //$NON-NLS-1$ //$NON-NLS-2$
}
try {
URL url = MetadataTalendType.getProjectForderURLOfMappingsFile();
if (url != null) {
// set the project mappings url
System.setProperty("talend.mappings.url", url.toString()); // $NON-NLS-1$
}
} catch (SystemException e) {
// ignore
ExceptionHandler.process(e);
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQRepositoryService.class)) {
ITDQRepositoryService tdqRepositoryService = GlobalServiceRegister.getDefault()
.getService(ITDQRepositoryService.class);
@@ -2499,8 +2480,8 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
};
job.setUser(false);
job.setPriority(Job.LONG);
job.schedule();
RoutinesUtil.setSyncCodesjob(job);
}
}
@@ -2606,6 +2587,14 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
dynamicDistrManager.reset(null);
}
}
// clear detect CVE cache
if (GlobalServiceRegister.getDefault().isServiceRegistered(IDetectCVEService.class)) {
IDetectCVEService detectCVESvc = GlobalServiceRegister.getDefault().getService(IDetectCVEService.class);
if (detectCVESvc != null) {
detectCVESvc.clearCache();
}
}
CodesJarResourceCache.reset();

View File

@@ -15,6 +15,7 @@ package org.talend.core.repository.services;
import java.util.Map;
import org.eclipse.core.runtime.IPath;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.Property;
@@ -50,5 +51,13 @@ public interface IGitInfoService extends IService {
*/
public Map<String, String> getGitInfo(Property property) throws Exception;
public boolean isPushedToRemote(Property property) throws Exception;
public static IGitInfoService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGitInfoService.class)) {
return GlobalServiceRegister.getDefault().getService(IGitInfoService.class);
}
return null;
}
}

View File

@@ -25,6 +25,7 @@ import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.RoutinesJarItem;
import org.talend.core.model.repository.AbstractRepositoryContentHandler;
import org.talend.core.model.repository.ERepositoryObjectType;
import java.io.IOException;
public abstract class AbstractResourceRepositoryContentHandler extends AbstractRepositoryContentHandler {
@@ -83,6 +84,10 @@ public abstract class AbstractResourceRepositoryContentHandler extends AbstractR
}
return itemResource;
}
protected void copyScreenshotFile(Item originalItem, Item newItem) throws IOException {
getXmiResourceManager().copyScreenshotFile(originalItem, newItem);
}
protected XmiResourceManager getXmiResourceManager() {
if (null == xmiResourceManager) {

View File

@@ -14,10 +14,13 @@ package org.talend.core.repository.utils;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.runtime.service.ITaCoKitService;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.core.model.metadata.builder.connection.Connection;
import org.talend.core.model.metadata.builder.connection.MetadataColumn;
@@ -139,4 +142,17 @@ public class RepositoryNodeManager {
return new Object[0];
}
public static boolean isTacokit(ERepositoryObjectType repoType) {
if (repoType == null) {
return false;
}
boolean isTacokit = false;
try {
isTacokit = Optional.ofNullable(ITaCoKitService.getInstance()).map(s -> s.isTaCoKitType(repoType)).orElse(false);
} catch (Exception e) {
ExceptionHandler.process(e);
}
return isTacokit;
}
}

View File

@@ -52,6 +52,8 @@ Export-Package: org.talend.analysistask,
org.talend.core.model.xml,
org.talend.core.nexus,
org.talend.core.pendo,
org.talend.core.pendo.mapper,
org.talend.core.pendo.properties,
org.talend.core.prefs,
org.talend.core.repository,
org.talend.core.runtime,

View File

@@ -16,7 +16,6 @@ bin.includes = META-INF/,\
lib/delight-rhino-sandbox-0.0.15.jar,\
lib/rhino-1.7.13.jar,\
plugin_de.properties,\
plugin_en.properties,\
plugin_fr.properties,\
plugin_it.properties,\
plugin_ja.properties,\

View File

@@ -1,280 +1,304 @@
<?xml version="1.0"?>
<mapping>
<dbms product="AMAZON_AURORA" id="amazon_aurora_id" label="Mapping AMAZON_AURORA"
default="true">
<dbTypes>
<dbType type="BIGINT" ignorePre="true"/>
<dbType type="BIGINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="BINARY" ignorePre="true"/>
<dbType type="BIT" ignorePre="true" />
<dbType type="BLOB" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" defaultLength="200" ignorePre="true"/>
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="DATETIME" ignoreLen="true" ignorePre="true" />
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" preBeforelen="false"/>
<dbType type="DOUBLE" defaultLength="20" defaultPrecision="10"/>
<dbType type="DOUBLE UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="ENUM" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT" defaultPrecision="2"/>
<dbType type="FLOAT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="GEOMETRY" ignoreLen="true" ignorePre="true" />
<dbType type="GEOMETRYCOLLECTION" ignoreLen="true" ignorePre="true" />
<dbType type="INT" ignorePre="true" />
<dbType type="INT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="LINESTRING" ignoreLen="true" ignorePre="true" />
<dbType type="LONGTEXT" ignoreLen="true" ignorePre="true" />
<dbType type="LONGBLOB" ignoreLen="true" ignorePre="true"/>
<dbType type="MEDIUMBLOB" ignoreLen="true" ignorePre="true" />
<dbType type="MEDIUMINT" ignorePre="true" />
<dbType type="MEDIUMINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="MEDIUMTEXT" ignoreLen="true" ignorePre="true" />
<dbType type="MULTILINESTRING" ignoreLen="true" ignorePre="true" />
<dbType type="MULTIPOINT" ignoreLen="true" ignorePre="true" />
<dbType type="MULTIPOLYGON" ignoreLen="true" ignorePre="true" />
<dbType type="POINT" ignoreLen="true" ignorePre="true" />
<dbType type="POLYGON" ignoreLen="true" ignorePre="true" />
<dbType type="SMALLINT" ignorePre="true" />
<dbType type="SMALLINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="SET" ignoreLen="true" ignorePre="true" />
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true" />
<dbType type="TINYBLOB" ignoreLen="true" ignorePre="true" />
<dbType type="TINYINT" ignorePre="true" />
<dbType type="TINYINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="TINYTEXT" ignoreLen="true" ignorePre="true" />
<dbType type="VARBINARY" ignorePre="true" />
<dbType type="VARCHAR" default="true" defaultLength="100" ignorePre="true"/>
<dbType type="YEAR" ignorePre="true"/>
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<dbType type="BIT" default="true" />
</talendType>
<talendType type="id_Byte">
<dbType type="TINYINT" default="true" />
<dbType type="BIGINT" />
<dbType type="INT" />
<dbType type="MEDIUMINT" />
<dbType type="SMALLINT" />
</talendType>
<talendType type="id_byte[]">
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="VARCHAR"/>
</talendType>
<talendType type="id_Date">
<dbType type="DATE" />
<dbType type="DATETIME" default="true" />
<dbType type="TIME" />
<dbType type="YEAR" />
<dbType type="TIMESTAMP" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="DECIMAL" default="true" />
<dbType type="FLOAT"/>
<dbType type="DOUBLE" />
</talendType>
<talendType type="id_Double">
<dbType type="DOUBLE" default="true" />
<dbType type="FLOAT"/>
<dbType type="DECIMAL" />
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT" default="true" />
<dbType type="DOUBLE"/>
<dbType type="DECIMAL" />
</talendType>
<talendType type="id_Integer">
<dbType type="INT" default="true" />
<dbType type="BIGINT" />
</talendType>
<talendType type="id_Long">
<dbType type="BIGINT" default="true" />
</talendType>
<talendType type="id_Object">
<dbType type="BLOB" default="true"/>
<dbType type="ENUM" />
<dbType type="GEOMETRY" />
<dbType type="GEOMETRYCOLLECTION" />
<dbType type="MEDIUMINT" />
<dbType type="LONGBLOB" />
<dbType type="MEDIUMBLOB" />
<dbType type="MULTIPOINT" />
<dbType type="MULTIPOLYGON" />
<dbType type="POINT" />
<dbType type="POLYGON" />
<dbType type="SET" />
<dbType type="TINYBLOB" />
</talendType>
<talendType type="id_Short">
<dbType type="SMALLINT" default="true" />
<dbType type="INT" />
<dbType type="BIGINT"/>
<dbType type="MEDIUMINT" />
</talendType>
<talendType type="id_String">
<dbType type="VARCHAR" default="true" />
<dbType type="LINESTRING" />
<dbType type="LONGTEXT"/>
<dbType type="MEDIUMTEXT" />
<dbType type="MULTILINESTRING" />
<dbType type="TEXT" />
<dbType type="TINYTEXT" />
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="BIGINT">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BINARY">
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BIT">
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BLOB">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="DATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="DATETIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Float"/>
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="DOUBLE">
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="ENUM">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="FLOAT">
<talendType type="id_Float" default="true" />
<talendType type="id_Double"/>
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="GEOMETRY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="GEOMETRYCOLLECTION">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INT">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
</dbType>
<dbType type="LINESTRING">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONGTEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONGBLOB">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MEDIUMBLOB">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MEDIUMINT">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
</dbType>
<dbType type="MEDIUMTEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MULTILINESTRING">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MULTIPOINT">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MULTIPOLYGON">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POINT">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POLYGON">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMALLINT">
<talendType type="id_Short" default="true" />
<talendType type="id_Long"/>
<talendType type="id_Integer"/>
</dbType>
<dbType type="SET">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="TEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TINYBLOB">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer"/>
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>
<dbType type="TINYTEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="VARBINARY">
</dbType>
<dbType type="VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="YEAR">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="BIGINT UNSIGNED" >
</dbType>
<dbType type="DOUBLE UNSIGNED" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT UNSIGNED" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="INT UNSIGNED" >
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="MEDIUMINT UNSIGNED" >
<talendType type="id_Integer" default="true" />
<talendType type="id_Long" />
</dbType>
<dbType type="SMALLINT UNSIGNED" >
<talendType type="id_Integer" default="true" />
<talendType type="id_Long" />
</dbType>
<dbType type="TINYINT UNSIGNED" >
<talendType type="id_Short" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Long" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>
<?xml version="1.0"?>
<mapping>
<dbms product="AMAZON_AURORA" id="amazon_aurora_id" label="Mapping AMAZON_AURORA"
default="true">
<dbTypes>
<dbType type="BIGINT" ignorePre="true"/>
<dbType type="BIGINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="BINARY" ignorePre="true"/>
<dbType type="BIT" ignorePre="true" />
<dbType type="BLOB" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" defaultLength="200" ignorePre="true"/>
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="DATETIME" ignoreLen="true" ignorePre="true" />
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" preBeforelen="false"/>
<dbType type="DOUBLE" defaultLength="20" defaultPrecision="10"/>
<dbType type="DOUBLE UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="ENUM" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT" defaultPrecision="2"/>
<dbType type="FLOAT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="GEOMETRY" ignoreLen="true" ignorePre="true" />
<dbType type="GEOMETRYCOLLECTION" ignoreLen="true" ignorePre="true" />
<dbType type="INT" ignorePre="true" />
<dbType type="INT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER" ignorePre="true" />
<dbType type="INTEGER UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="LINESTRING" ignoreLen="true" ignorePre="true" />
<dbType type="LONGTEXT" ignoreLen="true" ignorePre="true" />
<dbType type="LONGBLOB" ignoreLen="true" ignorePre="true"/>
<dbType type="MEDIUMBLOB" ignoreLen="true" ignorePre="true" />
<dbType type="MEDIUMINT" ignorePre="true" />
<dbType type="MEDIUMINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="MEDIUMTEXT" ignoreLen="true" ignorePre="true" />
<dbType type="MULTILINESTRING" ignoreLen="true" ignorePre="true" />
<dbType type="MULTIPOINT" ignoreLen="true" ignorePre="true" />
<dbType type="MULTIPOLYGON" ignoreLen="true" ignorePre="true" />
<dbType type="POINT" ignoreLen="true" ignorePre="true" />
<dbType type="POLYGON" ignoreLen="true" ignorePre="true" />
<dbType type="SMALLINT" ignorePre="true" />
<dbType type="SMALLINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="SET" ignoreLen="true" ignorePre="true" />
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="false" />
<dbType type="TINYBLOB" ignoreLen="true" ignorePre="true" />
<dbType type="TINYINT" ignorePre="true" />
<dbType type="TINYINT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="TINYTEXT" ignoreLen="true" ignorePre="true" />
<dbType type="VARBINARY" ignorePre="true" />
<dbType type="VARCHAR" default="true" defaultLength="100" ignorePre="true"/>
<dbType type="YEAR" ignorePre="true"/>
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<dbType type="BIT" default="true" />
</talendType>
<talendType type="id_Byte">
<dbType type="TINYINT" default="true" />
<dbType type="BIGINT" />
<dbType type="INT" />
<dbType type="MEDIUMINT" />
<dbType type="SMALLINT" />
</talendType>
<talendType type="id_byte[]">
<dbType type="VARBINARY" default="true" />
<dbType type="BINARY" />
<dbType type="BIT" />
<dbType type="BLOB" />
<dbType type="LONGBLOB" />
<dbType type="MEDIUMBLOB" />
<dbType type="TINYBLOB" />
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="VARCHAR"/>
</talendType>
<talendType type="id_Date">
<dbType type="DATE" />
<dbType type="DATETIME" default="true" />
<dbType type="TIME" />
<dbType type="YEAR" />
<dbType type="TIMESTAMP" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="DECIMAL" default="true" />
<dbType type="FLOAT"/>
<dbType type="DOUBLE" />
</talendType>
<talendType type="id_Double">
<dbType type="DOUBLE" default="true" />
<dbType type="FLOAT"/>
<dbType type="DECIMAL" />
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT" default="true" />
<dbType type="DOUBLE"/>
<dbType type="DECIMAL" />
</talendType>
<talendType type="id_Integer">
<dbType type="INT" default="true" />
<dbType type="BIGINT" />
</talendType>
<talendType type="id_Long">
<dbType type="BIGINT" default="true" />
</talendType>
<talendType type="id_Object">
<dbType type="BLOB" default="true"/>
<dbType type="ENUM" />
<dbType type="GEOMETRY" />
<dbType type="GEOMETRYCOLLECTION" />
<dbType type="MEDIUMINT" />
<dbType type="LONGBLOB" />
<dbType type="MEDIUMBLOB" />
<dbType type="MULTIPOINT" />
<dbType type="MULTIPOLYGON" />
<dbType type="POINT" />
<dbType type="POLYGON" />
<dbType type="SET" />
<dbType type="TINYBLOB" />
</talendType>
<talendType type="id_Short">
<dbType type="SMALLINT" default="true" />
<dbType type="INT" />
<dbType type="BIGINT"/>
<dbType type="MEDIUMINT" />
</talendType>
<talendType type="id_String">
<dbType type="VARCHAR" default="true" />
<dbType type="LINESTRING" />
<dbType type="LONGTEXT"/>
<dbType type="MEDIUMTEXT" />
<dbType type="MULTILINESTRING" />
<dbType type="TEXT" />
<dbType type="TINYTEXT" />
<dbType type="CHAR" />
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="BIGINT">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BINARY">
<talendType type="id_byte[]" />
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BIT">
<talendType type="id_byte[]" />
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BLOB">
<talendType type="id_byte[]" default="true" />
<talendType type="id_Object" />
</dbType>
<dbType type="CHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="DATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="DATETIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Float"/>
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="DOUBLE">
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="ENUM">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="FLOAT">
<talendType type="id_Float" default="true" />
<talendType type="id_Double"/>
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="GEOMETRY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="GEOMETRYCOLLECTION">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INT">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
</dbType>
<dbType type="INTEGER">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
</dbType>
<dbType type="LINESTRING">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONGTEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONGBLOB">
<talendType type="id_byte[]" default="true" />
<talendType type="id_Object" />
</dbType>
<dbType type="MEDIUMBLOB">
<talendType type="id_byte[]" default="true" />
<talendType type="id_Object" />
</dbType>
<dbType type="MEDIUMINT">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
</dbType>
<dbType type="MEDIUMTEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MULTILINESTRING">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MULTIPOINT">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MULTIPOLYGON">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POINT">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POLYGON">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMALLINT">
<talendType type="id_Short" default="true" />
<talendType type="id_Long"/>
<talendType type="id_Integer"/>
</dbType>
<dbType type="SET">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="TEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TINYBLOB">
<talendType type="id_byte[]" default="true" />
<talendType type="id_Object" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer"/>
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>
<dbType type="TINYTEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="VARBINARY">
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="YEAR">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="BIGINT UNSIGNED" >
</dbType>
<dbType type="DOUBLE UNSIGNED" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT UNSIGNED" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="INT UNSIGNED" >
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="INTEGER UNSIGNED" >
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="MEDIUMINT UNSIGNED" >
<talendType type="id_Integer" default="true" />
<talendType type="id_Long" />
</dbType>
<dbType type="SMALLINT UNSIGNED" >
<talendType type="id_Integer" default="true" />
<talendType type="id_Long" />
</dbType>
<dbType type="TINYINT UNSIGNED" >
<talendType type="id_Short" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Long" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

@@ -0,0 +1,163 @@
<?xml version="1.0"?>
<mapping>
<dbms product="Cassandra" id="cassandra40_datastax_id" label="Mapping Cassandra v4"
default="true">
<dbTypes>
<dbType type="ascii" ignorePre="true" />
<dbType type="bigint" ignorePre="true" />
<dbType type="blob" ignorePre="true" />
<dbType type="boolean" ignorePre="true" />
<dbType type="counter" ignorePre="true" />
<dbType type="date" ignorePre="true" />
<dbType type="decimal" ignorePre="true" />
<dbType type="double" ignorePre="true" />
<dbType type="float" ignorePre="true" />
<dbType type="inet" ignorePre="true" />
<dbType type="int" ignorePre="true" />
<dbType type="list" ignorePre="true" />
<dbType type="map" ignorePre="true" />
<dbType type="set" ignorePre="true" />
<dbType type="smallint" ignorePre="true" />
<dbType type="text" ignorePre="true" />
<dbType type="time" ignorePre="true" />
<dbType type="timestamp" ignorePre="true" />
<dbType type="timeuuid" ignorePre="true" />
<dbType type="tinyint" ignorePre="true" />
<dbType type="uuid" ignorePre="true" />
<dbType type="varchar" ignorePre="true" />
<dbType type="varint" ignorePre="true" />
</dbTypes>
<language name="java">
<talendToDbTypes>
<talendType type="id_List">
<dbType type="list" default="true"/>
</talendType>
<talendType type="id_Boolean">
<dbType type="boolean" default="true" />
</talendType>
<talendType type="id_Byte">
<dbType type="tinyint" default="true" />
</talendType>
<talendType type="id_byte[]">
<dbType type="blob" default="true" />
</talendType>
<talendType type="id_Character">
<dbType type="ascii" default="true" />
<dbType type="text" />
<dbType type="varchar" />
</talendType>
<talendType type="id_Date">
<dbType type="timestamp" default="true" />
<dbType type="time" />
<dbType type="date" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="decimal" default="true" />
</talendType>
<talendType type="id_Double">
<dbType type="double" default="true" />
</talendType>
<talendType type="id_Float">
<dbType type="float" default="true" />
</talendType>
<talendType type="id_Integer">
<dbType type="int" default="true" />
</talendType>
<talendType type="id_Long">
<dbType type="bigint" default="true" />
<dbType type="counter" />
<dbType type="time" />
</talendType>
<talendType type="id_Object">
<dbType type="varint" default="true" />
<dbType type="inet" />
<dbType type="map" />
<dbType type="set" />
</talendType>
<talendType type="id_Short">
<dbType type="smallint" default="true" />
</talendType>
<talendType type="id_String">
<dbType type="ascii" default="true" />
<dbType type="text" />
<dbType type="timeuuid" />
<dbType type="uuid" />
<dbType type="varchar" />
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="ascii">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="bigint">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="blob">
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="boolean">
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="counter">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="date">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="decimal">
<talendType type="id_BigDecimal" default="true" />
</dbType>
<dbType type="double">
<talendType type="id_Double" default="true" />
</dbType>
<dbType type="float">
<talendType type="id_Float" default="true" />
</dbType>
<dbType type="inet">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="int">
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="list">
<talendType type="id_List" default="true" />
</dbType>
<dbType type="map">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="set">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="smallint">
<talendType type="id_Short" default="true" />
</dbType>
<dbType type="text">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="time">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="timestamp">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="timeuuid">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="tinyint">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="uuid">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="varchar">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="varint">
<talendType type="id_Object" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

@@ -10,7 +10,7 @@
<dbType type="BOOL" ignoreLen="true" ignorePre="true" />
<dbType type="BOX" ignoreLen="true" ignorePre="true" />
<dbType type="BPCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="BYTEA" ignoreLen="true" ignorePre="true" />
<dbType type="BYTEA" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" defaultLength="50" ignorePre="true"/>
<dbType type="CHARACTER" defaultLength="50" ignorePre="true"/>
<dbType type="CID" ignoreLen="true" ignorePre="true" />
@@ -36,7 +36,7 @@
<dbType type="LINE" ignoreLen="true" ignorePre="true" />
<dbType type="LSEG" ignoreLen="true" ignorePre="true" />
<dbType type="MACADDR" ignoreLen="true" ignorePre="true" />
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="NAME" ignoreLen="true" ignorePre="true" />
<dbType type="NUMERIC" defaultLength="20" defaultPrecision="10"/>
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10"/>
@@ -46,7 +46,7 @@
<dbType type="POINT" ignoreLen="true" ignorePre="true" />
<dbType type="POLYGON" ignoreLen="true" ignorePre="true"/>
<dbType type="REFCURSOR" ignoreLen="true" ignorePre="true" />
<dbType type="RELTIME" ignoreLen="true" ignorePre="true" />
<dbType type="RELTIME" ignoreLen="true" ignorePre="true" />
<dbType type="REGCLASS" ignoreLen="true" ignorePre="true" />
<dbType type="REGOPER" ignoreLen="true" ignorePre="true" />
<dbType type="REGOPERATOR" ignoreLen="true" ignorePre="true" />
@@ -60,12 +60,14 @@
<dbType type="TIME" ignorePre="true" />
<dbType type="TINTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMPTZ" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP WITH TIME ZONE" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignorePre="true" />
<dbType type="TIMETZ" ignoreLen="true" ignorePre="true" />
<dbType type="VARBIT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME WITH TIME ZONE" ignoreLen="true" ignorePre="true" />
<dbType type="VARBIT" ignoreLen="true" ignorePre="true" />
<dbType type="VARCHAR" defaultLength="200" ignorePre="true" />
<dbType type="XID" ignoreLen="true" ignorePre="true" />
<dbType type="_ABSTIME" ignoreLen="true" ignorePre="true" />
<dbType type="_ACLITEM" ignoreLen="true" ignorePre="true" />
<dbType type="_BIT" ignoreLen="true" ignorePre="true" />
@@ -119,38 +121,40 @@
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<talendType type="id_Boolean">
<dbType type="BOOL" default="true" />
<dbType type="BOOLEAN" />
<dbType type="BOOLEAN" />
</talendType>
<talendType type="id_Byte">
<talendType type="id_Byte">
</talendType>
<talendType type="id_byte[]">
<dbType type="BIT" default="true" />
<dbType type="VARBIT" />
<dbType type="BIT VARYING" />
<dbType type="BIT VARYING" />
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="CHARACTER" />
<dbType type="BPCHAR" />
<dbType type="VARCHAR" />
<dbType type="TEXT" />
<dbType type="TEXT" />
</talendType>
<talendType type="id_Date">
<dbType type="DATE" default="true" />
<dbType type="DATE" default="true" />
<dbType type="ABSTIME" />
<dbType type="TIMETZ" />
<dbType type="TIME WITH TIME ZONE" />
<dbType type="TIME" />
<dbType type="TIMESTAMPTZ" />
<dbType type="TIMESTAMP WITH TIME ZONE" />
<dbType type="TIMESTAMP" />
<dbType type="INTERVAL" />
<dbType type="TINTERVAL" />
<dbType type="RELTIME" />
<dbType type="RELTIME" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="NUMERIC" default="true" />
<dbType type="DECIMAL" />
<dbType type="DECIMAL" />
<dbType type="FLOAT4" />
<dbType type="REAL" />
<dbType type="FLOAT8"/>
@@ -161,8 +165,8 @@
<dbType type="REAL" />
<dbType type="FLOAT8" default="true" />
<dbType type="NUMERIC" />
<dbType type="DECIMAL" />
<dbType type="DOUBLE PRECISION"/>
<dbType type="DECIMAL" />
<dbType type="DOUBLE PRECISION"/>
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT4" default="true" />
@@ -170,7 +174,7 @@
<dbType type="REAL" />
<dbType type="NUMERIC" />
<dbType type="DECIMAL" />
<dbType type="DOUBLE PRECISION"/>
<dbType type="DOUBLE PRECISION"/>
</talendType>
<talendType type="id_Integer">
<dbType type="INT2" />
@@ -180,7 +184,7 @@
<dbType type="INT8" />
<dbType type="BIGINT" />
<dbType type="BIGSERIAL" />
<dbType type="INTEGER" />
<dbType type="INTEGER" />
</talendType>
<talendType type="id_Long">
<dbType type="INT2" />
@@ -188,8 +192,8 @@
<dbType type="SERIAL" />
<dbType type="INT8" default="true" />
<dbType type="BIGINT" />
<dbType type="BIGSERIAL" />
<dbType type="SMALLINT" />
<dbType type="BIGSERIAL" />
<dbType type="SMALLINT" />
</talendType>
<talendType type="id_Object">
<dbType type="_POINT" />
@@ -210,26 +214,26 @@
<dbType type="_TIMESTAMPTZ" />
<dbType type="_TIMESTAMP" />
<dbType type="_TINTERVAL" />
<dbType type="_XID" />
<dbType type="ACLITEM" />
<dbType type="BYTEA" />
<dbType type="_XID" />
<dbType type="ACLITEM" />
<dbType type="BYTEA" />
<dbType type="CID" />
<dbType type="CIDR" />
<dbType type="CIRCLE" />
<dbType type="INET" />
<dbType type="CIRCLE" />
<dbType type="INET" />
<dbType type="MACADDR" />
<dbType type="MONEY" />
<dbType type="MONEY" />
<dbType type="OID" />
<dbType type="PATH" />
<dbType type="POLYGON" />
<dbType type="POLYGON" />
<dbType type="REFCURSOR" />
<dbType type="REGCLASS" />
<dbType type="REGOPER" />
<dbType type="REGOPERATOR" />
<dbType type="REGPROC" />
<dbType type="REGPROCEDURE" />
<dbType type="REGTYPE" />
<dbType type="SMGR" />
<dbType type="REGTYPE" />
<dbType type="SMGR" />
<dbType type="TID" />
<dbType type="XID" />
<dbType type="_CHAR" />
@@ -239,7 +243,7 @@
<dbType type="BIGINT" />
<dbType type="BIT VARYING" />
<dbType type="_VARBIT" />
<dbType type="_BIT" />
<dbType type="_BIT" />
<dbType type="_BOOL" />
<dbType type="BOOLEAN" />
<dbType type="BOX" />
@@ -276,7 +280,7 @@
<dbType type="OIDVECTOR" />
<dbType type="_OIDVECTOR" />
<dbType type="_PATH" />
<dbType type="POINT" default="true" />
<dbType type="POINT" default="true" />
</talendType>
<talendType type="id_Short">
<dbType type="INT2" default="true" />
@@ -285,22 +289,22 @@
<dbType type="INT8" />
<dbType type="BIGINT" />
<dbType type="BIGSERIAL" />
<dbType type="SMALLINT" />
<dbType type="SMALLINT" />
</talendType>
<talendType type="id_String">
<dbType type="BPCHAR" />
<dbType type="VARCHAR" default="true" />
<dbType type="CHARACTER VARYING" />
<dbType type="TEXT" />
<dbType type="TEXT" />
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="INT2" >
<talendType type="id_Short" default="true" />
<talendType type="id_Short" default="true" />
</dbType>
<dbType type="SMALLINT" >
<talendType type="id_Short" default="true" />
</dbType>
<talendType type="id_Short" default="true" />
</dbType>
<dbType type="INT4" >
<talendType type="id_Integer" default="true" />
</dbType>
@@ -308,330 +312,336 @@
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="CHARACTER VARYING" >
<talendType type="id_String" default="true" />
<talendType type="id_String" default="true" />
</dbType>
<dbType type="BOOLEAN" >
<talendType type="id_Boolean" default="true" />
</dbType>
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="SERIAL" >
<talendType type="id_Integer" default="true" />
</dbType>
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="INT8" >
<talendType type="id_Long" default="true" />
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BIGINT" >
<talendType type="id_Long" default="true" />
</dbType>
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BIGSERIAL" >
<talendType type="id_Long" default="true" />
</dbType>
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="FLOAT4" >
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="REAL" >
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT8" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="DOUBLE PRECISION" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="NUMERIC">
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true" />
<talendType type="id_BigDecimal" default="true" />
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true" />
</dbType>
<talendType type="id_BigDecimal" default="true" />
</dbType>
<dbType type="BOOL" >
<talendType type="id_Boolean" default="true" />
</dbType>
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BIT" >
<talendType type="id_byte[]" default="true" />
</dbType>
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="VARBIT" >
<talendType type="id_byte[]" default="true" />
</dbType>
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="BIT VARYING" >
<talendType type="id_byte[]" default="true" />
</dbType>
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="CHAR" >
<talendType type="id_String" default="true" />
<talendType type="id_String" default="true" />
</dbType>
<dbType type="CHARACTER" >
<talendType type="id_String" default="true" />
</dbType>
<talendType type="id_String" default="true" />
</dbType>
<dbType type="BPCHAR" >
<talendType type="id_String" default="true" />
</dbType>
<talendType type="id_String" default="true" />
</dbType>
<dbType type="VARCHAR" >
<talendType type="id_String" default="true" />
</dbType>
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TEXT" >
<talendType type="id_String" default="true" />
</dbType>
<talendType type="id_String" default="true" />
</dbType>
<dbType type="DATE" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="ABSTIME" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMETZ" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIME WITH TIME ZONE" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIME" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMPTZ" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP WITH TIME ZONE" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP" >
<talendType type="id_Date" default="true" />
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="INTERVAL" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TINTERVAL" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="RELTIME" >
<talendType type="id_Date" default="true" />
</dbType>
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="ACLITEM" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="BYTEA" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CID" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CIDR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CIRCLE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INET" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MACADDR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MONEY" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="OID" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="PATH" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POLYGON" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REFCURSOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGCLASS" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGOPER" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGOPERATOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGPROC" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGPROCEDURE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGTYPE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMGR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="TID" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="XID" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="BOX" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INT2VECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="LINE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="LSEG" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="NAME" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="OIDVECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POINT" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<!-- object -->
<dbType type="_OIDVECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_PATH" >
<talendType type="id_Object" default="true" />
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_NAME" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_NUMERIC" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_OID" >
<talendType type="id_Object" default="true" />
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_LSEG" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_MACADDR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_MONEY" >
<talendType type="id_Object" default="true" />
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_LINE" >
<talendType type="id_Object" default="true" />
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT2VECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT4" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INTERVAL" >
<talendType type="id_Object" default="true" />
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BOX" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BYTEA" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_VARCHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BPCHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CID" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CIDR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CIRCLE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_DATE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_FLOAT8" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INET" >
<talendType type="id_Object" default="true" />
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_ABSTIME" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_ACLITEM" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT8" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_VARBIT" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BIT" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BOOL" >
<talendType type="id_Object" default="true" />
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_POINT" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_POLYGON" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_FLOAT4" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REFCURSOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGCLASS" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGOPER" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGOPERATOR" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGPROC" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGPROCEDURE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGTYPE" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_RELTIME" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TEXT" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TID" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMETZ" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIME" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMESTAMPTZ" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMESTAMP" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TINTERVAL" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_XID" >
<talendType type="id_Object" default="true" />
</dbType>
<talendType type="id_Object" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>

View File

@@ -22,7 +22,7 @@
<dbType type="INT" ignorePre="true" />
<dbType type="INT UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER" ignorePre="true" />
<dbType type="INTEGER UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER UNSIGNED" ignoreLen="true" ignorePre="true" />
<dbType type="LINESTRING" ignoreLen="true" ignorePre="true" />
<dbType type="LONGTEXT" ignoreLen="true" ignorePre="true" />
<dbType type="LONGBLOB" ignoreLen="true" ignorePre="true"/>
@@ -190,9 +190,9 @@
<talendType type="id_Long"/>
</dbType>
<dbType type="INTEGER">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
</dbType>
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
</dbType>
<dbType type="LINESTRING">
<talendType type="id_String" default="true" />
</dbType>
@@ -282,8 +282,8 @@
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="INTEGER UNSIGNED" >
<talendType type="id_Long" default="true" />
</dbType>
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="MEDIUMINT UNSIGNED" >
<talendType type="id_Integer" default="true" />
<talendType type="id_Long" />

View File

@@ -0,0 +1,238 @@
{
"mapping_AS400.xml": {
"28fe6b6c94e4e486d431873ba556c1c18ae09140": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"3d4845af057220e02773029683a0fd99dee489e5": "a9861e98b581dfdafa7839238710bd930989960a",
"458d597928478f43c94098dfe47d9bb8d07e89e2": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"76a4aa354d986ed5682797337817a8ddbb80ae89": "d568bf814d7b27fc7c63cbd07ea6b4a3b0ad3ff8"
},
"mapping_Access.xml": {
"55d314ed9708263bfcec193abb57a1e25806626e": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"718db25f8e86d6b61284a4ffdc1fd19faffb98a9": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_AmazonAurora.xml": {
"a93c809bdf8e5df8095580e3f23b29658e044302": "ebc9394c2728a3f3850fcbafac4156ef15aab37f",
"ba16c203a8a993e13ebab0da5cccb7a5e1c01e56": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_BigQuery.xml": {
"db723e5b4a38bbc8316593be33ab9d74f57776e6": "e1770847f656589810753c19d420228326462f34",
"e12df204d9f5081971d03c64b43de2456557e02e": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"e9c02d3e9bc3a3649fd33803353e61db6fcd2ea8": "01749151dcc171ebb6457ba872ee352d58a1dfd4"
},
"mapping_Cassandra.xml": {
"20ed188f8824c14852304920cf82ca7119eb1be0": "ab7b23e6c94946ca2358cc0cfd82c4d77a4c5839",
"692353c474569bafd44854b7f7343929beddee83": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"e42bdadd0009e7595773edcc1652f181a8fdf151": "76ed27054255165c23d8c0c8db081a41a50430c9",
"ff005c2bfc47789e5715e949f98bd6d72c934b54": "ebe76b0edd0eda3488527b95f2a6d925d091a408"
},
"mapping_Cassandra22_datastax.xml": {
"2ddd561eac2a04a7b08949c0764c5e76f80c89f5": "b0378fb45ae238b884417db468872341e156f138",
"33b483680a44a8229b09698df3803f5834987f18": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Cassandra40.xml": {
"e92b373950021eb425db9e3eba8391f98ce7e4a8": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Cassandra_datastax.xml": {
"3cb6b5cf167fb5ba82b3ebdc602f22ecdacdafb5": "56fad9370b27d03a9636d8368350274480fc2bce",
"ca09b169eee6e6dcfa81f976bd98ef4aae81cdf2": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"e1620c54d6793c6d1885e3e2fcdf242c0e3a4059": "df28e2b92f57ba0486215f334edb649a58788712"
},
"mapping_Databricks_Delta_Lake.xml": {
"d48793d7173ea7d07090f5e683045c3f60cc12c8": "21f5ac777158fc55288af7337737aa675e20bdf3",
"dcbe4533fe16fee70f24702edddec78b81e26463": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Exasol.xml": {
"21ff2b1a69b7242fa48a1218b0d5f8a6b0ba607e": "a0d36282ff5d6825b206ab6f794d13e048ac2192",
"3768b1e7a941e66f8a70ad7e1a65aa7d2b598daa": "7ef9ede0f988f10489c1f5ffe16ea24d2d14ecdd",
"6babf3080a3baa05bcd8a2815d2f31a0b15e1550": "02a98e53d3b6457272768ce0ae5c82992b403465",
"7de8a81bc2eb7c4da639af148c2c67b5c6de4bc0": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"a728306274b817e8afa0101d3b7621398addc2f3": "b5b116b3758f58e7500058e1805bf93bf5a2f0c1",
"dc2eba14e50ce7c413fb7696355e67d26fe5fb9b": "57bacf1f97951fcf6f650f1afdec35b5ea22638c",
"f670268dfd5a8f80fbdbe6fe4ad668cb6c8f25d6": "ead0fb11f124cf05ad0f7fde21cdedbb3cf2160b"
},
"mapping_Firebird.xml": {
"51a041d0b43678433f6303aebac5f92bfdb7b8a6": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"d504ece6ca9e10e23f5e0f05660e5f49e7d999ff": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_Greenplum.xml": {
"16418522006e4505c7fb7d44c4d06928de20eaf8": "ec04f46618ef0586081fd3b17ad7b85239958194",
"4f3e1b53baca729eef796979e97592c8724a2d91": "caf54e3d2b6c6d685cdcf2a243c28c408a9cd652",
"525a7ca1a48599a840b1feca641ef6a413d7384b": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"c4ed635e67d7d82c24008677f313e17df98f5d08": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_H2.xml": {
"4e3ed630d3133326a0cf4728865b3efa4cbecc63": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"84b0b863c0532f93bffc0ab54d98a449f331e319": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"cb093084dc1dc3f999707a1b9d1474f87bbf6d17": "341b1220b6bc6bf59eef81e97c694d06134bd8a2"
},
"mapping_HSQLDB.xml": {
"0a37e2aec423d0c401aff092e4fda9e01c5dd4ff": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"73af8e3e8646ea58f4cfe60fe4905e90340b3e12": "890a391388725c112ffbbd2dd8b8d267305df4a7",
"98819a80cd8994a02579ea1d9b0992a0b68a5403": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Hive.xml": {
"0265c6f16ab2c9eea7da660e4e1c8a3ec7bc0ab3": "37ef13c438cda4cd1c3e091d99a00036b328e57f",
"1f5811f41b2836cd7baeb23daef91d2ea313f2c6": "3646a1bcd980a3209501a5c846338823f55d74b2",
"21a44cd9d32a5478a4de61a86b398a9ef80401ac": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"5444fa9a484704d774259430623e0db1495a867f": "ef872732cde37c6c7684dc773641be0b78f5c57c",
"e7f128915578dd29538a7debeb5f47528b5a6e59": "86ba7c19d9300a02dbcb0801852e728acd261132"
},
"mapping_IBMDB2.xml": {
"dc42cf143f3a0f10ad8c280f16ef44ae1f907123": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"f8aea23cc5b48ebb3cdd229be3f66b28890ff4f8": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Impala.xml": {
"55ed99aa28c989bd5777f41b7c87ed4eb9f245a8": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Informix.xml": {
"40da9213cf85b1712f38474dea4f2ec3447dfe3c": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"938e41f3719c29248d4f58c303464bbfb50e343a": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_Ingres.xml": {
"811e8bf4e7bc2e6b9c3fcb5f074601a873f15e1d": "15afc1b074c8a6e4aee39c1d5a3347555dbe36a0",
"95873faa81ee3de2eea02efab5c127e6188df796": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"9c5682f564e861e1db3b5184fd40e718e0912a4a": "d51edc7e08871897572c9b1f1cd2d2d2df347dfb"
},
"mapping_Interbase.xml": {
"4d37474d07991154aa0148e7a030c4725d45ef0d": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"71e8386c3e21f726550234c52d3ca50dcfa655de": "d51edc7e08871897572c9b1f1cd2d2d2df347dfb"
},
"mapping_JavaDB.xml": {
"652fd7f2f11fc27903d333e1699cc419804caa66": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"66dbe13a0043798498f37b6e5495bc3aaa8fb90b": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_MSSQL.xml": {
"305eeb294ae8bb07bee7d1e182e431e2e7f6273d": "d7761630e63b399f89eaaeb9e19e775bf1579dde",
"b93c0825ffd799d89608239385d7e4b60de96209": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_MaxDB.xml": {
"586fc7ac94a9abec8a76a587dc6aa0fae0079bf3": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_MicrosoftCrm.xml": {
"e1c5e77e19adea1406e5bb511a1c6adb8b610bfe": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_MicrosoftCrm_odata.xml": {
"1166b9ce6ce163d11a57046db5ee2dc9d5e496df": "e86fd3fd5c3b4ba9ff613155fba014a80c40cf01",
"3f25ced1039b99d1c07b23e3d27cac1562e52a6f": "c1190dfa35e839496745516dbcfeb8a309fa49d0",
"750541f00f3c5da6007623f3514add6dc3417a5f": "54331fa4ec501557eb9c32d434c332cf3d121349",
"9612a2611bd29461dd46fc70f0e2841892f3f096": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_MsOdbc.xml": {
"01561cb7b5630a4a6aed576215ccdb3991d2db52": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"a9c94a6255061e8100b15590da35196464b77d46": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Mysql.xml": {
"128d7d66eb994a032128949fcbe0c953c158beaa": "956802047d6623ba61e2da68aba2db8f38bca48a",
"522654fad6fa3d008ef386fc9360ae51df910729": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"5dfc7b71e1f6a9fad6ebf47a1d748893c85bbe5e": "341b1220b6bc6bf59eef81e97c694d06134bd8a2",
"894b0d1d2c23c98f2e14920013b82524334dd255": "74b3640e2923d4c60c92042ff03d15b4ac4e9341",
"8cb3d2b06d8a2b12e8673e6e9519f85ec08b35ec": "f22d442cbde13623a1b96c15ea2df8dd1a7d755e",
"a94341e5bd6c4ba0eef57f9d6d3cc6c0006c785b": "ebc9394c2728a3f3850fcbafac4156ef15aab37f",
"d7e74c8e9f8a47ab258472ec43236d2933c70838": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"edc9d1453c8f9ac8548822ff2f90a4defcd02094": "fd4d974c755ced1969b27126844b3f462bca1a52"
},
"mapping_Netezza.xml": {
"0c769aa277190990fb33a918cc57189b9ba6306f": "c8ca64da55ceb677fd97169f6a924ec80f01b2fc",
"0f5e9677f936a5414ce6593229aa47ea5b757276": "3074a57eee1407a413e460ed27e31d48d21d609b",
"b3e25e55f8281cb616b3f549e6a2e5a83d4ad62a": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Oracle.xml": {
"0407cea7e87144cb601bc9a3f039121feca79b65": "cb6b87dabdc71be0f1db4bdca694bcb61b679c05",
"064d2a5940379346638412dd7f4cb7dbcc30e672": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"26a2295f6401de6e17feb61b261f7fbdfc4d609d": "e7604a488f339028a3cf14ae4031b0fb3fd50bcc",
"9b0306aacec772d9d82be49ab702254ce1e08bea": "912702dc8ea921a34ea0522235db65f8655bf8e9",
"df2537b329d0b09828c281e62208daf379f7b60a": "544faa63bbe63dd070a94c84139c705ac6432314"
},
"mapping_ParAccel.xml": {
"1ba71027d3a60773c7c008143c2146e4db2ef112": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"5085a1e922f77895a2f7c85e2347acfe03034493": "d51edc7e08871897572c9b1f1cd2d2d2df347dfb"
},
"mapping_Postgres.xml": {
"ce8b7f58644b8f7814a5522d172b4192ff89bd4f": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"e1c1f04f95222bcadda336d6a4f0ea07c6ebb08e": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_PostgresPlus.xml": {
"69b7d7f722538a322fb0bf867177d1ce5a0d7ad6": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"f576a7bb0327eeff1fd63a9a09106ae33f3ec90e": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_Redshift.xml": {
"0cc6e153fe35041a009cb222e0276e35ddbc92f1": "2023289b9965fc14b959463ba5050be6aead361a",
"3b941be88a5f13bd8fd905fb1fa5f2a241e89ed9": "915a307b629c7a75bcbedc86267db1e8995b77f3",
"85ba89fdadfca4a2d755856a75e904f6015926a9": "de08533f6561319fc2914181a2705ccd75e29c40",
"8f3eda24c1f413b17b2b8c48695dbd786fa29b6b": "93112768d7eea6df44d92a3efbd4f1dfa20e06b6",
"ab86d7fda94e0b368f739f73994ce2a2147be12d": "0fd3f58b7aa78aaae6fb40d042780bec64da75e6",
"ad0eecc7e9f25c3b904cc11b062a8185456478ee": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Redshift_new.xml": {
"43085952e178e2c570ab7d2a262278dd2896dd96": "699efe42a33aab3ca0bbaa7a1abee23368e61606"
},
"mapping_SAPHana.xml": {
"1a07a8174468a5a1d55378dd0e21d7c1f9e531bc": "48ea42be6b348a3c993760e7f2c94c58ac08fdae",
"331ae8a035e6b1f2cd722be6411df4ae4a95bb33": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_SQLite.xml": {
"0a97b6e8acf8bd16aa34a3c01707f1e2a9eeff1f": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"b7b7b7c690efacc208316c911571a8513b5ea713": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_SingleStore.xml": {
"9da7d92af5e9b0697436f74fffd190e8af061567": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Snowflake.xml": {
"d459c6be3786f9358615eaf692a1c7920b4c6e74": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_Sybase.xml": {
"081038547cac8342cf5cadf8bfd02fe4d2929323": "1ff9877dce90e2ef39b267ea60de534796035a95",
"09a0f4dc71ff9a844e1162600409317e92e1ff18": "28534ffb4ae599adec53853776856e82c23c815a",
"4ee2c12f372953e77404481a962b3aca14abadb0": "f02b1b6902098b2da90cde6b22a9a49ec328970a",
"5752dcfa409e903af77587f151d580c68c9e4ac7": "3db0fa1fbed8ae378d52aa8c36b6fed55d184e5b",
"6f4e7913b4b31e8fb4e097690c8b903a58842283": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"7676e2d94473564322ce37cad92b7f8b09751b1b": "1cc6237de63892e097c77637ac8457cf8fefbf6f",
"8bbad7895713f3a399ddb195c40353e18d3e83b9": "984ca27e4ee0177793b2111797700390424cb746",
"bbc091c50a7bd8a8fe630d99a9c2e3f2f878ac88": "67a9b521c9d698b3411fb49410ac61a15f4bc7db",
"d841719dcf79a12d0189301e40c0e9e973a45c4f": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"e103a9671d9bcf360fd2e61ee97f4547d0d52241": "e19031add3dc54bf9d0e731f3a05738af48ebb6d",
"e1c42d74cc0dc3681b5bd45a901a3bedeb53ec68": "75df15acaa5c8d1dcd4a8e855e0df969fdea25d5",
"e30d1f01e88bdaf926855e00d1aef3a37a7eb6e4": "c91dd79086a42dce5417de77bb7ce61c0bd6cbbf",
"ee5d7f5f9510f63c340f87862327b869bf4cb743": "607764748cdbff669d2ccfcbaafdaa0d83598f32"
},
"mapping_Teradata.xml": {
"10ed107c1d66b38d51739ffdd0820db676c42cef": "45dbf10541f6dd32283038bcc5b04b10e305770a",
"55e6a511c2cb39aca11de302a3850eb2d1f6e3a5": "fc652f1cc70f6caa05d5c65e57115f86653f7841",
"ac9ffae887ab4d20d4eca0eddc83163e99507ec8": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"f9b0367424f721cd8029d3540c9a82f39d74a6b4": "c002b50a69b8a0193780e7c0d1788bbd9a5145c3"
},
"mapping_VectorWise.xml": {
"06f86121a9492b3104047691b19718a5d9d49be9": "d51edc7e08871897572c9b1f1cd2d2d2df347dfb",
"edf255202bcfad77ff6f3fac11714891934225c4": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8"
},
"mapping_Vertica.xml": {
"28153eaab1c47b8718ca3c49553ec40b047d2878": "d4655e28a5da3e6a2cc03a1305cc1c2970d8e9b8",
"2ee78d7679d4201ad29adba4cc0a48084f161e25": "eecc481d671d330bfb46406ab2533830c668bf22",
"819be4680c04a7f77c51fc65ebd1d964a714aa78": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"9218d5e7b682513ddf1b891f5f0467ab9938fec3": "341b1220b6bc6bf59eef81e97c694d06134bd8a2",
"d9745a57d9f1b6c638ebd57cd5281be020e0614c": "e8f788c5c260f9b82eaaa88d0402423d86a5680d",
"dec55a19094d1bcc20f12a8888b27460e83c2e67": "3b582b21fc5ac7ccfb05321c7923591433ced716"
},
"mapping_XSD.xml": {
"1ef837521e274c5b93f5f228955204285b3dd28a": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"9c454252343dfe1400d356cbf41bf88e842b4e1e": "c615b3a622e2f6ba8577e812e71977d9f1b1930d"
},
"mapping_dynamodb.xml": {
"891099e88d8074570dc029f9b7d8b04bbc241383": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_ebcdic.xml": {
"b47b25edc9e40d312b548270dbb3f978475be4e7": "7007071c9cf718d34da7d61208ceea7f05de94d0"
},
"mapping_sap.xml": {
"0339bc60ae47e3796c343eee7e2fb1cb1869cefa": "ee49a27e5c3ba3217ab497b1cd4467c088e59f5e",
"1f41a55f6f7f1d6d2118e766daf7e3dbfd77551d": "7007071c9cf718d34da7d61208ceea7f05de94d0",
"64c23be0c363ab703528677c999e4ef707d54497": "27908d5685066221f02cd3890a5319838215eb8b",
"83688cf3134e60d9f5a08b316643a41246717e92": "740c431e0b623cc7d41166588961028ad3efab80",
"9df72b6a1f1a72d9be1a4a7fd428873ad9b75bff": "94804b5e96a71d63a294eb9bcfbbb5290824009f",
"a300fcd290aa65c254c44d683d30a9fa6ae14a2f": "45e5d88e9c49cb87b47413468073c571f60c0117",
"b74c01dff88a52afca5f8c84fbe41d71a34eb6b5": "32832fe0edfbd10d50ed85528481e5c9ca2ec8e0",
"c814f616005e1637ec107dd8c0f269bd69661d2e": "7d07608dceb06f7364b5bb8babc0f6e921fc443a"
},
"mapping_sas.xml": {
"4aeb0deb41f61dbe69e85e780fb1e985c9f3d758": "fd44bfb0ee3fc8288465507b937c53619f43c0ec"
}
}

View File

@@ -1,6 +0,0 @@
Metadata=Metadata
TalendDataCollector=Usage Data Collector
TalendDataCollectorPreview=Preview
TalendDataCollectorUploading=Uploading
prefs=Talend
specificSetting=Specific Settings

View File

@@ -116,6 +116,7 @@ public interface ICoreService extends IService {
public String validateValueForDBType(String columnName);
@Deprecated
public void synchronizeMapptingXML(ITalendProcessJavaProject talendJavaProject);
public IPreferenceStore getPreferenceStore();
@@ -124,6 +125,7 @@ public interface ICoreService extends IService {
public IMetadataTable convert(MetadataTable originalTable);
@Deprecated
public void syncMappingsFileFromSystemToProject();
/**
@@ -132,4 +134,11 @@ public interface ICoreService extends IService {
*/
void installComponents(IProgressMonitor monitor);
public static ICoreService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreService.class)) {
return GlobalServiceRegister.getDefault().getService(ICoreService.class);
}
return null;
}
}

View File

@@ -21,6 +21,7 @@ import java.util.Set;
import org.eclipse.core.runtime.IProgressMonitor;
import org.talend.core.model.general.ModuleNeeded;
import org.talend.core.model.general.RetrieveResult;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.nexus.ArtifactRepositoryBean;
import org.talend.core.nexus.TalendLibsServerManager;
@@ -109,6 +110,8 @@ public interface ILibraryManagerService extends IService {
public boolean retrieve(ModuleNeeded module, String pathToStore, boolean showDialog, IProgressMonitor... monitorWrap);
RetrieveResult retrieveModules(ERepositoryObjectType codeType, Set<ModuleNeeded> modulesNeeded, String pathToStore,
boolean showDialog, IProgressMonitor... monitorWrap);
/**
*
* Resolve the jar from custom nexus
@@ -151,6 +154,10 @@ public interface ILibraryManagerService extends IService {
public boolean contains(String jarName);
public void clearCache();
public void clearCache(boolean cleanIndex);
public void deployLibsFromCustomComponents();
@Deprecated
public Set<String> list(boolean withComponent, IProgressMonitor... monitorWrap);

View File

@@ -0,0 +1,23 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core;
import org.talend.core.model.process.IExternalNode;
import org.talend.core.model.process.INode;
public interface ITDQComponentService extends IService {
public boolean isTDQExternalComponent(String componentName);
public IExternalNode createExternalComponent(INode node);
}

View File

@@ -39,4 +39,9 @@ public interface ITDQCryptoFileService extends IService {
*/
public void generateCryptoFile(String passwordM1, String cryptoMethod, String cryptoFilePath);
/**
* Generate Encrypty file
*/
public void generateCryptoFile(String passwordM1, String cryptoMethod, String cryptoFilePath, int algoVersion);
}

View File

@@ -0,0 +1,108 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.database;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
/**
* DOC jding class global comment. Detailled comment
*/
public enum ERedshiftDriver {
DRIVER_V2("Driver v2", new String[] { "redshift-jdbc42-2.1.0.3.jar" }),
DRIVER_V1("Driver v1", new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar" });
private String displayName;
private String[] drivers = new String[] {};
private ERedshiftDriver(String displayName, String[] drivers) {
this.displayName = displayName;
this.drivers = drivers;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String[] getDrivers() {
return drivers;
}
public void setDrivers(String[] drivers) {
this.drivers = drivers;
}
public static Set<String> getDriversByVersion(EDatabaseVersion4Drivers v4d, String version) {
Set<String> drivers = new HashSet<String>();
Set<String> providerDrivers = v4d.getProviderDrivers();
ERedshiftDriver redshiftDriver = ERedshiftDriver.valueOf(version);
if (redshiftDriver != null && DRIVER_V1 != redshiftDriver) {
// to replace default one
String[] v1Drivers = DRIVER_V1.getDrivers();
for (String driver : providerDrivers) {
boolean replaced = false;
for (int i = 0; i < v1Drivers.length; i++) {
if (driver.equals(v1Drivers[i])) {
drivers.add(redshiftDriver.getDrivers()[i]);
replaced = true;
break;
}
}
if (!replaced) {
drivers.add(driver);
}
}
} else {
drivers.addAll(providerDrivers);
}
return drivers;
}
public static String[] getRedshiftDriverDisplayNames() {
List<String> names = new ArrayList<String>();
for (ERedshiftDriver eRedshiftDriver : ERedshiftDriver.values()) {
names.add(eRedshiftDriver.getDisplayName());
}
return names.toArray(new String[0]);
}
public static String getDisplayNameByEName(String eName) {
String displayName = eName;
ERedshiftDriver eRedshiftDriver = ERedshiftDriver.valueOf(eName);
if (eRedshiftDriver != null) {
displayName = eRedshiftDriver.getDisplayName();
}
return displayName;
}
public static String getEnameByDisplayName(String displayName) {
String eName = DRIVER_V1.name();
for (ERedshiftDriver eRedshiftDriver : ERedshiftDriver.values()) {
if (eRedshiftDriver.getDisplayName().equals(displayName)) {
eName = eRedshiftDriver.name();
}
}
return eName;
}
}

View File

@@ -225,11 +225,23 @@ public class ConnParameterKeys {
public static final String CONN_PARA_KEY_SYNAPSE_FS_HOSTNAME = "CONN_PARA_KEY_SYNAPSE_FS_HOSTNAME"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_FS_CONTAINER = "CONN_PARA_KEY_SYNAPSE_FS_CONTAINER"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_AUTH_MODE = "CONN_PARA_KEY_SYNAPSE_AUTH_MODE";
public static final String CONN_PARA_KEY_SYNAPSE_FS_USERNAME = "CONN_PARA_KEY_SYNAPSE_FS_USERNAME"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_FS_PASSWORD = "CONN_PARA_KEY_SYNAPSE_FS_PASSWORD"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_APPLICATION_ID = "CONN_PARA_KEY_SYNAPSE_APPLICATION_ID"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_DIRECTORY_ID = "CONN_PARA_KEY_SYNAPSE_DIRECTORY_ID"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_CLIENT_KEY = "CONN_PARA_KEY_SYNAPSE_CLIENT_KEY"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_USE_SYNAPSE_CLIENT_CERTIFICATE = "CONN_PARA_KEY_USE_SYNAPSE_CLIENT_CERTIFICATE"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_CLIENT_CERTIFICATE = "CONN_PARA_KEY_SYNAPSE_CLIENT_CERTIFICATE"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_FS_STORAGE = "CONN_PARA_KEY_SYNAPSE_FS_STORAGE"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_SYNAPSE_DEPLOY_BLOB = "CONN_PARA_KEY_SYNAPSE_DEPLOY_BLOB"; //$NON-NLS-1$
@@ -316,17 +328,23 @@ public class ConnParameterKeys {
/**
* Google Dataproc keys.
*/
public static final String CONN_PARA_KEY_GOOGLE_PROJECT_ID = "CONN_PARA_KEY_GOOGLE_PROJECT_ID"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_GOOGLE_PROJECT_ID = "CONN_PARA_KEY_GOOGLE_PROJECT_ID";
public static final String CONN_PARA_KEY_GOOGLE_CLUSTER_ID = "CONN_PARA_KEY_GOOGLE_CLUSTER_ID";//$NON-NLS-1$
public static final String CONN_PARA_KEY_GOOGLE_REGION = "CONN_PARA_KEY_GOOGLE_REGION"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_GOOGLE_JARS_BUCKET = "CONN_PARA_KEY_GOOGLE_JARS_BUCKET"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_GOOGLE_CLUSTER_ID = "CONN_PARA_KEY_GOOGLE_CLUSTER_ID";
public static final String CONN_PARA_KEY_GOOGLE_REGION = "CONN_PARA_KEY_GOOGLE_REGION";
public static final String CONN_PARA_KEY_GOOGLE_JARS_BUCKET = "CONN_PARA_KEY_GOOGLE_JARS_BUCKET";
public static final String CONN_PARA_KEY_PROVIDE_GOOGLE_CREDENTIALS = "CONN_PARA_KEY_PROVIDE_GOOGLE_CREDENTIALS";
public static final String CONN_PARA_KEY_AUTH_MODE = "CONN_PARA_KEY_AUTH_MODE";
public static final String CONN_PARA_KEY_DEFINE_PATH_TO_GOOGLE_CREDENTIALS = "CONN_PARA_KEY_DEFINE_PATH_TO_GOOGLE_CREDENTIALS"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_PATH_TO_GOOGLE_CREDENTIALS = "CONN_PARA_KEY_PATH_TO_GOOGLE_CREDENTIALS"; //$NON-NLS-1$
public static final String CONN_PARA_OAUTH2_TOKEN_TO_GOOGLE_CREDENTIALS = "CONN_PARA_OAUTH2_TOKEN_TO_GOOGLE_CREDENTIALS"; //$NON-NLS-1$
/**DataBricks*/
public static final String CONN_PARA_KEY_DATABRICKS_ENDPOINT="CONN_PARA_KEY_DATABRICKS_ENDPOINT";
@@ -361,5 +379,27 @@ public class ConnParameterKeys {
public static final String CONN_PARA_KEY_KNOX_DIRECTORY="CONN_PARA_KEY_KNOX_DIRECTORY";
// CDE
public static final String CONN_PARA_KEY_CDE_API_ENDPOINT="CONN_PARA_KEY_CDE_API_ENDPOINT";
public static final String CONN_PARA_KEY_CDE_TOKEN="CONN_PARA_KEY_CDE_TOKEN";
public static final String CONN_PARA_KEY_CDE_AUTO_GENERATE_TOKEN="CONN_PARA_KEY_CDE_AUTO_GENERATE_TOKEN";
public static final String CONN_PARA_KEY_CDE_TOKEN_ENDPOINT="CONN_PARA_KEY_CDE_TOKEN_ENDPOINT";
public static final String CONN_PARA_KEY_CDE_WORKLOAD_USER="CONN_PARA_KEY_CDE_WORKLOAD_USER";
public static final String CONN_PARA_KEY_CDE_WORKLOAD_PASSWORD = "CONN_PARA_KEY_CDE_WORKLOAD_PASSWORD";
// STANDALONE
public static final String CONN_PARA_KEY_UNIV_STANDALONE_MASTER="CONN_PARA_KEY_UNIV_STANDALONE_MASTER";
public static final String CONN_PARA_KEY_UNIV_STANDALONE_CONFIGURE_EXEC="CONN_PARA_KEY_UNIV_STANDALONE_CONFIGURE_EXEC";
public static final String CONN_PARA_KEY_UNIV_STANDALONE_EXEC_MEMORY="CONN_PARA_KEY_UNIV_STANDALONE_EXEC_MEMORY";
public static final String CONN_PARA_KEY_UNIV_STANDALONE_EXEC_CORE="CONN_PARA_KEY_UNIV_STANDALONE_EXEC_CORE";
/**
* Redshift
*/
public static final String CONN_PARA_KEY_REDSHIFT_DRIVER = "CONN_PARA_KEY_REDSHIFT_DRIVER";
public static final String CONN_PARA_KEY_REDSHIFT_STRINGPARA = "CONN_PARA_KEY_REDSHIFT_STRINGPARA";
public static final String CONN_PARA_KEY_REDSHIFT_PARATABLE = "CONN_PARA_KEY_REDSHIFT_PARATABLE";
}

View File

@@ -13,10 +13,12 @@
package org.talend.core.database.conn.version;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.ERedshiftDriver;
import org.talend.core.database.conn.DatabaseConnConstants;
/**
@@ -54,22 +56,22 @@ public enum EDatabaseVersion4Drivers {
HSQLDB_SERVER(new DbVersion4Drivers(EDatabaseTypeName.HSQLDB_SERVER, "hsqldb.jar")), //$NON-NLS-1$
HSQLDB_WEBSERVER(new DbVersion4Drivers(EDatabaseTypeName.HSQLDB_WEBSERVER, "hsqldb.jar")), //$NON-NLS-1$
H2(new DbVersion4Drivers(EDatabaseTypeName.H2, "h2-1.4.198.jar")), //$NON-NLS-1$
H2(new DbVersion4Drivers(EDatabaseTypeName.H2, "h2-2.1.210.jar")), //$NON-NLS-1$
//
JAVADB_EMBEDED(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_EMBEDED, "derby.jar")), //$NON-NLS-1$
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlitejdbc-v056.jar")), //$NON-NLS-1$
FIREBIRD(new DbVersion4Drivers(EDatabaseTypeName.FIREBIRD, "jaybird-full-2.1.1.jar")), //$NON-NLS-1$
TERADATA(new DbVersion4Drivers(EDatabaseTypeName.TERADATA,
new String[] { "terajdbc4-16.20.00.02.jar", "tdgssconfig-16.20.00.02.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
new String[] { "terajdbc4-17.10.00.27.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
JAVADB_DERBYCLIENT(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_DERBYCLIENT, "derbyclient.jar")), //$NON-NLS-1$
NETEZZA(new DbVersion4Drivers(EDatabaseTypeName.NETEZZA, "nzjdbc.jar")), //$NON-NLS-1$
INFORMIX(new DbVersion4Drivers(EDatabaseTypeName.INFORMIX, "ifxjdbc.jar")), //$NON-NLS-1$
SAS_9_1(new DbVersion4Drivers(EDatabaseTypeName.SAS, "SAS 9.1", "SAS_9.1", new String[] { "sas.core.jar", //$NON-NLS-1$
"sas.intrnet.javatools.jar", "sas.svc.connection.jar", "org.apache.log4j_1.2.15.v201012070815.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
"sas.intrnet.javatools.jar", "sas.svc.connection.jar", "reload4j-1.2.19.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
SAS_9_2(new DbVersion4Drivers(EDatabaseTypeName.SAS,
"SAS 9.2", "SAS_9.2", new String[] { "sas.core.jar", "sas.security.sspi.jar", "sas.svc.connection.jar", "org.apache.log4j_1.2.15.v201012070815.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
"SAS 9.2", "SAS_9.2", new String[] { "sas.core.jar", "sas.security.sspi.jar", "sas.svc.connection.jar", "reload4j-1.2.19.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
SAPHana(new DbVersion4Drivers(EDatabaseTypeName.SAPHana, "HDB 1.0", "HDB_1_0", "ngdbc.jar")), //$NON-NLS-1$
// MYSQL, add for 9594
MYSQL_8(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MySQL 8", "MYSQL_8", "mysql-connector-java-8.0.18.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -81,10 +83,11 @@ public enum EDatabaseVersion4Drivers {
"Microsoft SQL Server 2012", "Microsoft SQL Server 2012", "jtds-1.3.1-patch-20190523.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MSSQL_PROP(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
"Microsoft", "MSSQL_PROP", //$NON-NLS-1$ //$NON-NLS-2$
new String[] { "mssql-jdbc.jar", "slf4j-api-1.7.29.jar", "slf4j-log4j12-1.7.29.jar", "adal4j-1.6.7.jar", //$NON-NLS-1$
"commons-lang3-3.10.jar", "commons-codec-1.14.jar", "gson-2.8.6.jar", "oauth2-oidc-sdk-9.7.jar",
"json-smart-2.4.7.jar", "nimbus-jose-jwt-8.11.jar", "javax.mail-1.6.2.jar", "log4j-1.2.17.jar",
"accessors-smart-2.4.7.jar", "asm-9.1.jar","content-type-2.1.jar" })),
new String[] { "mssql-jdbc.jar", "slf4j-api-1.7.29.jar", "slf4j-log4j12-1.7.29.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
"oauth2-oidc-sdk-9.7.jar", "reload4j-1.2.19.jar", "jackson-core-2.13.2.jar",
"jackson-databind-2.13.2.2.jar", "jackson-annotations-2.13.2.jar", "jcip-annotations-1.0-1.jar",
"json-smart-2.4.7.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.7.jar", "asm-9.1.jar",
"content-type-2.1.jar", "lang-tag-1.5.jar" })),
VERTICA_9(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 9.X", "VERTICA_9_0", "vertica-jdbc-9.3.1-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -92,19 +95,19 @@ public enum EDatabaseVersion4Drivers {
GREENPLUM_PSQL(new DbVersion4Drivers(EDatabaseTypeName.GREENPLUM,"PostgreSQL", "POSTGRESQL", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$
GREENPLUM(new DbVersion4Drivers(EDatabaseTypeName.GREENPLUM,"Greenplum", "GREENPLUM", "greenplum-5.1.4.000275.jar")), //$NON-NLS-1$
// PSQL_V10(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v10", "V10", "postgresql-42.2.5.jar")),
PSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v9 and later", "V9_X", "postgresql-42.2.14.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v9 and later", "V9_X", "postgresql-42.2.25.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "Prior to v9", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PLUSPSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL,
"Prior to v9", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PLUSPSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL, "v9 and later", "V9_X", "postgresql-42.2.14.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PLUSPSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL, "v9 and later", "V9_X", "postgresql-42.2.25.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
IBMDB2(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$
"db2jcc_license_cisuz.jar" })), //$NON-NLS-1$
IBMDB2ZOS(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2ZOS, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$
"db2jcc_license_cisuz.jar" })), //$NON-NLS-1$
SYBASEASE(new DbVersion4Drivers(EDatabaseTypeName.SYBASEASE, "Sybase 12/15", "SYBSEIQ_12_15", "jconn3.jar")), //$NON-NLS-1$
SYBASEIQ_16(new DbVersion4Drivers(EDatabaseTypeName.SYBASEASE, "Sybase 16", "SYBSEIQ_16", "jconn4.jar")), //$NON-NLS-1$
SYBASEIQ_16_SA(new DbVersion4Drivers(EDatabaseTypeName.SYBASEASE, "Sybase 16 (SQL Anywhere)", "SYBSEIQ_16_SA", "sajdbc4-17.0.0.jar")),
SYBASEIQ_16_SA(new DbVersion4Drivers(EDatabaseTypeName.SYBASEASE, "Sybase 16 (SQL Anywhere) and above", "SYBSEIQ_16_SA", "sajdbc4-17.0.0.jar")),
SYBASEIQ(new DbVersion4Drivers(EDatabaseTypeName.SYBASEIQ, "jconn3.jar")), //$NON-NLS-1$
EXASOL(new DbVersion4Drivers(EDatabaseTypeName.EXASOL, "exajdbc-6.0.9302.jar")), //$NON-NLS-1$
@@ -148,11 +151,12 @@ public enum EDatabaseVersion4Drivers {
MAPRDB(new DbVersion4Drivers(EDatabaseTypeName.MAPRDB, new String[] {})),
REDSHIFT(new DbVersion4Drivers(EDatabaseTypeName.REDSHIFT, "redshift", "REDSHIFT", //$NON-NLS-1$ //$NON-NLS-2$
"redshift-jdbc42-no-awssdk-1.2.37.1061.jar")), //$NON-NLS-1$
new String[]{ "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
REDSHIFT_SSO(new DbVersion4Drivers(EDatabaseTypeName.REDSHIFT_SSO, "redshift sso", "REDSHIFT_SSO", //$NON-NLS-1$ //$NON-NLS-2$
new String[] { "redshift-jdbc42-no-awssdk-1.2.37.1061.jar", "aws-java-sdk-1.11.848.jar", "jackson-core-2.11.4.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar", "aws-java-sdk-1.11.848.jar", "jackson-core-2.11.4.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
"jackson-databind-2.11.4.jar", "jackson-annotations-2.11.4.jar", "httpcore-4.4.13.jar", "httpclient-4.5.13.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
"joda-time-2.8.1.jar", "commons-logging-1.2.jar", "commons-codec-1.14.jar" })), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"joda-time-2.8.1.jar", "commons-logging-1.2.jar", "commons-codec-1.14.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"aws-java-sdk-redshift-internal-1.12.x.jar" })), //$NON-NLS-1$
AMAZON_AURORA(new DbVersion4Drivers(EDatabaseTypeName.AMAZON_AURORA, "mysql-connector-java-5.1.49.jar")); //$NON-NLS-1$
@@ -292,6 +296,9 @@ public enum EDatabaseVersion4Drivers {
if (version.equalsIgnoreCase(v4d.getVersionValue())) {
drivers.addAll(v4d.getProviderDrivers());
}
if (drivers.isEmpty()) {
drivers.addAll(getDriversByDriverVersion(v4d, version));
}
}
} else {
// only check the version value
@@ -303,6 +310,14 @@ public enum EDatabaseVersion4Drivers {
return drivers;
}
private static Set<String> getDriversByDriverVersion(EDatabaseVersion4Drivers v4d, String version) {
Set<String> drivers = new HashSet<String>();
if (REDSHIFT == v4d || REDSHIFT_SSO == v4d) {
drivers = ERedshiftDriver.getDriversByVersion(v4d, version);
}
return drivers;
}
public static boolean containTypeAndVersion(final String dbType, final String version) {
if (version == null) {
return false;

View File

@@ -26,6 +26,8 @@ public class HadoopConstants {
public static final String SPARK_MODE_YARN_CLIENT = "YARN_CLIENT";
public static final String SPARK_MODE_YARN_CLUSTER = "YARN_CLUSTER";
public static final String SPARK_MODE_DATAPROC = "DATAPROC";
public static final String FRAMEWORK = "FRAMEWORK";

View File

@@ -83,6 +83,12 @@ public enum EHadoopProperties {
GOOGLE_REGION,
GOOGLE_JARS_BUCKET,
AUTH_MODE,
PATH_TO_GOOGLE_CREDENTIALS,
OAUTH_ACCESS_TOKEN,
HD_WEBHCAT_HOSTNAME,
@@ -112,10 +118,22 @@ public enum EHadoopProperties {
SYNAPSE_STORAGE_CONTAINER,
ADLSGEN2AUTH,
SYNAPSE_STORAGE_USERNAME,
SYNAPSE_STORAGE_PASSWORD,
SYNAPSE_APPLICATION_ID,
SYNAPSE_DIRECTORY_ID,
SYNAPSE_CLIENT_KEY,
SYNAPSE_USE_CERTIFICATE,
SYNAPSE_CLIENT_CERTIFICATE,
DEPLOY_FOLDER,
SPARK_DRIVER_MEM,
@@ -134,7 +152,13 @@ public enum EHadoopProperties {
DATABRICKS_TOKEN,
DATABRICKS_DBFS_DEP_FOLDER;
DATABRICKS_DBFS_DEP_FOLDER,
UNIV_STANDALONE_MASTER,
UNIV_STANDALONE_EXEC_MEMORY,
UNIV_STANDALONE_EXEC_CORE;
public String getName() {
return this.name();

View File

@@ -0,0 +1,75 @@
// ============================================================================
//
// Copyright (C) 2006-2020 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.hadoop.version;
import java.util.ArrayList;
import java.util.List;
public enum EDataprocAuthType {
OAUTH_API("OAuth2 Access Token"), //$NON-NLS-1$
SERVICE_ACCOUNT("Service account"); //$NON-NLS-1$
private String displayName;
EDataprocAuthType(String displayName) {
this.displayName = displayName;
}
public String getName() {
return name();
}
public String getDisplayName() {
return this.displayName;
}
public static List<String> getAllDataprocAuthTypes() {
return getAllDataprocAuthTypes(true);
}
public static List<String> getAllDataprocAuthTypes(boolean display) {
List<String> types = new ArrayList<String>();
EDataprocAuthType[] values = values();
for (EDataprocAuthType authType : values) {
if (display) {
types.add(authType.getDisplayName());
} else {
types.add(authType.getName());
}
}
return types;
}
public static EDataprocAuthType getDataprocAuthTypeByDisplayName(String name) {
return getDataprocAuthTypeByName(name, true);
}
public static EDataprocAuthType getDataprocAuthTypeByName(String type, boolean display) {
if (type != null) {
for (EDataprocAuthType authType : values()) {
if (display) {
if (type.equalsIgnoreCase(authType.getDisplayName())) {
return authType;
}
} else {
if (type.equalsIgnoreCase(authType.getName())) {
return authType;
}
}
}
}
return null;
}
}

View File

@@ -766,11 +766,11 @@ public class ContextUtils {
return ContextUtils.getContextTypeByName(contextItem, contextName, true);
} else if (item instanceof JobletProcessItem) {
JobletProcessItem jobletProcessItem = (JobletProcessItem) item;
return ContextUtils.getContextTypeByName((List<ContextType>) jobletProcessItem.getJobletProcess().getContext(),
return ContextUtils.getContextTypeByName(jobletProcessItem.getJobletProcess().getContext(),
contextName, jobletProcessItem.getJobletProcess().getDefaultContext());
} else if (item instanceof ProcessItem) {
ProcessItem processItem = (ProcessItem) item;
return ContextUtils.getContextTypeByName((List<ContextType>) processItem.getProcess().getContext(), contextName,
return ContextUtils.getContextTypeByName(processItem.getProcess().getContext(), contextName,
processItem.getProcess().getDefaultContext());
}
return null;
@@ -1134,5 +1134,31 @@ public class ContextUtils {
}
return list;
}
public static IContext convert2IContext(ContextType contextType) {
return convert2IContext(contextType, null);
}
public static IContext convert2IContext(ContextType contextType, String repositoryContextId) {
if (contextType == null) {
return null;
}
IContext jobContext = new JobContext(contextType.getName());
List<ContextParameterType> repoParams = contextType.getContextParameter();
for (ContextParameterType repoParam : repoParams) {
IContextParameter jobParam = new JobContextParameter();
jobParam.setName(repoParam.getName());
jobParam.setContext(jobContext);
jobParam.setComment(repoParam.getComment());
jobParam.setPrompt(repoParam.getPrompt());
jobParam.setPromptNeeded(repoParam.isPromptNeeded());
jobParam.setSource(repositoryContextId != null ? repositoryContextId : repoParam.getRepositoryContextId());
jobParam.setType(repoParam.getType());
jobParam.setValue(repoParam.getValue());
jobParam.setInternalId(repoParam.getInternalId());
jobContext.getContextParameterList().add(jobParam);
}
return jobContext;
}
}

View File

@@ -16,7 +16,9 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.pendo.PendoTrackSender;
import org.talend.core.runtime.i18n.Messages;
import org.talend.repository.model.RepositoryConstants;
import org.talend.utils.json.JSONException;
@@ -215,7 +217,15 @@ public class ConnectionBean implements Cloneable {
public String getUser() {
try {
if (conDetails.has(USER)) {
return conDetails.getString(USER);
String user = conDetails.getString(USER);
if (isToken()) {
String url = getDynamicFields().get(RepositoryConstants.REPOSITORY_URL);
user = PendoTrackSender.getInstance().getTmcUser(url, getPassword());
if (StringUtils.isNotBlank(user)) {
setUser(user);
}
}
return user;
}
} catch (JSONException e) {
ExceptionHandler.process(e);

View File

@@ -0,0 +1,42 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.model.general;
import java.util.HashSet;
import java.util.Set;
public class RetrieveResult {
private boolean allResolved;
private Set<ModuleNeeded> resovledModules = new HashSet<>();
private Set<ModuleNeeded> unresolvedModules = new HashSet<>();
public boolean isAllResolved() {
return allResolved;
}
public void setAllResolved(boolean allResolved) {
this.allResolved = allResolved;
}
public Set<ModuleNeeded> getResovledModules() {
return resovledModules;
}
public Set<ModuleNeeded> getUnresolvedModules() {
return unresolvedModules;
}
}

View File

@@ -71,6 +71,8 @@ public interface IMetadataTable {
public boolean sameMetadataAs(IMetadataTable other, int options, boolean order);
public boolean sameMetadataAs(List<IMetadataColumn> otherMetadataTableColumns, int options, boolean order);
public void sortCustomColumns();
public boolean isReadOnly();

View File

@@ -257,8 +257,13 @@ public class MetadataTable implements IMetadataTable, Cloneable {
if (!(input instanceof IMetadataTable)) {
return false;
}
List<IMetadataColumn> thisColumnListWithUnselected = this.getListColumns(true);
List<IMetadataColumn> inputColumnListWithUnselected = input.getListColumns(true);
return sameMetadataAs(inputColumnListWithUnselected, options, order);
}
@Override
public boolean sameMetadataAs(List<IMetadataColumn> inputColumnListWithUnselected, int options, boolean order) {
List<IMetadataColumn> thisColumnListWithUnselected = this.getListColumns(true);
if (thisColumnListWithUnselected == null) {
if (inputColumnListWithUnselected != null) {
return false;
@@ -300,9 +305,6 @@ public class MetadataTable implements IMetadataTable, Cloneable {
// no matter if this one is custom or not (all custom must be propagated too)
for (int i = 0; i < inputColumnListWithUnselected.size(); i++) {
IMetadataColumn inputColumn = inputColumnListWithUnselected.get(i);
if(inputColumn.isCustom()) {
continue;
}
IMetadataColumn myColumn = this.getColumn(inputColumn.getLabel());
outputColumnsNotTested.remove(myColumn);
if (!inputColumn.sameMetacolumnAs(myColumn, options)) {

View File

@@ -16,6 +16,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -24,18 +25,20 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.runtime.CoreException;
@@ -46,9 +49,9 @@ import org.eclipse.core.runtime.Platform;
import org.osgi.framework.Bundle;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.SystemException;
import org.talend.commons.runtime.xml.XmlUtil;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.commons.utils.workbench.resources.ResourceUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ICoreService;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
@@ -59,6 +62,8 @@ import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.runtime.i18n.Messages;
import org.talend.core.utils.TalendQuoteUtils;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.RepositoryConstants;
import org.talend.utils.json.JSONObject;
import org.talend.utils.xml.XmlUtils;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
@@ -75,14 +80,13 @@ import org.xml.sax.SAXException;
*/
public final class MetadataTalendType {
/**
*
*/
public static final String INTERNAL_MAPPINGS_FOLDER = "mappings"; //$NON-NLS-1$
public static final String PROJECT_MAPPING_FOLDER = ".settings/mappings"; //$NON-NLS-1$
public static final String UPDATED_MAPPING_FILES = "updated.mapping.files"; //$NON-NLS-1$
public static final String FILE_MAPPING_REVISION = "mapping_revision.json"; //$NON-NLS-1$
public static final String MAPPING_FILE_PATTERN = "^mapping_.*\\.xml$"; //$NON-NLS-1$
private static ECodeLanguage codeLanguage;
@@ -459,13 +463,14 @@ public final class MetadataTalendType {
return list;
}
public static URL getSystemForderURLOfMappingsFile() throws SystemException {
public static URL getSystemFolderURLOfMappingsFile() throws SystemException {
String dirPath = "/" + INTERNAL_MAPPINGS_FOLDER; //$NON-NLS-1$
URL url = null;
Path filePath = new Path(dirPath);
Bundle b = Platform.getBundle(CoreRuntimePlugin.PLUGIN_ID);
if (b != null) {
try {
// Enumeration<URL> entries = b.findEntries(dirPath, "mapping_*.xml", false);
url = FileLocator.toFileURL(FileLocator.find(b, filePath, null));
} catch (IOException e) {
throw new SystemException(e);
@@ -474,46 +479,169 @@ public final class MetadataTalendType {
return url;
}
public static URL getProjectForderURLOfMappingsFile() throws SystemException {
public static URL getProjectFolderURLOfMappingsFile() throws SystemException {
try {
String dirPath = "/" + INTERNAL_MAPPINGS_FOLDER; //$NON-NLS-1$
IProject project = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IPath settingPath = new ProjectScope(project).getLocation();
IPath mappingPath = settingPath.append(dirPath);
File mappingFolder = mappingPath.toFile();
if (!mappingFolder.exists() || mappingFolder.listFiles().length < 1) {
ICoreService service = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreService.class)) {
service = GlobalServiceRegister.getDefault().getService(ICoreService.class);
service.syncMappingsFileFromSystemToProject();
}
}
return mappingFolder.toURL();
File mappingFolder = settingPath.append(dirPath).toFile();
return mappingFolder.toURI().toURL();
} catch (Exception e) {
throw new SystemException(e);
}
}
private static String getSha1OfFile(File file) {
String sha1 = null;
FileInputStream fileInputStream = null;
public static URL getProjectTempMappingFolder() {
try {
fileInputStream = new FileInputStream(file);
sha1 = DigestUtils.shaHex(fileInputStream);
IProject project = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
File folder = ResourceUtils
.getFolder(project, RepositoryConstants.TEMP_DIRECTORY + "/" + INTERNAL_MAPPINGS_FOLDER, false).getLocation()
.toFile();
syncMappingFiles(folder, false);
return folder.toURI().toURL();
} catch (Exception e) {
ExceptionHandler.process(e);
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace(); // Just print the exception for debug.
return null;
}
}
public static void syncMappingFiles(File target, boolean rename) {
if (!target.exists()) {
target.mkdir();
}
File[] arr = target.listFiles(f -> f.getName().matches(MAPPING_FILE_PATTERN));
if (arr == null) {
arr = new File[0];
}
try {
Map<String, File> targetFileMap = Stream.of(arr).collect(Collectors.toMap(File::getName, Function.identity()));
Map<String, File> workingFileMap = getWorkingMappingFiles().stream()
.collect(Collectors.toMap(f -> getTargetName(f, rename), Function.identity(), (f1, f2) -> f1));
targetFileMap.entrySet().stream().filter(entry -> !workingFileMap.containsKey(entry.getKey()))
.forEach(entry -> entry.getValue().delete());
for (Entry<String, File> entry : workingFileMap.entrySet()) {
String targetName = entry.getKey();
File workingMappingFile = entry.getValue();
boolean needUpdate = false;
File targetMappingFile = targetFileMap.get(targetName);
if (targetMappingFile == null) {
targetMappingFile = new File(target, targetName);
needUpdate = true;
} else if (!getSha1OfFile(workingMappingFile).equals(getSha1OfFile(targetMappingFile))) {
needUpdate = true;
}
if (needUpdate) {
if (targetMappingFile.exists()) {
targetMappingFile.delete();
}
FilesUtils.copyFile(workingMappingFile, targetMappingFile);
}
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
return sha1;
}
public static String getTargetName(File file, boolean rename) {
String targetName = file.getName();
if (!rename) {
return targetName;
}
try {
DocumentBuilderFactory documentBuilderFactory = XmlUtils.getSecureDocumentBuilderFactory();
DocumentBuilder analyser = documentBuilderFactory.newDocumentBuilder();
Document document = analyser.parse(file);
NodeList dbmsNodes = document.getElementsByTagName("dbms"); //$NON-NLS-1$
String dbmsIdValue = "";
for (int iDbms = 0; iDbms < dbmsNodes.getLength(); iDbms++) {
Node dbmsNode = dbmsNodes.item(iDbms);
NamedNodeMap dbmsAttributes = dbmsNode.getAttributes();
dbmsIdValue = dbmsAttributes.getNamedItem("id").getNodeValue(); //$NON-NLS-1$
}
if (dbmsIdValue != null && !"".equals(dbmsIdValue)) {
final String[] fileNameSplit = targetName.split("_");
String idA = "_id";
String idB = "id_";
final int indexA = dbmsIdValue.indexOf(idA);
final int indexB = dbmsIdValue.indexOf(idB);
String secondeName = "";
if (indexA > 0) {
secondeName = dbmsIdValue.substring(0, dbmsIdValue.length() - idA.length());
} else if (indexB == 0) {
secondeName = dbmsIdValue.substring(idB.length(), dbmsIdValue.length());
} else if (indexA == -1 && indexB == -1) {
secondeName = dbmsIdValue;
}
if (secondeName != null && !"".equals(secondeName)) {
targetName = fileNameSplit[0] + "_" + secondeName.toLowerCase() + XmlUtil.FILE_XML_SUFFIX;
}
}
} catch (ParserConfigurationException e) {
ExceptionHandler.process(e);
} catch (SAXException e) {
ExceptionHandler.process(e);
} catch (IOException e) {
ExceptionHandler.process(e);
}
return targetName;
}
public static JSONObject getRevisionObject() {
try {
File revisonFile = new File(MetadataTalendType.getSystemFolderURLOfMappingsFile().getFile(),
MetadataTalendType.FILE_MAPPING_REVISION);
String jsonStr = new String(Files.readAllBytes(revisonFile.toPath()));
return new JSONObject(jsonStr);
} catch (Exception e) {
ExceptionHandler.process(e);
}
return new JSONObject();
}
public static boolean restoreMappingFiles() throws Exception {
List<File> toDelete = new ArrayList<>();
JSONObject revision = getRevisionObject();
File projectMappingFolder = new File(getProjectFolderURLOfMappingsFile().getFile());
if (projectMappingFolder.exists()) {
File[] projectMappingFiles = projectMappingFolder.listFiles(f -> f.getName().matches(MAPPING_FILE_PATTERN));
if (projectMappingFiles != null) {
for (File file : projectMappingFiles) {
if (revision.has(file.getName())) {
String sha1 = MetadataTalendType.getSha1OfFile(file);
if (revision.getJSONObject(file.getName()).has(sha1)) {
toDelete.add(file);
}
}
}
}
File xsd = new File(projectMappingFolder, "mapping_validate.xsd"); //$NON-NLS-1$
if (xsd.exists()) {
xsd.delete();
}
}
toDelete.forEach(File::delete);
return !toDelete.isEmpty();
}
public static String getSha1OfFile(File file) {
try {
String text = new String(Files.readAllBytes(file.toPath()));
return getSha1OfText(text);
} catch (IOException e) {
ExceptionHandler.process(e);
}
return null;
}
public static String getSha1OfText(String text) {
text = text.replace("\r\n", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
return DigestUtils.sha1Hex(text);
}
public static void copyFile(File in, IFile out) throws CoreException, IOException {
FileInputStream fis = new FileInputStream(in);
if (out.exists()) {
@@ -524,49 +652,6 @@ public final class MetadataTalendType {
fis.close();
}
public static void syncNewMappingFileToProject() throws SystemException {
try {
File sysMappingFiles = new File(MetadataTalendType.getSystemForderURLOfMappingsFile().getPath());
IFolder projectMappingFolder = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject())
.getFolder(MetadataTalendType.PROJECT_MAPPING_FOLDER);
File projectMappingFiles = new File(projectMappingFolder.getLocationURI());
if (!sysMappingFiles.exists() || !projectMappingFiles.exists()) {
return;
}
for (File sysMapping : sysMappingFiles.listFiles()) {
IFile projectMapping = projectMappingFolder.getFile(sysMapping.getName());
if (projectMapping.exists() && StringUtils.equals(sysMapping.getName(), "mapping_Greenplum.xml")) {
String sha1OfFile = DigestUtils.shaHex(projectMapping.getContents());
String shalOfOldSystem = "8431f19215dacb3caa126778ae695954552cce2a";
if (StringUtils.equals(sha1OfFile, shalOfOldSystem)) {
copyFile(sysMapping, projectMapping);
}
}
if (!projectMapping.exists()) {
FileInputStream fis = null;
try {
fis = new FileInputStream(sysMapping);
projectMapping.create(fis, true, null);
} catch (CoreException coreExc) {
throw new SystemException(coreExc);
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException ioExc) {
throw new SystemException(ioExc);
}
}
}
}
}
} catch (Exception e) {
throw new SystemException(e);
}
}
/**
*
* Load db types and mapping with the current activated language (Java, Perl, ...).
@@ -574,20 +659,38 @@ public final class MetadataTalendType {
* @throws SystemException
*/
public static void loadCommonMappings() throws SystemException {
URL url = getProjectForderURLOfMappingsFile();
File dir = new File(url.getPath());
metadataMappingFiles = new ArrayList<File>();
dbmsSet.clear();
if (dir.isDirectory()) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.getName().matches("^mapping_.*\\.xml$")) { //$NON-NLS-1$
loadMapping(file);
metadataMappingFiles.add(file);
}
}
for (File file : getWorkingMappingFiles()) {
loadMapping(file);
metadataMappingFiles.add(file);
}
}
public static List<File> getWorkingMappingFiles() throws SystemException {
File projectMappingFolder = new File(getProjectFolderURLOfMappingsFile().getFile());
File[] projectMappingFiles = projectMappingFolder.listFiles(f -> f.getName().matches(MAPPING_FILE_PATTERN));
File systemMappingFolder = new File(getSystemFolderURLOfMappingsFile().getFile());
File[] systemMappingFiles = systemMappingFolder.listFiles(f -> f.getName().matches(MAPPING_FILE_PATTERN));
if (projectMappingFiles == null || projectMappingFiles.length == 0) {
return Arrays.asList(systemMappingFiles);
}
List<File> workingMappingFiles = new ArrayList<>();
Map<String, File> projectMappingFilesMap = Stream.of(projectMappingFiles)
.collect(Collectors.toMap(File::getName, Function.identity()));
workingMappingFiles.addAll(projectMappingFilesMap.values());
Stream.of(systemMappingFiles).filter(f -> !projectMappingFilesMap.containsKey(f.getName()))
.forEach(f -> workingMappingFiles.add(f));
return workingMappingFiles;
}
public static String getSha1OfSystemMappingFile(String fileName) {
try {
return getSha1OfFile(new File(getSystemFolderURLOfMappingsFile().getFile(), fileName));
} catch (SystemException e) {
ExceptionHandler.process(e);
return null;
}
}
private static void loadMapping(File file) throws SystemException {

View File

@@ -24,13 +24,13 @@ import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.eclipse.emf.common.util.EMap;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.runtime.model.components.IComponentConstants;
import org.talend.commons.utils.resource.FileExtensions;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ICoreService;
import org.talend.core.IRepositoryContextService;
import org.talend.core.database.EDatabase4DriverClassName;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.ERedshiftDriver;
import org.talend.core.database.conn.ConnParameterKeys;
import org.talend.core.database.conn.template.EDatabaseConnTemplate;
import org.talend.core.model.metadata.Dbms;
@@ -54,6 +54,7 @@ import org.talend.core.model.metadata.builder.connection.SAPBWTable;
import org.talend.core.prefs.SSLPreferenceConstants;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.utils.KeywordsValidator;
import org.talend.core.utils.TalendQuoteUtils;
import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.helper.SAPBWTableHelper;
import org.talend.cwm.helper.TaggedValueHelper;
@@ -61,6 +62,10 @@ import org.talend.cwm.relational.RelationalFactory;
import org.talend.model.bridge.ReponsitoryContextBridge;
import org.talend.repository.model.IProxyRepositoryFactory;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import orgomg.cwm.objectmodel.core.TaggedValue;
/**
@@ -223,8 +228,9 @@ public final class ConvertionHelper {
} else {
result.setDbType(connection.getDatabaseType());
}
String dbVersionString = getDriverVersionString(connection);
result.setDriverJarPath(connection.getDriverJarPath());
result.setDbVersionString(connection.getDbVersionString());
result.setDbVersionString(dbVersionString);
result.setDriverClass(connection.getDriverClass());
result.setFileFieldName(connection.getFileFieldName());
result.setId(connection.getId());
@@ -265,6 +271,23 @@ public final class ConvertionHelper {
}
private static String getDriverVersionString(DatabaseConnection dbConn) {
String dbVersionString = dbConn.getDbVersionString();
if (EDatabaseTypeName.REDSHIFT.getDisplayName().equals(dbConn.getDatabaseType())
|| EDatabaseTypeName.REDSHIFT_SSO.getDisplayName().equals(dbConn.getDatabaseType())) {
EMap<String, String> parameters = dbConn.getParameters();
if (parameters != null) {
String driverString = parameters.get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_DRIVER);
if (StringUtils.isNotBlank(driverString)) {
dbVersionString = driverString;
} else {
dbVersionString = ERedshiftDriver.DRIVER_V1.name();
}
}
}
return dbVersionString;
}
/**
* Copies other parameters from <code>DatabaseConnection</code> to <code>IMetadataConnection</code>. Added by Marvin
* Wang on Aug.8, 2012.
@@ -705,6 +728,26 @@ public final class ConvertionHelper {
origValueConn.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_SSL_KEY_STORE_PASSWORD), false));
}
}
} else if (EDatabaseTypeName.REDSHIFT.getDisplayName().equals(origValueConn.getDatabaseType())
|| EDatabaseTypeName.REDSHIFT_SSO.getDisplayName().equals(origValueConn.getDatabaseType())) {
Properties info = new Properties();
EMap<String, String> parameters = origValueConn.getParameters();
if (parameters != null
&& ERedshiftDriver.DRIVER_V2.name().equals(parameters.get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_DRIVER))
&& !Boolean.valueOf(parameters.get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_STRINGPARA))) {
additionParamStr = "";
String tableValue = parameters.get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_PARATABLE);
if (StringUtils.isNotBlank(tableValue)) {
List<Map<String, Object>> entryProperties = getEntryProperties(tableValue);
for (Map<String, Object> entryMap : entryProperties) {
String key = TalendQuoteUtils.removeQuotes(String.valueOf(entryMap.get("KEY")));
if (StringUtils.isNotBlank(key)) {
String value = TalendQuoteUtils.removeQuotes(String.valueOf(entryMap.get("VALUE")));
updateAdditionParam(sgb, info, key, value);
}
}
}
}
}
return additionParamStr + sgb.toString();
}
@@ -714,4 +757,27 @@ public final class ConvertionHelper {
sgb.append("&").append(key).append("=").append(value);//$NON-NLS-1$ //$NON-NLS-2$
}
}
public static List<Map<String, Object>> getEntryProperties(String paramString) {
List<Map<String, Object>> tableProperties = new ArrayList<Map<String, Object>>();
try {
ObjectMapper objectMapper = new ObjectMapper();
tableProperties = objectMapper.readValue(paramString, new TypeReference<List<Map<String, Object>>>() {
});
} catch (Exception e) {
ExceptionHandler.process(e);
}
return tableProperties;
}
public static String getEntryPropertiesString(List<Map<String, Object>> entryProperties) {
String entryString = "";
try {
ObjectMapper objectMapper = new ObjectMapper();
entryString = objectMapper.writeValueAsString(entryProperties);
} catch (JsonProcessingException e) {
ExceptionHandler.process(e);
}
return entryString;
}
}

View File

@@ -489,6 +489,11 @@ public class ComponentToRepositoryProperty {
}
}
else if (EDatabaseTypeName.REDSHIFT_SSO.getDbType().equals((String) parameter.getValue())) {
connection.setProductId(EDatabaseTypeName.REDSHIFT_SSO.getProduct());
connection.setDatabaseType(EDatabaseTypeName.REDSHIFT_SSO.getDisplayName());
}
// NeTezza
else if (EDatabaseTypeName.NETEZZA.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.NETEZZA.getDisplayName());
@@ -664,6 +669,26 @@ public class ComponentToRepositoryProperty {
connection.setAdditionalParams(value);
}
}
if ("USE_STRING_PROPERTIES".equals(param.getRepositoryValue())) {
String value = getParameterValue(connection, node, param);
if (value != null) {
connection.getParameters().put(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_STRINGPARA, value);
}
}
if ("DRIVER_VERSION".equals(param.getRepositoryValue())) {
String value = getParameterValue(connection, node, param);
if (value != null) {
connection.getParameters().put(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_DRIVER, value);
}
}
if ("ENTRY_PROPERTIES".equals(param.getRepositoryValue())) {
Object value = param.getValue();
if (value instanceof List) {
List<Map<String, Object>> entryProperties = (List<Map<String, Object>>) value;
connection.getParameters().put(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_PARATABLE,
ConvertionHelper.getEntryPropertiesString(entryProperties));
}
}
if ("FILE".equals(param.getRepositoryValue())) { //$NON-NLS-1$
String value = getParameterValue(connection, node, param);
if (value != null) {

View File

@@ -29,6 +29,7 @@ import org.talend.commons.ui.utils.PathUtils;
import org.talend.components.api.properties.ComponentProperties;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.ERedshiftDriver;
import org.talend.core.database.conn.ConnParameterKeys;
import org.talend.core.database.conn.template.EDatabaseConnTemplate;
import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
@@ -43,6 +44,7 @@ import org.talend.core.model.metadata.MappingType;
import org.talend.core.model.metadata.MetadataTalendType;
import org.talend.core.model.metadata.MetadataToolHelper;
import org.talend.core.model.metadata.MultiSchemasUtil;
import org.talend.core.model.metadata.builder.ConvertionHelper;
import org.talend.core.model.metadata.builder.connection.AdditionalConnectionProperty;
import org.talend.core.model.metadata.builder.connection.BRMSConnection;
import org.talend.core.model.metadata.builder.connection.Concept;
@@ -1039,6 +1041,26 @@ public class RepositoryToComponentProperty {
if (value.equals("PROPERTIES_STRING")) { //$NON-NLS-1$
return getAppropriateValue(connection, connection.getAdditionalParams());
}
if (value.equals("USE_STRING_PROPERTIES")) {
return Boolean.valueOf(connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_STRINGPARA));
}
if (value.equals("ENTRY_PROPERTIES")) {
List<Map<String, Object>> tableProperties = new ArrayList<Map<String, Object>>();
String propertiesInfo = connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_PARATABLE);
if (org.apache.commons.lang.StringUtils.isNotBlank(propertiesInfo)) {
tableProperties = ConvertionHelper
.getEntryProperties(connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_PARATABLE));
}
return tableProperties;
}
if (value.equals("DRIVER_VERSION")) {
String driverVersion = connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_REDSHIFT_DRIVER);
if (org.apache.commons.lang.StringUtils.isBlank(driverVersion)) {
driverVersion = ERedshiftDriver.DRIVER_V1.name();
}
return driverVersion;
}
if (value.equals("DRIVER")) { //$NON-NLS-1$
String dbVersionString = connection.getDbVersionString();
if (dbVersionString != null && EDatabaseConnTemplate.MSSQL.getDBDisplayName().equals(databaseType)) {

View File

@@ -1084,6 +1084,7 @@ public abstract class AbstractNode implements INode {
@Override
public void setLabel(String label) {
// TODO Auto-generated method stub
this.label = label;
}

View File

@@ -98,6 +98,7 @@ public enum EParameterFieldType {
HADOOP_LIBRARIES,
DATA_PREP_ID, // wchen added for TDI-33791
DP_VERSION, // hwang added for TUP-16686
TDS_VERSION, // zshen added for TDQ-19814
FETCH_SCHEMA, // TDI-33791
DATA_SET_ID,

View File

@@ -0,0 +1,86 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.model.process;
import java.util.Objects;
import org.apache.commons.lang.StringUtils;
/**
* DOC jding class global comment. Detailled comment
*/
public class ElementParameterValueModel {
private String label;
private String value;
/**
* Getter for lebel.
*
* @return the lebel
*/
public String getLabel() {
return label;
}
/**
* Sets the lebel.
*
* @param lebel the lebel to set
*/
public void setLabel(String label) {
this.label = label;
}
/**
* Getter for value.
*
* @return the value
*/
public String getValue() {
return value;
}
/**
* Sets the value.
*
* @param value the value to set
*/
public void setValue(String value) {
this.value = value;
}
@Override
public String toString() {
return StringUtils.isNotBlank(this.label) ? this.label : this.value;
}
@Override
public int hashCode() {
return Objects.hash(label, value);
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ElementParameterValueModel other = (ElementParameterValueModel) obj;
return Objects.equals(label, other.label) && Objects.equals(value, other.value);
}
}

View File

@@ -58,6 +58,11 @@ public interface IProcess extends IElement {
public static final String SCREEN_OFFSET_Y = "SCREEN_OFFSET_Y"; //$NON-NLS-1$
public static final String PROP_ERR_ON_COMPONENT_MISSING = "error.on.component.missing";
public static final boolean ERR_ON_COMPONENT_MISSING = Boolean
.valueOf(System.getProperty(PROP_ERR_ON_COMPONENT_MISSING, Boolean.TRUE.toString()));
public String getName();
public String getId();

View File

@@ -1086,6 +1086,18 @@ public final class ProcessUtils {
}
}
}
if ("cHttp".equals(node.getComponentName())) {
for (Object elementParameter : node.getElementParameter()) {
ElementParameterType elementParameterType = (ElementParameterType)elementParameter;
String name = elementParameterType.getName();
String value = elementParameterType.getValue();
if ("SERVER".equals(name) && (value != null && "true".equals(value.toString()))) {
return true;
}
}
}
}
return false;

View File

@@ -571,8 +571,11 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
*/
public final static ERepositoryObjectType PROCESS_SPARKSTREAMING = ERepositoryObjectType.valueOf("PROCESS_SPARKSTREAMING");
public final static ERepositoryObjectType METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT = ERepositoryObjectType
.valueOf("METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT"); //$NON-NLS-1$
public final static ERepositoryObjectType METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_INPUT = ERepositoryObjectType
.valueOf("METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_INPUT"); //$NON-NLS-1$
public final static ERepositoryObjectType METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_OUTPUT = ERepositoryObjectType
.valueOf("METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_OUTPUT"); //$NON-NLS-1$
public final static ERepositoryObjectType METADATA_SAP_BW_DATASOURCE = ERepositoryObjectType
.valueOf("METADATA_SAP_BW_DATASOURCE"); //$NON-NLS-1$
@@ -919,7 +922,7 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
} else if (type.getType().equals("TEST_CONTAINER")) {
return "test case";
} else if (GlobalServiceRegister.getDefault().isServiceRegistered(ICamelDesignerCoreService.class)) {
ICamelDesignerCoreService camelService = (ICamelDesignerCoreService) GlobalServiceRegister.getDefault()
ICamelDesignerCoreService camelService = GlobalServiceRegister.getDefault()
.getService(ICamelDesignerCoreService.class);
String deleteFolderName = camelService.getDeleteFolderName(type);
if (deleteFolderName != null) {
@@ -1465,7 +1468,7 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
allTypes.add(ERepositoryObjectType.SPARK_STREAMING_JOBLET);
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
IESBService esbService = (IESBService) GlobalServiceRegister.getDefault().getService(IESBService.class);
IESBService esbService = GlobalServiceRegister.getDefault().getService(IESBService.class);
ERepositoryObjectType serviceType = esbService.getServicesType();
if (serviceType != null) {
allTypes.add(serviceType);

View File

@@ -22,6 +22,7 @@ import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.jobs.Job;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.PersistenceException;
import org.talend.commons.exception.SystemException;
@@ -51,6 +52,8 @@ import org.talend.repository.model.IProxyRepositoryFactory;
*/
public final class RoutinesUtil {
private static Job syncCodesjob;
private RoutinesUtil() {
}
@@ -304,7 +307,7 @@ public final class RoutinesUtil {
}
ICodeGeneratorService codegenService = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICodeGeneratorService.class)) {
codegenService = (ICodeGeneratorService) GlobalServiceRegister.getDefault().getService(ICodeGeneratorService.class);
codegenService = GlobalServiceRegister.getDefault().getService(ICodeGeneratorService.class);
}
if (codegenService == null) {
return errorItems;
@@ -328,7 +331,7 @@ public final class RoutinesUtil {
return;
}
if (synchronizer == null && GlobalServiceRegister.getDefault().isServiceRegistered(ICodeGeneratorService.class)) {
ICodeGeneratorService codegenService = (ICodeGeneratorService) GlobalServiceRegister.getDefault().getService(
ICodeGeneratorService codegenService = GlobalServiceRegister.getDefault().getService(
ICodeGeneratorService.class);
synchronizer = codegenService.createRoutineSynchronizer();
}
@@ -409,4 +412,12 @@ public final class RoutinesUtil {
return routinesParameters;
}
public static Job getSyncCodesjob() {
return syncCodesjob;
}
public static void setSyncCodesjob(Job syncCodesjob) {
RoutinesUtil.syncCodesjob = syncCodesjob;
}
}

View File

@@ -0,0 +1,52 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.model.update;
import java.util.Date;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface IStudioUpdateConfig {
Boolean isEnabled();
IStudioUpdate getStudioUpdate();
public interface IStudioUpdate {
String getName();
String getStudioVersion();
Date getReleaseDate();
Date getApprovedDate();
String getInfoUrl();
String getBaseUrl();
String getUpdateUrl();
String getApprovedBy();
String getApprovedName();
String getProjectId();
Boolean isCustom();
}
}

View File

@@ -2023,8 +2023,8 @@ public abstract class RepositoryUpdateManager {
};
repositoryUpdateManager.checkAddContextGroup = detectAddContextGroup;
repositoryUpdateManager.isConfigContextGroup = repositoryContextManager.isConfigContextGroup();
if (repositoryContextManager != null) {
repositoryUpdateManager.isConfigContextGroup = repositoryContextManager.isConfigContextGroup();
// add for bug 9119 context group
Map<ContextItem, List<IContext>> repositoryContextGroupMap = new HashMap<ContextItem, List<IContext>>();
List<IContext> addGroupContext = repositoryContextManager.getAddGroupContext();

View File

@@ -0,0 +1,169 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.model.update;
import java.util.Date;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class StudioUpdateConfig implements IStudioUpdateConfig {
private Boolean enabled;
private IStudioUpdate studioUpdate;
@Override
public Boolean isEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
@Override
public IStudioUpdate getStudioUpdate() {
return studioUpdate;
}
public void setStudioUpdate(IStudioUpdate studioUpdate) {
this.studioUpdate = studioUpdate;
}
public static class StudioUpdate implements IStudioUpdate {
private String name;
private String studioVersion;
private String updateUrl;
private Date releaseDate;
private String infoUrl;
private String baseUrl;
private String approvedBy;
private String approvedName;
private Date approvedDate;
private String projectId;
private Boolean custom;
@Override
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String getStudioVersion() {
return studioVersion;
}
public void setStudioVersion(String studioVersion) {
this.studioVersion = studioVersion;
}
@Override
public String getUpdateUrl() {
return updateUrl;
}
public void setUpdateUrl(String updateUrl) {
this.updateUrl = updateUrl;
}
@Override
public Date getReleaseDate() {
return releaseDate;
}
public void setReleaseDate(Date releaseDate) {
this.releaseDate = releaseDate;
}
@Override
public String getInfoUrl() {
return infoUrl;
}
public void setInfoUrl(String infoUrl) {
this.infoUrl = infoUrl;
}
@Override
public String getBaseUrl() {
return baseUrl;
}
public void setBaseUrl(String baseUrl) {
this.baseUrl = baseUrl;
}
@Override
public String getApprovedBy() {
return approvedBy;
}
public void setApprovedBy(String approvedBy) {
this.approvedBy = approvedBy;
}
@Override
public String getApprovedName() {
return approvedName;
}
public void setApprovedName(String approvedName) {
this.approvedName = approvedName;
}
@Override
public Date getApprovedDate() {
return approvedDate;
}
public void setApprovedDate(Date approvedDate) {
this.approvedDate = approvedDate;
}
@Override
public String getProjectId() {
return projectId;
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
@Override
public Boolean isCustom() {
return custom;
}
public void setCustom(Boolean custom) {
this.custom = custom;
}
}
}

View File

@@ -310,8 +310,8 @@ public enum UpdateManagerProviderDetector {
Item item = node.getObject().getProperty().getItem();
List<Relation> allRelations = new ArrayList<Relation>();
if (node.getObject() != null) {
List<Relation> relations = RelationshipItemBuilder.getInstance().getItemsRelatedTo(item.getProperty().getId(),
RelationshipItemBuilder.LATEST_VERSION, RelationshipItemBuilder.PROPERTY_RELATION);
List<Relation> relations = RelationshipItemBuilder.getInstance().getItemsHaveRelationWith(item.getProperty().getId(),
RelationshipItemBuilder.LATEST_VERSION);
if (relations != null && relations.size() > 0) {
allRelations.addAll(relations);
}

View File

@@ -27,6 +27,7 @@ import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.text.StringEscapeUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.components.ComponentCategory;
import org.talend.core.model.components.IComponent;
@@ -1522,4 +1523,14 @@ public class NodeUtil {
}
return isDatabaseFamily;
}
public static String getLabel(INode node) {
String label = node.getLabel();
if (label == null) {
label = node.getUniqueName();
} else {
label = StringEscapeUtils.escapeJava(label);
}
return label;
}
}

View File

@@ -56,19 +56,20 @@ public final class RepositoryManagerHelper {
if (CommonsPlugin.isHeadless()) {
return null;
}
IViewPart part = null;
IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (activeWorkbenchWindow != null) {
// bug 16594
IWorkbenchPage page = activeWorkbenchWindow.getActivePage();
if (page != null) {
part = page.findView(IRepositoryView.VIEW_ID);
if (part != null) {
return (IRepositoryView) part;
} else {
part = page.findView(IRepositoryView.MAPPER_VIEW_ID);
if (PlatformUI.isWorkbenchRunning()) {
IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (activeWorkbenchWindow != null) {
// bug 16594
IWorkbenchPage page = activeWorkbenchWindow.getActivePage();
if (page != null) {
IViewPart part = page.findView(IRepositoryView.VIEW_ID);
if (part != null) {
return (IRepositoryView) part;
} else {
part = page.findView(IRepositoryView.MAPPER_VIEW_ID);
if (part != null) {
return (IRepositoryView) part;
}
}
}
}

View File

@@ -0,0 +1,179 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.VersionUtils;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.ProjectReference;
import org.talend.core.pendo.properties.IPendoDataProperties;
import org.talend.core.pendo.properties.PendoLoginProperties;
import org.talend.core.service.IStudioLiteP2Service;
import org.talend.core.ui.IInstalledPatchService;
import org.talend.repository.ProjectManager;
import org.talend.utils.json.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoTrackDataUtil {
private static final String FEATURE_PREFIX = "org.talend.lite.";
private static final String FEATURE_TAIL = ".feature.feature.group";
public static String generateTrackData(String pendoInfo, TrackEvent event, IPendoDataProperties properties) throws Exception {
JSONObject infoJson = new JSONObject(pendoInfo);
String visitorId = ((JSONObject) infoJson.get("visitor")).getString("id");
String accountId = ((JSONObject) infoJson.get("account")).getString("id");
PendoEventEntity entity = new PendoEventEntity();
entity.setType("track");
entity.setEvent(event.getEvent());
entity.setVisitorId(visitorId);
entity.setAccountId(accountId);
entity.setTimestamp(new Date().getTime());
entity.setProperties(properties);
ObjectMapper mapper = new ObjectMapper();
String content = mapper.writeValueAsString(entity);
return content;
}
public static IPendoDataProperties getLoginEventProperties() {
String studioPatch = null;
IInstalledPatchService installedPatchService = IInstalledPatchService.get();
if (installedPatchService != null) {
studioPatch = installedPatchService.getLatestInstalledPatchVersion();
}
PendoLoginProperties loginEvent = new PendoLoginProperties();
IStudioLiteP2Service studioLiteP2Service = IStudioLiteP2Service.get();
try {
if (studioLiteP2Service != null) {
List<String> enabledFeatures = new ArrayList<String>();
List<String> enabledFeaturesList = studioLiteP2Service.getCurrentProjectEnabledFeatures();
enabledFeaturesList.stream().forEach(feature -> {
String result = feature;
if (result.startsWith(FEATURE_PREFIX)) {
result = result.substring(FEATURE_PREFIX.toCharArray().length);
}
if (result.endsWith(FEATURE_TAIL)) {
result = result.substring(0, result.lastIndexOf(FEATURE_TAIL));
}
enabledFeatures.add(result);
});
loginEvent.setEnabledFeatures(enabledFeatures);
}
setUpRefProjectsStructure(loginEvent);
} catch (Exception e) {
ExceptionHandler.process(e);
}
loginEvent.setStudioVersion(VersionUtils.getInternalMajorVersion());
loginEvent.setStudioPatch(studioPatch);
return loginEvent;
}
private static void setUpRefProjectsStructure(PendoLoginProperties loginEvent) {
ProjectManager projectManager = ProjectManager.getInstance();
Project currentProject = projectManager.getCurrentProject();
Map<String, Project> teclabelProjectMap = new HashMap<String, Project>();
List<Project> allReferencedProjects = projectManager.getAllReferencedProjects();
allReferencedProjects.forEach(refProject -> {
String technicalLabel = refProject.getTechnicalLabel();
if (StringUtils.isNotBlank(technicalLabel)) {
teclabelProjectMap.put(technicalLabel, refProject);
}
});
int[] refCount = new int[] {0};
List<String> resultList = new ArrayList<String>();
Map<String, String> desensitiveLabelMap = new HashMap<String, String>();
findReferencePorjectPath(currentProject, "Main", resultList, refCount, desensitiveLabelMap, teclabelProjectMap);
loginEvent.setRefProjectList(resultList);
loginEvent.setRefProjectCount(String.valueOf(desensitiveLabelMap.keySet().size()));
}
public static void findReferencePorjectPath(Project currentProject, String path, List<String> resultList, int[] refCount,
Map<String, String> desensitiveLabelMap, Map<String, Project> teclabelProjectMap) {
List<ProjectReference> projectReferenceList = currentProject.getProjectReferenceList();
for (ProjectReference projectReference : projectReferenceList) {
String structPath = path;
if (projectReference.getReferencedProject() == null) {
continue;
}
String technicalLabel = projectReference.getReferencedProject().getTechnicalLabel();
Project refProject = teclabelProjectMap.get(technicalLabel);
if (StringUtils.isBlank(technicalLabel) || refProject == null) {
continue;
}
String desensitiveLabel = desensitiveLabelMap.get(technicalLabel);
if (StringUtils.isBlank(desensitiveLabel)) {
refCount[0] = refCount[0] + 1;
desensitiveLabel = "Ref" + refCount[0];
desensitiveLabelMap.put(technicalLabel, desensitiveLabel);
}
structPath = structPath + "/" + desensitiveLabel;
resultList.add(structPath);
findReferencePorjectPath(refProject, structPath, resultList, refCount, desensitiveLabelMap, teclabelProjectMap);
}
}
public static String convertEntityJsonString(Object entity) {
ObjectMapper mapper = new ObjectMapper();
try {
String content = mapper.writeValueAsString(entity);
if (StringUtils.isNotBlank(content)) {
return content;
}
} catch (JsonProcessingException e) {
ExceptionHandler.process(e);
}
return "";
}
public enum TrackEvent {
PROJECT_LOGIN("Project Login"),
IMPORT_API_DEF("Import API Definition"),
UPDATE_API_DEF("Update API Definition"),
USE_API_DEF("Use API Definition"),
OPEN_IN_APIDesigner("Open in API Designer"),
OPEN_IN_APITester("Open in API Tester"),
OPEN_API_DOCUMENTATION("Open API Documentation"),
AUTOMAP("tMap Automap"),
TMAP("Studio tMap");
private String event;
TrackEvent(String event) {
this.event = event;
}
public String getEvent() {
return event;
}
}
}

View File

@@ -14,11 +14,9 @@ package org.talend.core.pendo;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -31,8 +29,7 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.apache.log4j.Level;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -40,25 +37,28 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.VersionUtils;
import org.talend.commons.utils.network.IProxySelectorProvider;
import org.talend.commons.utils.network.NetworkUtil;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.context.Context;
import org.talend.core.context.RepositoryContext;
import org.talend.core.nexus.HttpClientTransport;
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
import org.talend.core.pendo.properties.IPendoDataProperties;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.service.IRemoteService;
import org.talend.core.service.IStudioLiteP2Service;
import org.talend.core.ui.IInstalledPatchService;
import org.talend.repository.model.RepositoryConstants;
import org.talend.utils.json.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoTrackSender {
private static final String PROP_PENDO_LOCAL_CHECK = "talend.pendo.localDebug";
private static final String PROP_PENDO_LOG_DATA = "talend.pendo.logRuntimeData";
private static final String PREFIX_API = "api";
private static final String PENDO_INFO = "/monitoring/pendo/info";
@@ -71,33 +71,39 @@ public class PendoTrackSender {
private static final String HEAD_PENDO_KEY = "x-pendo-integration-key";
private static final String FEATURE_PREFIX = "org.talend.lite.";
private static final String FEATURE_TAIL = ".feature.feature.group";
private static PendoTrackSender instance;
private static String adminUrl;
private static String apiBaseUrl;
private static String pendoInfo;
public PendoTrackSender() {
}
public static PendoTrackSender getInstance() {
if (instance == null) {
instance = new PendoTrackSender();
}
if (StringUtils.isBlank(adminUrl)) {
adminUrl = getRepositoryContext().getFields().get(RepositoryConstants.REPOSITORY_URL);
RepositoryContext repositoryContext = getRepositoryContext();
if (repositoryContext != null) {
adminUrl = repositoryContext.getFields().get(RepositoryConstants.REPOSITORY_URL);
}
}
return instance;
}
public void sendToPendo() {
public void sendToPendo(TrackEvent event, IPendoDataProperties properties) {
Job job = new Job("send pendo track") {
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
sendTrackData();
if (isTrackSendAvailable()) {
sendTrackData(event, properties);
}
} catch (Exception e) {
// warning only
ExceptionHandler.process(e, Level.WARN);
@@ -110,13 +116,14 @@ public class PendoTrackSender {
job.schedule();
}
public void sendTrackData() throws Exception {
if (!checkTokenUsed(adminUrl) || !NetworkUtil.isNetworkValid()) {
public void sendTrackData(TrackEvent event, IPendoDataProperties properties) throws Exception {
if (isPendoLocalDebug()) {
ExceptionHandler.log(PendoTrackDataUtil.convertEntityJsonString(properties));
return;
}
CloseableHttpClient client = null;
DefaultHttpClient client = null;
CloseableHttpResponse response = null;
IProxySelectorProvider proxySelectorProvider = null;
try {
String pendoInfo = getPendoInfo();
if (StringUtils.isBlank(pendoInfo)) {
@@ -127,22 +134,31 @@ public class PendoTrackSender {
throw new Exception("Pendo key is empty");
}
client = HttpClients.createDefault();
client = new DefaultHttpClient();
String url = getBaseUrl() + PENDO_TRACK;
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader(HEAD_CONTENT_TYPE, ContentType.APPLICATION_JSON.getMimeType());
httpPost.setHeader(HEAD_PENDO_KEY, pendoKey);
proxySelectorProvider = HttpClientTransport.addProxy(client, new URI(url));
EntityBuilder entityBuilder = EntityBuilder.create();
entityBuilder.setText(generateTrackData(pendoInfo)).setContentType(ContentType.APPLICATION_JSON);
String trackData = PendoTrackDataUtil.generateTrackData(pendoInfo, event, properties);
entityBuilder.setText(trackData).setContentType(ContentType.APPLICATION_JSON);
HttpEntity entity = entityBuilder.build();
httpPost.setEntity(entity);
response = client.execute(httpPost, HttpClientContext.create());
StatusLine statusLine = response.getStatusLine();
String responseStr = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
if (isLogPendoData()) {
ExceptionHandler.log(trackData);
}
if (HttpURLConnection.HTTP_OK != statusLine.getStatusCode()) {
throw new Exception(statusLine.toString() + ", server message: [" + responseStr + "]");
}
} finally {
HttpClientTransport.removeProxy(proxySelectorProvider);
client.getConnectionManager().shutdown();
if (response != null) {
try {
response.close();
@@ -160,60 +176,41 @@ public class PendoTrackSender {
}
}
// TODO maybe we will have more event handler later
private String generateTrackData(String pendoInfo) throws Exception {
JSONObject infoJson = new JSONObject(pendoInfo);
String visitorId = ((JSONObject) infoJson.get("visitor")).getString("id");
String accountId = ((JSONObject) infoJson.get("account")).getString("id");
String studioPatch = null;
Date date = new Date();
IInstalledPatchService installedPatchService = IInstalledPatchService.get();
if (installedPatchService != null) {
studioPatch = installedPatchService.getLatestInstalledPatchVersion();
public boolean isTrackSendAvailable() throws Exception {
if (isPendoLocalDebug() || checkTokenUsed(adminUrl) && NetworkUtil.isNetworkValid()) {
return true;
}
List<String> enabledFeatures = new ArrayList<String>();
IStudioLiteP2Service studioLiteP2Service = IStudioLiteP2Service.get();
if (studioLiteP2Service != null) {
List<String> enabledFeaturesList = studioLiteP2Service.getCurrentProjectEnabledFeatures();
enabledFeaturesList.stream().forEach(feature -> {
String result = feature;
if (result.startsWith(FEATURE_PREFIX)) {
result = result.substring(FEATURE_PREFIX.toCharArray().length);
}
if (result.endsWith(FEATURE_TAIL)) {
result = result.substring(0, result.lastIndexOf(FEATURE_TAIL));
}
enabledFeatures.add(result);
});
}
PendoLoginProperties loginEvent = new PendoLoginProperties();
loginEvent.setStudioVersion(VersionUtils.getInternalMajorVersion());
loginEvent.setStudioPatch(studioPatch);
loginEvent.setEnabledFeatures(enabledFeatures);
return false;
}
PendoEventEntity entity = new PendoEventEntity();
entity.setType("track");
entity.setEvent("Project Login");
entity.setVisitorId(visitorId);
entity.setAccountId(accountId);
entity.setTimestamp(date.getTime());
entity.setProperties(loginEvent);
public boolean isPendoLocalDebug() {
return Boolean.TRUE.toString().equals(System.getProperty(PROP_PENDO_LOCAL_CHECK));
}
ObjectMapper mapper = new ObjectMapper();
String content = mapper.writeValueAsString(entity);
return content;
public boolean isLogPendoData() {
return Boolean.TRUE.toString().equals(System.getProperty(PROP_PENDO_LOG_DATA));
}
private String getPendoInfo() throws Exception {
CloseableHttpClient client = null;
if (StringUtils.isBlank(pendoInfo)) {
pendoInfo = getPendoInfo(getBaseUrl(), getToken());
}
return pendoInfo;
}
private String getPendoInfo(String baseUrl, String token) throws Exception {
DefaultHttpClient client = null;
CloseableHttpResponse response = null;
IProxySelectorProvider proxySelectorProvider = null;
try {
client = HttpClients.createDefault();
String url = getBaseUrl() + PENDO_INFO;
client = new DefaultHttpClient();
String url = baseUrl + PENDO_INFO;
HttpGet httpGet = new HttpGet(url);
httpGet.setHeader(HEAD_AUTHORIZATION, "Bearer " + getToken());
httpGet.setHeader(HEAD_AUTHORIZATION, "Bearer " + token);
proxySelectorProvider = HttpClientTransport.addProxy(client, new URI(url));
response = client.execute(httpGet, HttpClientContext.create());
StatusLine statusLine = response.getStatusLine();
String responseStr = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
@@ -222,6 +219,8 @@ public class PendoTrackSender {
}
return responseStr;
} finally {
HttpClientTransport.removeProxy(proxySelectorProvider);
client.getConnectionManager().shutdown();
if (response != null) {
try {
response.close();
@@ -248,7 +247,11 @@ public class PendoTrackSender {
}
public String getBaseUrl() throws Exception {
if (StringUtils.isNotBlank(apiBaseUrl)) {
return getBaseUrl(adminUrl, false);
}
public String getBaseUrl(String adminUrl, boolean token) throws Exception {
if (StringUtils.isNotBlank(apiBaseUrl) && !token) {
return apiBaseUrl;
}
@@ -279,6 +282,19 @@ public class PendoTrackSender {
return getRepositoryContext().getClearPassword();
}
public String getTmcUser(String url, String token) {
try {
String pendoInfo = getPendoInfo(getBaseUrl(url, true), token);
if (StringUtils.isNotBlank(pendoInfo)) {
JSONObject infoJson = new JSONObject(pendoInfo);
return ((JSONObject) infoJson.get("visitor")).getString("id"); //$NON-NLS-1$ //$NON-NLS-2$
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
return ""; //$NON-NLS-1$
}
private String getPendoKeyFromLicense() throws Exception {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRemoteService.class)) {
IRemoteService service = GlobalServiceRegister.getDefault().getService(IRemoteService.class);

View File

@@ -0,0 +1,54 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.mapper;
import org.apache.log4j.Level;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
import org.talend.core.pendo.PendoTrackSender;
import org.talend.core.pendo.properties.PendoTMapProperties;
/**
* DOC jding class global comment. Detailled comment
*/
public abstract class AbstractPendoTMapManager {
protected abstract PendoTMapProperties calculateProperties();
public void sendTrackToPendo() {
Job job = new Job("send pendo track") {
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
if (PendoTrackSender.getInstance().isTrackSendAvailable()) {
PendoTMapProperties properties = calculateProperties();
PendoTrackSender.getInstance().sendTrackData(TrackEvent.TMAP, properties);
}
} catch (Exception e) {
// warning only
ExceptionHandler.process(e, Level.WARN);
}
return Status.OK_STATUS;
}
};
job.setUser(false);
job.setPriority(Job.INTERACTIVE);
job.schedule();
}
}

View File

@@ -0,0 +1,53 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.mapper;
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
import org.talend.core.pendo.PendoTrackSender;
import org.talend.core.pendo.properties.PendoAutoMapProperties;
/**
* Assume no multiple thread, one AutoMapper one PendoAutoMapManager
*
* DOC jding class global comment. Detailled comment
*/
public class PendoAutoMapManager {
private int mappingChangeCount = 0;
public void setMappingChangeCount(int mappingChangeCount) {
this.mappingChangeCount = mappingChangeCount;
}
public void incrementMappingChangeCount() {
this.mappingChangeCount++;
}
public void resetMappingChangeCount() {
this.mappingChangeCount = 0;
}
public int getMappingChangeCount() {
return mappingChangeCount;
}
public void sendTrackToPendo() {
if (mappingChangeCount < 1) {
return;
}
PendoAutoMapProperties properties = new PendoAutoMapProperties();
properties.setAutoMappings(mappingChangeCount);
PendoTrackSender.getInstance().sendToPendo(TrackEvent.AUTOMAP, properties);
}
}

View File

@@ -0,0 +1,21 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.properties;
/**
* DOC jding class global comment. Detailled comment
*/
public interface IPendoDataProperties {
}

View File

@@ -0,0 +1,45 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.properties;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoAutoMapProperties implements IPendoDataProperties {
@JsonProperty("auto_mapping")
private int autoMappings;
/**
* Getter for autoMappings.
*
* @return the autoMappings
*/
public int getAutoMappings() {
return autoMappings;
}
/**
* Sets the autoMappings.
*
* @param autoMappings the autoMappings to set
*/
public void setAutoMappings(int autoMappings) {
this.autoMappings = autoMappings;
}
}

View File

@@ -0,0 +1,75 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.properties;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoImportAPIproperties implements IPendoDataProperties {
@JsonProperty("source")
private String source;
public PendoImportAPIproperties(String source) {
super();
this.source = SourceType.getSourceLabelByType(source);
}
/**
* Getter for source.
*
* @return the source
*/
public String getSource() {
return source;
}
/**
* Sets the source.
*
* @param source the source to set
*/
public void setSource(String source) {
this.source = source;
}
enum SourceType {
LOCAL_FILE("file"),
API_DESIGNER("API Designer"),
REMOTE_URL("Remote URL");
private String sourceLabel;
SourceType(String sourceLabel) {
this.sourceLabel = sourceLabel;
}
public String getSourceLabel() {
return sourceLabel;
}
public static String getSourceLabelByType(String type) {
String label = type;
SourceType sourceType = SourceType.valueOf(type);
if (sourceType != null) {
label = sourceType.getSourceLabel();
}
return label;
}
}
}

View File

@@ -1,6 +1,6 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
@@ -10,7 +10,7 @@
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo;
package org.talend.core.pendo.properties;
import java.util.List;
@@ -19,7 +19,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoLoginProperties {
public class PendoLoginProperties implements IPendoDataProperties {
@JsonProperty("studio_version")
private String studioVersion;
@@ -30,6 +30,12 @@ public class PendoLoginProperties {
@JsonProperty("enabled_features")
private List<String> enabledFeatures;
@JsonProperty("referenced_project_number")
private String refProjectCount;
@JsonProperty("referenced_projects")
private List<String> refProjectList;
/**
* Getter for studio_version.
*
@@ -84,4 +90,40 @@ public class PendoLoginProperties {
this.enabledFeatures = enabledFeatures;
}
/**
* Getter for refProjectCount.
*
* @return the refProjectCount
*/
public String getRefProjectCount() {
return refProjectCount;
}
/**
* Sets the refProjectCount.
*
* @param refProjectCount the refProjectCount to set
*/
public void setRefProjectCount(String refProjectCount) {
this.refProjectCount = refProjectCount;
}
/**
* Getter for refProjectList.
*
* @return the refProjectList
*/
public List<String> getRefProjectList() {
return refProjectList;
}
/**
* Sets the refProjectList.
*
* @param refProjectList the refProjectList to set
*/
public void setRefProjectList(List<String> refProjectList) {
this.refProjectList = refProjectList;
}
}

View File

@@ -0,0 +1,462 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.properties;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoTMapProperties implements IPendoDataProperties {
/**
* Number of input columns
*/
@JsonProperty("input_columns")
private int inputColumns;
/**
* Number of output columns
*/
@JsonProperty("output_columns")
private int outputColumns;
/**
* Number of var columns
*/
@JsonProperty("var_columns")
private int varColumns;
/**
* Number of input tables which have at least 1 mapping to an output table
*/
@JsonProperty("number_of_sources")
private int sourceNumber;
/**
* Number of output tables have mapping from the main input table 
*/
@JsonProperty("number_of_destinations")
private int destinationNumber;
/**
* Number of output tables
*/
@JsonProperty("number_of_outputs")
private int outputNumber;
/**
* Number of expressions without java transformation(expressions in input_columns/var_columns/output_columns but not
* include filter expressions)
*/
@JsonProperty("simple_expressions")
private int simpleExpressions;
/**
* Number of expressions with java transformation(expressions in input_columns/var_columns/output_columns but not
* include filter expressions)
*/
@JsonProperty("transformed_expressions")
private int transformExpressions;
/**
* Number of mappings(links) between input and var
*/
@JsonProperty("input_var_mapping")
private int inputVarMappings;
/**
* Number of mappings(links) between var and output
*/
@JsonProperty("var_output_mapping")
private int varOutputMappings;
/**
* Number of mappings(links) between input and output
*/
@JsonProperty("input_output_mapping")
private int inputOutputMappings;
/**
* Number of input columns which are mapped to multiple output columns, either mapped directly or mapped through the
* Var column
*/
@JsonProperty("1-to-n mapping")
private int oneToNMappings;
/**
* Number of output columns which have multiple source columns, either input columns or var columns
*/
@JsonProperty("n-to-1 mapping")
private int nToOneMappings;
/**
* Number of mappings(links) between main input table and join tables
*/
@JsonProperty("join_mappings")
private int joinMappingCounts;
/**
* Number of left out join used in join table
*/
@JsonProperty("left_joins")
private int leftJoinCounts;
/**
* Number of inner join used in join table
*/
@JsonProperty("inner_joins")
private int innerJoinCounts;
/**
* Number of filter activated on input/output tables  
*/
@JsonProperty("filters")
private int filterCounts;
/**
* Number of field types for each type in OUTPUT tables
*/
@JsonProperty("field_types")
private String outputFieldTypes;
/**
* Getter for inputColumns.
* @return the inputColumns
*/
public int getInputColumns() {
return inputColumns;
}
/**
* Sets the inputColumns.
* @param inputColumns the inputColumns to set
*/
public void setInputColumns(int inputColumns) {
this.inputColumns = inputColumns;
}
/**
* Getter for outputColumns.
* @return the outputColumns
*/
public int getOutputColumns() {
return outputColumns;
}
/**
* Sets the outputColumns.
* @param outputColumns the outputColumns to set
*/
public void setOutputColumns(int outputColumns) {
this.outputColumns = outputColumns;
}
/**
* Getter for varColumns.
* @return the varColumns
*/
public int getVarColumns() {
return varColumns;
}
/**
* Sets the varColumns.
* @param varColumns the varColumns to set
*/
public void setVarColumns(int varColumns) {
this.varColumns = varColumns;
}
/**
* Getter for sourceNumber.
* @return the sourceNumber
*/
public int getSourceNumber() {
return sourceNumber;
}
/**
* Sets the sourceNumber.
* @param sourceNumber the sourceNumber to set
*/
public void setSourceNumber(int sourceNumber) {
this.sourceNumber = sourceNumber;
}
/**
* Getter for destinationNumber.
* @return the destinationNumber
*/
public int getDestinationNumber() {
return destinationNumber;
}
/**
* Sets the destinationNumber.
* @param destinationNumber the destinationNumber to set
*/
public void setDestinationNumber(int destinationNumber) {
this.destinationNumber = destinationNumber;
}
/**
* Getter for outputNumber.
* @return the outputNumber
*/
public int getOutputNumber() {
return outputNumber;
}
/**
* Sets the outputNumber.
* @param outputNumber the outputNumber to set
*/
public void setOutputNumber(int outputNumber) {
this.outputNumber = outputNumber;
}
/**
* Getter for simpleExpressions.
*
* @return the simpleExpressions
*/
public int getSimpleExpressions() {
return simpleExpressions;
}
/**
* Sets the simpleExpressions.
*
* @param simpleExpressions the simpleExpressions to set
*/
public void setSimpleExpressions(int simpleExpressions) {
this.simpleExpressions = simpleExpressions;
}
/**
* Getter for transformExpressions.
*
* @return the transformExpressions
*/
public int getTransformExpressions() {
return transformExpressions;
}
/**
* Sets the transformExpressions.
*
* @param transformExpressions the transformExpressions to set
*/
public void setTransformExpressions(int transformExpressions) {
this.transformExpressions = transformExpressions;
}
/**
* Getter for inputVarMappings.
* @return the inputVarMappings
*/
public int getInputVarMappings() {
return inputVarMappings;
}
/**
* Sets the inputVarMappings.
* @param inputVarMappings the inputVarMappings to set
*/
public void setInputVarMappings(int inputVarMappings) {
this.inputVarMappings = inputVarMappings;
}
/**
* Getter for varOutputMappings.
* @return the varOutputMappings
*/
public int getVarOutputMappings() {
return varOutputMappings;
}
/**
* Sets the varOutputMappings.
* @param varOutputMappings the varOutputMappings to set
*/
public void setVarOutputMappings(int varOutputMappings) {
this.varOutputMappings = varOutputMappings;
}
/**
* Getter for inputOutputMappings.
* @return the inputOutputMappings
*/
public int getInputOutputMappings() {
return inputOutputMappings;
}
/**
* Sets the inputOutputMappings.
* @param inputOutputMappings the inputOutputMappings to set
*/
public void setInputOutputMappings(int inputOutputMappings) {
this.inputOutputMappings = inputOutputMappings;
}
/**
* Getter for oneToNMappings.
* @return the oneToNMappings
*/
public int getOneToNMappings() {
return oneToNMappings;
}
/**
* Sets the oneToNMappings.
* @param oneToNMappings the oneToNMappings to set
*/
public void setOneToNMappings(int oneToNMappings) {
this.oneToNMappings = oneToNMappings;
}
/**
* Getter for nToOneMappings.
* @return the nToOneMappings
*/
public int getnToOneMappings() {
return nToOneMappings;
}
/**
* Sets the nToOneMappings.
* @param nToOneMappings the nToOneMappings to set
*/
public void setnToOneMappings(int nToOneMappings) {
this.nToOneMappings = nToOneMappings;
}
/**
* Getter for joinMappingCounts.
* @return the joinMappingCounts
*/
public int getJoinMappingCounts() {
return joinMappingCounts;
}
/**
* Sets the joinMappingCounts.
* @param joinMappingCounts the joinMappingCounts to set
*/
public void setJoinMappingCounts(int joinMappingCounts) {
this.joinMappingCounts = joinMappingCounts;
}
/**
* Getter for leftJoinCounts.
* @return the leftJoinCounts
*/
public int getLeftJoinCounts() {
return leftJoinCounts;
}
/**
* Sets the leftJoinCounts.
* @param leftJoinCounts the leftJoinCounts to set
*/
public void setLeftJoinCounts(int leftJoinCounts) {
this.leftJoinCounts = leftJoinCounts;
}
/**
* Getter for innerJoinCounts.
* @return the innerJoinCounts
*/
public int getInnerJoinCounts() {
return innerJoinCounts;
}
/**
* Sets the innerJoinCounts.
* @param innerJoinCounts the innerJoinCounts to set
*/
public void setInnerJoinCounts(int innerJoinCounts) {
this.innerJoinCounts = innerJoinCounts;
}
/**
* Getter for filterCounts.
* @return the filterCounts
*/
public int getFilterCounts() {
return filterCounts;
}
/**
* Sets the filterCounts.
* @param filterCounts the filterCounts to set
*/
public void setFilterCounts(int filterCounts) {
this.filterCounts = filterCounts;
}
/**
* Getter for outputFieldTypes.
* @return the outputFieldTypes
*/
public String getOutputFieldTypes() {
return outputFieldTypes;
}
/**
* Sets the outputFieldTypes.
* @param outputFieldTypes the outputFieldTypes to set
*/
public void setOutputFieldTypes(String outputFieldTypes) {
this.outputFieldTypes = outputFieldTypes;
}
}

View File

@@ -0,0 +1,48 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.properties;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoUseAPIProperties implements IPendoDataProperties {
@JsonProperty("component")
private String component;
public PendoUseAPIProperties(String component) {
super();
this.component = component;
}
/**
* Getter for component.
*
* @return the component
*/
public String getComponent() {
return component;
}
/**
* Sets the component.
*
* @param component the component to set
*/
public void setComponent(String component) {
this.component = component;
}
}

View File

@@ -0,0 +1,31 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.prefs;
/**
* created by hcyi on May 17, 2022
* Detailled comment
*
*/
public class SecurityPreferenceConstants {
public static final String SIGNER_PATH = "signer.path"; //$NON-NLS-1$
public static final String SIGNER_KEYSTORE_PASSWORD = "signer.keystore.password"; //$NON-NLS-1$
public static final String SIGNER_KEY_PASSWORD = "signer.key.password"; //$NON-NLS-1$
public static final String SIGNER_KEY_ALIAS = "signer.key.alias"; //$NON-NLS-1$
}

View File

@@ -1,638 +0,0 @@
AbstractBrandingService_job_license_header_content=// ============================================================================\n//\n// Copyright (c) 2005-2010, Talend Inc.\n//\n// This source code has been automatically generated by_{0}\n// / JobDesigner (CodeGenerator version {1})\n// You can find more information about Talend products at www.talend.com.\n// You may distribute this code under the terms of the GNU LGPL license\n// http://www.gnu.org/licenses/lgpl.html).\n//\n// ============================================================================
AbstractComponentsProvider.folderNotExist=Folder {0} does not exist.
AbstractItemMigrationTask.taskFailed=Migration task {0} failed on item {1}
AdvancedSocketFactory.failedInitial=Error: failed to initialize :
ArchiveFileExportOperationFullPath.SpecialFile=spagic.properties
ColorsCodeViewerPreferencePage.Comment1Color=Comment1 color
ColorsCodeViewerPreferencePage.Comment2Color=Comment2 color
ColorsCodeViewerPreferencePage.DigitColor=Digit color
ColorsCodeViewerPreferencePage.FunctionColor=Function color
ColorsCodeViewerPreferencePage.InvalidColor=Invalid color
ColorsCodeViewerPreferencePage.LabelColor=Label color
ColorsCodeViewerPreferencePage.Literal1Color=Literal1 color
ColorsCodeViewerPreferencePage.Literal2Color=Literal2 color
ColorsCodeViewerPreferencePage.MarkupColor=Markup color
ColorsCodeViewerPreferencePage.OperatorColor=Operator color
ColorsCodeViewerPreferencePage.defaultColor=Default color
ColorsCodeViewerPreferencePage.fieldTip=&Bold
ColorsCodeViewerPreferencePage.keyword1Color=Keyword1 color
ColorsCodeViewerPreferencePage.keyword2Color=Keyword2 color
ColorsCodeViewerPreferencePage.keyword3Color=Keyword3 color
ColumnNameChangedExt.columnChanged=Node: {0} Column changed : {1}-> {2}
ComponentsFormatPreferencePage.add=Add
ComponentsFormatPreferencePage.errorCreateConnectionName=The name "{0}" is not valid.
ComponentsFormatPreferencePage.formatConnection=Format connection default:
ComponentsFormatPreferencePage.formatHint=Format hint default:
ComponentsFormatPreferencePage.formatLable=Format label default:
ComponentsFormatPreferencePage.remove=Remove
ComponentsFormatPreferencePage.ErrorTitle=Error
ComponentToRepositoryProperty.error=Error
ComponentToRepositoryProperty.ImpossibleUseOCI=Impossible to use OCI type in the repository\!
ContextComposite.tableValue=Values as table
ContextComposite.treeValue=Values as tree
ContextComposite.variable=Variables
ContextParameterProposal.ContextVariable=\n\nContext variable.
ContextParameterProposal.Description=Description\: {0}
ContextValueErrorChecker.ErrorTitile=Context value error:
ContextParameterProposal.NoCommentAvaiable=no comment available.
ContextParameterProposal.Type=\nType\: {1}
ContextParameterProposal.VariableName=\n\nVariable Name\: {2}
ContextProcessSection.1=menuTable
ContextProcessSection.12=Rename Context
ContextProcessSection.13=Give a new name for the context {0}
ContextProcessSection.2=Ask for Confirmation?
ContextProcessSection.29=Error
ContextProcessSection.30=That name already exist
ContextProcessSection.4=Add New Context based on ->(
ContextProcessSection.49=Default Context
ContextProcessSection.50=ContextProcessSection.14
ContextProcessSection.51=ContextProcessSection.15
ContextProcessSection.6=New Context
ContextProcessSection.7=Give a name for the new context
ContextProcessSection.ParameterNameIsNotValid=Parameter name is not valid.
ContextProcessSection.RemoveInformation={0} is default context, it can not be removed.
ContextProcessSection.errorTitle=Error
ConextTableValuesComposite.nameLabel=Name
ConextTemplateComposite.OrderMessages=If you want reorder the variables, it must be selected.
ConextTemplateComposite.OrderText=Original order
ContextSetConfigurationDialog.nameNotValid=the name is not valid
ContextTemplateComposite.CommentLabel=Comment
ContextTemplateComposite.nameLabel=Name
ContextTemplateComposite.scriptCodeLabel=Script code
ContextTemplateComposite.sourceLabel=Source
ContextTemplateComposite.typeLabel=Type
ContextTreeConstants.contextName=Context
ContextTreeConstants.promptName=Prompt
ContextTreeConstants.valueName=Value
ContextTreeConstants.variableName=Variable
ConextTemplateComposite.addToRepositoryContextAction.label=Add to repository context
CorePreferencePage.componentDefaultFileDirectory=Component default file directory
CorePreferencePage.groupBySource="Group by source" in context
CorePreferencePage.iReportPath=iReport path
CorePreferencePage.alwaysWelcome=Always show welcome view when startup
CorePreferencePage.javaInterpreter=&Java interpreter
CorePreferencePage.perlInterpreter=Perl interpreter
CorePreferencePage.previewLimit=Preview limit
CorePreferencePage.runInMultiThread=Multi Thread execution (Default value for job creation)
CorePreferencePage.temporaryFiles=&Temporary files
DbTableSelectorDialog.textContent=Select Table Name
ECodeLanguage.unknowLanguage=Unknown language
EComponentCategory_appearance=Appearance
EComponentCategory_assignment=Assignment
EComponentCategory_basicSetting=Basic settings
EComponentCategory_context=Context
EComponentCategory_doc=Documentation
EComponentCategory_dynamicSetting=Dynamic settings
EComponentCategory_errorRecovery=Error recovery
EComponentCategory_extra=Extra
EComponentCategory_logs=Logs
EComponentCategory_main=Main
EComponentCategory_properties=Properties
EComponentCategory_rulerAndGrid=Rulers & Grid
EComponentCategory_sqlTemplate=SQL Template
EComponentCategory_statsAndLogs=Stats & Logs
EComponentCategory_svnHistory=SVN History
EComponentCategory_technical=Technical
EComponentCategory_version=Version
EComponentCategory_headerFooter=Header/Footer
EComponentCategory_view=View
EComponentCategory.validationRules=Validation Rules
EComponentCategory.advancedSettings=Advanced settings
EComponentCategory.basicRun=Basic Run
EComponentCategory.breakpoint=Breakpoint
EComponentCategory.parallelization=Parallelization
EComponentCategory.debugRun=Debug Run
EComponentCategory.targetExec=Target Exec
EComponentCategory.availableExtensions=Available Extensions
EComponentCategory.downloadedExtensions=Downloaded Extensions
EComponentCategory.myExtensions=My Extensions
EComponentCategory.executeJob=Execute Job
EComponentCategory.monitoring=Monitoring
EComponentCategory.hadoopConfig=Hadoop Configuration
EConnectionType.iteratorMenu=Iterate
EConnectionType.lookupMenu=Look Up
EConnectionType.mainMenu=Main
EConnectionType.onComponentErrorMenu=On Component Error
EConnectionType.onComponentOkMenu=On Component Ok
EConnectionType.onSubjobErrorMenu=On Subjob Error
EConnectionType.onSubjobOkMenu=On Subjob Ok
EConnectionType.runAfterMenu=Run After
EConnectionType.runIfMenu=Run if
EConnectionType.tableMenu=Table
EConnectionType.onRowsEndMenu=On Rows End
EConnectionType.mergeMenu=Merge
EConnectionType.synchronize=Synchronize
EConnectionType.parallelize=Parallelize
EConnectionType.startsMenu=Starts
EConnectionType.route=Route
EConnectionType.when=When
EConnectionType.otherwise=Otherwise
EConnectionType.try=Try
EConnectionType.catch=Catch
EConnectionType.finally=Finally
EConnectionType.endblock=Route
EMetadataEncoding.Arabic=Arabic
EMetadataEncoding.Big5=Big Five (Traditionnal Chinese)
EMetadataEncoding.Cyrillic=Cyrillic
EMetadataEncoding.EUC_CN=Simplified Chinese (Extended Unix Code-CN)
EMetadataEncoding.GB18030=Chinese National Standard
EMetadataEncoding.GB2312=Chinese
EMetadataEncoding.Greek=Greek
EMetadataEncoding.Hebrew=Hebrew
EMetadataEncoding.Latin1=Latin1 (West European)
EMetadataEncoding.Latin2=Latin2 (East European)
EMetadataEncoding.Latin3=Latin3 (South European)
EMetadataEncoding.Latin4=Latin4 (North European)
EMetadataEncoding.Latin5=Latin5 (Turkish)
EMetadataEncoding.Latin6=Latin6 (Nordic)
EMetadataEncoding.Latin9=Latin9
EMetadataEncoding.Microsoft_Latin1=Microsoft (Latin-1)
EMetadataEncoding.UTF16=Unicode 2.0 (16 bit)
EMetadataEncoding.UTF16BE=Unicode BigEndian (16 bit)
EMetadataEncoding.UTF16LE=Unicode (16 bit)
EMetadataEncoding.UTF7=Unicode 2.0 UTF-7
EMetadataEncoding.UTF8=Unicode 2.0 UTF-8
ERepositoryObjectType.FolderNotFound=Folder for type {0} cannot be found.
ERepositoryObjectType.NotImplemented=not implemented
ExtractMetaDataFromDataBase.SchemaNoPresent=Schema not present in Database
ExtractMetaDataFromDataBase.connectionSuccessful=Connection successful
ExtractMetaDataFromDataBase.dbTypeNotFound=dbType '{0}' not found
ExtractMetaDataUtils.1=Impossible to initialize the connection \!
Function.FunctionName=Function name {0}
FunctionManager.PurePerl.Desc=Set your own expression.
FunctionManager.PurePerl.ParaName=customize parameter
GlobalServiceRegister.ServiceNotRegistered=The service {0} has not been registered.
GroupByContextAction.groupContext=Group by Context
GroupByVariableAction.groupVariable=Group by Variable
JavaFunctionParser.checkMethod=Routines : "{0}.{1}\" parse failed. please check your the Method.
JavaGlobalVariableProposal.Description=Description\: {0}
JavaGlobalVariableProposal.VariableName=\n\nVariable Name\: {1}
JavaSimpleDateFormatProposalProvider.displaySingleQuote=\ ' : Display a single quote
JavaSimpleDateFormatProposalProvider.quoteDisplayError=Two single quotes display only one single quote
JavaTypesManager.bigDecimal=BIGDECIMAL is number:
JavaTypesManager.integer=INTEGER is number:
JavaTypesManager.list=LIST is number:
JavaTypesManager.string=STRING is number:
LDAPCATruster.failedCreateCert=Failed to create cert store :
LDAPCATruster.failedCreateTmp=Failed to create tmp trust store :
LDAPCATruster.failedInitialTrust=Failed to create initial trust manager :
LDAPCATruster.failedLoadCert=Failed to load the cert store :
LDAPCATruster.failedSaveTrust=Failed to save trust store :
LDAPCATruster.locationInvalid=The location of the cert store file is invalid:
LDAPCATruster.noCertificate=\nPlease use the keytool command to import the server certificate.
LDAPCATruster.sslError1=SSL Error:Server certificate chain verification failed.
LDAPCATruster.sslError2=SSL Error:Server certificate chain verification failed and \\nthe CA is missing.
LDAPCATruster.sslError3=SSL Error:CA certificate is not in the server certificate chain.
ListPreferencePage.RemoveButtonName=Remove
LogImageCacheAction.CacheImage=Cache image\:
LogImageCacheAction.CacheImageDesc=Cache image desc\:
MappingFileLoader.DbTypeAlreadyExists=In dbms id "{0}" mapping, Db type "{1}" appears more than once into file "{2}" at node\:{3}
MappingFileLoader.DbmsIdAlreadyExists=Dbms with id "{0}" already exists \!"
MappingFileLoader.InvalidTalendType="{0}" is not a valid {1} Talend type for the dbms id "{2}" at node\: {3}
MappingFileLoader.UnbindedDbTypes=In dbms id "{0}" mapping file, Db types below are not bind with "{1}" Talend types \: {2}
MappingFileLoader.UnbindedTalendTypes=In dbms id "{0}" mapping file, Talend types below are not bind with "{1}" Db types \: {2}
MappingFileLoader.UndeclaredDbType="{0}"is not a declared Db type for the dbms id "{1}" at node\: {2}
MetadataDialog.CopyToInput.toolTipText=Copy all of the columns from output schema to input schema
MetadataDialog.CopySelectionToInput.toolTipText=Copy the selected columns from output schema to input schema
MetadataDialog.CopyToOutput=Copy all of the columns from input schema to output schema
MetadataDialog.CopySelectionToOutput=Copy the selected columns from input schema to output schema
MetadataDialog.Message=All columns from the input schema will be transfered to the output schema
MetadataDialog.SchemaModification=Schema modification
MetadataDialog.TransferMessage=All columns from the output schema will be transfered to the input schema
MetadataEmfTableEditor.ColumnInvalid=The column name '{0}' is invalid.
MetadataEmfTableEditor.ColumnNameExists=The column name '{0}' already exists
MetadataEmfTableEditor.ColumnNameIsNullError=Error\: Column name is null
MetadataTableEditor.ColumnNameExists=The column name '{0}' already exists.
MetadataTableEditor.ColumnNameIsInvalid=The column name '{0}' is invalid.
MetadataTableEditor.ColumnNameIsNull=Error\: Column name is null
MetadataTableEditorView.ColumnTitle=Column
MetadataTableEditorView.CommentTitle=Comment
MetadataTableEditorView.DBTypeTitle=DB Type
MetadataTableEditorView.DefaultTitle=Default
MetadataTableEditorView.KeyTitle=Key
MetadataTableEditorView.LengthTitle=Length
MetadataTableEditorView.NullableTitle=Nullable
MetadataTableEditorView.PatternTitle=Date Pattern (Ctrl+Space available)
MetadataTableEditorView.PrecisionTitle=Precision
MetadataTableEditorView.TypleTitle=Type
MetadataTalendType.dbIdNotFound=DBMS Id : {0} can't be found \!
MetadataTalendType.DBMSNotSetted=DBMS not setted
MetadataTalendTypeEditor.button.edit=E&dit
MetadataTalendTypeEditor.button.export=E&xport
MetadataTalendTypeEditor.button.import=I&mport
MetadataTalendTypeEditor.column1.Name=Metadata Mapping File
MetadataTalendTypeEditor.editMappingDialog.title=Edit Mapping File
MetadataTalendTypeEditor.error.message=Error Message
MetadataTalendTypeEditor.fileIsImported=This file is already imported.
MetadataTalendTypeEditor.fileIsInvalid=The imported metadata file is not valid.
MetadataTalendTypeEditor.fileNameStartRule=File name must start with 'mapping_'.
MetadataTool.errorMessage=Can't input the current character.
MetadataTool.invalid=Invalid value
MetadataTool.invalidChar=Invalid character
MetadataTool.nameNull=Schema name can't be null.
MetadataTool.nullValue=Null value
MetadataTool.schemaExist=The schema name aready exists.
MetadataTool.schemaIn=The schema name is invalid.
MetadataTool.schemaInvalid=Schema name is invalid.
MetadataTool.schemaNull=Schema name is null.
NodeReturnProposal.Availability=\nAvailability\: {4}
NodeReturnProposal.Description=Description\: {0}
NodeReturnProposal.GlobalVariable=\n\nGlobal variable, property of component {1} [{2}].
NodeReturnProposal.Type=\nType\: {3}
NodeReturnProposal.VariableName=\n\nVariable Name\: {5}
PaletteContentDialog.connection=Format connection default:
PaletteContentDialog.hint=Format hint default:
PaletteContentDialog.lable=Format label default:
Parameter.Comment= comment :
Parameter.Name=Parameter name
Parameter.Type= type :
Parameter.Value= value :
PatternCalendar.dateFormat="yyyy-MM-dd HH:mm:ss"
PatternCalendar.example=Example:
PatternCalendar.pattern=Pattern:
PerlDynamicProposalUtil.autoConvert=\ would be automatically converted to {0}->[index] in the generated code
PerlGlobalVariableProposal.Description=Description\: {0}
PerlGlobalVariableProposal.VariableName=\n\nVariable Name\: {1}
PerspectiveMenuManager.dummy=Dummy
PerspectiveMenuManager.perspectiveLabel=&Perspective
ProcessorUtilities.finalizeBuild=Finalize build...
ProcessorUtilities.generatingJob=Generating job...
ProcessorUtilities.loadingJob=Loading job...
PropertiesWizard.EditPropertiesPageTitle=Edit properties
PropertiesWizard.alreadyLockedByUser=The properties are readonly because this item is already locked by an editor.
PropertiesWizardPage.Author=Author
PropertiesWizardPage.Locker=Locker
PropertiesWizardPage.Description=Description
PropertiesWizardPage.EmptyDescWarning=Empty description is discouraged.
PropertiesWizardPage.EmptyPurposeWarning=Empty purpose is discouraged.
PropertiesWizardPage.ItemExistsError=This item already exists. Check the Recycle bin and empty it if needed.
PropertiesWizardPage.KeywordsError=Name is not a valid identifier.
PropertiesWizardPage.Name=Name
PropertiesWizardPage.NameEmptyError=Name is empty.
PropertiesWizardPage.NameFormatError=Name contains incorrect characters.
PropertiesWizardPage.Path=Path
PropertiesWizardPage.Purpose=Purpose
PropertiesWizardPage.Select=Select
PropertiesWizardPage.SelectfolderMessage=Select the folder in which the item will be created
PropertiesWizardPage.SelectfolderTitle=Select folder
PropertiesWizardPage.Status=Status
PropertiesWizardPage.Version=Version
PropertiesWizardPage.Version.Major=M
PropertiesWizardPage.Version.Minor=m
PropertiesWizardPage.ImageSizeError=Please select image in size 32*32.
RelationshipItemBuilder.buildingIndex=Building index...
RelationshipItemBuilder.forItem=for item
RepositoryObject.NotImplemented=not implemented
RepositoryToComponentProperty.xmlFileSelection=Select a XML File to Validate
RepositoryUpdateManager.Title=Modification
RepositoryUpdateManager.Check=Checking...
RepositoryUpdateManager.Messages=Do you want to propagate the modifications to all jobs? \n And it might be quite long.
RepositoryUpdateManager.MessagesForTDQ=Do you want to propagate the modifications to all jobs?\nAnd some analysis which dependency it will lost information.\nIt might be quite long
RepositoryUpdateManager.NoModificationTitle=No modification needed
RepositoryUpdateManager.NoModificationMessages=There is no modification needed for update.
RepositoryUpdateManager.NotFoundMessages=There is no relationship to find.
RepositoryUpdateManager.NotFoundTitle=Not Found
RepositoryUpdateManager.RenameContextTitle=Rename Question
RepositoryUpdateManager.ItemsToUpdate=Check items to update
RoutinesFunctionProposal.CreatedBy=Created By\:
RoutinesFunctionProposal.Description=Description\:
RoutinesFunctionProposal.Example=Example\:
RoutinesFunctionProposal.ReturnType=Return Type\:
RoutinesFunctionProposal.System=System
RoutinesFunctionProposal.User=User
RoutinesFunctionProposal.VariableName=\n\nVariable Name\: {2}
RuleOperationChoiceDialog.editRules=Edit Rules
RuleOperationChoiceDialog.rule=Rule:
RuleOperationChoiceDialog.selectRulesFile=Select a rule from file
RuleOperationChoiceDialog.viewRules=View Rules(Read-only)
SchemaCellEditor.giveSchemaName=Give the name for the schema
SchemaCellEditor.inputName=Input the name
SchemaCellEditor.nameExistOrInvalid=This name already exists or is invalid
SchemaCellEditor.schemaName=Schema Name
SchemaOperationChoiceDialog.ChangeBuiltInMessage=Change schema to built-in.
SchemaOperationChoiceDialog.ChangeRepositoryMessage=Change schema from repository.
SchemaOperationChoiceDialog.CreateBuiltInMessage=Create schema for built-in.
SchemaOperationChoiceDialog.CreateRepositoryMessage=Create schema from repository.
SchemaOperationChoiceDialog.EditSchemaMessage=Edit schema.
SchemaOperationChoiceDialog.Message=Please choose one option, or cancel.
SchemaOperationChoiceDialog.Option=Option
SchemaOperationChoiceDialog.StatusMessage=Invalid schema, or already exists.
SchemaOperationChoiceDialog.Title=Schema
SchemaOperationChoiceDialog.ViewSchemaMessage=View schema (read only).
SchemaXPathQuerysDialog.Mappings=Mappings
SelectRepositoryContextDialog.DeselectAll=Deselect All
SelectRepositoryContextDialog.CollapseAll=Collapse All
SelectRepositoryContextDialog.DuplicationMessage=You have selected the variable "{0}" in the Context "{1}".
SelectRepositoryContextDialog.DuplicationTitle=Duplication Warining\!
SelectRepositoryContextDialog.ExistenceMessage=The variable "{0}" has existed in job(Context:"{1}").
SelectRepositoryContextDialog.Label=Select variables from repository contexts.
SelectRepositoryContextDialog.SelectAll=Select All
SelectRepositoryContextDialog.ExpandAll=Expand All
SelectRepositoryContextDialog.Title=Select Context Variables
SelectRepositoryContextDialog.View=View...
SelectRepositoryContextGroupDialog.Default=default
SelectRepositoryContextGroupDialog.Messages= In the Job, add a nonexistent context group from the repository context
SelectRepositoryContextGroupDialog.Title=Add Context Group
TalendDataCollectorPreferencePage_EnableCapture=Enable capture
TalendDataCollectorPreferencePage_Description=The Usage Data Collector collects information about how individuals are using the Talend products. The intent is to use this data to help Talend better understand how users and organizations are using Talend products.
TalendDataCollectorPreviewPreferencePage_Description=The following Keys/Values have been captured by the Usage Data Collector.
TalendDataCollectorPreviewPreferencePage_EmptyValue=<Empty>
TalendDataCollectorPreviewPreferencePage_Key=Key
TalendDataCollectorPreviewPreferencePage_Value=Value
TalendDataCollectorUploadingPreferencePage_Description=Information gathered by the Usage Data Collector is periodically uploaded to servers hosted by Talend.
TalendDataCollectorUploadingPreferencePage_LastUpload=Last Upload
TalendDataCollectorUploadingPreferencePage_Uploadingtitile=Uploading
TalendDataCollectorUploadingPreferencePage_UploadPeriod=Upload Period
TalendDataCollectorUploadingPreferencePage_Days=Days
TalendTabbedPropertyComposite.compactButton.toolTip=compact view
TalendTabbedPropertyComposite.tableButton.toolTip=table view
TalendType.TypeName=Type name {0}
VariableItemEditor.insertVariable=Insert &Variable Placeholder...
VariableItemEditor.name=Name
VariableItemEditor.new=New
VariableItemEditor.remove=Remove
VariableItemEditor.twmplatePattern=Template Pattern:
VariableItemEditor.variable=Variables:
VersionSection.CreationDate=Creation Date
VersionSection.ModificationDate=Modification Date
VersionSection.Version=Version
VersionSection.Status=Status
XmlArray.InvalidFile=Invalid file.
XPathQueryMetadataTableEditorViewExt.xpathQuerys=Schema XPathQuerys
XSDValidater.IllegalArgument=The input XSD file does not exist.
repository.context=Contexts
repository.column=Column
repository.documentation=Documentation
repository.folder=Folder
repository.generated=Generated
repository.jobdoc=Job Documentation
repository.joblet=Joblet Designs
repository.recyclebin=Recycle bin
repository.jobletdoc=Joblet Documentation
repository.joblets=Joblets
repository.jobs=Jobs
repository.metadata=Metadata
repository.metadataConnections=Db Connections
repository.metadataConnections.alias=DB
repository.metadataFileEDCDIC=Copybook
repository.metadataFileEDCDIC.alias=Copybook
repository.concept=Concept
repository.metadataSAPConnections=SAP Connections
repository.metadataSAPConnections.alias=SAP
repository.SAPFunction=SAP Function
repository.metadataSQLPatterns=SQL Templates
repository.metadataSQLPatterns.alias=SQLTemplates
repository.metadataFileDelimited=File delimited
repository.metadataFileDelimited.alias=DELIM
repository.metadataTable=Metadata schema
repository.metadataColumn=Metadata column
repository.metadataFileRules=Embedded Rules
repository.metadataFileRules.alias=RULE
repository.metadataFileHL7=HL7
repository.metadataFileHL7.alias=HL7
repositorymetadataEDIFact=UN/EDIFACT
repositorymetadataEDIFact.alias=UN/EDIFACT
repository.metadataFileFTP=FTP
repository.metadataFileFTP.alias=FTP
repository.metadataFileBRMS=BRMS
repository.metadataFileBRMS.alias=BRMS
repository.metadataLinkFileRules=LinkRules
repository.metadataLinkFileRules.alias=LinkRule
repository.metadataValidationRules=Validation Rules
repository.metadataValidationRules.alias=VR
repository.process=Job Designs
repository.service=Services
repository.query=Query
repository.CDC=CDC
repository.svnroot=SVN
repository.referencedProjects=Referenced project
repository.beans=Beans
repository.snippets=Snippets
repository.tdqelement=TDQ Element
repository.tdqelement.analysis=TDQ Analyses
repository.tdqelement.report=TDQ Reports
repository.tdqelement.dbconnection=TDQ DB Connections
repository.tdqelement.mdmconnection=TDQ MDM Connections
repository.tdqelement.businessrule=TDQ Business Rules
repository.tdqelement.indicator=TDQ Indicators
repository.tdqelement.pattern=TDQ Patterns
EUpdateItemType.Property=Property
EUpdateItemType.Schema=Schema
EUpdateItemType.SAPFunction=SAP Function
EUpdateItemType.SAPIDoc=SAP IDoc
EUpdateItemType.Query=Query
EUpdateItemType.Variable=Variable
EUpdateItemType.ContextGroup=ContextGroup
EUpdateItemType.Components=Components
EUpdateItemType.Name=Name
EUpdateItemType.JobVersion=JobVersion
EUpdateItemType.ValidationRule=validation rule
EUpdateResult.BuiltIn=Change to built-in mode
EUpdateResult.JobletUpdate=Update for joblet node
EUpdateResult.Update=Update from repository
EUpdateResult.Reload=Reload components
EUpdateResult.Rename=Change the name
EUpdateResult.Add=Add from repository
EUpdateResult.Delete=Delete from repository
UpdatesConstants.Context=Context
UpdatesConstants.ContextGroup=Context Group
UpdatesConstants.Component=Component
UpdatesConstants.Joblet=Joblet
UpdatesConstants.Job=Job
UpdatesConstants.JobVersion=JobVersion
ProjectSettingsWizard.EditProjectPageTitle=Edit project
MetadataTypeLengthConstants.FIELD_DEFAULT_TYPE=Default Type
MetadataTypeLengthConstants.FIELD_DEFAULT_LENGTH=Default Length
MetadataTypeLengthConstants.VALUE_DEFAULT_TYPE=Default Type
MetadataTypeLengthConstants.VALUE_DEFAULT_LENGTH=Default Length
MetadataTypeLengthPreferencePage.VALUE=Default Settings for Fields with Null Values
MetadataTypeLengthPreferencePage.FIELD=Default Settings for All Fields
MetadataTypeLengthPreferencePage.DBTYPE=Default Length for Data Type
MetadataTypeLengthConstants.BOOLEAN_LENGTH=Boolean
MetadataTypeLengthConstants.BIGDECIMAL_LENGTH=BigDecimal
MetadataTypeLengthConstants.BYTE_LENGTH=Byte
MetadataTypeLengthConstants.INTEGER_LENGTH=Integer
MetadataTypeLengthConstants.BYTEARRAY_LENGTH=byte[]
MetadataTypeLengthConstants.LONG_LENGTH=Long
MetadataTypeLengthConstants.CHARACTER_LENGTH=Character
MetadataTypeLengthConstants.OBJECT_LENGTH=Object
MetadataTypeLengthConstants.DATE_LENGHT=Date
MetadataTypeLengthConstants.SHORT_LENGTH=Short
MetadataTypeLengthConstants.DOUBLE_LENGTH=Double
MetadataTypeLengthConstants.STRING_LENGTH=String
MetadataTypeLengthConstants.FLOAT_LENGTH=Float
MetadataTypeLengthConstants.LIST_LENGTH=List
MetadataTypeLengthConstants.DATETIME_LENGTH=Datetime
ModuleListCellEditor.externalLabel=External modules
ModuleListCellEditor.innerLabel=Inner modules
ModuleListCellEditor.selectLabel=Select module
ModuleListCellEditor.title=Select Module
MultiStringSelectionDialog.nameEmpty=Name can not be empty
PromptDialog.stringTip=The input text must be surrounded with single quote.
ApplicationActionBarAdvisor.menuFileLabel=&File
ApplicationActionBarAdvisor.menuEditLabel=&Edit
ApplicationActionBarAdvisor.navigateLabel=&Navigate
ApplicationActionBarAdvisor.gotoLabel=&Go to
ApplicationActionBarAdvisor.projectLabel=&Project
ApplicationActionBarAdvisor.menuWindowLabel=&Window
ApplicationActionBarAdvisor.menuHelpLabel=&Help
BusinessAppearanceComposite.textAlignmentGroup=Text Alignment
BusinessAppearanceComposite.textAlignment.horizontal=Horizontal
BusinessAppearanceComposite.textAlignment.vertical=Vertical
BusinessAppearanceComposite.textAlignment.horizontal.left=Left
BusinessAppearanceComposite.textAlignment.horizontal.right=Right
BusinessAppearanceComposite.textAlignment.horizontal.centre=Centre
BusinessAppearanceComposite.textAlignment.vertical.top=Top
BusinessAppearanceComposite.textAlignment.vertical.bottom=Bottom
BusinessAppearanceComposite.textAlignment.vertical.centre=Centre
ConnectionBean.Local=Local
ConnectionBean.Remote=Remote
ConnectionBean.DefaultConnection=Default connection
InegerCellEditorListener.NegativeNumberMessage=The value of {0} can't be set by negative number.
InegerCellEditorListener.NumeralMessage=The value of {0} should be numeral.
OpenXSDFileDialog.cancel=Cancel
OpenXSDFileDialog.confirm=Confirm
OpenXSDFileDialog.fileName=File Name:
OpenXSDFileDialog.xmlFileSelection=Select a XML File to Validate
OpenXSDFileDialog.xmlSelectedOrNot=As you have selected a XSD metadata file, \n there should be a xml file to validate.
RepositoryContentProvider.repositoryLabel.Queries=Queries
repository.routes=Routes
repository.servicesOperation=Operation
repository.servicesPort=Port
BinRepositoryNode.label=Recycle bin
HDFS=HDFS
HCAT=HCAT
AbstractRepositoryContentHandler.deleteNode.exception=Fail to delete relevances of node: {0}
HadoopCustomVersionDialog.topTitle=Custom Hadoop Version Definition
HadoopCustomVersionDialog.title=Define custom Hadoop distribution
HadoopCustomVersionDialog.msg=Configure libraries needed for the custom Hadoop version
HadoopCustomVersionDialog.table.descColumn=Description
HadoopCustomVersionDialog.table.libNameColumn=Library name
HadoopCustomVersionDialog.btn.addLibBtn.tooltip=Add libraries...
HadoopCustomVersionDialog.btn.importLibBtn.tooltip=Import libraries from existing definition
HadoopCustomVersionDialog.btn.exportLibBtn.tooltip=Export custom Hadoop version definition
HadoopCustomVersionDialog.importLibs=Import libraries...
HadoopVersionDialog.importFromExistVersion=Import from existing version
HadoopVersionDialog.msg=Please choose an option to import custom Hadoop version definition.
HadoopVersionDialog.zipLocation=Zip:
HadoopVersionDialog.importFromZip=Import from zip
HadoopVersionDialog.title=Import custom definition
HadoopVersionDialog.distribution=Distribution:
HadoopVersionDialog.distribution.tooltip=Set the Hadoop distribution
HadoopVersionDialog.version=Version:
HadoopVersionDialog.version.tooltip=Set the distribution version
HadoopVersionDialog.browseBtn=B&rowse...
HadoopVersionDialog.confirmMsg=Current custom set up will be replaced , do you want to continue ?
HadoopCustomLibrariesUtil.cannotCreate=cannot create {0}
HadoopCustomLibrariesUtil.importFailed=Import custom definition failed
HadoopCustomLibrariesUtil.exmportFailed=Export custom definition failed
HadoopCustomLibrariesUtil.libMissing=Some jars are not found in the studio: {0},please check in the module view to install
HadoopCustomLibrariesUtil.importConfirmMsg=Do you want to continue ?
LibrariesListSelectionDialog.title=Select libraries
LibrariesListSelectionDialog.button.internal=Internal libraries
LibrariesListSelectionDialog.button.external=External libraries
LibrariesListSelectionDialog.selectLibFromOS=Select libraries
LibrariesListSelectionDialog.browseButton.text=Browse...
LibrariesListSelectionDialog.deployLibs=Deploy libraries...
PigFunctionParser.checkMethod=Pig : "{0}.{1}\\" parse failed. please check your the Method.
GenerateSelectSQLAction.NewQuery=new Query {0}
AbstractTalendFunctionParser.checkMethod=Runtines : "{0}.{1}\\" parse failed. please check your the Method.
UpdatesConstants.MR=Map_Reduce
AbstractBrandingService.routines_license_header_content2014=Copyright (c) 2006-2014, Talend Inc.\n//\n// This source code has been automatically generated by_{0}\n// CodeGenerator version {1}\n// You can find more information about Talend products at www.talend.com.\n// You may distribute this code under the terms of the GNU LGPL license\n// http://www.gnu.org/licenses/lgpl.html).
repository.tdqelement.sourceFile=Source Files
repository.tdqelement.jrxml=JRXML Template
repository.dataprofiling=Data Profiling
repository.libraries=Libraries
repository.patternRegex=Regex
repository.patternSql=SQL
repository.rules=Rules
repository.rulesSql=SQL
repository.rulesParser=Parser
repository.rulesMatcher=Match
repository.systemIndicators=System Indicators
repository.userDefineIndicators=User Defined Indicators
repository.userDefineIndicators.lib=lib
repository.systemIndicators.advancedStatistics=Advanced Statistics
repository.systemIndicators.businessRules=Business Rules
repository.systemIndicators.correlation=Correlation
repository.systemIndicators.functionalDependency=Functional Dependency
repository.systemIndicators.overview=Overview
repository.systemIndicators.patternFinder=Pattern Frequency Statistics
repository.systemIndicators.patternMatching=Pattern Matching
repository.systemIndicators.rowComparison=Row Comparison
repository.systemIndicators.simpleStatistics=Simple Statistics
repository.systemIndicators.soundex=Soundex
repository.systemIndicators.summaryStatistics=Summary Statistics
repository.systemIndicators.textStatistics=Text Statistics
repository.tdqExchange=Exchange
repository.systemIndicators.phoneNumberStatistics=Phone Number Statistics
repository.systemIndicators.fraudDetection=Fraud Detection
EUpdateItemType.MapPath=Map path
EUpdateResult.PathUpdate=Update for map path
AContextualAction.EditorManager_saveChangesQuestion='{0}' has been modified. Save changes?
AContextualAction.Save_Resource=Save Resource
EConnectionType.tableRefMenu=Table_ref
EComponentCategory.stormConfig=Storm Configuration
repository.metadataSalesforceModule=SalesforceModule(AccountHistory)
EComponentCategory.sparkConfig=Spark Configuration
repository.SAPIDoc=SAP IDoc
repository.SAPTable=SAP Table
ProgressMonitorDialogWithCancel.executeMessage.default=Executing...
ProgressMonitorDialogWithCancel.waitingFinishMessage.default=Can not interrupt the Check Connection action normally,\n
ProgressMonitorDialogWithCancel.executeTimeout=Execute time out, Studio has tried to interrupt this checking action at background.
ProgressMonitorDialogWithCancel.CheckingConnectionJob.waitingFinish=waiting {0} finish...
ProgressMonitorDialogWithCancel.CheckingConnectionJob.emptyWaitingfinish=waiting to finish...
EComponentCategory.memoryRun=Memory Run
EUpdateResult.JobUpdate=Update for job node
EUpdateItemType.Batch=Batch
EUpdateItemType.Streaming=Streaming
UpdatesConstants.Storm=Storm
UpdatesConstants.Spark=Spark
UpdatesConstants.SparkStreaming=Spark_Streaming
OverTimePopupDialogTask.title=Executing...
OverTimePopupDialogTask.message=Executing task in background, please wait...
OverTimePopupDialogTask.executeTimeout=Execute time out, Studio has tried to interrupt this checking action at background.
OverTimePopupDialogTask.killed=Execution is killed
OverTimePopupDialogTask.waitingFinishMessage.default=Can not interrupt the background task normally,\n
OverTimePopupDialogTask.CheckingConnectionJob.waitingFinish=waiting {0} finish...
OverTimePopupDialogTask.CheckingConnectionJob.emptyWaitingfinish=waiting to finish...
EComponentCategory_gitHistory=Git History
repository.gitroot=GIT
EComponentCategory.parameters=Parameters
EComponentCategory.actionInputOutput=Input/Output Schema
EConnectionType.RejectMenu=Reject
RepositoryContentProvider.repositoryLabel.sapBapi=SAP Bapi
RepositoryContentProvider.repositoryLabel.sapBapi.input=Input
RepositoryContentProvider.repositoryLabel.sapBapi.output=Output
RepositoryContentProvider.repositoryLabel.sapTable=SAP Tables
RepositoryContentProvider.repositoryLabel.sapDataSource=SAP DataSource
RepositoryContentProvider.repositoryLabel.sapDSO=SAP DSO
RepositoryContentProvider.repositoryLabel.sapInfoCube=SAP InfoCube
RepositoryContentProvider.repositoryLabel.sapInfoObject=SAP InfoObject
ComponentReturnVariableUtils.ErrorMessage=Error Message
ComponentReturnVariableUtils.NbReject=Number of reject
ComponentReturnVariableUtils.NbSuccess=Number of success
ComponentReturnVariableUtils.NbLine=Number of line
repository.metadataRulesManagement=Rules Management
repository.metadataRulesManagement.alias=Rules Management
EUpdateItemType.StructurePath=Structure path
EUpdateResult.StructurePathUpdate=Update for structure path
UpdatesConstants.Spark_Joblet=Spark_Joblet
UpdatesConstants.Spark_Streaming_Joblet=Spark_Streaming_Joblet
EComponentCategory_deployment=Deployment
RepositoryContentProvider.repositoryLabel.sapContentExtractor=SAP BI Content Extractor
ShareLibsJob.wrongUsernameOrPassword=Authorization failed caused by wrong Nexus username or password.
RelationshipItemBuilder.unexpect.item=Unexpected item type: {0}
RelationshipItemBuilder.unexpect.relation=Unexpected relation type: {0}
DynamicElement.incorrectInstance=Current json object is not an instance of {0}: {1}
DynamicElement.tagName.empty=tagName is empty!
DynamicPlugin.addExtension.empty=ExtensionPoint or Id is empty!
RelationshipItemBuilder.unexpect.typesConflict=Too many types found for {0}:{1}
ReferenceProjectProblemManager.ErrorMoreThanOneBranchUsing={0} more than one branches are using in projects reference chain.
EComponentCategory_advanceSetting=Advanced settings
RepositoryUpdateManager.job.title=Updating items...
BigDataBasicUtil.loadDynamicDistribution.IDynamicDistributionManager.notFound=Instance of {0} not found
ComponentToRepositoryProperty.ImpossibleUseWALLET=Impossible to use WALLET type in the repository\!
TalendLibsServerManager.connectUserLibraryFailureMessage=The user libraries artifact repository set in administrator cannot connect: Connection to {0} refused
TalendLibsServerManager.cannotGetUserLibraryServer=Cannot get the user library server from remote administrator
RepositoryUpdateManager.RenameContextMessagesNoBuiltIn=Do you really want to propagate the rename variable to all jobs now? \n\n If yes, it might be quite long time to update.

View File

@@ -1,6 +1,6 @@
AbstractBrandingService_job_license_header_content=Copyright (c) 2005-2010, Talend SA.\n//\n// Ce code source a \u00E9t\u00E9 automatiquement g\u00E9n\u00E9r\u00E9 par_\n\n// (CodeGenerator version{0}\n// Vous pouvez trouver plus d'informations \u00E0 propos des produits Talend sur https://www.talend.com/\nfr/. {1}// Vous pouvez distribuer ce code suivant les termes de la licence\nGNU LGPL\n// http://www.gnu.org/licenses/lgpl.\nhtml\n).
AbstractBrandingService.routines_license_header_content2014=Copyright (c) 2006-2014, Talend SA.\n//\n// Ce code source a \u00E9t\u00E9 automatiquement g\u00E9n\u00E9r\u00E9 par_{0}\n// (CodeGenerator version {1}\n// Vous pouvez trouver plus d'informations \u00E0 propos des produits Talend sur https://www.talend.com/fr/.\n// Vous pouvez distribuer ce code suivant les termes de la licence GNU LGPL\n// http://www.gnu.org/licenses/lgpl.html).
AbstractBrandingService_job_license_header_content=// ============================================================================\n//\n// Copyright (c) 2005-2010, Talend SA.\n//\n// Le code source a \u00E9t\u00E9 automatiquement g\u00E9n\u00E9r\u00E9 par_{0}\n// / JobDesigner (CodeGenerator version {1}).\n// Vous pouvez trouver plus d'informations sur les produits Talend sur www.talend.com.\n// Vous pouvez distribuer ce code sous les termes de la licence GNU LGPL\n// (http://www.gnu.org/licenses/lgpl.html).\n//\n// ============================================================================
AbstractBrandingService.routines_license_header_content2014=Copyright (c) 2006-2014, Talend SA.\n//\n// Ce code source a \u00E9t\u00E9 automatiquement g\u00E9n\u00E9r\u00E9 par_{0}\n// CodeGenerator version {1}\n// Vous pouvez trouver plus d'informations sur les produits Talend sur www.talend.com.\n// Vous pouvez distribuer ce code sous les termes de la licence GNU LGPL\n// (http://www.gnu.org/licenses/lgpl.html).
AbstractComponentsProvider.folderNotExist=Le dossier {0} n'existe pas.
AbstractItemMigrationTask.taskFailed=La t\u00E2che de migration {0} a \u00E9chou\u00E9 \u00E0 l'\u00E9l\u00E9ment {1}
AdvancedSocketFactory.failedInitial=Erreur : impossible d'initialiser :
@@ -303,7 +303,7 @@ RepositoryToComponentProperty.xmlFileSelection=S\u00E9lectionnez un fichier XML
RepositoryUpdateManager.Title=Modification
RepositoryUpdateManager.Check=V\u00E9rification...
RepositoryUpdateManager.Messages=Voulez-vous propager les modifications \u00E0 tous les Jobs ? \n Cela peut prendre un moment.
RepositoryUpdateManager.MessagesForTDQ=Propager les modifications \u00E0 tous les Jobs ?\nCertaines d\u00E9pendances d'analyses vont perdre des informations.\nCela peut prendre un moment.
RepositoryUpdateManager.MessagesForTDQ=Voulez-vous propager les modifications \u00E0 tous les Jobs ?\nCertaines d\u00E9pendances d'analyses vont perdre des informations.\nCela peut prendre un moment.
RepositoryUpdateManager.NoModificationTitle=Aucune modification n\u00E9cessaire
RepositoryUpdateManager.NoModificationMessages=Aucune modification n\u00E9cessaire pour effectuer la mise \u00E0 jour.
RepositoryUpdateManager.NotFoundMessages=Aucune relation \u00E0 trouver.
@@ -338,7 +338,7 @@ SchemaOperationChoiceDialog.StatusMessage=Le sch\u00E9ma est invalide, ou il exi
SchemaOperationChoiceDialog.Title=Sch\u00E9ma
SchemaOperationChoiceDialog.ViewSchemaMessage=Voir le sch\u00E9ma (lecture seule)
SchemaXPathQuerysDialog.Mappings=Correspondances
SelectRepositoryContextDialog.DeselectAll=D\u00E9s\u00E9lectionner tout
SelectRepositoryContextDialog.DeselectAll=Tout d\u00E9s\u00E9lectionner
SelectRepositoryContextDialog.CollapseAll=Tout r\u00E9duire
SelectRepositoryContextDialog.DuplicationMessage=Vous avez s\u00E9lectionn\u00E9 la variable "{0}" dans le contexte "{1}".
SelectRepositoryContextDialog.DuplicationTitle=Avertissement de duplication !
@@ -558,7 +558,7 @@ OpenXSDFileDialog.cancel=Annuler
OpenXSDFileDialog.confirm=Confirmer
OpenXSDFileDialog.fileName=Nom de fichier\u00A0:
OpenXSDFileDialog.xmlFileSelection=S\u00E9lectionnez un fichier XML \u00E0 valider
OpenXSDFileDialog.xmlSelectedOrNot=Comme vous avez s\u00E9lectionn\u00E9 un fichier de m\u00E9tadonn\u00E9es XSD, \n il devrait y avoir un fichier XML \u00E0 valider.
OpenXSDFileDialog.xmlSelectedOrNot=Comme vous avez s\u00E9lectionn\u00E9 un fichier XSD de m\u00E9tadonn\u00E9es, \n un fichier XML doit \u00EAtre \u00E0 valider.
RepositoryContentProvider.repositoryLabel.Queries=Requ\u00EAtes
RepositoryContentProvider.repositoryLabel.sapBapi=SAP Bapi
RepositoryContentProvider.repositoryLabel.sapBapi.input=Lecture

View File

@@ -1,6 +1,6 @@
AbstractBrandingService_job_license_header_content=// ============================================================================\n//\n// Copyright (c) 2005-2010, Talend Inc.\n//\n//\u3053\u306E\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9\u306F_{0}\u306B\u3088\u3063\u3066\u81EA\u52D5\u7684\u306B\u751F\u6210\u3055\u308C\u307E\u3057\u305F\n// JobDesigner (CodeGenerator\u30D0\u30FC\u30B8\u30E7\u30F3{1})\n// Talend\u88FD\u54C1\u306B\u3064\u3044\u3066\u8A73\u3057\u304F\u306F\u3001www.talend.com\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002\n//\u3053\u306E\u30B3\u30FC\u30C9\u306FGNU LGPL\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6761\u4EF6\u306B\u57FA\u3065\u3044\u3066\u914D\u5E03\u3067\u304D\u307E\u3059\n// http://www.gnu.org/licenses/lgpl.html)\u3002\n//\n// ============================================================================
AbstractBrandingService.routines_license_header_content2014=Copyright (c) 2006-2014, Talend Inc.\n//\n//\u3053\u306E\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9\u306F_{0}\u306B\u3088\u3063\u3066\u81EA\u52D5\u7684\u306B\u751F\u6210\u3055\u308C\u307E\u3057\u305F\n// CodeGenerator\u30D0\u30FC\u30B8\u30E7\u30F3{1}\n// Talend\u88FD\u54C1\u306B\u95A2\u3059\u308B\u8A73\u7D30\u306Fwww.talend.com\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002\n//\u3053\u306E\u30B3\u30FC\u30C9\u306FGNU LGPL\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6761\u4EF6\u306B\u57FA\u3065\u3044\u3066\u914D\u5E03\u304C\u53EF\u80FD\u3067\u3059\u3002\n// http://www.gnu.org/licenses/lgpl.html)
AbstractBrandingService_job_license_header_content=// ============================================================================\n//\n// Copyright (c) 2005-2010, Talend Inc.\n//\n// \u3053\u306E\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9\u306F{0}\u306B\u3088\u3063\u3066\u81EA\u52D5\u7684\u306B\u751F\u6210\u3055\u308C\u307E\u3057\u305F\n// / JobDesigner (CodeGenerator\u30D0\u30FC\u30B8\u30E7\u30F3{1})\n// Talend\u88FD\u54C1\u306E\u3055\u3089\u306B\u8A73\u3057\u3044\u60C5\u5831\u306F\u3001www.talend.com\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002\n// \u3053\u306E\u30B3\u30FC\u30C9\u306FGNU LGPL\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6761\u4EF6\n// (http://www.gnu.org/licenses/lgpl.html)\u306B\u57FA\u3065\u3044\u3066\u914D\u5E03\u3067\u304D\u307E\u3059\u3002\n//\n// ============================================================================
AbstractBrandingService.routines_license_header_content2014=Copyright (c) 2006-2014, Talend Inc.\n//\n// \u3053\u306E\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9\u306F{0}\u306B\u3088\u3063\u3066\u81EA\u52D5\u7684\u306B\u751F\u6210\u3055\u308C\u307E\u3057\u305F\n// CodeGenerator\u30D0\u30FC\u30B8\u30E7\u30F3{1}\n// Talend\u88FD\u54C1\u306E\u3055\u3089\u306B\u8A73\u3057\u3044\u60C5\u5831\u306F\u3001www.talend.com\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002\n// \u3053\u306E\u30B3\u30FC\u30C9\u306FGNU LGPL\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6761\u4EF6\n// (http://www.gnu.org/licenses/lgpl.html)\u306B\u57FA\u3065\u3044\u3066\u914D\u5E03\u3067\u304D\u307E\u3059\u3002
AbstractComponentsProvider.folderNotExist=\u30D5\u30A9\u30EB\u30C0\u30FC{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
AbstractItemMigrationTask.taskFailed=\u30A2\u30A4\u30C6\u30E0{1}\u4E0A\u306E\u79FB\u884C\u30BF\u30B9\u30AF{0}\u304C\u5931\u6557\u3057\u307E\u3057\u305F
AdvancedSocketFactory.failedInitial=\u30A8\u30E9\u30FC : \u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F :
@@ -178,8 +178,8 @@ Function.FunctionName=\u95A2\u6570\u540D{0}
FunctionManager.PurePerl.Desc=\u81EA\u5206\u306E\u5F0F\u3092\u8A2D\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
FunctionManager.PurePerl.ParaName=\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u30AB\u30B9\u30BF\u30DE\u30A4\u30BA
GlobalServiceRegister.ServiceNotRegistered=\u30B5\u30FC\u30D3\u30B9{0}\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
GroupByContextAction.groupContext=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D7\u5316
GroupByVariableAction.groupVariable=\u5909\u6570\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D7\u5316
GroupByContextAction.groupContext=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D4\u30F3\u30B0
GroupByVariableAction.groupVariable=\u5909\u6570\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D4\u30F3\u30B0
AbstractTalendFunctionParser.checkMethod=\u30EB\u30FC\u30C1\u30F3: "{0}.{1}\\"\u89E3\u6790\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30E1\u30BD\u30C3\u30C9\u3092\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044\u3002
JavaGlobalVariableProposal.Description=\u8AAC\u660E: {0}
JavaGlobalVariableProposal.VariableName=\n\n\u5909\u6570\u540D: {1}
@@ -190,10 +190,10 @@ JavaTypesManager.integer=INTEGER\u306F\u6570\u5024\u3067\u3059:
JavaTypesManager.list=LIST\u306F\u6570\u5024\u3067\u3059:
JavaTypesManager.string=STRING\u306F\u6570\u5024\u3067\u3059:
LDAPCATruster.failedCreateCert=\u8A3C\u660E\u66F8\u30B9\u30C8\u30A2\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedCreateTmp=tmp\u4FE1\u983C\u30B9\u30C8\u30A2\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedCreateTmp=\u4E00\u6642\u30C8\u30E9\u30B9\u30C8\u30B9\u30C8\u30A2\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedInitialTrust=\u521D\u671F\u4FE1\u983C\u30DE\u30CD\u30FC\u30B8\u30E3\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedLoadCert=\u8A3C\u660E\u66F8\u30B9\u30C8\u30A2\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
LDAPCATruster.failedSaveTrust=\u4FE1\u983C\u30B9\u30C8\u30A2\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.failedSaveTrust=\u30C8\u30E9\u30B9\u30C8\u30B9\u30C8\u30A2\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F:
LDAPCATruster.locationInvalid=\u8A3C\u660E\u66F8\u30B9\u30C8\u30A2\u30D5\u30A1\u30A4\u30EB\u306E\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u7121\u52B9\u3067\u3059:
LDAPCATruster.noCertificate=\n\u30AD\u30FC\u30C4\u30FC\u30EB\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u3063\u3066\u3001\u30B5\u30FC\u30D0\u30FC\u8A3C\u660E\u66F8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u3066\u304F\u3060\u3055\u3044\u3002
LDAPCATruster.sslError1=SSL\u30A8\u30E9\u30FC\uFF1A\u30B5\u30FC\u30D0\u30FC\u8A3C\u660E\u66F8\u3092\u691C\u8A3C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
@@ -302,16 +302,16 @@ RepositoryObject.NotImplemented=\u672A\u5B9F\u88C5
RepositoryToComponentProperty.xmlFileSelection=\u691C\u8A3C\u3059\u308BXML\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E
RepositoryUpdateManager.Title=\u5909\u66F4
RepositoryUpdateManager.Check=\u30C1\u30A7\u30C3\u30AF\u4E2D...
RepositoryUpdateManager.Messages=\u3059\u3079\u3066\u306E\u30B8\u30E7\u30D6\u306B\u5909\u66F4\u3092\u53CD\u6620\u3057\u307E\u3059\u304B? \n\u3053\u306E\u51E6\u7406\u306B\u306F\u6642\u9593\u304C\u304B\u304B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
RepositoryUpdateManager.MessagesForTDQ=Do you want to propagate the modifications to all jobs?\nAnd some analysis which dependency it will lost information.\nIt might be quite long
RepositoryUpdateManager.Messages=\u5909\u66F4\u3092\u3059\u3079\u3066\u306E\u30B8\u30E7\u30D6\u306B\u30D7\u30ED\u30D1\u30B2\u30FC\u30C8\u3057\u307E\u3059\u304B? \n \u3053\u306E\u64CD\u4F5C\u306B\u306F\u975E\u5E38\u306B\u9577\u3044\u6642\u9593\u304C\u304B\u304B\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
RepositoryUpdateManager.MessagesForTDQ=\u5909\u66F4\u3092\u3059\u3079\u3066\u306E\u30B8\u30E7\u30D6\u306B\u30D7\u30ED\u30D1\u30B2\u30FC\u30C8\u3057\u307E\u3059\u304B?\n\u307E\u305F\u3001\u4E00\u90E8\u306E\u5206\u6790\u4F9D\u5B58\u9805\u76EE\u3067\u60C5\u5831\u304C\u5931\u308F\u308C\u307E\u3059\u3002\n\u3053\u306E\u64CD\u4F5C\u306B\u306F\u975E\u5E38\u306B\u9577\u3044\u6642\u9593\u304C\u304B\u304B\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
RepositoryUpdateManager.NoModificationTitle=\u5909\u66F4\u4E0D\u8981
RepositoryUpdateManager.NoModificationMessages=\u66F4\u65B0\u306B\u5FC5\u8981\u306A\u5909\u66F4\u304C\u3042\u308A\u307E\u305B\u3093\u3002
RepositoryUpdateManager.NoModificationMessages=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306B\u5FC5\u8981\u306A\u5909\u66F4\u304C\u3042\u308A\u307E\u305B\u3093\u3002
RepositoryUpdateManager.NotFoundMessages=\u95A2\u4FC2\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
RepositoryUpdateManager.NotFoundTitle=\u898B\u3064\u304B\u308A\u307E\u305B\u3093
RepositoryUpdateManager.RenameContextMessagesNoBuiltIn=\u540D\u524D\u304C\u5909\u66F4\u3055\u308C\u305F\u5909\u6570\u3092\u3059\u3079\u3066\u306E\u30B8\u30E7\u30D6\u306B\u4ECA\u3059\u3050\u30D7\u30ED\u30D1\u30B2\u30FC\u30C8\u3057\u307E\u3059\u304B? \n\n [\u306F\u3044]\u3092\u9078\u629E\u3059\u308B\u3068\u3001\u66F4\u65B0\u306B\u975E\u5E38\u306B\u9577\u3044\u6642\u9593\u304C\u304B\u304B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002
RepositoryUpdateManager.RenameContextTitle=Rename Question
RepositoryUpdateManager.ItemsToUpdate=\u66F4\u65B0\u3059\u308B\u30A2\u30A4\u30C6\u30E0\u3092\u30C1\u30A7\u30C3\u30AF
RepositoryUpdateManager.job.title=\u30A2\u30A4\u30C6\u30E0\u3092\u66F4\u65B0\u4E2D...
RepositoryUpdateManager.RenameContextMessagesNoBuiltIn=\u540D\u524D\u5909\u66F4\u5909\u6570\u3092\u4ECA\u3059\u3050\u3059\u3079\u3066\u306E\u30B8\u30E7\u30D6\u306B\u30D7\u30ED\u30D1\u30B2\u30FC\u30C8\u3057\u307E\u3059\u304B? \n\n [\u306F\u3044]\u3092\u9078\u629E\u3059\u308B\u3068\u3001\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306B\u975E\u5E38\u306B\u9577\u3044\u6642\u9593\u304C\u304B\u304B\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
RepositoryUpdateManager.RenameContextTitle=\u540D\u524D\u5909\u66F4\u306E\u8CEA\u554F
RepositoryUpdateManager.ItemsToUpdate=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3059\u308B\u30A2\u30A4\u30C6\u30E0\u3092\u30C1\u30A7\u30C3\u30AF
RepositoryUpdateManager.job.title=\u30A2\u30A4\u30C6\u30E0\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u4E2D...
RoutinesFunctionProposal.CreatedBy=\u4F5C\u6210\u8005:
RoutinesFunctionProposal.Description=\u8AAC\u660E:
RoutinesFunctionProposal.Example=\u4F8B:
@@ -483,11 +483,11 @@ EUpdateItemType.Name=\u540D\u524D
EUpdateItemType.JobVersion=\u30B8\u30E7\u30D6\u30D0\u30FC\u30B8\u30E7\u30F3
EUpdateItemType.ValidationRule=\u691C\u8A3C\u30EB\u30FC\u30EB
EUpdateResult.BuiltIn=\u7D44\u307F\u8FBC\u307F\u30E2\u30FC\u30C9\u306B\u5909\u66F4
EUpdateResult.JobletUpdate=\u30B8\u30E7\u30D6\u30EC\u30C3\u30C8\u30CE\u30FC\u30C9\u306E\u66F4\u65B0
EUpdateResult.JobUpdate=\u30B8\u30E7\u30D6\u30CE\u30FC\u30C9\u306E\u66F4\u65B0
EUpdateResult.PathUpdate=\u30DE\u30C3\u30D7\u30D1\u30B9\u306E\u66F4\u65B0
EUpdateResult.StructurePathUpdate=\u30B9\u30C8\u30E9\u30AF\u30C1\u30E3\u30FC\u30D1\u30B9\u306E\u66F4\u65B0
EUpdateResult.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u304B\u3089\u66F4\u65B0
EUpdateResult.JobletUpdate=\u30B8\u30E7\u30D6\u30EC\u30C3\u30C8\u30CE\u30FC\u30C9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
EUpdateResult.JobUpdate=\u30B8\u30E7\u30D6\u30CE\u30FC\u30C9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
EUpdateResult.PathUpdate=\u30DE\u30C3\u30D7\u30D1\u30B9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
EUpdateResult.StructurePathUpdate=\u30B9\u30C8\u30E9\u30AF\u30C1\u30E3\u30FC\u30D1\u30B9\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
EUpdateResult.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u304B\u3089\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
EUpdateResult.Reload=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30EA\u30ED\u30FC\u30C9
EUpdateResult.Rename=\u540D\u524D\u3092\u5909\u66F4
EUpdateResult.Add=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u304B\u3089\u8FFD\u52A0
@@ -511,7 +511,7 @@ MetadataTypeLengthConstants.VALUE_DEFAULT_TYPE=\u30C7\u30D5\u30A9\u30EB\u30C8\u3
MetadataTypeLengthConstants.VALUE_DEFAULT_LENGTH=\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u9577\u3055
MetadataTypeLengthPreferencePage.VALUE=NULL\u5024\u3092\u542B\u3080\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u8A2D\u5B9A
MetadataTypeLengthPreferencePage.FIELD=\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u8A2D\u5B9A
MetadataTypeLengthPreferencePage.DBTYPE=\u30C7\u30FC\u30BF\u30BF\u30A4\u30D7\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u9577\u3055
MetadataTypeLengthPreferencePage.DBTYPE=\u30C7\u30FC\u30BF\u578B\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u9577\u3055
MetadataTypeLengthConstants.BOOLEAN_LENGTH=\u30D6\u30FC\u30EB\u5024
MetadataTypeLengthConstants.BIGDECIMAL_LENGTH=BigDecimal
MetadataTypeLengthConstants.BYTE_LENGTH=\u30D0\u30A4\u30C8
@@ -558,7 +558,7 @@ OpenXSDFileDialog.cancel=\u30AD\u30E3\u30F3\u30BB\u30EB
OpenXSDFileDialog.confirm=\u78BA\u8A8D
OpenXSDFileDialog.fileName=\u30D5\u30A1\u30A4\u30EB\u540D:
OpenXSDFileDialog.xmlFileSelection=\u691C\u8A3C\u3059\u308BXML\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E
OpenXSDFileDialog.xmlSelectedOrNot=XSD\u30E1\u30BF\u30C7\u30FC\u30BF\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3057\u305F\u305F\u3081\u3001\n\u691C\u8A3C\u3059\u308Bxml\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u3059\u3002
OpenXSDFileDialog.xmlSelectedOrNot=XSD\u30E1\u30BF\u30C7\u30FC\u30BF\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3057\u305F\u305F\u3081\u3001 \n \u691C\u8A3C\u7528\u306Exml\u30D5\u30A1\u30A4\u30EB\u304C\u5FC5\u8981\u3067\u3059\u3002
RepositoryContentProvider.repositoryLabel.Queries=\u30AF\u30A8\u30EA\u30FC
RepositoryContentProvider.repositoryLabel.sapBapi=SAP Bapi
RepositoryContentProvider.repositoryLabel.sapBapi.input=\u5165\u529B
@@ -635,7 +635,7 @@ DynamicPlugin.addExtension.empty=ExtensionPoint\u307E\u305F\u306FID\u304C\u7A7A\
BigDataBasicUtil.loadDynamicDistribution.IDynamicDistributionManager.notFound={0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
TalendLibsServerManager.connectUserLibraryFailureMessage=\u7BA1\u7406\u8005\u30E2\u30FC\u30C9\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u30E6\u30FC\u30B6\u30FC\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u304C\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002{0}\u3078\u306E\u63A5\u7D9A\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F
TalendLibsServerManager.cannotGetUserLibraryServer=\u30EA\u30E2\u30FC\u30C8\u7BA1\u7406\u8005\u304B\u3089\u30E6\u30FC\u30B6\u30FC\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u30B5\u30FC\u30D0\u30FC\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093
MigrationReportAccessDialog.title=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30A2\u30A4\u30C6\u30E0\u306E\u79FB\u884C
MigrationReportAccessDialog.title=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30A2\u30A4\u30C6\u30E0\u3092\u79FB\u884C
MigrationReportAccessDialog.migrateSuccess=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30A2\u30A4\u30C6\u30E0\u304C\u6B63\u3057\u304F\u79FB\u884C\u3055\u308C\u307E\u3057\u305F\u3002
MigrationReportAccessDialog.completeReportAvailable=\u30EC\u30DD\u30FC\u30C8\u3092\u30C1\u30A7\u30C3\u30AF
MigrationReportAccessDialog.accessReport=\u3053\u3061\u3089
@@ -649,7 +649,7 @@ MigrationReportAccessDialog.notNowButton=\u5F8C\u3067
ItemAnalysisReportManager.Information.title=\u60C5\u5831
ItemAnalysisReportManager.Information.message=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790\u304C\u6B63\u3057\u304F\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002\u4F8B\u5916\u30EC\u30B3\u30FC\u30C9\u306F\u751F\u6210\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002
ItemAnalysisReportManager.Warning.title=\u8B66\u544A
ItemAnalysisReportManager.Warning.message=\u65B0\u3057\u3044\u5206\u6790\u3092\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\u3002\u73FE\u5728\u306E\u5206\u6790\u304C\u5B8C\u4E86\u3057\u3066\u304B\u3089\u3001\u3082\u3046\u4E00\u5EA6\u8A66\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ItemAnalysisReportManager.Warning.message=\u65B0\u3057\u3044\u5206\u6790\u3092\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\u3002\u73FE\u5728\u306E\u5206\u6790\u304C\u5B8C\u4E86\u3057\u3066\u304B\u3089\u3001\u3084\u308A\u76F4\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002
AnalysisReportAccessDialog.shellTitle=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790
AnalysisReportAccessDialog.generateSuccess=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790\u304C\u6B63\u3057\u304F\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002
AnalysisReportAccessDialog.completeReportAvailable=\u30EC\u30DD\u30FC\u30C8\u3092\u30C1\u30A7\u30C3\u30AF

View File

@@ -1,6 +1,6 @@
AbstractBrandingService_job_license_header_content=// ============================================================================\n//\n// \u7248\u6743\u6240\u6709 (c) 2005-2010, Talend Inc.\n//\n// \u6B64\u6E90\u4EE3\u7801\u5DF2\u7531_{0}\u81EA\u52A8\u751F\u6210\n// / JobDesigner (CodeGenerator \u7248\u672C {1})\n// \u60A8\u53EF\u4EE5\u8BBF\u95EE www.talend.com \u4E86\u89E3\u6709\u5173 Talend \u4EA7\u54C1\u7684\u66F4\u591A\u4FE1\u606F\u3002.\n// \u60A8\u53EF\u4EE5\u6839\u636E GNU LGPL \u8BB8\u53EF\u8BC1\u6761\u6B3E\u5206\u53D1\u6B64\u4EE3\u7801\n// http://www.gnu.org/licenses/lgpl.html).\n//\n// ============================================================================
AbstractBrandingService.routines_license_header_content2014=\u7248\u6743\u6240\u6709 (c) 2006-2015, Talend Inc.\n//\n// \u6B64\u6E90\u4EE3\u7801\u5DF2\u7531_{0}\u81EA\u52A8\u751F\u6210 \n// CodeGenerator \u7248\u672C {1}\n// \u60A8\u53EF\u4EE5\u8BBF\u95EE www.talend.com \u4E86\u89E3\u6709\u5173 Talend \u4EA7\u54C1\u7684\u66F4\u591A\u4FE1\u606F\u3002\n// \u60A8\u53EF\u4EE5\u6839\u636E GNU LGPL \u8BB8\u53EF\u8BC1\u6761\u6B3E\u5206\u53D1\u6B64\u4EE3\u7801\n// http://www.gnu.org/licenses/lgpl.html)\u3002
AbstractBrandingService_job_license_header_content=// ============================================================================\n//\n// \u7248\u6743\u6240\u6709 (c) 2005-2010, Talend Inc.\n//\n// \u6B64\u6E90\u4EE3\u7801\u5DF2\u7531_{0} \u81EA\u52A8\u751F\u6210\n// / JobDesigner (CodeGenerator \u7248\u672C {1})\n// \u60A8\u53EF\u4EE5\u8BBF\u95EE www.talend.com \u4E86\u89E3 Talend \u4EA7\u54C1\u7684\u66F4\u591A\u4FE1\u606F\u3002\n// \u60A8\u53EF\u4EE5\u6839\u636E GNU LGPL \u8BB8\u53EF\u8BC1\u6761\u6B3E\u5206\u53D1\u6B64\u4EE3\u7801\n// http://www.gnu.org/licenses/lgpl.html)\u3002\n//\n// ============================================================================
AbstractBrandingService.routines_license_header_content2014=\u7248\u6743\u6240\u6709 (c) 2006-2014, Talend Inc.\n//\n// \u6B64\u6E90\u4EE3\u7801\u5DF2\u7531_{0} \u81EA\u52A8\u751F\u6210\n// CodeGenerator \u7248\u672C {1}\n// \u60A8\u53EF\u4EE5\u8BBF\u95EE www.talend.com \u4E86\u89E3 Talend \u4EA7\u54C1\u7684\u66F4\u591A\u4FE1\u606F\u3002\n// \u60A8\u53EF\u4EE5\u6839\u636E GNU LGPL \u8BB8\u53EF\u8BC1\u6761\u6B3E\u5206\u53D1\u6B64\u4EE3\u7801\n// http://www.gnu.org/licenses/lgpl.html)\u3002
AbstractComponentsProvider.folderNotExist=\u6587\u4EF6\u5939 {0} \u4E0D\u5B58\u5728\u3002
AbstractItemMigrationTask.taskFailed=\u8FC1\u79FB\u4EFB\u52A1 {0} \u5728\u8FC1\u79FB\u9879\u76EE {1} \u65F6\u5931\u8D25
AdvancedSocketFactory.failedInitial=\u9519\u8BEF\uFF1A\u65E0\u6CD5\u521D\u59CB\u5316\uFF1A
@@ -253,7 +253,7 @@ MetadataTool.schemaInvalid=Schema \u540D\u79F0\u65E0\u6548\u3002
MetadataTool.schemaNull=Schema \u540D\u79F0\u4E3A null\u3002
NodeReturnProposal.Availability=\n\u53EF\u7528\u6027\uFF1A {4}
NodeReturnProposal.Description=\u63CF\u8FF0\uFF1A{0}
NodeReturnProposal.GlobalVariable=\n\n\u5168\u5C40\u53D8\u91CF\uFF0C\u7EC4\u4EF6 {1} [{2}] \u7684\u5C5E\u6027\u3002
NodeReturnProposal.GlobalVariable=\n\n\u5168\u5C40\u53D8\u91CF\uFF0C\u7EC4\u4EF6\u5C5E\u6027 {1} [{2}].
NodeReturnProposal.Type=\n\u7C7B\u578B\uFF1A {3}
NodeReturnProposal.VariableName=\n\n\u53D8\u91CF\u540D\uFF1A {5}
PaletteContentDialog.connection=\u683C\u5F0F\u8FDE\u63A5\u9ED8\u8BA4\u503C:
@@ -302,13 +302,13 @@ RepositoryObject.NotImplemented=\u672A\u5B9E\u73B0
RepositoryToComponentProperty.xmlFileSelection=\u9009\u62E9\u8981\u9A8C\u8BC1\u7684 XML \u6587\u4EF6
RepositoryUpdateManager.Title=\u4FEE\u6539
RepositoryUpdateManager.Check=\u68C0\u67E5\u4E2D...
RepositoryUpdateManager.Messages=\u662F\u5426\u5C06\u4FEE\u6539\u4F20\u64AD\u5230\u6240\u6709\u4F5C\u4E1A\uFF1F\n\u53EF\u80FD\u8981\u5F88\u4E45\u3002
RepositoryUpdateManager.MessagesForTDQ=\u662F\u5426\u8981\u5C06\u4FEE\u6539\u4F20\u64AD\u5230\u6240\u6709\u4F5C\u4E1A\uFF1F\n\u67D0\u4E9B\u5206\u6790\u4F9D\u8D56\u5173\u7CFB\u4F1A\u4E22\u5931\u4FE1\u606F\u3002\n\u53EF\u80FD\u8981\u5F88\u4E45
RepositoryUpdateManager.Messages=\u662F\u5426\u5C06\u4FEE\u6539\u4F20\u64AD\u5230\u6240\u6709\u4F5C\u4E1A\uFF1F \n \u6B64\u8FC7\u7A0B\u53EF\u80FD\u6BD4\u8F83\u8017\u65F6\u3002
RepositoryUpdateManager.MessagesForTDQ=\u662F\u5426\u5C06\u4FEE\u6539\u4F20\u64AD\u5230\u6240\u6709\u4F5C\u4E1A\uFF1F\n\u67D0\u4E9B\u5206\u6790\u4F9D\u8D56\u5173\u7CFB\u4F1A\u4E22\u5931\u4FE1\u606F\u3002\n\u6B64\u8FC7\u7A0B\u53EF\u80FD\u6BD4\u8F83\u8017\u65F6\u3002
RepositoryUpdateManager.NoModificationTitle=\u6CA1\u6709\u9700\u8981\u7684\u4FEE\u6539
RepositoryUpdateManager.NoModificationMessages=\u6CA1\u6709\u66F4\u65B0\u6240\u9700\u7684\u4FEE\u6539\u3002
RepositoryUpdateManager.NotFoundMessages=\u6CA1\u6709\u53EF\u5BFB\u627E\u7684\u5173\u7CFB\u3002
RepositoryUpdateManager.NotFoundTitle=\u627E\u4E0D\u5230
RepositoryUpdateManager.RenameContextMessagesNoBuiltIn=\u662F\u5426\u771F\u7684\u8981\u7ACB\u5373\u5C06\u91CD\u547D\u540D\u53D8\u91CF\u4F20\u64AD\u5230\u6240\u6709\u4F5C\u4E1A\uFF1F\n\n\u5982\u679C\u662F\uFF0C\u66F4\u65B0\u53EF\u80FD\u9700\u8981\u5F88\u957F\u65F6\u95F4\u3002
RepositoryUpdateManager.RenameContextMessagesNoBuiltIn=\u662F\u5426\u786E\u5B9A\u8981\u628A\u91CD\u547D\u540D\u53D8\u91CF\u4F20\u64AD\u5230\u6240\u6709\u4F5C\u4E1A\uFF1F \n\n \u5982\u7EE7\u7EED\uFF0C\u5219\u53EF\u80FD\u9700\u8981\u5F88\u957F\u65F6\u95F4\u8FDB\u884C\u66F4\u65B0\u3002
RepositoryUpdateManager.RenameContextTitle=\u91CD\u547D\u540D\u95EE\u9898
RepositoryUpdateManager.ItemsToUpdate=\u68C0\u67E5\u8981\u66F4\u65B0\u7684\u9879\u76EE
RepositoryUpdateManager.job.title=\u6B63\u5728\u66F4\u65B0\u9879\u76EE...
@@ -558,7 +558,7 @@ OpenXSDFileDialog.cancel=\u53D6\u6D88
OpenXSDFileDialog.confirm=\u786E\u8BA4
OpenXSDFileDialog.fileName=\u6587\u4EF6\u540D:
OpenXSDFileDialog.xmlFileSelection=\u9009\u62E9\u8981\u9A8C\u8BC1\u7684 XML \u6587\u4EF6
OpenXSDFileDialog.xmlSelectedOrNot=\u7531\u4E8E\u60A8\u9009\u62E9\u4E86 XSD \u5143\u6570\u636E\u6587\u4EF6\uFF0C\n \u5E94\u8BE5\u6709\u4E00\u4E2A xml \u6587\u4EF6\u9700\u8981\u9A8C\u8BC1\u3002
OpenXSDFileDialog.xmlSelectedOrNot=\u7531\u4E8E\u60A8\u9009\u62E9\u4E86 XSD \u5143\u6570\u636E\u6587\u4EF6\uFF0C \n \u5E94\u8BE5\u6709\u4E00\u4E2A XML \u6587\u4EF6\u9700\u8981\u9A8C\u8BC1\u3002
RepositoryContentProvider.repositoryLabel.Queries=\u67E5\u8BE2
RepositoryContentProvider.repositoryLabel.sapBapi=SAP Bapi
RepositoryContentProvider.repositoryLabel.sapBapi.input=\u8F93\u5165

View File

@@ -45,6 +45,8 @@ public interface TalendProcessOptionConstants {
public static final int GENERATE_NO_CODEGEN = 1 << 9;
public static final int GENERATE_POM_NO_FILTER = 1 << 10;
public static final int GENERATE_POM_NOT_CLEAR_CACHE = 1 << 11;
/**
* clean options

View File

@@ -12,6 +12,11 @@
// ============================================================================
package org.talend.core.runtime.services;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.core.IClasspathEntry;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.properties.RoutineItem;
@@ -24,6 +29,10 @@ public interface IDesignerMavenService extends IService {
String getImportGAVPackageForCodesJar(CodesJarInfo info);
void updateCodeJarMavenProject(CodesJarInfo info, boolean needReSync) throws Exception;
void enableMavenNature(IProgressMonitor monitor, IProject project);
void addProjectClasspathEntry(IProgressMonitor monitor, IProject project, List<IClasspathEntry> entries);
String getLocalRepositoryPath() throws Exception;

View File

@@ -15,6 +15,7 @@ package org.talend.core.service;
import org.talend.core.IService;
import org.talend.core.model.metadata.IMetadataTable;
import org.talend.core.model.process.IConnection;
import org.talend.core.model.process.INode;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
/**
@@ -46,4 +47,24 @@ public interface IDQComponentService extends IService {
*/
void covertConfindWeight2Int(NodeType node);
/**
*
* Handle component chaged
*
* @param oldMetadataTable
* @param newMetadataTable
*/
void externalComponentInputMetadataChange(INode node, IMetadataTable newMetadataTable,
IMetadataTable oldMetadataTable);
/**
*
* Handle component chaged
*
* @param oldMetadataTable
* @param newMetadataTable
*/
void externalComponentOutputMetadataChange(INode node, IMetadataTable newMetadataTable,
IMetadataTable oldMetadataTable);
}

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