Compare commits

...

240 Commits

Author SHA1 Message Date
Chao MENG
e0c4d177e1 chore: update plugin timestamp (#5402) 2022-06-23 16:53:48 +08:00
Liu Xinquan
29d3ce507f fix(TDQ-20360) snowflake jdbc connection context mode issue (#5391) 2022-06-17 16:37:59 +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
kjwang
3871353f4b TUP-33713 Logon popup message in a mess when main project and refer (#4843)
project are on different patch level
2021-12-09 18:37:58 +08:00
hcyi
c451cc14b3 feat(TUP-33198):Support retrieve SAP ADSO service metadata with SAP JCO3 (#4814)
* feat(TUP-33198):Support retrieve SAP ADSO service metadata with SAP JCO3

* feat(TUP-33198):fix TUP-33952[Bug] Import sap connection without hana
info and drag the node into job as tsapadsoinput, the connection type is
null.

* feat(TUP-33198):Support retrieve SAP ADSO service metadata with SAP JCO3
2021-12-09 16:57:51 +08:00
hzhao-talendbj
6201ede2a4 feat(TUP-22589): Create read-only mode in Studio for restricted GIT (#4828) 2021-12-09 11:04:26 +08:00
jiezhang-tlnd
570cefddf5 Jzhang/80/tup 33728 re (#4827)
* fix(TUP-33728)Migrate studio65 job to 801, miss DB connection

* fix(TUP-33728)Migrate studio65 job to 801, miss DB connection

* fix(TUP-33728)Migrate studio65 job to 801, miss DB connection
2021-12-09 09:24:54 +08:00
kjwang
ff17aa0b4d TUP-33735 "Hierarchical Mapper" can't show properly when switch git (#4834)
TUP-33735 "Hierarchical Mapper" can't show properly when switch git branch
https://jira.talendforge.org/browse/TUP-33735
2021-12-08 18:15:40 +08:00
hzhao-talendbj
a6848c5f64 feat(TUP-32064): Build up to date Studio index automatically (#4810)
* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): try remove index folder

* feat(TUP-32064): try use generate-sources

* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): Build up to date Studio index automatically

* feat(TUP-32064): Build up to date Studio index automatically
2021-12-08 14:49:03 +08:00
Emmanuel GALLOIS
77c1caf679 feat(TDI-46838): bump component-runtime to 1.39.2 (#4829) 2021-12-07 09:30:44 +01:00
pyzhou
9bdee7ea3c fix(TDI-47147):tMap TUJ fix (#4830) 2021-12-03 17:50:15 +08:00
sbliu
74f469e17f fix(TUP-33533) output CRLF for generated bat file. (#4816) 2021-12-03 16:01:22 +08:00
bhe-talendbj
cb9d039027 feat(TUP-33718): regenerate index and component index data (#4784) (#4822)
* feat(TUP-33718): regenerate index and component index data

* feat(TUP-33718): fix load dynamic distributions

* feat(TUP-33718): clone new property

* feat(TUP-33718): load dynamic distribution modules

* feat(TUP-33718): load dynamic distribution modules
2021-12-02 17:15:00 +08:00
Chao MENG
7c8d50725a fix(TUP-33121): Talend Studio gives no error if unable to connect to (#4807)
remote GIT repository
https://jira.talendforge.org/browse/TUP-33121
2021-11-29 10:35:07 +08:00
jiezhang-tlnd
01bf5e8539 Jzhang/maintenance/80/tup 33728 (#4789)
* fix(TUP-33728)Migrate studio65 job to 801 miss DB connection
https://jira.talendforge.org/browse/TUP-33728

* fix(TUP-33728)Migrate studio65 job to 801 miss DB connection

* format code

* format code
2021-11-26 15:03:08 +08:00
Chao MENG
a565767101 chore: fix switching branch npe (#4809) 2021-11-25 17:41:01 +08:00
Wei Hua
8d63a02566 APPINT-32136 Job & Run view displays DI job icon and/or label when a route or routelet editor is active (#4781) (#4813)
- Add routelet icon
2021-11-25 17:00:25 +08:00
pyzhou
7115862cc3 fix(TDI-46992): ResumeUtil throw BufferOverflowException (#4771)
* fix(TDI-46992): ResumeUtil throw BufferOverflowException

* replace variable
2021-11-25 13:51:26 +08:00
sbliu
1cc3a2935d fix(TUP-33497) Bug in tDBOutput component when linking rejects to tMap. (#4808) 2021-11-24 17:12:07 +08:00
Zhiwei Xue
2f423ba276 feat(TUP-26972):Prompt to Automatically push changes to Remote Branch (#4795) 2021-11-23 18:23:35 +08:00
jiezhang-tlnd
3484f0f782 fix(TUP-33412)CVE commons-codec-1.11 (#4803)
* fix(TUP-33412)CVE commons-codec-1.11

* exclude cve jar
2021-11-23 16:23:51 +08:00
bhe-talendbj
7594d7d541 fix(TUP-33659): remove show starting page (#4763) (#4788)
* fix(TUP-33659): remove show starting page (#4763)

* fix(TUP-33659): fix restart

* fix(TUP-33659): revert EclipseCommandLine
2021-11-23 15:48:29 +08:00
Jane Ding
3d8ca2eddb fix(TUP-33617):java.io.OptionalDataException on tAvroInput (#4775) (#4801)
* fix(TUP-33617):java.io.OptionalDataException on tAvroInput
https://jira.talendforge.org/browse/TUP-33617

* fix(TUP-33617):java.io.OptionalDataException on tAvroInput
https://jira.talendforge.org/browse/TUP-33617
2021-11-23 10:56:48 +08:00
Jane Ding
c7552be2ed fix(TUP-33709):"Failed to create assembly" when compile a BD job with (#4783) (#4802)
studio commandline
https://jira.talendforge.org/browse/TUP-33709
2021-11-23 10:56:16 +08:00
bhe-talendbj
a0f44a7991 fix(TUP-33854): fix exitdata (#4798) 2021-11-22 18:20:52 +08:00
kjwang
fdadf536c9 TUP-33735 "Hierarchical Mapper" can't show properly when switch git (#4785) (#4799)
TUP-33735 "Hierarchical Mapper" can't show properly when switch git branch
https://jira.talendforge.org/browse/TUP-33735
2021-11-22 16:03:00 +08:00
Xilai Dai
c0fe39749a (APPINT-34059) fix the following artifacts could not be resolved: org.codehaus.plexus:plexus-utils:jar:3.3.0 (#4793) 2021-11-22 11:09:50 +08:00
Zhiwei Xue
86c0efb4a3 fix(TUP-33791):Error pops up while running job in main project and it (#4796)
call childjob from reference project_Migrate
2021-11-19 17:27:48 +08:00
jiezhang-tlnd
d1568a294d chore(TUP-33498)CVE Oauth 2.0 SDK with OpenID Connect extensions in (#4791)
Studio
2021-11-19 15:16:13 +08:00
bhe-talendbj
683228e53a Update version from 8.0.2-SNAPSHOT to 8.0.1-SNAPSHOT (#4787) 2021-11-18 12:01:55 +08:00
Jenkins Continuous Build server
7c774542aa Set version to 8.0.2 SNAPSHOT 2021-11-16 11:09:31 +01:00
kjwang
f384da5e85 TUP-22780 Icons under repository broken during switch to branch, and NPE pop up (#4749)
* TUP-22780 Icons under repository broken during switch to branch, and NPE
pop up
https://jira.talendforge.org/browse/TUP-22780

* TUP-22780 Icons under repository broken during switch to branch, and NPE
pop up
https://jira.talendforge.org/browse/TUP-22780
2021-11-09 19:26:37 +08:00
jiezhang-tlnd
08b62b8f69 Jzhang/relase/80/tup 33627 (#4770)
* fix(TUP-33627)[Linux aarch64] License agreement panel and introduction
are blank
https://jira.talendforge.org/browse/TUP-33627

* fix(TUP-33627)[Linux aarch64] License agreement panel and introduction
are blank

* [Linux aarch64] License agreement panel and introduction are blank
2021-11-05 20:05:00 +08:00
Chao MENG
b8689e25c1 fix(TUP-33642):Studio without update settings do not give any infor/warning when logon a monthly migrated project. (#4766) (#4767)
* fix(TUP-33642):Studio without update settings do not give any
infor/warning when logon
a monthly migrated project.

* fix(TUP-33642):Studio without update settings do not give any
infor/warning when logon a monthly migrated project.

Co-authored-by: hcyi <hcyi@talend.com>
2021-11-04 22:16:15 +08:00
Jane Ding
aca3de12e6 fix(TUP-33385):Error pops up while logging on migrated project if the (#4752) (#4765)
project which exported from monthly patch studio>Studio
https://jira.talendforge.org/browse/TUP-33385
2021-11-04 19:55:39 +08:00
bhe-talendbj
d11a664df6 fix(TUP-33414): [bug] JETL: Studio is closed after patch installed (#4744) (#4764)
* fix(TUP-33414): fix restart params

* fix(TUP-33414): revert unintentional changes

* fix(TUP-33414): revert unintentional changes

* fix(TUP-33414): revert unintentional changes

* fix(TUP-33414): fix exit data

* fix(TUP-33414): change only for jetl and windows

* fix(TUP-33414): change only for jetl and windows

* fix(TUP-33414): change only for jetl and windows

* fix(TUP-33414): change only for jetl and windows

* fix(TUP-33414): add logs

* fix(TUP-33414): add logs
2021-11-04 19:03:56 +08:00
jiezhang-tlnd
1602306e93 feat(TUP-33651)Remove the old download action (#4762)
https://jira.talendforge.org/browse/TUP-33651
2021-11-04 15:13:16 +08:00
sbouyer
497a7b63e0 Add localized files (#4751)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-11-04 10:43:02 +08:00
Alexiane Yvonet
635210a114 Add localized files (#4731)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-11-04 10:42:55 +08:00
tsasada-talend
6f8bc10c6f Add localized files (#4732)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-11-04 10:42:47 +08:00
Jenkins Continuous Build server
606aa40664 Set version to 8.0.1 2021-11-03 17:02:07 +01:00
Zhiwei Xue
16791ae92d fix(TUP-33317):deactivate TDM features get errors in error log and DQ (#4756) 2021-11-03 18:15:23 +08:00
Jane Ding
fdb83c5620 feat(TUP-33421):Send Studio login information to Pendo (#4726) (#4755)
* feat(TUP-33421):Send Studio login information to Pendo
https://jira.talendforge.org/browse/TUP-33421

* feat(TUP-33421):Send Studio login information to Pendo
https://jira.talendforge.org/browse/TUP-33421

* feat(TUP-33421):Send Studio login information to Pendo
https://jira.talendforge.org/browse/TUP-33421

* feat(TUP-33421):Send Studio login information to Pendo
https://jira.talendforge.org/browse/TUP-33421

* feat(TUP-33421):Send Studio login information to Pendo
https://jira.talendforge.org/browse/TUP-33421

* feat(TUP-33421):Send Studio login information to Pendo
https://jira.talendforge.org/browse/TUP-33421

* feat(TUP-33421):Send Studio login information to Pendo
https://jira.talendforge.org/browse/TUP-33421
2021-11-03 18:04:21 +08:00
Liu Xinquan
59f8f6c3ce fix(TDQ-19753) TOS_DQ failed to fetch sqlexplorer.jar and chart.jar (#4742) 2021-11-02 10:11:43 +08:00
kjwang
0cfdb4ecdd Fix TUP-33607 Show tooltip on the warning icon of "Find features needed (#4739)
Fix TUP-33607 Show tooltip on the warning icon of "Find features needed for import"
https://jira.talendforge.org/browse/TUP-33607
2021-11-01 16:22:59 +08:00
Zhiwei Xue
0029c41b81 fix(TUP-33317):deactivate TDM features get errors in error log and DQ (#4741)
refresh get error dialog
2021-11-01 16:21:23 +08:00
bhe-talendbj
761ac868c5 fix(TUP-33594): No studio version when start studio / commandline in the logs (#4729) (#4735)
* fix(TUP-33594): print out product version

* fix(TUP-33594): add javax.servlet

* fix(TUP-33594): revert unnecessary changes
2021-11-01 09:26:23 +08:00
nrousseau
40c7bbd422 fix(TUP-33595): SLF4J not working in Studio 8 (#4736) 2021-11-01 09:22:20 +08:00
sbliu
93024e2d02 feat(TUP-33462) Removal / deprecate of DB versions linked to DI components. (#4730)
align vertica, Vertica db versions and remove remove db interbase, ingres, Vectorwise, ParAccel.
2021-10-29 17:24:25 +08:00
pyzhou
594b972bd2 fix(TDI-46937): fix tmap tuj (#4723)
* fix(TDI-46937): fix tmap tuj

* fix(TDI-46937):fix tuj
2021-10-29 16:47:08 +08:00
zyuan-talend
082b262552 fix(TUP-33432):show the dropdown list when click on "Support" button. (#4724) 2021-10-28 15:45:55 +08:00
jiezhang-tlnd
147d0826db fix(TUP-33312)CWE-327: upgrade bcprov-jdk15on to 1.69 (#4674) (#4718) 2021-10-28 11:52:10 +08:00
hzhao-talendbj
0ac05064df fix(TUP-33485): [tELTMap] Delimited identifiers does not work for (#4719) (#4721)
Snowflake
2021-10-27 18:10:46 +08:00
bhe-talendbj
d26e65929e chore(TUP-33502): change logs (#4717) (#4720) 2021-10-27 15:40:52 +08:00
Zhiwei Xue
acf4f73876 feat(TUP-33307):change version display in dialog (#4714) (#4715) 2021-10-27 10:29:51 +08:00
Nicolas Rousseau
6ebca7beda fix(TUP-33546): fix arm issue on mac 2021-10-26 20:08:49 +08:00
pyzhou
cf73cae37e fix(TDI-46923):add back jboss marshalling (#4711) 2021-10-26 10:00:13 +08:00
kjwang
7d6625d66c TUP-33396 [bug]better disable button "Install and restart" button if no feature selected (Improve the tooltip) (#4708)
* TUP-33396 [bug]better disable button "Install and restart" button if no
feature selected (Improve the tooltip)
2021-10-25 14:34:15 +08:00
Jenkins Continuous Build server
a4acc6db37 Set version to 8.0.1 2021-10-21 16:11:19 +02:00
404 changed files with 14086 additions and 10298 deletions

View File

@@ -5,7 +5,7 @@
<copyright url="http://www.example.com/copyright">[Enter Copyright Description here.]</copyright>
<license url="http://www.example.com/license">[Enter License Description here.]</license>
<requires>
<import plugin="org.bouncycastle.bcprov" version="1.68.0" match="greaterOrEqual"/>
<import plugin="org.bouncycastle.bcprov" version="1.69.0" match="greaterOrEqual"/>
<import plugin="com.cedarsoftware.json-io" version="0.0.0" match="greaterOrEqual"/>
<import plugin="com.fasterxml.jackson.core.jackson-annotations" version="2.9.0" match="greaterOrEqual"/>
<import plugin="com.fasterxml.jackson.core.jackson-core" version="2.9.8" match="greaterOrEqual"/>
@@ -20,12 +20,12 @@
<import plugin="org.apache.servicemix.bundles.avro" version="0.0.0" match="greaterOrEqual"/>
<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.impl.log4j12" 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.

Before

Width:  |  Height:  |  Size: 952 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 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

@@ -74,6 +74,7 @@ public enum ECoreImage implements IImage {
CONTEXT_WIZ("/icons1/context_wiz.png"), //$NON-NLS-1$
CODE_ICON("/icons1/code.png"), //$NON-NLS-1$
ROUTES_ICON("/icons1/routes_icon.png"), //$NON-NLS-1$
ROUTELET_ICON("/icons1/routelet.png"), //$NON-NLS-1$
ROUTINE_ICON("/icons1/routine.png"), //$NON-NLS-1$
ROUTINE_EDITOR_ICON("/icons1/routine_editor.png"), //$NON-NLS-1$
ROUTINESJAR_ICON("/icons1/routinesjar.png"), //$NON-NLS-1$

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$
@@ -127,7 +131,6 @@ public enum EImage implements IImage {
FILL_COLOR_ICON("/icons/fill_color.gif"), //$NON-NLS-1$
OPEN_IN_BROWSER("/icons/open.gif"), //$NON-NLS-1$
DOWNLOAD_MODULE("/icons/download.gif"), //$NON-NLS-1$
COMPONENT_MISSING("/icons/component_missing.png"), //$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

@@ -38,6 +38,12 @@ public class ExceptionHandler {
CommonExceptionHandler.log(message);
}
public static void logDebug(String message) {
if (CommonsPlugin.isDebugMode() || CommonsPlugin.isDevMode()) {
CommonExceptionHandler.log(message);
}
}
public static void process(Throwable ex, Priority priority) {
CommonExceptionHandler.process(ex, priority);

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

@@ -36,6 +36,7 @@ import org.osgi.framework.FrameworkUtil;
import org.talend.commons.CommonsPlugin;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.i18n.internal.Messages;
import org.talend.utils.format.PresentableBox;
/**
* Represents a version. Contents a major and a minor version.<br/>
@@ -367,10 +368,14 @@ public class VersionUtils {
}
public static String getDisplayPatchVersion(String patchName) {
if (Integer.parseInt(StringUtils.substringAfterLast(patchName, "v")) > 1) { //$NON-NLS-1$
try {
if (Integer.parseInt(StringUtils.substringAfterLast(patchName, "v")) > 1) { //$NON-NLS-1$
return patchName;
}
return StringUtils.substringBefore(patchName, "v"); //$NON-NLS-1$
} catch (NumberFormatException e) {
return patchName;
}
return StringUtils.substringBefore(patchName, "v"); //$NON-NLS-1$
}
public static void clearCache() {
@@ -405,5 +410,15 @@ public class VersionUtils {
}
return null;
}
public static String getProductVersionLog() {
Object version = getDisplayVersion();
String mess = "Starting Talend's platform log system."; //$NON-NLS-1$
if (version != null) {
mess += ("VERSION= " + version); //$NON-NLS-1$
}
PresentableBox box = new PresentableBox("TALEND", mess, 0); //$NON-NLS-1$
return box.getFullBox();
}
}

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

@@ -21,10 +21,29 @@
// ============================================================================
package org.talend.commons.utils.system;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.eclipse.core.runtime.Platform;
import org.eclipse.osgi.service.datalocation.Location;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.util.tracker.ServiceTracker;
import org.talend.commons.exception.ExceptionHandler;
/**
* Creates and updates properties for the eclipse commandline in case of relaunch <br/>
@@ -41,6 +60,8 @@ public class EclipseCommandLine {
static final String PROP_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
static final String CMD_VMARGS = "-vmargs"; //$NON-NLS-1$
static final String CMD_VM = "-vm"; //$NON-NLS-1$
static final String NEW_LINE = "\n"; //$NON-NLS-1$
@@ -106,6 +127,21 @@ public class EclipseCommandLine {
* later.
*/
static public final String TALEND_SHOW_JOB_TYPE_COMMAND = "--showJobType"; //$NON-NLS-1$
private static final String HEX_STRING = "0123456789ABCDEF";
public static final String SCHEME_FILE = "file"; //$NON-NLS-1$
private static final String UNC_PREFIX = "//"; //$NON-NLS-1$
static private final Set<String> TALEND_ARGS = new HashSet<String>();
static {
TALEND_ARGS.add(TALEND_CLEAN_UNINSTALLED_BUNDLES);
TALEND_ARGS.add(ARG_TALEND_BUNDLES_CLEANED);
TALEND_ARGS.add(PROP_TALEND_BUNDLES_DO_CLEAN);
TALEND_ARGS.add(TALEND_RELOAD_COMMAND);
}
static public void updateOrCreateExitDataPropertyWithCommand(String command, String value, boolean delete) {
updateOrCreateExitDataPropertyWithCommand(command, value, delete, false);
@@ -115,6 +151,16 @@ public class EclipseCommandLine {
if (argName == null || argName.trim().isEmpty()) {
return null;
}
try {
if (isWindows() && TALEND_ARGS.contains(argName) && !isPoweredByTalend()) {
ExceptionHandler.logDebug("argName: " + argName + ", sysProp: " + argName + ", value: " + System.getProperty(argName));
Properties p = loadConfigIni();
return p.getProperty(argName);
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
String[] commandLineArgs = Platform.getCommandLineArgs();
if (commandLineArgs == null || commandLineArgs.length <= 0) {
return null;
@@ -128,6 +174,152 @@ public class EclipseCommandLine {
return null;
}
private static boolean isPoweredByTalend() {
return !Platform.getProduct().getId().equals("org.talend.rcp.branding.jetl.product") && !Platform.getProduct().getId().equals("org.talend.rcp.branding.jetl.bigdata.product");
}
private static boolean isWindows() {
return EnvironmentUtils.isWindowsSystem();
}
private static void updateConfigIni(String command, String value, boolean delete) {
Properties p = loadConfigIni();
if (delete) {
p.remove(command);
} else {
p.put(command, value);
}
try {
File f = getConfigFile();
try (FileOutputStream fos = new FileOutputStream(f)) {
p.store(fos, "updated " + command);
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static Properties loadConfigIni() {
Properties p = new Properties();
try {
File f = getConfigFile();
try (FileInputStream fis = new FileInputStream(f)) {
p.load(fis);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
return p;
}
private static String decode(String bytes) {
if (bytes == null) {
return null;
}
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
for (int i = 0; i < bytes.length(); i += 2) {
baos.write((HEX_STRING.indexOf(bytes.charAt(i)) << 4 | HEX_STRING.indexOf(bytes.charAt(i + 1))));
}
return new String(baos.toByteArray());
}
private static File getConfigFile() throws URISyntaxException {
// configuration/config.ini
File iniFile = new File(getConfigurationFolder(), decode("636F6E6669672E696E69")); //$NON-NLS-1$
return iniFile;
}
private static Location getConfigLocation(BundleContext context) {
Filter filter = null;
try {
filter = context.createFilter(Location.CONFIGURATION_FILTER);
} catch (InvalidSyntaxException e) {
// should not happen
}
ServiceTracker configLocationTracker = new ServiceTracker(context, filter, null);
configLocationTracker.open();
try {
return (Location) configLocationTracker.getService();
} finally {
configLocationTracker.close();
}
}
/**
* Returns the URL as a URI. This method will handle broken URLs that are not properly encoded (for example they
* contain unencoded space characters).
*/
private static URI toURI(URL url) throws URISyntaxException {
// URL behaves differently across platforms so for file: URLs we parse from string form
if (SCHEME_FILE.equals(url.getProtocol())) {
String pathString = url.toExternalForm().substring(5);
// ensure there is a leading slash to handle common malformed URLs such as file:c:/tmp
if (pathString.indexOf('/') != 0)
pathString = '/' + pathString;
else if (pathString.startsWith(UNC_PREFIX) && !pathString.startsWith(UNC_PREFIX, 2)) {
// URL encodes UNC path with two slashes, but URI uses four (see bug 207103)
pathString = UNC_PREFIX + pathString;
}
return new URI(SCHEME_FILE, null, pathString, null);
}
try {
return new URI(url.toExternalForm());
} catch (URISyntaxException e) {
// try multi-argument URI constructor to perform encoding
return new URI(url.getProtocol(), url.getUserInfo(), url.getHost(), url.getPort(), url.getPath(), url.getQuery(),
url.getRef());
}
}
private static File toFile(URI uri) {
try {
if (!SCHEME_FILE.equalsIgnoreCase(uri.getScheme()))
return null;
// assume all illegal characters have been properly encoded, so use URI class to unencode
return new File(uri);
} catch (IllegalArgumentException e) {
// File constructor does not support non-hierarchical URI
String path = uri.getPath();
// path is null for non-hierarchical URI such as file:c:/tmp
if (path == null)
path = uri.getSchemeSpecificPart();
return new File(path);
}
}
private static File getConfigurationFolder() {
BundleContext configuratorBundleContext = getCurrentBundleContext();
final URL url = getConfigLocation(configuratorBundleContext).getURL();
try {
return toFile(toURI(url));
} catch (URISyntaxException e) {
//
}
return null;
}
// always return a valid bundlesContext or throw a runtimeException
private static BundleContext getCurrentBundleContext() {
Bundle bundle = FrameworkUtil.getBundle(EclipseCommandLine.class);
if (bundle != null) {
BundleContext bundleContext = bundle.getBundleContext();
if (bundleContext != null) {
return bundleContext;
} else {
throw new RuntimeException(
"could not find current BundleContext, this should never happen, check that the bunlde is activated when this class is accessed");
}
} else {
throw new RuntimeException(
"could not find current Bundle, this should never happen, check that the bunlde is activated when this class is accessed");
}
}
/**
* this creates or updates the org.eclipse.equinox.app.IApplicationContext.EXIT_DATA_PROPERTY by adding or changing
* the command with value, except if value is null then the command shall be removed.
@@ -138,6 +330,17 @@ public class EclipseCommandLine {
* @param isOption this flag used to trigger for the option command without any arguments.
*/
static public void updateOrCreateExitDataPropertyWithCommand(String command, String value, boolean delete, boolean isOption) {
try {
if (isWindows() && TALEND_ARGS.contains(command) && !isPoweredByTalend()) {
ExceptionHandler.logDebug("command: " + command + ", prop: " + command + ", value: " + value + ", delete: " + delete);
updateConfigIni(command, value, delete);
return;
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
boolean isValueNull = false;
if (value == null || "".equals(value)) { //$NON-NLS-1$
isValueNull = true;
@@ -191,9 +394,9 @@ public class EclipseCommandLine {
+ (isValueNull ? "" : value + EclipseCommandLine.NEW_LINE)
+ currentProperty.substring(indexOfVmArgs);
} else {// vmargs command not found so don't know where to set it to throw Exception
throw new IllegalArgumentException("the property :"
+ org.eclipse.equinox.app.IApplicationContext.EXIT_DATA_PROPERTY + "must constain "
+ EclipseCommandLine.CMD_VMARGS);
currentProperty = currentProperty + command + EclipseCommandLine.NEW_LINE
+ (isValueNull ? "" : value + EclipseCommandLine.NEW_LINE);
// throw new IllegalArgumentException("the property :" + org.eclipse.equinox.app.IApplicationContext.EXIT_DATA_PROPERTY + "must constain " + EclipseCommandLine.CMD_VMARGS);
}
}
}
@@ -262,6 +465,44 @@ public class EclipseCommandLine {
result.append(vmargs);
}
}
System.setProperty(org.eclipse.equinox.app.IApplicationContext.EXIT_DATA_PROPERTY, result.toString());
String exitData = result.toString();
ExceptionHandler.logDebug("exitData before duplicated: " + exitData);
if (isWindows() && !isPoweredByTalend()) {
exitData = removeDuplicated(result).toString();
}
ExceptionHandler.logDebug("exitData: " + exitData);
System.setProperty(org.eclipse.equinox.app.IApplicationContext.EXIT_DATA_PROPERTY, exitData);
}
private static StringBuilder removeDuplicated(StringBuffer sb) {
StringBuilder ret = new StringBuilder();
StringTokenizer t = new StringTokenizer(sb.toString(), EclipseCommandLine.NEW_LINE);
while (t.hasMoreElements()) {
String ele = (String) t.nextElement();
boolean add = true;
if (ele.equals("-launcher")) {
if (ret.indexOf(ele) > 0) {
// dump value of launcher
t.nextElement();
add = false;
}
} else if (ele.equals(EclipseCommandLine.CMD_VMARGS)) {
add = false;
break;
}
if (add) {
ret.append(ele);
ret.append(EclipseCommandLine.NEW_LINE);
}
}
return ret;
}
}

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>
@@ -285,30 +285,6 @@
type="INFORMIX">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="INGRES"
withSchema="true"
input="tIngresInput"
output="tIngresOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="INGRES">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="INTERBASE"
withSchema="true"
input="tInterbaseInput"
output="tInterbaseOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="INTERBASE">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="JAVADB"
withSchema="true"
@@ -420,18 +396,6 @@
type="ORACLESN">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PARACCEL"
withSchema="true"
input="tParAccelInput"
output="tParAccelOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="PARACCEL">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PLUSPSQL"
withSchema="true"
@@ -530,18 +494,6 @@
type="TERADATA">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="VECTORWISE"
withSchema="true"
input="tVectorWiseInput"
output="tVectorWiseOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="VECTORWISE">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="VERTICA"
withSchema="true"

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

@@ -59,6 +59,8 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.navigator.CommonNavigator;
import org.eclipse.ui.navigator.CommonViewer;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
@@ -133,6 +135,8 @@ 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;
import org.talend.core.repository.constants.FileConstants;
@@ -151,6 +155,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;
@@ -163,6 +168,7 @@ import org.talend.repository.RepositoryWorkUnit;
import org.talend.repository.documentation.ERepositoryActionName;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.RepositoryConstants;
import org.talend.repository.ui.views.IRepositoryView;
import org.talend.utils.io.FilesUtils;
import orgomg.cwm.objectmodel.core.ModelElement;
@@ -2495,8 +2501,8 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
};
job.setUser(false);
job.setPriority(Job.LONG);
job.schedule();
RoutinesUtil.setSyncCodesjob(job);
}
}
@@ -2566,6 +2572,21 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
root.setEnableDisposed(true);
root.dispose();
}
/*Dispose the tree nodes after log off project*/
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
IRepositoryView repositoryView = RepositoryManagerHelper.findRepositoryView();
if (repositoryView instanceof CommonNavigator) {
ProjectRepositoryNode.getInstance().cleanup();
CommonViewer commonViewer = ((CommonNavigator) repositoryView).getCommonViewer();
Object input = commonViewer.getInput();
commonViewer.setInput(input);
}
}
});
}
IRunProcessService runProcessService = getRunProcessService();
if (runProcessService != null) {
@@ -2587,6 +2608,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

@@ -108,46 +108,48 @@ public class RecycleBinManager {
}
public List<IRepositoryViewObject> getDeletedObjects(Project project) {
loadRecycleBin(project.getEmfProject(), true);
List<IRepositoryViewObject> deletedObjects = new ArrayList<IRepositoryViewObject>();
final EList<TalendItem> deletedItems = projectRecyclebins.get(project.getTechnicalLabel()).getDeletedItems();
List<TalendItem> notDeletedItems = new ArrayList<TalendItem>();
List<TalendItem> dup_deletedItems = new ArrayList<>(deletedItems);
for (TalendItem deletedItem : dup_deletedItems) {
try {
final ERepositoryObjectType type = ERepositoryObjectType.getType(deletedItem.getType());
// ignore the generated doc in recycle bin
if (type != null && (type.equals(ERepositoryObjectType.JOB_DOC) || type.equals(ERepositoryObjectType.JOBLET_DOC)
|| type.equals(ERepositoryObjectType.valueOf("ROUTE_DOC")))) { //$NON-NLS-1$
continue;
}
IRepositoryViewObject object = ProxyRepositoryFactory.getInstance().getLastVersion(project, deletedItem.getId(),
deletedItem.getPath(), type);
if (object == null) {
object = ProxyRepositoryFactory.getInstance().getLastVersion(project, deletedItem.getId());
}
if (object != null) {
Item item = object.getProperty().getItem();
boolean hasSubItem = false;
if (item instanceof ConnectionItem) {
hasSubItem = ProjectRepositoryNode.getInstance().hasDeletedSubItem((ConnectionItem) item);
if (project != null) {
loadRecycleBin(project.getEmfProject(), true);
final EList<TalendItem> deletedItems = projectRecyclebins.get(project.getTechnicalLabel()).getDeletedItems();
List<TalendItem> notDeletedItems = new ArrayList<TalendItem>();
List<TalendItem> dup_deletedItems = new ArrayList<>(deletedItems);
for (TalendItem deletedItem : dup_deletedItems) {
try {
final ERepositoryObjectType type = ERepositoryObjectType.getType(deletedItem.getType());
// ignore the generated doc in recycle bin
if (type != null && (type.equals(ERepositoryObjectType.JOB_DOC) || type.equals(ERepositoryObjectType.JOBLET_DOC)
|| type.equals(ERepositoryObjectType.valueOf("ROUTE_DOC")))) { //$NON-NLS-1$
continue;
}
if (object.isDeleted() || hasSubItem) {
deletedObjects.add(object);
IRepositoryViewObject object = ProxyRepositoryFactory.getInstance().getLastVersion(project, deletedItem.getId(),
deletedItem.getPath(), type);
if (object == null) {
object = ProxyRepositoryFactory.getInstance().getLastVersion(project, deletedItem.getId());
}
if (object != null) {
Item item = object.getProperty().getItem();
boolean hasSubItem = false;
if (item instanceof ConnectionItem) {
hasSubItem = ProjectRepositoryNode.getInstance().hasDeletedSubItem((ConnectionItem) item);
}
if (object.isDeleted() || hasSubItem) {
deletedObjects.add(object);
} else {
// need remove it.
notDeletedItems.add(deletedItem);
}
} else {
// need remove it.
notDeletedItems.add(deletedItem);
}
} else {
// need remove it.
notDeletedItems.add(deletedItem);
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
}
// clean
deletedItems.removeAll(notDeletedItems);
// clean
deletedItems.removeAll(notDeletedItems);
}
return deletedObjects;
}

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

@@ -525,9 +525,6 @@ public class RepositoryLabelProvider extends LabelProvider implements IColorProv
RepositoryNode node = (RepositoryNode) element;
switch (node.getType()) {
case STABLE_SYSTEM_FOLDER:
if (node.getLabel().equals(ERepositoryObjectType.SNIPPETS.toString())) {
return JFaceResources.getFontRegistry().defaultFont();
}
case SYSTEM_FOLDER:
return JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);
default:

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

@@ -51,6 +51,8 @@ Export-Package: org.talend.analysistask,
org.talend.core.model.utils,
org.talend.core.model.xml,
org.talend.core.nexus,
org.talend.core.pendo,
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

@@ -1,216 +0,0 @@
<?xml version="1.0"?>
<mapping>
<dbms product="INGRES" id="ingres_id" label="Mapping Ingres"
default="true">
<dbTypes>
<dbType type="ANSIDATE" ignoreLen="true" ignorePre="true" />
<dbType type="BOOLEAN" ignoreLen="true" ignorePre="true" />
<dbType type="BIGINT" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE VARYING" ignoreLen="true" ignorePre="true" />
<dbType type="C" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" ignorePre="true" />
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" />
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER" ignoreLen="true" ignorePre="true" />
<dbType type="INGRESDATE" ignoreLen="true" ignorePre="true" />
<dbType type="INTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="LONG NVARCHAR" ignorePre="true" />
<dbType type="LONG VARCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="NCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="NVARCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="OBJECT_KEY" ignoreLen="true" ignorePre="true"/>
<dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TINYINT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
<dbType type="TABLE_KEY" ignoreLen="true" ignorePre="true" />
<dbType type="VARCHAR" default="true" defaultLength="1200" ignorePre="true"/>
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<dbType type="BOOLEAN" default="true" />
</talendType>
<talendType type="id_Byte">
<dbType type="BYTE" default="true" />
<dbType type="BYTE VARYING" />
</talendType>
<talendType type="id_byte[]">
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="VARCHAR"/>
<dbType type="C"/>
<dbType type="TEXT"/>
<dbType type="LONG VARCHAR"/>
<dbType type="NCHAR"/>
<dbType type="NVARCHAR"/>
<dbType type="LONG NVARCHAR"/>
</talendType>
<talendType type="id_Date">
<dbType type="DATE" default="true" />
<dbType type="ANSIDATE" />
<dbType type="INGRESDATE" />
<dbType type="TIME" />
<dbType type="TIMESTAMP" />
<dbType type="INTERVAL"/>
</talendType>
<talendType type="id_BigDecimal">
<dbType type="DECIMAL" default="true" />
<dbType type="FLOAT4" />
<dbType type="FLOAT"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Double">
<dbType type="FLOAT" default="true" />
<dbType type="FLOAT4" />
<dbType type="DECIMAL"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT4" default="true" />
<dbType type="FLOAT"/>
<dbType type="DECIMAL" />
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Integer">
<dbType type="INTEGER" default="true" />
<dbType type="BIGINT" />
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Long">
<dbType type="BIGINT" default="true" />
<dbType type="INTEGER"/>
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Object">
<dbType type="MONEY" default="true"/>
<dbType type="OBJECT_KEY" />
<dbType type="TABLE_KEY" />
</talendType>
<talendType type="id_Short">
<dbType type="SMALLINT" default="true" />
<dbType type="INTEGER" />
<dbType type="BIGINT"/>
<dbType type="TINYINT" />
</talendType>
<talendType type="id_String">
<dbType type="VARCHAR" default="true" />
<dbType type="LONG VARCHAR" />
<dbType type="NCHAR"/>
<dbType type="NVARCHAR" />
<dbType type="LONG NVARCHAR" />
<dbType type="TEXT" />
<dbType type="C"/>
<dbType type="CHAR"/>
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="ANSIDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="BOOLEAN">
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BIGINT">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BYTE">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="BYTE VARYING">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="C">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="CHAR">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Float"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="DATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="FLOAT">
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT4">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="INTEGER">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>
<dbType type="INGRESDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="INTERVAL">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="LONG NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONG VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MONEY">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="NCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="OBJECT_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMALLINT">
<talendType type="id_Short" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Long"/>
</dbType>
<dbType type="TEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Short"/>
<talendType type="id_Long" />
</dbType>
<dbType type="TIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TABLE_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

@@ -1,129 +0,0 @@
<?xml version="1.0"?>
<mapping>
<dbms product="INTERBASE" id="interbase_id" label="Mapping Interbase"
default="true">
<dbTypes>
<dbType type="BLOB" ignorePre="true" />
<dbType type="BOOLEAN" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" defaultLength="50" ignorePre="true"/>
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" />
<dbType type="DOUBLE PRECISION" />
<dbType type="FLOAT" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER" ignoreLen="true" ignorePre="true" />
<dbType type="NUMERIC" defaultLength="20" defaultPrecision="10" />
<dbType type="SMALLINT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true" />
<dbType type="VARCHAR" default="true" defaultLength="200" ignorePre="true"/>
</dbTypes>
<language name="java">
<talendToDbTypes>
<!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<dbType type="BOOLEAN" default="true" />
</talendType>
<talendType type="id_Byte">
</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" default="true"/>
<dbType type="TIME" />
<dbType type="TIMESTAMP" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="DECIMAL" default="true"/>
<dbType type="FLOAT" />
<dbType type="DOUBLE PRECISION" />
<dbType type="NUMERIC" />
</talendType>
<talendType type="id_Double">
<dbType type="DOUBLE PRECISION" default="true"/>
<dbType type="FLOAT" />
<dbType type="DECIMAL" />
<dbType type="NUMERIC" />
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT" default="true"/>
<dbType type="DOUBLE PRECISION" />
<dbType type="DECIMAL" />
<dbType type="NUMERIC" />
</talendType>
<talendType type="id_Integer">
<dbType type="INTEGER" default="true"/>
</talendType>
<talendType type="id_Long">
<dbType type="INTEGER" default="true"/>
</talendType>
<talendType type="id_Object">
<dbType type="BLOB" default="true"/>
</talendType>
<talendType type="id_Short">
<dbType type="SMALLINT" default="true"/>
</talendType>
<talendType type="id_String">
<dbType type="VARCHAR" default="true"/>
<dbType type="CHAR"/>
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="BLOB">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="BOOLEAN">
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="CHAR">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="DATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true"/>
<talendType type="id_Float"/>
</dbType>
<dbType type="DOUBLE PRECISION">
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
<talendType type="id_Float"/>
</dbType>
<dbType type="FLOAT">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
<talendType type="id_Double"/>
</dbType>
<dbType type="INTEGER">
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="NUMERIC">
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true"/>
<talendType type="id_Float"/>
</dbType>
<dbType type="SMALLINT">
<talendType type="id_Short" 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="VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

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

@@ -1,567 +0,0 @@
<?xml version="1.0"?>
<mapping>
<dbms product="PARACCEL" id="paraccel_id" label="Mapping ParAccel"
default="true">
<dbTypes>
<dbType type="ABSTIME" ignoreLen="true" ignorePre="true" />
<dbType type="ACLITEM" ignoreLen="true" ignorePre="true" />
<dbType type="BIGSERIAL" ignoreLen="true" ignorePre="true" />
<dbType type="BIT" ignorePre="true" />
<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="CHAR" defaultLength="50" ignorePre="true"/>
<dbType type="CID" ignoreLen="true" ignorePre="true" />
<dbType type="CIDR" ignoreLen="true" ignorePre="true" />
<dbType type="CIRCLE" ignoreLen="true" ignorePre="true" />
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT8" ignoreLen="true" ignorePre="true" />
<dbType type="INET" ignoreLen="true" ignorePre="true" />
<dbType type="INT2" ignoreLen="true" ignorePre="true" />
<dbType type="INT2VECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="INT4" ignoreLen="true" ignorePre="true" />
<dbType type="INT8" ignoreLen="true" ignorePre="true" />
<dbType type="INTERVAL" ignorePre="true" />
<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="NAME" ignoreLen="true" ignorePre="true" />
<dbType type="NUMERIC" defaultLength="20" defaultPrecision="10"/>
<dbType type="OID" ignoreLen="true" ignorePre="true" />
<dbType type="OIDVECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="PATH" ignoreLen="true" ignorePre="true" />
<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="REGCLASS" ignoreLen="true" ignorePre="true" />
<dbType type="REGOPER" ignoreLen="true" ignorePre="true" />
<dbType type="REGOPERATOR" ignoreLen="true" ignorePre="true" />
<dbType type="REGPROC" ignoreLen="true" ignorePre="true" />
<dbType type="REGPROCEDURE" ignoreLen="true" ignorePre="true" />
<dbType type="REGTYPE" ignoreLen="true" ignorePre="true" />
<dbType type="SERIAL" ignoreLen="true" ignorePre="true" />
<dbType type="SMGR" ignoreLen="true" ignorePre="true" />
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TID" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignorePre="true" />
<dbType type="TINTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMPTZ" 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="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" />
<dbType type="_BOX" ignoreLen="true" ignorePre="true" />
<dbType type="_BOOL" ignoreLen="true" ignorePre="true" />
<dbType type="_BPCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="_BYTEA" ignoreLen="true" ignorePre="true" />
<dbType type="_CHAR" ignoreLen="true" ignorePre="true" />
<dbType type="_CID" ignoreLen="true" ignorePre="true" />
<dbType type="_CIDR" ignoreLen="true" ignorePre="true" />
<dbType type="_CIRCLE" ignoreLen="true" ignorePre="true" />
<dbType type="_DATE" ignoreLen="true" ignorePre="true" />
<dbType type="_FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="_FLOAT8" ignoreLen="true" ignorePre="true" />
<dbType type="_INET" ignoreLen="true" ignorePre="true" />
<dbType type="_INT2VECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="_INT4" ignoreLen="true" ignorePre="true" />
<dbType type="_INT8" ignoreLen="true" ignorePre="true" />
<dbType type="_INTERVAL" ignoreLen="true" ignorePre="true" />
<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="_NAME" ignoreLen="true" ignorePre="true" />
<dbType type="_NUMERIC" ignoreLen="true" ignorePre="true" />
<dbType type="_OID" ignoreLen="true" ignorePre="true" />
<dbType type="_OIDVECTOR" ignoreLen="true" ignorePre="true" />
<dbType type="_PATH" ignoreLen="true" ignorePre="true"/>
<dbType type="_POINT" ignoreLen="true" ignorePre="true" />
<dbType type="_POLYGON" ignoreLen="true" ignorePre="true" />
<dbType type="_REFCURSOR" 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" />
<dbType type="_REGPROC" ignoreLen="true" ignorePre="true" />
<dbType type="_REGPROCEDURE" ignoreLen="true" ignorePre="true" />
<dbType type="_REGTYPE" ignoreLen="true" ignorePre="true" />
<dbType type="_RELTIME" ignoreLen="true" ignorePre="true" />
<dbType type="_TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="_TID" ignoreLen="true" ignorePre="true" />
<dbType type="_TIME" ignoreLen="true" ignorePre="true" />
<dbType type="_TIMESTAMP" ignoreLen="true" ignorePre="true" />
<dbType type="_TIMESTAMPTZ" ignoreLen="true" ignorePre="true" />
<dbType type="_TIMETZ" ignoreLen="true" ignorePre="true" />
<dbType type="_TINTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="_VARBIT" ignoreLen="true" ignorePre="true" />
<dbType type="_VARCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="_XID" ignoreLen="true" ignorePre="true" />
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<dbType type="BOOL" default="true" />
</talendType>
<talendType type="id_Byte">
</talendType>
<talendType type="id_byte[]">
<dbType type="BIT" default="true" />
<dbType type="VARBIT" />
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="BPCHAR" />
<dbType type="VARCHAR" />
<dbType type="TEXT" />
</talendType>
<talendType type="id_Date">
<dbType type="DATE" default="true" />
<dbType type="ABSTIME" />
<dbType type="TIMETZ" />
<dbType type="TIME" />
<dbType type="TIMESTAMPTZ" />
<dbType type="TIMESTAMP" />
<dbType type="INTERVAL" />
<dbType type="TINTERVAL" />
<dbType type="RELTIME" />
</talendType>
<talendType type="id_BigDecimal">
<dbType type="NUMERIC" default="true" />
<dbType type="FLOAT4" />
<dbType type="FLOAT8"/>
</talendType>
<talendType type="id_Double">
<dbType type="FLOAT4" />
<dbType type="FLOAT8" default="true" />
<dbType type="NUMERIC" />
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT4" default="true" />
<dbType type="FLOAT8" />
<dbType type="NUMERIC" />
</talendType>
<talendType type="id_Integer">
<dbType type="INT2" />
<dbType type="INT4" default="true" />
<dbType type="SERIAL" />
<dbType type="INT8" />
<dbType type="BIGSERIAL" />
</talendType>
<talendType type="id_Long">
<dbType type="INT2" />
<dbType type="INT4" />
<dbType type="SERIAL" />
<dbType type="INT8" default="true" />
<dbType type="BIGSERIAL" />
</talendType>
<talendType type="id_Object">
<dbType type="_POINT" />
<dbType type="_POLYGON" />
<dbType type="_FLOAT4" />
<dbType type="_REFCURSOR" />
<dbType type="_REGCLASS" />
<dbType type="_REGOPER" />
<dbType type="_REGOPERATOR" />
<dbType type="_REGPROC" />
<dbType type="_REGPROCEDURE" />
<dbType type="_REGTYPE" />
<dbType type="_RELTIME" />
<dbType type="_TEXT" />
<dbType type="_TID" />
<dbType type="_TIMETZ" />
<dbType type="_TIME" />
<dbType type="_TIMESTAMPTZ" />
<dbType type="_TIMESTAMP" />
<dbType type="_TINTERVAL" />
<dbType type="_XID" />
<dbType type="ACLITEM" />
<dbType type="BYTEA" />
<dbType type="CID" />
<dbType type="CIDR" />
<dbType type="CIRCLE" />
<dbType type="INET" />
<dbType type="MACADDR" />
<dbType type="MONEY" />
<dbType type="OID" />
<dbType type="PATH" />
<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="TID" />
<dbType type="XID" />
<dbType type="_CHAR" />
<dbType type="_ABSTIME" />
<dbType type="_ACLITEM" />
<dbType type="_INT8" />
<dbType type="_VARBIT" />
<dbType type="_BIT" />
<dbType type="_BOOL" />
<dbType type="BOX" />
<dbType type="_BOX" />
<dbType type="_BYTEA" />
<dbType type="_VARCHAR" />
<dbType type="_BPCHAR" />
<dbType type="_CID" />
<dbType type="_CIDR" />
<dbType type="_CIRCLE" />
<dbType type="_DATE" />
<dbType type="_FLOAT8" />
<dbType type="_INET" />
<dbType type="INT2VECTOR" />
<dbType type="_INT2VECTOR" />
<dbType type="_INT4" />
<dbType type="_INTERVAL" />
<dbType type="LINE" />
<dbType type="_LINE" />
<dbType type="LSEG" />
<dbType type="_LSEG" />
<dbType type="_MACADDR" />
<dbType type="_MONEY" />
<dbType type="NAME" />
<dbType type="_NAME" />
<dbType type="_NUMERIC" />
<dbType type="_OID" />
<dbType type="OIDVECTOR" />
<dbType type="_OIDVECTOR" />
<dbType type="_PATH" />
<dbType type="POINT" default="true" />
</talendType>
<talendType type="id_Short">
<dbType type="INT2" default="true" />
<dbType type="INT4" />
<dbType type="SERIAL" />
<dbType type="INT8" />
<dbType type="BIGSERIAL" />
</talendType>
<talendType type="id_String">
<dbType type="BPCHAR" />
<dbType type="VARCHAR" default="true" />
<dbType type="TEXT" />
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="INT2" >
<talendType type="id_Short" default="true" />
</dbType>
<dbType type="INT4" >
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="SERIAL" >
<talendType type="id_Integer" default="true" />
</dbType>
<dbType type="INT8" >
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BIGSERIAL" >
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="FLOAT4" >
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT8" >
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="NUMERIC">
<talendType type="id_Double"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="BOOL" >
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BIT" >
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="VARBIT" >
<talendType type="id_byte[]" default="true" />
</dbType>
<dbType type="CHAR" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="BPCHAR" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="VARCHAR" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TEXT" >
<talendType type="id_String" default="true" />
</dbType>
<dbType type="DATE" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="ABSTIME" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMETZ" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIME" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMPTZ" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="INTERVAL" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TINTERVAL" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="RELTIME" >
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="ACLITEM" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="BYTEA" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CIDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="CIRCLE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INET" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MACADDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="MONEY" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="OID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="PATH" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POLYGON" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REFCURSOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGCLASS" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGOPER" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGOPERATOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGPROC" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGPROCEDURE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="REGTYPE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMGR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="TID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="XID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="BOX" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="INT2VECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="LINE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="LSEG" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="NAME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="OIDVECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="POINT" >
<talendType type="id_Object" default="true" />
</dbType>
<!-- object -->
<dbType type="_OIDVECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_PATH" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_NAME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_NUMERIC" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_OID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_LSEG" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_MACADDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_MONEY" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_LINE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT2VECTOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT4" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INTERVAL" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BOX" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BYTEA" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_VARCHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BPCHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CIDR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CIRCLE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_DATE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_FLOAT8" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INET" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_CHAR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_ABSTIME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_ACLITEM" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_INT8" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_VARBIT" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BIT" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_BOOL" >
<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="_FLOAT4" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REFCURSOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGCLASS" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGOPER" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGOPERATOR" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGPROC" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGPROCEDURE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_REGTYPE" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_RELTIME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TEXT" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TID" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMETZ" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIME" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMESTAMPTZ" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TIMESTAMP" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_TINTERVAL" >
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="_XID" >
<talendType type="id_Object" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

@@ -1,211 +0,0 @@
<?xml version="1.0"?>
<mapping>
<dbms product="VECTORWISE" id="vectorwise_id" label="Mapping VectorWise"
default="true">
<dbTypes>
<dbType type="ANSIDATE" ignoreLen="true" ignorePre="true" />
<dbType type="BIGINT" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE VARYING" ignoreLen="true" ignorePre="true" />
<dbType type="C" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" ignorePre="true" />
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" />
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER" ignoreLen="true" ignorePre="true" />
<dbType type="INGRESDATE" ignoreLen="true" ignorePre="true" />
<dbType type="INTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="LONG NVARCHAR" ignorePre="true" />
<dbType type="LONG VARCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="NCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="NVARCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="OBJECT_KEY" ignoreLen="true" ignorePre="true"/>
<dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TINYINT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
<dbType type="TABLE_KEY" ignoreLen="true" ignorePre="true" />
<dbType type="VARCHAR" default="true" defaultLength="1200" ignorePre="true"/>
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
</talendType>
<talendType type="id_Byte">
<dbType type="BYTE" default="true" />
<dbType type="BYTE VARYING" />
</talendType>
<talendType type="id_byte[]">
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="VARCHAR"/>
<dbType type="C"/>
<dbType type="TEXT"/>
<dbType type="LONG VARCHAR"/>
<dbType type="NCHAR"/>
<dbType type="NVARCHAR"/>
<dbType type="LONG NVARCHAR"/>
</talendType>
<talendType type="id_Date">
<dbType type="ANSIDATE" default="true"/>
<dbType type="DATE"/>
<dbType type="INGRESDATE" />
<dbType type="TIME" />
<dbType type="TIMESTAMP" />
<dbType type="INTERVAL"/>
</talendType>
<talendType type="id_BigDecimal">
<dbType type="DECIMAL" default="true" />
<dbType type="FLOAT4" />
<dbType type="FLOAT"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Double">
<dbType type="FLOAT" default="true" />
<dbType type="FLOAT4" />
<dbType type="DECIMAL"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT4" default="true" />
<dbType type="FLOAT"/>
<dbType type="DECIMAL" />
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Integer">
<dbType type="INTEGER" default="true" />
<dbType type="BIGINT" />
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Long">
<dbType type="BIGINT" default="true" />
<dbType type="INTEGER"/>
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Object">
<dbType type="MONEY" default="true"/>
<dbType type="OBJECT_KEY" />
<dbType type="TABLE_KEY" />
</talendType>
<talendType type="id_Short">
<dbType type="SMALLINT" default="true" />
<dbType type="INTEGER" />
<dbType type="BIGINT"/>
<dbType type="TINYINT" />
</talendType>
<talendType type="id_String">
<dbType type="VARCHAR" default="true" />
<dbType type="LONG VARCHAR" />
<dbType type="NCHAR"/>
<dbType type="NVARCHAR" />
<dbType type="LONG NVARCHAR" />
<dbType type="TEXT" />
<dbType type="C"/>
<dbType type="CHAR"/>
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="ANSIDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="BIGINT">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BYTE">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="BYTE VARYING">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="C">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="CHAR">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Float"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="DATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="FLOAT">
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT4">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="INTEGER">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>
<dbType type="INGRESDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="INTERVAL">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="LONG NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONG VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MONEY">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="NCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="OBJECT_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMALLINT">
<talendType type="id_Short" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Long"/>
</dbType>
<dbType type="TEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Short"/>
<talendType type="id_Long" />
</dbType>
<dbType type="TIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TABLE_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

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

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;
@@ -77,6 +78,8 @@ public interface ILibraryManagerService extends IService {
public void saveMavenIndex(Map<String, String> libsToMavenUri, IProgressMonitor... monitorWrap);
public void createModulesIndexFromComponentAndExtension(IProgressMonitor... monitorWrap);
public Map<String,String> buildModulesIndexFromComponentAndExtension(IProgressMonitor... monitorWrap);
/**
* DOC ycbai Comment method "retrieve".
@@ -107,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

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.AbstractExternalNode;
import org.talend.core.model.process.INode;
public interface ITDQComponentService extends IService {
public boolean isTDQExternalComponent(String componentName);
public AbstractExternalNode 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

@@ -33,9 +33,6 @@ public enum EDatabase4DriverClassName {
IBMDB2ZOS(EDatabaseTypeName.IBMDB2ZOS, "COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver"), //$NON-NLS-1$
INFORMIX(EDatabaseTypeName.INFORMIX, "com.informix.jdbc.IfxDriver"), //$NON-NLS-1$
INGRES(EDatabaseTypeName.INGRES, "com.ingres.jdbc.IngresDriver"), //$NON-NLS-1$
INTERBASE(EDatabaseTypeName.INTERBASE, "interbase.interclient.Driver"), //$NON-NLS-1$
VECTORWISE(EDatabaseTypeName.VECTORWISE, "com.ingres.jdbc.IngresDriver"), //$NON-NLS-1$
JAVADB_DERBYCLIENT(EDatabaseTypeName.JAVADB_DERBYCLIENT, "org.apache.derby.jdbc.ClientDriver"), //$NON-NLS-1$
JAVADB_EMBEDED(EDatabaseTypeName.JAVADB_EMBEDED, "org.apache.derby.jdbc.EmbeddedDriver"), //$NON-NLS-1$
@@ -59,7 +56,6 @@ public enum EDatabase4DriverClassName {
ORACLE_OCI(EDatabaseTypeName.ORACLE_OCI, "oracle.jdbc.OracleDriver", "oracle.jdbc.driver.OracleDriver"), //$NON-NLS-1$ //$NON-NLS-2$
ORACLE_CUSTOM(EDatabaseTypeName.ORACLE_CUSTOM, "oracle.jdbc.OracleDriver", "oracle.jdbc.driver.OracleDriver"), //$NON-NLS-1$ //$NON-NLS-2$
PARACCEL(EDatabaseTypeName.PARACCEL, "com.paraccel.Driver"), //$NON-NLS-1$
REDSHIFT(EDatabaseTypeName.REDSHIFT, "com.amazon.redshift.jdbc42.Driver"), //$NON-NLS-1$
REDSHIFT_SSO(EDatabaseTypeName.REDSHIFT_SSO, "com.amazon.redshift.jdbc42.Driver"),

View File

@@ -146,7 +146,9 @@ public enum EDatabaseTypeName {
"HBase", "HBase", Boolean.FALSE, "HBASE", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.Column_Family, true), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MAPRDB(
"MapRDB", "MapRDB", Boolean.FALSE, "MAPRDB", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.Column_Family, true);//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"MapRDB", "MapRDB", Boolean.FALSE, "MAPRDB", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.Column_Family, true),//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
SNOWFLAKE(
"SNOWFLAKE","SNOWFLAKE",Boolean.TRUE,"SNOWFLAKE",EDatabaseSchemaOrCatalogMapping.None, EDatabaseSchemaOrCatalogMapping.None);
// displayName is used in Java code.
private String displayName;
@@ -338,6 +340,9 @@ public enum EDatabaseTypeName {
isSupport = isSupportODBC;
} else if (EDatabaseTypeName.SAS == this) {
isSupport = false;
} else if (EDatabaseTypeName.INGRES == this || EDatabaseTypeName.INTERBASE == this || EDatabaseTypeName.VECTORWISE == this
|| EDatabaseTypeName.PARACCEL == this) {
return false;
}
return isSupport;

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,19 @@ 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_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 +324,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 +375,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

@@ -112,15 +112,6 @@ public enum EDatabaseConnTemplate {
SQLITE(new DbConnStr(EDatabaseTypeName.SQLITE, //
"jdbc:sqlite:/<filename>")), //$NON-NLS-1$
INGRES(new DbConnStr(EDatabaseTypeName.INGRES, //
"jdbc:ingres://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
"II7")), //$NON-NLS-1$
VECTORWISE(new DbConnStr(EDatabaseTypeName.VECTORWISE, //
"jdbc:ingres://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
"II7")), //$NON-NLS-1$
INTERBASE(new DbConnStr(EDatabaseTypeName.INTERBASE, //
"jdbc:interbase://<host>/<sid>?<property>")), //$NON-NLS-1$
FIREBIRD(new DbConnStr(EDatabaseTypeName.FIREBIRD, //
"jdbc:firebirdsql:<host>/<port>:<filename>?<property>", //$NON-NLS-1$
"3050")), //$NON-NLS-1$
@@ -174,11 +165,6 @@ public enum EDatabaseConnTemplate {
"jdbc:sap://<host>:<port>?<property>", //$NON-NLS-1$
"30015", //$NON-NLS-1$
"")), //$NON-NLS-1$
PARACCEL(new DbConnStr(EDatabaseTypeName.PARACCEL, //
"jdbc:paraccel://<host>:<port>/<sid>?<property>", //$NON-NLS-1$
"5439")), //$NON-NLS-1$
REDSHIFT(new DbConnStr(EDatabaseTypeName.REDSHIFT, //
"jdbc:redshift://<host>:<port>/<sid>?<property>", //$NON-NLS-1$
"5439",//$NON-NLS-1$
@@ -385,7 +371,6 @@ public enum EDatabaseConnTemplate {
case PSQL:
case PLUSPSQL:
case GREENPLUM:
case PARACCEL:
case REDSHIFT:
case REDSHIFT_SSO:
case IBMDB2:
@@ -430,10 +415,6 @@ public enum EDatabaseConnTemplate {
case PSQL:
case PLUSPSQL:
case GREENPLUM:
case PARACCEL:
case INGRES:
case VECTORWISE:
case INTERBASE:
case FIREBIRD:
case JAVADB_EMBEDED:
case JAVADB_JCCJDBC:
@@ -460,8 +441,6 @@ public enum EDatabaseConnTemplate {
case SYBASEASE_16_SA:
case IBMDB2:
case IBMDB2_ZOS:
case INGRES:
case INTERBASE:
case MSSQL:
case INFORMIX:
case TERADATA:

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;
/**
@@ -47,10 +49,6 @@ public enum EDatabaseVersion4Drivers {
// AS400
AS400_V7R1_V7R3(new DbVersion4Drivers(EDatabaseTypeName.AS400, "V7R1 to V7R3", "AS400_V7R1_V7R3", "jt400-9.8.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
AS400_V6R1_V7R2(new DbVersion4Drivers(EDatabaseTypeName.AS400, "V6R1 to V7R2", "AS400_V6R1_V7R2", "jt400_V6R1.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
AS400_V5R3_V6R1(new DbVersion4Drivers(EDatabaseTypeName.AS400, "V5R3 to V6R1", "AS400_V5R3_V6R1", "jt400_V5R3.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
AS400_V5R2_V5R4(new DbVersion4Drivers(EDatabaseTypeName.AS400, "V5R2 to V5R4", "AS400_V5R2_V5R4", "jt400_V5R2.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//
INTERBASE(new DbVersion4Drivers(EDatabaseTypeName.INTERBASE, "interclient.jar")), //$NON-NLS-1$
//
HSQLDB(new DbVersion4Drivers(EDatabaseTypeName.HSQLDB, "hsqldb.jar")), //$NON-NLS-1$
@@ -58,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$
@@ -85,51 +83,36 @@ 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.5.jar", //$NON-NLS-1$
"commons-lang3-3.10.jar", "commons-codec-1.14.jar", "gson-2.8.6.jar", "oauth2-oidc-sdk-6.5.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" })),
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.9.3.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$
VERTICA_7_1_X(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 7.1.X (Deprecated)", "VERTICA_7_1_X", "vertica-jdbc-7.1.2-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_7(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 7.0.X (Deprecated)", "VERTICA_7_0_X", "vertica-jdbc-7.0.1-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_6_1_X(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 6.1.X (Deprecated)", "VERTICA_6_1_X", "vertica-jdk5-6.1.2-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_6(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 6.0 (Deprecated)", "VERTICA_6_0", "vertica-jdk5-6.0.0-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_5_1(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 5.1 (Deprecated)", "VERTICA_5_1", "vertica_5.1.6_jdk_5.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_5(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 5.0 (Deprecated)", "VERTICA_5", "vertica_4.1.14_jdk_5.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_4_1(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 4.1 (Deprecated)", "VERTICA_4_1", "vertica_4.1.7_jdk_5.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_4(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 4 (Deprecated)", "VERTICA_4", "vertica_4.0_jdk_5.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_3_5(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 3.5 (Deprecated)", "VERTICA_3.5", "vertica_3.5_jdk_5.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
VERTICA_3(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 3 (Deprecated)", "VERTICA_3", "vertica_3.0_jdk_5.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// for bug 0017930
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$
// for bug 0013127
PARACCEL(new DbVersion4Drivers(EDatabaseTypeName.PARACCEL, "paraccel-jdbc.jar")), //$NON-NLS-1$
VECTORWISE(new DbVersion4Drivers(EDatabaseTypeName.VECTORWISE, "iijdbc.jar")), //$NON-NLS-1$
EXASOL(new DbVersion4Drivers(EDatabaseTypeName.EXASOL, "exajdbc-6.0.9302.jar")), //$NON-NLS-1$
MAXDB(new DbVersion4Drivers(EDatabaseTypeName.MAXDB, "sapdbc.jar")), //$NON-NLS-1$
INGRES(new DbVersion4Drivers(EDatabaseTypeName.INGRES, "iijdbc.jar")), //$NON-NLS-1$
// HIVE(new DbVersion4Drivers(EDatabaseTypeName.HIVE, "STANDALONE", "STANDALONE", new String[] {
// "hive-jdbc-0.8.1.jar",
// "hive-metastore-0.8.1.jar", "hive-exec-0.8.1.jar", "hive-service-0.8.1.jar", "libfb303_new.jar",
@@ -168,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$
@@ -312,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
@@ -323,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,18 @@ public enum EHadoopProperties {
SYNAPSE_STORAGE_CONTAINER,
ADLSGEN2AUTH,
SYNAPSE_STORAGE_USERNAME,
SYNAPSE_STORAGE_PASSWORD,
SYNAPSE_APPLICATION_ID,
SYNAPSE_DIRECTORY_ID,
SYNAPSE_CLIENT_KEY,
DEPLOY_FOLDER,
SPARK_DRIVER_MEM,
@@ -134,7 +148,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

@@ -13,10 +13,13 @@
package org.talend.core.model.general;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.runtime.Path;
@@ -45,6 +48,8 @@ public class ModuleNeeded {
public static final String ATTR_USED_BY_DYNAMIC_DISTRIBUTION = "dynamicDistribution";
public static final String ATTR_DYNAMIC_DISTRIBUTION_VERSION = "distributionVersion";
private String id;
private String context;
@@ -105,6 +110,7 @@ public class ModuleNeeded {
ILibraryManagerService libManagerService = (ILibraryManagerService) GlobalServiceRegister.getDefault()
.getService(ILibraryManagerService.class);
/**
* DOC smallet ModuleNeeded class global comment. Detailled comment <br/>
@@ -753,5 +759,12 @@ public class ModuleNeeded {
public void setUseReleaseVersion(boolean useReleaseVersion) {
this.useReleaseVersion = useReleaseVersion;
}
public String getDynamicDistributionVersion() {
return attributes.get(ATTR_DYNAMIC_DISTRIBUTION_VERSION);
}
public void setDynamicDistributionVersion(String distribution) {
attributes.put(ATTR_DYNAMIC_DISTRIBUTION_VERSION, distribution);
}
}

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

@@ -94,6 +94,8 @@ public interface ISAPConstant {
public static final String OUTPUT_XML_META_NAME = PARAM_OUTPUT + SCHEMA_SUFIX;
public static final String ADSO_CONNECTION_TYPE = "adsoConnectionType";//$NON-NLS-1$
// Hana database properties
public static final String PROP_USE_HANA = "db.useHana";//$NON-NLS-1$
@@ -108,4 +110,9 @@ public interface ISAPConstant {
public static final String PROP_DB_PASSWORD = "db.password";//$NON-NLS-1$
public static final String PROP_DB_ADDITIONAL_PROPERTIES = "db.additionalProperties";//$NON-NLS-1$
public static final String SAP_JCO = "SAP_JCO"; //$NON-NLS-1$
public static final String HANA_JDBC = "HANA_JDBC";//$NON-NLS-1$
}

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;

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

@@ -433,16 +433,6 @@ public class ComponentToRepositoryProperty {
connection.setDatabaseType(EDatabaseTypeName.IBMDB2.getDisplayName());
connection.setProductId(EDatabaseTypeName.IBMDB2.getProduct());
}
// Ingres
else if (EDatabaseTypeName.INGRES.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.INGRES.getDisplayName());
connection.setProductId(EDatabaseTypeName.INGRES.getProduct());
}
// Interbase
else if (EDatabaseTypeName.INTERBASE.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.INTERBASE.getDisplayName());
connection.setProductId(EDatabaseTypeName.INTERBASE.getProduct());
}
// Sqlite
else if (EDatabaseTypeName.SQLITE.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.SQLITE.getDisplayName());
@@ -488,11 +478,6 @@ public class ComponentToRepositoryProperty {
connection.setDatabaseType(EDatabaseTypeName.MAXDB.getDisplayName());
connection.setProductId(EDatabaseTypeName.MAXDB.getProduct());
}
// Paraccel
else if (EDatabaseTypeName.PARACCEL.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.PARACCEL.getDisplayName());
connection.setProductId(EDatabaseTypeName.PARACCEL.getProduct());
}
// Redshift
else if (EDatabaseTypeName.REDSHIFT.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setProductId(EDatabaseTypeName.REDSHIFT.getProduct());
@@ -504,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());
@@ -600,11 +590,6 @@ public class ComponentToRepositoryProperty {
connection.setDatabaseType(EDatabaseTypeName.SAPHana.getDisplayName());
connection.setProductId(EDatabaseTypeName.SAPHana.getProduct());
}
// VECTORWISE
else if (EDatabaseTypeName.VECTORWISE.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.VECTORWISE.getDisplayName());
connection.setProductId(EDatabaseTypeName.VECTORWISE.getProduct());
}
// SAX
// can not find corresponding component. also not exist in EDatabaseType.java.
@@ -684,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;
@@ -86,6 +88,7 @@ import org.talend.core.model.update.UpdatesConstants;
import org.talend.core.model.utils.IDragAndDropServiceHandler;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.runtime.services.IGenericWizardService;
import org.talend.core.runtime.util.SAPUtils;
import org.talend.core.service.IMetadataManagmentService;
import org.talend.core.service.IMetadataManagmentUiService;
import org.talend.core.utils.KeywordsValidator;
@@ -406,6 +409,8 @@ public class RepositoryToComponentProperty {
}
}
return values;
} else if ("CONNECTION_TYPE".equals(value)) { //$NON-NLS-1$
return SAPUtils.isHana(connection) ? ISAPConstant.HANA_JDBC : ISAPConstant.SAP_JCO;
} else if ("SAPHANA_HOST".equals(value)) { //$NON-NLS-1$
String dbHost = TaggedValueHelper.getValueString(ISAPConstant.PROP_DB_HOST, connection);
if (isContextMode(connection, dbHost)) {
@@ -1036,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)) {
@@ -2286,7 +2311,7 @@ public class RepositoryToComponentProperty {
for (int j = 0; j < schemaTargets.size(); j++) {
SchemaTarget schemaTarget = schemaTargets.get(j);
if (schemaTarget.getTagName() != null && !schemaTarget.getTagName().equals("")) { //$NON-NLS-1$
tagName = "" + schemaTarget.getTagName().trim(); //$NON-NLS-1$ //$NON-NLS-2$
tagName = "" + schemaTarget.getTagName().trim(); //$NON-NLS-1$
tagName = MetadataToolHelper.validateColumnName(tagName, j);
Map<String, Object> map = new HashMap<String, Object>();
map.put("SCHEMA_COLUMN", tagName); //$NON-NLS-1$

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

@@ -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,147 @@
// ============================================================================
//
// 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.core.pendo;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoEventEntity {
@JsonProperty("type")
private String type;
@JsonProperty("event")
private String event;
@JsonProperty("visitorId")
private String visitorId;
@JsonProperty("accountId")
private String accountId;
@JsonProperty("timestamp")
private long timestamp;
@JsonProperty("properties")
private Object properties;
/**
* Getter for type.
*
* @return the type
*/
public String getType() {
return type;
}
/**
* Sets the type.
*
* @param type the type to set
*/
public void setType(String type) {
this.type = type;
}
/**
* Getter for event.
*
* @return the event
*/
public String getEvent() {
return event;
}
/**
* Sets the event.
*
* @param event the event to set
*/
public void setEvent(String event) {
this.event = event;
}
/**
* Getter for visitorId.
*
* @return the visitorId
*/
public String getVisitorId() {
return visitorId;
}
/**
* Sets the visitorId.
*
* @param visitorId the visitorId to set
*/
public void setVisitorId(String visitorId) {
this.visitorId = visitorId;
}
/**
* Getter for accountId.
*
* @return the accountId
*/
public String getAccountId() {
return accountId;
}
/**
* Sets the accountId.
*
* @param accountId the accountId to set
*/
public void setAccountId(String accountId) {
this.accountId = accountId;
}
/**
* Getter for timestamp.
*
* @return the timestamp
*/
public long getTimestamp() {
return timestamp;
}
/**
* Sets the timestamp.
*
* @param timestamp the timestamp to set
*/
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
/**
* Getter for properties.
* @return the properties
*/
public Object getProperties() {
return properties;
}
/**
* Sets the properties.
* @param properties the properties to set
*/
public void setProperties(Object properties) {
this.properties = properties;
}
}

View File

@@ -0,0 +1,163 @@
// ============================================================================
//
// 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.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 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");
private String event;
TrackEvent(String event) {
this.event = event;
}
public String getEvent() {
return event;
}
}
}

View File

@@ -0,0 +1,293 @@
// ============================================================================
//
// 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.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.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.StatusLine;
import org.apache.http.client.entity.EntityBuilder;
import org.apache.http.client.methods.CloseableHttpResponse;
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.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
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.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.repository.model.RepositoryConstants;
import org.talend.utils.json.JSONObject;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoTrackSender {
private static final String PREFIX_API = "api";
private static final String PENDO_INFO = "/monitoring/pendo/info";
private static final String PENDO_TRACK = "/monitoring/pendo/track";
private static final String HEAD_AUTHORIZATION = "Authorization";
private static final String HEAD_CONTENT_TYPE = "Content-Type";
private static final String HEAD_PENDO_KEY = "x-pendo-integration-key";
private static PendoTrackSender instance;
private static String adminUrl;
private static String apiBaseUrl;
private static String pendoInfo;
public static PendoTrackSender getInstance() {
if (instance == null) {
instance = new PendoTrackSender();
}
if (StringUtils.isBlank(adminUrl)) {
RepositoryContext repositoryContext = getRepositoryContext();
if (repositoryContext != null) {
adminUrl = repositoryContext.getFields().get(RepositoryConstants.REPOSITORY_URL);
}
}
return instance;
}
public void sendToPendo(TrackEvent event, IPendoDataProperties properties) {
Job job = new Job("send pendo track") {
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
sendTrackData(event, properties);
} catch (Exception e) {
// warning only
ExceptionHandler.process(e, Level.WARN);
}
return Status.OK_STATUS;
}
};
job.setUser(false);
job.setPriority(Job.INTERACTIVE);
job.schedule();
}
public void sendTrackData(TrackEvent event, IPendoDataProperties properties) throws Exception {
if (!checkTokenUsed(adminUrl) || !NetworkUtil.isNetworkValid()) {
return;
}
DefaultHttpClient client = null;
CloseableHttpResponse response = null;
IProxySelectorProvider proxySelectorProvider = null;
try {
String pendoInfo = getPendoInfo();
if (StringUtils.isBlank(pendoInfo)) {
throw new Exception("Pendo information is empty");
}
String pendoKey = getPendoKeyFromLicense();
if (StringUtils.isBlank(pendoKey)) {
throw new Exception("Pendo key is empty");
}
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();
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 (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();
} catch (Throwable e) {
ExceptionHandler.process(e);
}
}
if (client != null) {
try {
client.close();
} catch (Throwable e) {
ExceptionHandler.process(e);
}
}
}
}
private String getPendoInfo() throws Exception {
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 = new DefaultHttpClient();
String url = baseUrl + PENDO_INFO;
HttpGet httpGet = new HttpGet(url);
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);
if (HttpURLConnection.HTTP_OK != statusLine.getStatusCode()) {
throw new Exception(statusLine.toString() + ", server message: [" + responseStr + "]");
}
return responseStr;
} finally {
HttpClientTransport.removeProxy(proxySelectorProvider);
client.getConnectionManager().shutdown();
if (response != null) {
try {
response.close();
} catch (Throwable e) {
ExceptionHandler.process(e);
}
}
if (client != null) {
try {
client.close();
} catch (Throwable e) {
ExceptionHandler.process(e);
}
}
}
}
private boolean checkTokenUsed(String adminUrl) throws Exception {
if (StringUtils.isNotBlank(adminUrl) && GlobalServiceRegister.getDefault().isServiceRegistered(IRemoteService.class)) {
IRemoteService service = GlobalServiceRegister.getDefault().getService(IRemoteService.class);
return service.isTokenUsed(adminUrl);
}
return false;
}
public String getBaseUrl() throws Exception {
return getBaseUrl(adminUrl, false);
}
public String getBaseUrl(String adminUrl, boolean token) throws Exception {
if (StringUtils.isNotBlank(apiBaseUrl) && !token) {
return apiBaseUrl;
}
try {
URL url = new URL(adminUrl);
// tmc.int.cloud.talend.com
String authority = url.getAuthority();
String regex = "(\\w*\\-*\\w*\\.?){2}\\.(talend.com)";
Pattern pattern= Pattern.compile(regex);
Matcher match = pattern.matcher(authority);
if (match.find()) {
// int.cloud.talend.com
authority = match.group(0);
URL apiURL = new URL(url.getProtocol(), PREFIX_API + "." + authority, "");
// https://api.int.cloud.talend.com
apiBaseUrl = apiURL.toString();
} else {
throw new Exception("Can't match pendo url from " + adminUrl);
}
} catch (MalformedURLException e) {
throw new Exception("Invalid url " + adminUrl, e.getCause());
}
return apiBaseUrl;
}
private String getToken() {
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);
return service.getPendoKeyFromLicense();
}
return null;
}
private static RepositoryContext getRepositoryContext() {
RepositoryContext repositoryContext = (RepositoryContext) CoreRuntimePlugin.getInstance().getContext()
.getProperty(Context.REPOSITORY_CONTEXT_KEY);
return repositoryContext;
}
public void setAdminUrl(String adminUrl) {
PendoTrackSender.adminUrl = adminUrl;
}
public void setApiBaseUrl(String apiBaseUrl) {
PendoTrackSender.apiBaseUrl = apiBaseUrl;
}
}

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,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

@@ -0,0 +1,129 @@
// ============================================================================
//
// 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 java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoLoginProperties implements IPendoDataProperties {
@JsonProperty("studio_version")
private String studioVersion;
@JsonProperty("studio_patch")
private String studioPatch;
@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.
*
* @return the studio_version
*/
public String getStudioVersion() {
return studioVersion;
}
/**
* Sets the studio_version.
*
* @param studio_version the studio_version to set
*/
public void setStudioVersion(String studioVersion) {
this.studioVersion = studioVersion;
}
/**
* Getter for studio_patch.
*
* @return the studio_patch
*/
public String getStudioPatch() {
return studioPatch;
}
/**
* Sets the studio_patch.
*
* @param studio_patch the studio_patch to set
*/
public void setStudioPatch(String studioPatch) {
this.studioPatch = studioPatch;
}
/**
* Getter for enabled_features.
*
* @return the enabled_features
*/
public List<String> getEnabledFeatures() {
return enabledFeatures;
}
/**
* Sets the enabled_features.
*
* @param enabled_features the enabled_features to set
*/
public void setEnabledFeatures(List<String> enabledFeatures) {
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;
}
}

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