Compare commits

...

210 Commits

Author SHA1 Message Date
Chao MENG
47ab3623d1 fix(TUP-35616): Problems on the \ processing on the password field after TUP-32821 (#5320)
* 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:20 +08:00
hcyi
777c742a2a fix(TUP-35607):should no prompt for analysis when DB connection have context group with Multiple db set (#5311)
* 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:39:10 +08:00
Jane Ding
b3725df710 fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5304)
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119
2022-05-17 17:44:20 +08:00
Jane Ding
5e51256323 Revert "fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5139)" (#5301) (#5302)
This reverts commit 9d2f2d25ae.
2022-05-16 16:07:37 +08:00
Emmanuel GALLOIS
f4a0029d79 feat(TDI-47911): bump component-runtime to 1.44.3 (#5274) (#5300) 2022-05-13 10:06:20 +02:00
Liu Xinquan
4a3effc565 Revert "chore(TDQ-20339) improve mvn path: org.talend.libraries.jfreechart (#5283)" (#5299)
This reverts commit ed91d67ccc.
2022-05-13 11:51:43 +08:00
bhe-talendbj
84232ab92f fix(TUP-35541): replace log4j-1.x (#5293) 2022-05-13 10:34:07 +08:00
Jane Ding
ee04ccc6ef fix(TUP-35538):failed to run job when studio is Chinese on R04 (#5295) (#5296)
* 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:33:11 +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
384 changed files with 12718 additions and 9873 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: 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
@@ -125,7 +125,7 @@ ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u30
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,8 @@ 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$
CREATE_CONNECTION_ICON("/icons/connection.gif"), //$NON-NLS-1$
RESET_DBTYPES_ICON("/icons/reset_dbtypes.jpg"), //$NON-NLS-1$
@@ -127,7 +129,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,8 @@ public interface ITaCoKitService {
boolean isTaCoKitType(Object repoType);
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
@@ -117,7 +117,7 @@ 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.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
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

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

@@ -77,6 +77,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".

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,21 @@ 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";
/**
* 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,22 +83,13 @@ 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$
@@ -121,15 +110,9 @@ public enum EDatabaseVersion4Drivers {
SYBASEIQ_16_SA(new DbVersion4Drivers(EDatabaseTypeName.SYBASEASE, "Sybase 16 (SQL Anywhere)", "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,

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

@@ -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;
}
}

View File

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

View File

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

View File

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

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