Compare commits

..

322 Commits

Author SHA1 Message Date
Chao MENG
90e09aa5a0 chore: support to export item 2022-09-19 00:42:07 +08:00
zshen-talend
732c9f7ba3 fix(TDQ-19700): fix the bug about second time switch change original value(#5597) 2022-09-15 12:19:06 +08:00
AlixMetivier
e7d7296d1d feat(TBD-13647): allow switch from transient to interactive cluster (#5424) (#5586)
Co-authored-by: unknown <ametivier@talend.com>

Co-authored-by: AlixMetivier-zz <50327620+AlixMetivier-zz@users.noreply.github.com>
2022-09-13 08:38:38 +02:00
zyuan-talend
cff426e05b fix(TUP-35745): Research: Bring a dark mode for Talend Studio. (#5582)
* fix(TUP-35745): Research: Bring a dark mode for Talend Studio as
Experimental.

* fix(TUP-35745): Research: Bring a dark mode for Talend Studio.
2022-09-13 10:49:07 +08:00
jzhangbj
3942a7342a Add localized files (#5585)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-09-09 17:25:01 +08:00
tsasada-talend
cac70d58bd Add localized files (#5583)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-09-09 15:13:50 +08:00
sbliu
a68d173505 feat(TUP-36340) oracle add support of orai18n.jar (#5528) (#5581)
orai18n jar version using 19, same as ojdbc version of oracle 18,
support nls feature only apply to oracle 18
2022-09-08 11:08:10 +08:00
Liu Xinquan
c9a6da75a9 Xqliu/tdq 20610 lucene core master (#5568) 2022-09-06 17:19:03 +08:00
hzhao
dd67814905 fix(TUP-36593): Nexus proxy password is stored in clear text in project (#5562) (#5577) 2022-09-06 09:34:26 +08:00
zshen-talend
9168a6f562 feat(TDQ-19700): add condition to avoid junit failed (#5574) 2022-09-05 22:12:32 +08:00
zshen-talend
214124111d Zshen/feat/tdq 19700 3support switch context for snowflake jdbc (#5567) (#5572) 2022-09-02 21:24:57 +08:00
sbliu
312478cf8e fix junit failure (#5559) (#5565) 2022-09-02 14:26:52 +08:00
bhe-talendbj
0eaca0c7ce feat(TUP-36373): Delete .m2 with UI option when apply a monthly update (#5549) (#5556)
* feat(TUP-36373): initial impl

* feat(TUP-36373): delete m2 during startup

* feat(TUP-36373): delete m2 during startup
2022-09-01 16:54:37 +08:00
msjian
176c01a871 chore(TDQ-20612): a wording issue (#5560) 2022-09-01 16:35:41 +08:00
Oleksandr Zhelezniak
d47cb925a1 fix(TDI-48431): synchronize flush resumeutil (#5551) 2022-09-01 10:08:10 +03:00
sbieliaievl
8f10d203c2 fix(APPINT-34899) - added constants for cloud version change (#5541) 2022-09-01 08:49:05 +03:00
hcyi
1eb962e58b fix(TUP-36483):Code generation fails with xmlmap. (#5542) 2022-08-30 17:56:53 +08:00
bhe-talendbj
60cb70dda8 feat(TUP-35886): add new method to rename tck component name (#5436) (#5555)
* feat(TUP-35886): add new method to rename tck component name

* feat(TUP-35886): add junit

* feat(TUP-35886): add junit

* feat(TUP-35886): refactor name

* feat(TUP-35886): fix junit

* feat(TUP-35886): fix junit

* feat(TUP-35886): refactor and update doc
2022-08-30 17:28:48 +08:00
jiezhang-tlnd
3d4f36615b fix(TUP-35898)Studio does not display an error message when importing (#5398)
* fix(TUP-35898)Studio does not display an error message when importing
bad zip job archive

* format code
2022-08-30 09:31:54 +08:00
sbliu
86b682b026 chore(TUP-36502) upgrade org.postgresql:postgresql:42.2.25 to 42.2.26 (#5547) 2022-08-29 16:37:47 +08:00
Jane Ding
8ef7d24ab1 feat(TUP-35712):Track item signature with Pendo (#5499) (#5554)
* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712

* feat(TUP-35712):Track item signature with Pendo
https://jira.talendforge.org/browse/TUP-35712
2022-08-29 10:22:07 +08:00
sbieliaievl
2f62d6b559 fix(APPINT-34581) - added method for feature version and groupId (#5535) 2022-08-26 11:26:37 +03:00
zyuan-talend
a856a6dfef fix(TUP-35909):add missed context items for demo. (#5518) (#5532) 2022-08-10 19:17:05 +08:00
hzhao-talendbj
57d7f049f1 fix(TUP-36341): Unable to run DQ reports with subjob+joblet on a cloud (#5517) (#5534)
* fix(TUP-36341): Unable to run DQ reports with subjob+joblet on a cloud

* fix(TUP-36341): Unable to run DQ reports with subjob+joblet on a cloud

* (TUP-36341): Unable to run DQ reports with subjob+joblet on a cloud
2022-08-10 16:58:14 +08:00
hcyi
e5858570fd fix(TUP-36012):CVE:com.h2database:h2:2.1.210 (#5455) 2022-08-09 11:00:40 +08:00
jiezhang-tlnd
1c7284282f fix(TUP-36127)Upgrade commons-configuration to 2.8.0 (#5522) 2022-08-09 09:48:50 +08:00
ypiel
2cf0e2f063 chore: bump to component-runtime 1.47.0 (#5490)
* bump to 1.47.1

Co-authored-by: Emmanuel GALLOIS <egallois@talend.com>
2022-08-08 13:43:01 +02:00
wang wei
a2f23b8c70 fix(TDI-48203): fix for microservice case (#5526) (#5527) 2022-08-05 16:22:06 +08:00
Jane Ding
4bc2f2212f feat(TUP-35644):tMap - possible simplified metrics to send to Pendo (#5524) (#5525)
https://jira.talendforge.org/browse/TUP-35644
2022-08-05 10:17:45 +08:00
Alexiane Yvonet
b3aeb8789f Add localized files (#5520)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-04 17:02:17 +08:00
Zhiwei Xue
cdf3f74dab fix(TUP-36175):align bcprov-jdk15on to 1.70 (#5461) (#5515) 2022-08-02 15:32:02 +08:00
tsasada-talend
03ec9564c4 Add localized files (#5506)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-07-29 15:35:09 +08:00
jzhangbj
2e100d48ec Add localized files (#5505)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-07-29 15:34:28 +08:00
kjwang
9d53e9e58a TUP-36242 jobs changing Hadoop metadata distribution after changing (#5484) (#5504)
TUP-36242 jobs changing Hadoop metadata distribution after changing project/branch
https://jira.talendforge.org/browse/TUP-36242
2022-07-28 16:19:08 +08:00
jiezhang-tlnd
7f982eb19f handle mssql metedata (#5501) 2022-07-27 18:44:27 +08:00
sbliu
8955b487d3 feat(TUP-29393) replace nexus connection timeout with default connection timeout (#5475) (#5500) 2022-07-27 17:58:07 +08:00
jiezhang-tlnd
0cbabe1194 fix(TUP-35446)CVE: org.apache.maven:maven-core:3.8.3 (#5446) (#5498) 2022-07-27 15:08:50 +08:00
wang wei
cf06ba240f fix(TDI-48203): [CVE]: routines.system.JSONObject(Object bean) use reflect to call method invoke, that's dangerous for evil script inject (#5426) (#5497) 2022-07-27 09:51:20 +08:00
sbliu
eb72dad972 fix(TUP-36252) fix NPE for tos studio build job (#5489) 2022-07-26 14:25:34 +08:00
jiezhang-tlnd
ae1b095e14 Jzhang/tup 35808 (#5493)
* feat(TUP-35808)Generate module name from maven url
https://jira.talendforge.org/browse/TUP-35808

* feat(TUP-35808)Generate module name from maven url

* handle warning

* format code

* add conditions of debug mode

* print for plugin
2022-07-25 18:08:48 +08:00
sbliu
6f3a8112ed chore(TUP-35865) upgrade wstx-asl-3.2.9.jar with wstx-core-asl-4.4.1 and stax2-api-4.2.1 (#5439) 2022-07-22 17:28:16 +08:00
Zhiwei Xue
963980d17f fix(TUP-18979):Migration tasks including mapping files (#5495)
* fix(TUP-18979):Migration tasks including mapping files (#5441)

* fix(TUP-18979):Fix UI import issue (#5457)

* fix(TUP-18979):fix sync mapping file error of job project (#5470)

* fix(TUP-18979):fix junit failure (#5492)
2022-07-22 16:51:40 +08:00
tsasada-talend
3a33d78ae6 Add localized files (#5487)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-07-21 16:43:25 +08:00
Alexiane Yvonet
83e56b11a4 Add localized files (#5486)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-07-21 15:40:36 +08:00
sbliu
578cf0a774 chore(TUP-35948) TP_ALL as cloud/on-prem license (#5445) (#5483) 2022-07-21 10:58:28 +08:00
hzhao-talendbj
2344240c7b Revert "chore(TUP-35265): upgrade 'crypto-utils' jar in low level (#5372) (#5431)" (#5478)
This reverts commit 14784e24f5.
2022-07-19 16:55:32 +08:00
jiezhang-tlnd
99483397a6 Revert "Revert "feat(TUP-35808)Generate module name from maven url (#5449)" (#5453)" (#5479)
This reverts commit ca40e6dbde.
2022-07-19 16:04:54 +08:00
pyzhou
75ea7c06bc fix(TDI-48024): ResumeUtil performance issue (#5458)
* fix(TDI-48024): ResumeUtil performance issue

* NPE
2022-07-19 10:30:46 +08:00
zyuan-talend
55ed44cc68 fix(TUP-36231,TUP31721): deploy libs from custom component. (#5468) (#5474) 2022-07-19 10:07:21 +08:00
sbliu
0d629ea96b chore(TUP-35863) remove lower version of maven-settings (#5419) (#5469)
* chore(TUP-35863) remove lower version of maven-settings
2022-07-18 10:06:41 +08:00
tsasada-talend
59019ed6b7 Add localized files (#5465)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-07-15 16:15:05 +08:00
jzhangbj
fbbc76d7b4 Add localized files (#5462)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-07-15 16:11:53 +08:00
Jane Ding
4cd166d665 feat(TUP-35644):tMap - possible simplified metrics to send to Pendo (#5409) (#5460)
* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644

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

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

* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644
2022-07-14 18:08:16 +08:00
zshen-talend
17e7da24a5 feat(TDQ-19828): make sure tDataQualityRule support spark job (#5434) 2022-07-14 16:47:56 +08:00
sbieliaievl
9a049b37b4 fix(APPINT-33559) - fixed screenshot is not available in demos (#5349)
* fix(APPINT-33559) - added sreenshots to DI demo jobs

* fix(APPINT-33559) - fixed for screenshot is not available in demos
2022-07-14 10:50:49 +03:00
sponomarova
ecc63405e8 feat(TBD-13825): GA - Azure Synapse Spark pools with Azure AD Service Principal (#5427) (#5459) 2022-07-14 10:26:30 +03:00
jiezhang-tlnd
ca40e6dbde Revert "feat(TUP-35808)Generate module name from maven url (#5449)" (#5453)
This reverts commit d8096aac9e.
2022-07-12 16:58:12 +08:00
sbliu
0871206151 fix(TUP-32331) fix unit failure. (#5450) 2022-07-11 18:06:08 +08:00
jiezhang-tlnd
d8096aac9e feat(TUP-35808)Generate module name from maven url (#5449)
https://jira.talendforge.org/browse/TUP-35808
2022-07-11 17:47:00 +08:00
hcyi
ae712faa42 fix(TUP-35774):The prompt feature for context variables. (#5377) 2022-07-07 17:09:43 +08:00
Emmanuel GALLOIS
a8d2f77ff3 feat(TDI-48200) bump component-runtime to 1.46 (#5421)
* feat(TDI-48200): bump component-runtime to 1.46.1
2022-07-07 10:29:15 +02:00
sbliu
0ba728d04b fix(TUP-32331) fix cannot translate to valid file path when url contains special '#' (#5363) 2022-07-07 14:57:05 +08:00
hzhao-talendbj
14784e24f5 chore(TUP-35265): upgrade 'crypto-utils' jar in low level (#5372) (#5431) 2022-07-06 09:53:46 +08:00
zyuan-talend
38b4af1cb3 fix(TUP-31721):Not clear studio index cache in normal case. (#5350) (#5418) 2022-07-01 19:34:33 +08:00
hzhao-talendbj
2650d58b92 fix(TUP-35645): Studio update git for nothing (#5335) (#5420) 2022-07-01 16:12:26 +08:00
jiezhang-tlnd
c3c0ab4ba3 fix(TUP-35979)Adjust nimbus-jose-jwt-9.3.jar to nimbus-jose-jwt-9.22 (#5417) 2022-06-30 14:32:51 +08:00
jiezhang-tlnd
c5d8c027c5 chore(TUP-35857)CVE: bsh-2.0b4.jar (#5382) 2022-06-30 09:47:53 +08:00
zyuan-talend
ac3661a318 fix(TUP-35823): CVE consolidate maven-artifact-manager to 2.2.1. (#5383) (#5416) 2022-06-29 18:00:53 +08:00
bhe-talendbj
d1a7a88ea4 chore(TUP-35849): add classifier support (#5408) (#5411) 2022-06-28 20:17:03 +08:00
bhe-talendbj
c9ab88d487 fix(TUP-35637): not clean target folders (#5374) (#5414) 2022-06-28 20:08:11 +08:00
Xuwei ZHU
7935b2918a Add localized files (#5405)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-06-23 18:05:27 +08:00
Alexiane Yvonet
07ad5653b0 Add localized files (#5401)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-06-23 17:48:37 +08:00
jzhangbj
b0c4d195b5 Add localized files (#5384)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-06-23 17:32:04 +08:00
Chao MENG
6e264d3b27 chore: update plugin timestamp (#5404) 2022-06-23 17:14:28 +08:00
Jane Ding
87f1925422 fix(TUP-35599):SuggestionValues.Item support of user friendly UI label (#5351) (#5399)
* fix(TUP-35599):SuggestionValues.Item support of user friendly UI label
different from it's id
https://jira.talendforge.org/browse/TUP-35599

* fix(TUP-35599):SuggestionValues.Item support of user friendly UI label
different from it's id
https://jira.talendforge.org/browse/TUP-35599
2022-06-22 09:51:26 +08:00
Liu Xinquan
bc2c79b739 fix(TDQ-20474) jfreechart issue (#5394) 2022-06-20 20:12:48 +08:00
msjian
d97b8c1ba1 fix(TDQ-19435): fxi NPE and remove useless jars (#5392) 2022-06-20 10:01:04 +08:00
Liu Xinquan
9136eeef2a fix(TDQ-20360) snowflake jdbc connection context mode issue (#5389) 2022-06-17 16:38:35 +08:00
Liu Xinquan
912c92b47d fix(TDQ-20360) snowflake jdbc connection context mode issue (#5379) 2022-06-17 10:51:48 +08:00
sponomarova
94e35f82ad feat(TBD-13824): Spark 3.2.x standalone GA (#5322) (#5387) 2022-06-16 12:56:41 +03:00
Xuwei ZHU
5be8e0e9ba Add localized files (#5385)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-06-16 16:59:11 +08:00
jiezhang-tlnd
e3b53afa78 feat(TUP-35192)Hide the Debug->Modules from show view (#5369)
https://jira.talendforge.org/browse/TUP-35192
2022-06-16 16:54:59 +08:00
hcyi
90db7fd444 fix(TUP-35508):Better to improve context prompt for JDBC. (#5371)
* fix(TUP-35508):Better to improve context prompt for JDBC.

* fix(TUP-35508):Better to improve context prompt for JDBC.
2022-06-14 15:08:37 +08:00
Jane Ding
d0846226f2 feat(TUP-33085):Add Icon(s) to open Help (#5328) (#5367)
* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085

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

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

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

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

* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085
2022-06-10 17:25:51 +08:00
bhe-talendbj
a138fcf717 feat(TUP-33929): remove duplicated sub modules from parent (#5235) (#5362)
* feat(TUP-33929): remove duplicated sub modules from parent

* feat(TUP-33929): refactor

* feat(TUP-33929): add logs for profile mode
2022-06-10 11:00:25 +08:00
qiongli
0fda005a81 fix(TDQ-20442):Split 'handelDQComponents()' so as to handle 2 DQ components(#5356) 2022-06-10 10:28:26 +08:00
Emmanuel GALLOIS
d732ace073 feat(TDI-48010): bump component-runtime to 1.45.2 (#5326)
* feat(TDI-48010): bump component-runtime to 1.45.0
* feat(TDI-48010): bump component-runtime to 1.45.1
2022-06-09 10:12:46 +02:00
Oleksandr Zhelezniak
1975cb6c91 feat(TDI-48013): jackson align (#5346)
* bump version of Jackson libraries to 2.13.2 and 2.13.2.2
2022-06-09 10:05:48 +03:00
jiezhang-tlnd
d7a5a1df18 fix(TUP-35826)link path generated is not correct for tRunjob (#5365) 2022-06-09 12:27:38 +08:00
jiezhang-tlnd
440bb28bad fix(TUP-35539)Netsuite parent node show as Items missing parent node (#5332) (#5366)
* fix(TUP-35539)Netsuite: parent node show as "Items missing parent node
(Deprecated)" after import or do delete the datastore directly
https://jira.talendforge.org/browse/TUP-35539

* export dataset need with datastore

* format code

* handle reference project case

* handle import issue

* improve code

* improve code

* improve code
2022-06-09 10:58:34 +08:00
msjian
4e899b26ae "fix(TDQ-20476) : add jboss-marshalling-2.0.12.Final.jar to build to fix run analysis get error" (#5360) 2022-06-08 16:22:37 +08:00
jiezhang-tlnd
8121aac04a fix(TUP-35683)doc use job for route, joblet for routelet (#5357) (#5361)
https://jira.talendforge.org/browse/TUP-35683
2022-06-08 15:35:15 +08:00
jiezhang-tlnd
9d10c65295 feat(TUP-34931)Support Sybase 17 (#5236) (#5359)
* feat(TUP-34931)Support Sybase 17

* add library needed
2022-06-08 10:59:21 +08:00
msjian
d2a2704284 fix(TDQ-20476) : add two jars to fix run analysis get error (#5354) 2022-06-07 18:59:06 +08:00
hcyi
56d12c0b6c feat(TUP-34855):Setup custom JKS for job signature from GUI. (#5324)
* feat(TUP-34855):Setup custom JKS for job signature from GUI.

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

* feat(TUP-34855):Setup custom JKS for job signature from GUI
2022-06-02 10:58:42 +08:00
jiezhang-tlnd
6a9906ab66 feat(TUP-28853)tRunjob is ok, need handle joblet (#5269) (#5342)
* feat(TUP-28853)tRunjob is ok, need handle joblet

* generation document is ok from standard process

* format code

* improve performance

* format code

* improve performance

* format code

* improve performance

* handle latest version

* handle route process

* format code

* format code
2022-05-31 17:41:58 +08:00
sbliu
4ae3b77c22 chore(TUP-35684) upgrade xmlbeans. (#5340) 2022-05-31 16:12:39 +08:00
bhe-talendbj
aa4ad41f67 chore(TUP-35685): upgrade database driver version (#5330) (#5341) 2022-05-31 14:34:56 +08:00
Chao MENG
5575e21252 feat(TUP-33655): Improve Git pull & Merge if current branch and target (#5306)
branch are on different monthly update.
https://jira.talendforge.org/browse/TUP-33655
2022-05-31 10:11:51 +08:00
Oleksandr Zhelezniak
7007071c9c fix(TDI-45946): greenplum mapping (#5278)
* add TIMESTAMP WITH TIME ZONE
* add TIME WITH TIME ZONE
2022-05-30 16:10:02 +03:00
sbliu
1067aa86a9 fix(TUP-35598) fix OutOfMemoryError: Metaspace (#5334) 2022-05-30 16:39:11 +08:00
Alexiane Yvonet
9bade7f379 Add localized files (#5336)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-30 15:41:46 +08:00
sbliu
22b3f2f2b2 chore(TUP-35445) upgrade guava to 30.0-jre (#5329) 2022-05-26 16:49:45 +08:00
bhe-talendbj
84f943f02c fix(TUP-35518): fix dropdownlist of context (#5288) 2022-05-26 16:07:27 +08:00
Zhiwei Xue
a1552068da fix(TUP-31233):Routine pom is not updated after installed the required (#5315)
* fix(TUP-31233):Routine pom is not updated after installed the required
jar of user routine

* fix(TUP-31233):Routine pom is not updated after installed the required
jar of user routine
2022-05-25 18:05:05 +08:00
hzhao-talendbj
53c93755d4 Revert "chore(TUP-34757): Add a getOriginalName() in IConnection (#5124)" (#5323)
This reverts commit f6ab6a6358.
2022-05-25 17:28:13 +08:00
Chao MENG
a389284310 fix(TUP-35616): Problems on the \ processing on the password field after TUP-32821 (#5318)
* 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:04 +08:00
hcyi
464fd2feb4 fix(TUP-35607):should no prompt for analysis when DB connection have context group with Multiple db set (#5314)
* 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:48:31 +08:00
jzhangbj
5f563129d7 Add localized files (#5317)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-19 17:46:59 +08:00
tsasada-talend
5fbd8704b8 Add localized files (#5316)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-19 17:42:16 +08:00
Jane Ding
c59b0ca732 fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5312)
* Revert "fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5139)" (#5301)

This reverts commit 9d2f2d25ae.

* fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5303)

instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119
2022-05-19 09:50:19 +08:00
Emmanuel GALLOIS
f2617c44d8 feat(TDI-47911): bump component-runtime to 1.44.3 (#5275) 2022-05-13 09:55:08 +02:00
Jane Ding
2864ee34fc fix(TUP-35538):failed to run job when studio is Chinese on R04 (#5295) (#5297)
* 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:43:06 +08:00
bhe-talendbj
1f5a8d8f2d fix(TUP-35541): replace log4j-1.x (#5294) 2022-05-13 10:37:20 +08:00
tsasada-talend
9b997b7c2d Add localized files (#5287)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-12 20:40:02 +08:00
Chao MENG
92c1dae673 Cmeng/feat/tup 33928 tmc update (#5230)
* feat(TUP-33928): Controlled Studio Updates from TMC
https://jira.talendforge.org/browse/TUP-33928
2022-05-12 18:56:25 +08:00
Chao MENG
d399ff74c0 feat(TUP-32821): Credential property value in json format in tck (#5242)
framework
https://jira.talendforge.org/browse/TUP-32821
2022-05-12 18:35:02 +08:00
Liu Xinquan
5846e53045 chore(TDQ-20339) improve mvn path: org.talend.libraries.jfreechart (#5284) 2022-05-12 17:18:11 +08:00
hcyi
e0b9d739d9 feat(TUP-34889): Support to prompt Context on Metadata (#5260)
* 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:12:44 +08:00
Jane Ding
9f7e427415 fix(TUP-33119):SuggestionValues.Item label is received at runtime (#5139) (#5282)
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119
2022-05-12 09:41:11 +08:00
Jane Ding
c8518176c2 fix(TUP-35315):Redshift SSO support driver 2.x (#5241) (#5281)
* 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-12 09:41:01 +08:00
Zhiwei Xue
e1c7e428d5 fix(TUP-35219):Nullpointer exception with building job on (#5263)
commandline-script mode
2022-05-09 10:10:58 +08:00
Zhiwei Xue
dca56893d6 fix(TUP-34109):[7.3.1] slow project export compared to studio 6.5.1 (#5201) 2022-05-09 10:08:19 +08:00
hcyi
9625813d52 fix(TUP-35248):Context password exposed when hovering over context on Talend 8 (#5261)
* fix(TUP-35248):Context password exposed when hovering over context on
Talend 8

* fix(TUP-35248):add junits
2022-05-06 15:56:35 +08:00
Chao MENG
54ac7a583c fix(TUP-35048): Job takes about 30-60 minutes to build in Studio (#5221)
* 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:31 +08:00
tsasada-talend
b343fc696d Add localized files (#5272)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-05 16:33:11 +08:00
tsasada-talend
22d6e282bd Add localized files (#5267)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-28 18:04:51 +08:00
Alexiane Yvonet
2e5ce25858 Add localized files (#5266)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-28 15:38:03 +08:00
hzhao-talendbj
10795fff34 chore(TUP-35039):CVE: com.fasterxml.jackson (#5226) (#5265) 2022-04-26 16:01:40 +08:00
tsasada-talend
7dfa2eebce Add localized files (#5256)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-22 17:43:46 +08:00
yyin
2987fe469c Feat TDQ-20141 add algoVersion (#5211) 2022-04-22 14:36:25 +08:00
bhe-talendbj
956abe83b8 feat(TUP-34987): Identify Jobs having CVEs remediated improvement. (#5159) (#5250)
* feat(TUP-34987): add cache

* feat(TUP-34987): refactor

* feat(TUP-34987): add cache
2022-04-22 14:11:25 +08:00
jzhangbj
e86f20034f Add localized files (#5252)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-22 09:53:25 +08:00
Alexiane Yvonet
7336527f95 Add localized files (#5251)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-22 09:50:16 +08:00
sponomarova
374f9492a5 feat(TBD-13632): Dataproc GA (#5104) (#5248) 2022-04-20 14:57:25 +03:00
Jane Ding
11c490915d feat(TUP-35069):Upgrade Redshift driver to v2.x (#5228)
https://jira.talendforge.org/browse/TUP-35069
2022-04-19 17:42:12 +08:00
zyuan-talend
e7aebe7116 fix(TUP-35195): Deploy studio index to oss. (#5215) (#5232) 2022-04-19 14:59:01 +08:00
Chao MENG
5aebe62348 chore: fix swtbot issue (#5238) 2022-04-19 11:12:51 +08:00
Zhiwei Xue
93386c0cc7 fix(TUP-35302):Maven URI isn't updated if install R2022-03v2 first then (#5234)
install R2022-04
2022-04-18 14:23:24 +08:00
Laurent BOURGEOIS
ff70a4b197 feat(TBD-13522):CDE - GA (#5161) (#5225) 2022-04-15 21:56:33 +03:00
Jane Ding
39d054b31e feat(TUP-35069):Upgrade Redshift driver to v2.x (#5192) (#5219)
* 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-15 15:49:34 +08:00
sponomarova
8447d5f5f5 feat(TBD-13328): Synapse service principal (#5204) (#5217) 2022-04-15 09:10:03 +03:00
jzhangbj
4cce0c00ad Add localized files (#5214)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-14 16:30:53 +08:00
tsasada-talend
5b2404f809 Add localized files (#5213)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-14 16:07:23 +08:00
Chao MENG
377ba6743e Cmeng/feat/tup 31734 test branch (#5170)
* feat(TUP-31734): Prompt users to Test patches when migrating projects
https://jira.talendforge.org/browse/TUP-31734
2022-04-14 14:41:45 +08:00
hzhao-talendbj
e95f724d99 feat(TUP-34896): update url (#5210) 2022-04-13 16:31:02 +08:00
hzhao-talendbj
88d5b289a8 feat(TUP-34929): Support for MSSQL Database 2019 (#5163) (#5208)
* 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:41:26 +08:00
hzhao-talendbj
f5788fab6b feat(TUP-34896): support teradata jdbc version 17 (#5168) (#5200)
* feat(TUP-34896): support teradata jdbc version 17

* feat(TUP-34896): support teradata jdbc version 17
2022-04-11 14:58:57 +08:00
jiezhang-tlnd
6464441a63 remove log4j from org.talend.libraries.apache (#5199) 2022-04-08 16:13:20 +08:00
hcyi
8b52918dd6 feat(TUP-34849):Support retrieve SAP ADSOs metadata for provisioning. (#5156) 2022-04-08 10:59:50 +08:00
zyuan-talend
d5bbe89018 fix(TUP-35011):Improve Studio index build for monthly. (#5182) 2022-04-07 14:52:31 +08:00
qiongli
6affeef647 fix(TDQ-20222):Move backward 'handelDQComponents()' to avoid reset (#5178) 2022-04-06 16:14:48 +08:00
Alexiane Yvonet
5c1b7199f4 Add localized files (#5177)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-04-01 15:39:32 +08:00
jiezhang-tlnd
1601624fee fix(TUP-34954)CVE: Replace log4j1.x by reload4j (#5142) (#5181)
* 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

Conflicts:
	main/plugins/org.talend.libraries.apache/META-INF/MANIFEST.MF

* remove bundle type
2022-04-01 15:37:13 +08:00
wang wei
b073fa0a6f fix(TDI-47633): CVE: Replace log4j1.x by reload4j or upgrade to log4j2 (#5183) 2022-04-01 15:18:16 +08:00
Emmanuel GALLOIS
a5daf7ffae feat(TDI-47414): bump component-runtime to 1.43.1 (#5172)
- fix misaligned openwebbeans-spi dependency
2022-03-30 18:37:58 +02:00
Zhiwei Xue
b80887ea80 fix(TUP-35133):Run a job with subjob failed after applied a patch with (#5166)
new version of CI-Builder
2022-03-30 17:40:27 +08:00
Chao MENG
5ddee59ca5 fix(TUP-35034): CI - stop the build if custom component is missing (#5150)
* 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:11 +08:00
Oleksandr Zhelezniak
da7e03f68e fix(TDI-47651): bump Redshift driver to 1.2.55.1083 (#5153) 2022-03-25 11:47:04 +02:00
jzhangbj
5eaada3aba Add localized files (#5157)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-25 15:38:43 +08:00
Alexiane Yvonet
11d857350f Add localized files (#5148)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-24 17:10:28 +08:00
tsasada-talend
58dc50bb6b Add localized files (#5147)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-24 17:08:30 +08:00
Emmanuel GALLOIS
4a6676bbaa feat(TDI-47414): bump component-runtime to 1.43.0 (#5140) 2022-03-23 17:59:02 +01:00
jiezhang-tlnd
ac940b3379 chore(TUP-34977)Help links in Studio (#5133) 2022-03-21 15:22:48 +08:00
jzhangbj
b2de3dad81 Add localized files (#5136)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-18 10:36:33 +08:00
tsasada-talend
977dc22d8d Add localized files (#5134)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-18 10:34:26 +08:00
Alexiane Yvonet
360a6858d6 Add localized files (#5135)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-18 10:32:19 +08:00
kjwang
5f28859a41 Fix TUP-34930 Talend Studio 7.3 font color issues (#5102) (#5130)
Fix TUP-34930 Talend Studio 7.3 font color issues
https://jira.talendforge.org/browse/TUP-34930
2022-03-17 10:49:26 +08:00
jiezhang-tlnd
c81725aa46 add parameter datacenter (#5118) (#5127) 2022-03-15 10:15:27 +08:00
hzhao-talendbj
f6ab6a6358 chore(TUP-34757): Add a getOriginalName() in IConnection (#5124)
* chore(TUP-34757): Add a getOriginalName() in IConnection

* chore(TUP-34757): Add a getOriginalName() in IConnection
2022-03-11 17:35:42 +08:00
wang wei
bf10f9c18e fix(TDI-47154): send exception info for audit log (#4819) 2022-03-11 11:26:18 +08:00
jzhangbj
7b3696a646 Add localized files (#5115)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-11 09:43:19 +08:00
chmyga
ec04f46618 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 18:45:21 +08:00
tsasada-talend
1c46738d0d Add localized files (#5114)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-10 18:35:46 +08:00
Alexiane Yvonet
8282a464c5 Add localized files (#5113)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-10 17:55:55 +08:00
bhe-talendbj
e8812cebf4 feat(TUP-33809): Studio commandline: DetectCVE to Get list of jobs impacted by CVE jars (#5022) (#5106)
* 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-10 17:28:21 +08:00
msjian
29328275ad fix(TDQ-19889): fix reload database functions for context prompt (#5111)
connection
2022-03-10 17:07:29 +08:00
Liu Xinquan
423ce93761 fix(TDQ-20069) new component DQ rules Part 2 for GA (DI standard job) (#5110) 2022-03-10 11:28:54 +08:00
msjian
243e453dbb feat(TDQ-19889):support analysis when using file connection prompt (#5093) 2022-03-10 10:04:52 +08:00
Jane Ding
6cfa26af6d fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#5077) (#5108)
not work as tExasolOutput
https://jira.talendforge.org/browse/TUP-28898
2022-03-09 17:49:49 +08:00
Jane Ding
c564b3442d feat(TUP-33990):Pendo tracking for Studio integrations with API Designer (#5059) (#5107)
* 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 17:48:35 +08:00
sbouyer
b5d0ccea4d Add localized files (#5105)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-09 15:16:42 +08:00
hcyi
8f9cf1151e fix(TUP-34427):Resource:"The system cannot find the path specified" (#5099)
error shows if build job first then run job and job calls child job
which using resource.
2022-03-09 14:45:06 +08:00
Emmanuel GALLOIS
e8a43d98fe feat(TDI-47609): bump component-runtime to 1.42.0 (#5089) 2022-03-08 11:10:34 +01:00
zshen-talend
35d862aed0 Zshen/feat/tdq 20069 improve t data quality rules for patch2 (#5096) 2022-03-07 17:24:34 +08:00
Zhiwei Xue
acb61a7ae4 workitem(TUP-34590):improve performance of import items for tuj (#5086) 2022-03-04 16:26:54 +08:00
jiezhang-tlnd
e430e1d470 fix(TUP-34772)com.h2database:h2:2.0.206 (#5045) (#5085) 2022-03-04 14:47:57 +08:00
tsasada-talend
dd1dbcb35d Add localized files (#5083)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-04 08:26:04 +08:00
Alexiane Yvonet
5d926326ce 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>
2022-03-04 08:10:20 +08:00
tsasada-talend
db6a44c74a Add localized files (#5065)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-03 18:23:10 +08:00
Alexiane Yvonet
fedf5925e5 Add localized files (#5064)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-03-03 18:15:46 +08:00
kjwang
925ea11a94 Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#5078) (#5081)
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-03 17:10:29 +08:00
hcyi
c0fbf66e87 fix(TUP-34593):Cannot connect to Salesforce with password starting with double-quotes (#5066)
* fix(TUP-34593):Cannot connect to Salesforce with password starting with
double-quotes

* fix(TUP-34593):Cannot connect to Salesforce with password starting with
double-quotes

* fix(TUP-34593):Cannot connect to Salesforce with password starting with
double-quotes
2022-03-02 17:50:58 +08:00
Chao MENG
52f1dc38a3 fix(TBD-13493): Hive connection failed in Talend 8 with CDH 7.1.6 (#5057)
https://jira.talendforge.org/browse/TBD-13493
2022-03-01 17:02:13 +01:00
Jill Yan
4147beea33 Revert "APPINT-34310 remove lib folder for MS zip (#5040)" (#5070)
This reverts commit b528e5151d.
2022-02-25 16:29:25 +08:00
hzhao-talendbj
b094bb0aed chore(TUP-34729): remove jar which is not used by osgi or point to any (#5041) 2022-02-25 16:02:34 +08:00
sbliu
1dc9b02324 fix(TUP-34769) Error fields for Rejects get dropped from tSalesforceOutput after Sync Columns. (#5061) (#5062)
fix bug TUP-33497
2022-02-23 18:13:44 +08:00
Jill Yan
b528e5151d APPINT-34310 remove lib folder for MS zip (#5040)
Co-authored-by: jillyan <yan955599@gmail.com>
2022-02-22 14:42:18 +08:00
msjian
84176ff9e5 feat(TDQ-19889): Enabling the prompt context for profiling (#4991) 2022-02-21 11:17:27 +08:00
sponomarova
84990887da feat(TBD-12990): Dataproc TP (#5034) (#5054) 2022-02-18 14:57:58 +02:00
Jane Ding
4fa37a28ac Revert "fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#4867)" (#5050) (#5053)
This reverts commit 21aed909e7.
2022-02-18 18:20:59 +08:00
ypiel
0e2cafa85a fix(TDI-47477): fix ParserUtils for date (#5048) 2022-02-18 10:20:28 +01:00
kjwang
f186a936b0 Revert "Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#4949) (#4985)" (#5044)
This reverts commit 084745f17b.
2022-02-17 17:43:35 +08:00
bhe-talendbj
13343894d4 fix(TUP-34682): fix required wrong bundle (#5029) (#5038)
fix(TUP-34682): fix required wrong bundle
2022-02-16 17:17:13 +08:00
Jane Ding
d95bfd2d0f fix(TUP-34401):Detect Dependencies is not working (#5033) (#5037)
https://jira.talendforge.org/browse/TUP-34401
2022-02-16 10:53:55 +08:00
sbliu
db7d1bada5 feat(TUP-34032): add field for context extraction. (#4958) 2022-02-15 14:21:23 +08:00
jiezhang-tlnd
dc7b4b7b80 fix(TUP-34438):CVE: com.h2database:h2:1.4.198 (#4981) (#5032)
* 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>

Co-authored-by: Jane Ding <jding@talend.com>
2022-02-14 19:14:44 +08:00
Xilai Dai
2f83c5d741 (APPINT-33481) fix the missing jetty-all when cHttp as server for MS (#5002) 2022-02-14 17:13:48 +08:00
Jane Ding
63f2439835 fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#4865)
not work as tExasolOutput
https://jira.talendforge.org/browse/TUP-28898
2022-02-14 10:25:45 +08:00
tsasada-talend
4b3a46c0a7 Add localized files (#5028)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-02-14 10:13:46 +08:00
kjwang
cc9357e0dc kjwang/Fix TUP-34660 TOS Cannot build job successfully (#5027)
kjwang/Fix TUP-34660 TOS Cannot build job successfully
https://jira.talendforge.org/browse/TUP-34660
2022-02-11 18:19:24 +08:00
zyuan-talend
aa6e1448c9 fix(TUP-34489):forward interpreter to child job in commandline. (#5025) 2022-02-10 14:07:15 +08:00
kjwang
94023733c2 TUP-34510 Wrong dependency on TOS build (#4993) (#5024)
TUP-34510 Wrong dependency on TOS build
https://jira.talendforge.org/browse/TUP-34510
2022-02-09 16:29:15 +08:00
tsasada-talend
2b5f0f269d Add localized files (#5019)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-02-07 10:19:13 +08:00
Jane Ding
d1e0e93e57 fix(TUP-34401):Detect Dependencies is not working (#4979) (#5012)
https://jira.talendforge.org/browse/TUP-34401
2022-01-30 14:43:13 +08:00
zyuan-talend
9424218a1d fix(TUP-33432): Improve feature manager top bar button for mac. (#5011) 2022-01-30 09:50:04 +08:00
hcyi
bffb520b0f fix(TUP-34595):we are trying to access api.eu.cloud.talend.com without (#5008)
passing through a proxy.
2022-01-29 11:15:50 +08:00
jiezhang-tlnd
7916c6f89a fix(TUP-34483)CVE org.apache.maven.shared maven-shared-utils [0.4,0.1] (#4996) 2022-01-28 17:01:51 +08:00
tsasada-talend
21ca6fe9bb Add localized files (#4999)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-28 11:36:23 +08:00
Emmanuel GALLOIS
7aa1e6ae24 feat(TDI-47414): bump component-runtime to 1.41.0 (#4982) 2022-01-27 09:20:12 +01:00
jiezhang-tlnd
0deaf29970 fix(TUP-31581)Remove CryptoHelper from test-studio-commandline (#4987) 2022-01-27 09:37:17 +08:00
jiezhang-tlnd
ee365b2d49 fix(TUP-34281): Cleanup of old translation files (#4951) 2022-01-26 18:30:37 +08:00
apoltavtsev
7234b250b8 feat(APPINT-32531) Make all DS/Route builds Java 11 and above compatible, design/build & run should work with different Java versions (#4821) 2022-01-25 17:10:53 +01:00
jiezhang-tlnd
d9d26530ca fix(TUP-34390)Wrong file selection dialog title for Export custom (#4989)
settings in Modules view
2022-01-25 10:12:15 +08:00
Xilai Dai
01a3801bb0 (APPINT-34208) fix the master branch name issue (#4990) 2022-01-24 13:49:49 +08:00
kjwang
084745f17b Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#4949) (#4985)
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 15:03:23 +08:00
Wei Hua
22f73a08de Hwei/bugfix/master/appint 33765 (#4974)
* 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:31:07 +08:00
tsasada-talend
0d18604741 Add localized files (#4980)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-20 18:31:52 +08:00
Chao MENG
049b4c7c76 chore: change the url check url (#4972) 2022-01-19 12:00:04 +08:00
Jill Yan
1c6c1341a1 Revert "APPINT-33992 (#4936)" (#4968)
This reverts commit e570c9d476.
2022-01-17 12:10:34 +08:00
zshen-talend
090e598d55 feat(TDQ-19814): create a new component tDataQualityRules (#4943) 2022-01-13 18:19:11 +08:00
zyuan-talend
cff7c53280 fix(TUP-27184):escape label value for javajet. (#4961) (#4963) 2022-01-13 16:56:49 +08:00
hcyi
734759f372 fix(TUP-34020):CVE: org.apache.axis2:axis2-kernel:[1.1-1.8.0] (#4838) 2022-01-12 18:47:56 +08:00
Jill Yan
e570c9d476 APPINT-33992 (#4936)
Co-authored-by: jillyan <yan955599@gmail.com>
2022-01-12 15:57:10 +08:00
zyuan-talend
2a32fb66e6 fix(TUP-27184):copy label from GraphicNode to DataNode. (#4947) (#4952) 2022-01-11 18:46:30 +08:00
Zhiwei Xue
30053f572c feat(TUP-33284):Allow Publishing to cloud only if the job items are (#4916)
committed and pushed to Git
2022-01-11 15:50:31 +08:00
Xilai Dai
048734d3bc Feat/master/appint 34208 (#4950)
* 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:42:43 +08:00
hcyi
0d2f6f19c3 fix(TUP-30975):Can't move Couchbase connection to folder. (#4912) 2022-01-10 10:31:58 +08:00
kjwang
52da1b306e TUP-34282 CVE: log4j-core(1.2-api)-[2-2.16.0) (#4922)
TUP-34282 CVE: log4j-core(1.2-api)-[2-2.16.0)
https://jira.talendforge.org/browse/TUP-34282
2022-01-07 09:41:28 +08:00
jiezhang-tlnd
701d470538 Jzhang/tup 34347 (#4938)
* fix(TUP-34347)DataViewer doesnt work on retrieved schema

* fix(TUP-34347)DataViewer doesnt work on retrieved schema

* fix(TUP-34347)DataViewer doesnt work on retrieved schema
2022-01-06 18:45:42 +08:00
tsasada-talend
521426be77 Add localized files (#4941)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-06 18:36:01 +08:00
hzhao-talendbj
ddd4b0eba8 fix(TUP-33644): TMC: error pop up when uncheck "use manual commit mode" (#4939) (#4940)
* 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:16:27 +08:00
cbadillo1603
21d789d553 fix(TBD-12184):Password field missing for tImpalaRow (#4520) (#4926)
* 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:31 +01:00
Emmanuel GALLOIS
e4faa6a337 feat(TDI-47278): bump component-runtime to 1.40.0 (#4898) 2022-01-04 12:34:14 +01:00
tsasada-talend
ad2f4ce5bb Add localized files (#4921)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-04 10:32:08 +08:00
Alexiane Yvonet
38682ffba3 Add localized files (#4920)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-04 10:30:44 +08:00
hzhao-talendbj
d895842031 fix(TUP-33962): Error in handling default value as NULL (#4875) (#4919)
* 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
2021-12-31 14:33:53 +08:00
Zhiwei Xue
edce94393b workitem(TUP-34111):slow studio build time for remote execution (#4883) 2021-12-30 16:08:15 +08:00
jiezhang-tlnd
0d8066e125 chore(TUP-34021)CVE org.apache.maven maven-core 3.8.1 (#4856) 2021-12-30 14:58:36 +08:00
zyuan-talend
e3bae25dc5 fix(TUP-33214):complement the tree node sorting logic. (#4910) 2021-12-30 11:58:59 +08:00
Jane Ding
0f3dcc9475 fix(TUP-33830):[7.3] ref project compilation error (#4842) (#4915)
* 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-30 09:47:55 +08:00
kjwang
c2d3242772 TUP-34120 Restart studio after install feature will have : "Workbench (#4913)
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
2021-12-29 17:31:39 +08:00
sbliu
cdf8b89429 chore(TUP-33954) upgrade ant 1.10.9 to 1.10.11 (#4841) 2021-12-28 17:50:25 +08:00
hzhao-talendbj
6b573518e3 fix(TUP-33939): Ubuntu: Cannot close "Quick Tour" (#4904) (#4909)
* fix(TUP-33939): Ubuntu: Cannot close "Quick Tour"

* fix(TUP-33939): Ubuntu: Cannot close "Quick Tour"
2021-12-28 10:24:11 +08:00
hcyi
dbe389353e fix(TUP-33897):Remove username from Studio Cloud Login. (#4863)
* 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:15:40 +08:00
bhe-talendbj
ac2734e7d9 fix(TUP-34155): add dependencies to shade plugin (#4886) 2021-12-21 14:49:03 +08:00
tsasada-talend
f4368af5b9 Add localized files (#4880)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-12-17 17:52:43 +08:00
Chao MENG
3cc1fa1152 fix(TUP-34118): Can't use latest dependencies of tcompv0 after installed (#4882)
patch
https://jira.talendforge.org/browse/TUP-34118
2021-12-16 20:50:53 +08:00
Chao MENG
45d0a8342a fix(TUP-34141): can't pull the changes of requiredFeatures.json for (#4877)
local mode
https://jira.talendforge.org/browse/TUP-34141
2021-12-16 18:17:19 +08:00
Chao MENG
ded9ab93a8 fix(TUP-34140): run job with tRunJob failed if user B logon a project that user A installed some features contain routine (#4872)
* 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:42 +08:00
bhe-talendbj
a30cab74bf fix(TUP-34105): upgrade log4j2 (#4852) (#4862) (#4869)
* fix(TUP-34105): upgrade log4j2 (#4852) (#4862)

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

* fix(TUP-34105): upgrade to 2.16.0

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

* fix(TUP-34105): do not update bundle timestamp

Co-authored-by: wwang-talend <wwang@talend.com>
2021-12-15 11:44:14 +08:00
Chao MENG
7ed80ccb6d fix(TUP-34118): Can't use latest dependencies of tcompv0 after installed (#4858)
patch
https://jira.talendforge.org/browse/TUP-34118
2021-12-14 18:56:08 +08:00
kjwang
5abaef1ab6 TUP-34096 failed to logon the project, after clicking NO on the patch update restart dialog (#4850) (#4855)
* 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:41:59 +08:00
hcyi
207564458d feat(TUP-33198):add some junits (#4848) 2021-12-13 10:12:36 +08:00
Zhiwei Xue
d6ff602b18 fix(TUP-32059):Add git info in the jobinfo.properties when building job (#4818)
from CI
2021-12-10 19:02:11 +08:00
Chao MENG
660766115d fix(TUP-33713): Logon popup message in a mess when main project and (#4845)
refer project are on different patch level
https://jira.talendforge.org/browse/TUP-33713
2021-12-09 20:38:54 +08:00
kjwang
dcc1725d40 TUP-33713 Logon popup message in a mess when main project and refer (#4843) (#4844)
project are on different patch level
2021-12-09 18:44:17 +08:00
hcyi
8b17ba86b5 feat(TUP-33198):Support retrieve SAP ADSO service metadata with SAP JCO3 (#4812)
* feat(TUP-33198):Support retrieve SAP ADSO service metadata with SAP JCO3

* 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:58:07 +08:00
hzhao-talendbj
a8d50d6ac2 feat(TUP-32064): Build up to date Studio index automatically (#4810) (#4835)
* 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

* feat(TUP-32064): change master version to 8.8.8
2021-12-09 11:24:23 +08:00
hzhao-talendbj
19a991a2a1 feat(TUP-22589): Create read-only mode in Studio for restricted GIT (#4828) (#4840) 2021-12-09 11:23:01 +08:00
jiezhang-tlnd
17c865c786 fix(TUP-33728)Migrate studio65 job to 801, miss DB connection (#4824)
* 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:26:26 +08:00
kjwang
ebdbfe3e14 TUP-33735 "Hierarchical Mapper" can't show properly when switch git (#4834) (#4837)
TUP-33735 "Hierarchical Mapper" can't show properly when switch git branch
https://jira.talendforge.org/browse/TUP-33735
2021-12-08 18:30:09 +08:00
Emmanuel GALLOIS
8a78da5967 feat(TDI-46838): bump component-runtime to 1.39.2 (#4649) 2021-12-07 09:32:03 +01:00
sbliu
aacfc18a1e fix(TUP-33533) output CRLF for generated bat file. (#4815) 2021-12-03 16:01:06 +08:00
pyzhou
8816a6a5df fix(TDI-47147):tMap TUJ fix (#4817) 2021-12-03 15:33:14 +08:00
bhe-talendbj
38b0a1e7f1 feat(TUP-33718): regenerate index and component index data (#4784)
* 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 10:26:15 +08:00
Chao MENG
ee74a59bf7 fix(TUP-33121): Talend Studio gives no error if unable to connect to (#4806)
remote GIT repository
https://jira.talendforge.org/browse/TUP-33121
2021-11-29 10:34:46 +08:00
jiezhang-tlnd
e6641a1a75 fix(TUP-33728)Migrate studio65 job to 801 miss DB connection (#4780)
* 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-25 18:59:20 +08:00
Chao MENG
92dce3e830 chore: fix switching branch npe (#4778) 2021-11-25 17:44:05 +08:00
sbliu
f75dea2269 fix(TUP-33497) Bug in tDBOutput component when linking rejects to tMap. (#4772) 2021-11-24 17:11:26 +08:00
Zhiwei Xue
f5d22f35e3 feat(TUP-26972):Prompt to Automatically push changes to Remote Branch (#4790) 2021-11-23 18:23:42 +08:00
jiezhang-tlnd
8cfb0ed774 fix(TUP-33412)CVE commons-codec-1.11 (#4800)
* fix(TUP-33412)CVE commons-codec-1.11

* test exclude

* remove

* add exclude to crypto-utils

* add exclude
2021-11-23 16:22:09 +08:00
bhe-talendbj
c8f1376046 fix(TUP-33854): fix exitdata (#4797) 2021-11-22 18:20:39 +08:00
Jane Ding
d1efe710ab fix(TUP-33709):"Failed to create assembly" when compile a BD job with (#4783)
studio commandline
https://jira.talendforge.org/browse/TUP-33709
2021-11-22 17:36:08 +08:00
Xilai Dai
e7926678ba (APPINT-34059) fix the following artifacts could not be resolved: org.codehaus.plexus:plexus-utils:jar:3.3.0 (#4792) 2021-11-22 11:08:10 +08:00
kjwang
4941aa01d3 TUP-33735 "Hierarchical Mapper" can't show properly when switch git (#4785)
TUP-33735 "Hierarchical Mapper" can't show properly when switch git branch
https://jira.talendforge.org/browse/TUP-33735
2021-11-22 10:33:03 +08:00
Zhiwei Xue
449cb87534 fix(TUP-33791):Error pops up while running job in main project and it (#4782)
call childjob from reference project_Migrate
2021-11-19 17:27:43 +08:00
Wei Hua
acf681c18e APPINT-32136 Job & Run view displays DI job icon and/or label when a route or routelet editor is active (#4781)
- Add routelet icon
2021-11-19 11:47:59 +08:00
nrousseau
9618ced9f1 chore(TUP-33832): update version 2021-11-18 10:34:01 +08:00
build-talend
1f1878e225 Set version to 8.8.8 SNAPSHOT (#4786)
Co-authored-by: Jenkins Continuous Build server <jenkins@tal-rd02.talend.lan>
2021-11-16 14:48:25 +01:00
bhe-talendbj
e703c00806 fix(TUP-33659): remove show starting page (#4763) 2021-11-16 15:11:03 +08:00
jiezhang-tlnd
5e7db6dc90 chore(TUP-33412)CVE commons-codec-1.11 (#4740)
* chore(TUP-33412)CVE commons-codec-1.11

* test patch
2021-11-16 14:57:28 +08:00
wang wei
2e7b0d4fbc fix(TDI-46962): tAmazonAuoraOutput compilation errors (#4761) 2021-11-16 10:06:03 +08:00
jiezhang-tlnd
c6029fd39a chore(TUP-33498)CVE Oauth 2.0 SDK with OpenID Connect extensions in (#4743)
Studio
2021-11-15 17:40:41 +08:00
pyzhou
08c68b5348 fix(TDI-46992): ResumeUtil throw BufferOverflowException (#4771)
* fix(TDI-46992): ResumeUtil throw BufferOverflowException

* replace variable
2021-11-12 09:56:22 +08:00
Jane Ding
98a8940a07 fix(TUP-33617):java.io.OptionalDataException on tAvroInput (#4775)
* 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-10 11:39:21 +08:00
kjwang
207f21deb8 TUP-22780 Icons under repository broken during switch to branch, and NPE (#4748)
* 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:55 +08:00
jiezhang-tlnd
1847f091f2 fix(TUP-33627)[Linux aarch64] License agreement panel and introduction (#4768)
* 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:03:45 +08:00
hcyi
4b7ec41eb8 fix(TUP-33642):Studio without update settings do not give any infor/warning when logon a monthly migrated project. (#4766)
* 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.
2021-11-04 22:11:28 +08:00
Jane Ding
6fd204630b fix(TUP-33385):Error pops up while logging on migrated project if the (#4752)
project which exported from monthly patch studio>Studio
https://jira.talendforge.org/browse/TUP-33385
2021-11-04 19:45:14 +08:00
bhe-talendbj
eae9fafb43 fix(TUP-33414): [bug] JETL: Studio is closed after patch installed (#4744)
* 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 18:41:19 +08:00
jiezhang-tlnd
954a681095 Jzhang/tup 33651 (#4760)
* feat(TUP-33651)Remove the old download action
https://jira.talendforge.org/browse/TUP-33651

* remove the icon
2021-11-04 15:13:11 +08:00
sbouyer
6e850c80ce Add localized files (#4751)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-11-04 10:19:50 +08:00
Alexiane Yvonet
643b2805fe Add localized files (#4731)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-11-04 10:18:56 +08:00
tsasada-talend
4e8d2cca45 Add localized files (#4732)
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2021-11-04 10:08:48 +08:00
Jane Ding
c266fc498f feat(TUP-33421):Send Studio login information to Pendo (#4726)
* 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 17:52:38 +08:00
Liu Xinquan
bca165e700 fix(TDQ-19753) TOS_DQ failed to fetch sqlexplorer.jar and chart.jar (#4733) 2021-11-01 17:52:09 +08:00
kjwang
a860bf9a64 Fix TUP-33607 Show tooltip on the warning icon of "Find features needed (#4738)
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:44 +08:00
Zhiwei Xue
3e3c225b0d fix(TUP-33317):deactivate TDM features get errors in error log and DQ (#4727)
refresh get error dialog
2021-11-01 16:21:21 +08:00
nrousseau
c5167fd103 fix(TUP-33595): SLF4J not working in Studio 8 (#4737) 2021-11-01 09:22:12 +08:00
bhe-talendbj
193081f7b1 fix(TUP-33594): No studio version when start studio / commandline in the logs (#4729)
* fix(TUP-33594): print out product version

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

* fix(TUP-33594): revert unnecessary changes
2021-10-30 20:05:43 +08:00
pyzhou
3a5becf258 fix(TDI-46937): fix tmap tuj (#4723)
* fix(TDI-46937): fix tmap tuj

* fix(TDI-46937):fix tuj
2021-10-29 16:38:53 +08:00
sbliu
ebc9394c27 feat(TUP-33462) Removal / deprecate of DB versions linked to DI components. (#4710)
align vertica, Vertica db versions and remove remove db interbase, ingres, Vectorwise, ParAccel.
2021-10-29 16:30:41 +08:00
zyuan-talend
0ba186ba76 fix(TUP-33432):show the dropdown list when click on "Support" button. (#4722) 2021-10-28 15:45:41 +08:00
hzhao-talendbj
d2f1898a4c fix(TUP-33485): [tELTMap] Delimited identifiers does not work for (#4719)
Snowflake
2021-10-27 17:43:10 +08:00
bhe-talendbj
b98af59baf chore(TUP-33502): change logs (#4717) 2021-10-27 15:28:37 +08:00
jiezhang-tlnd
fc4197206a fix(TUP-33312)CWE-327: upgrade bcprov-jdk15on to 1.69 (#4674) 2021-10-27 11:30:07 +08:00
Nicolas Rousseau
d7968d7ec2 fix(TUP-33546): fix arm issue on mac 2021-10-26 20:09:55 +08:00
Zhiwei Xue
bdc31e6a13 feat(TUP-33307):change version display in dialog (#4714) 2021-10-26 11:05:54 +08:00
pyzhou
7e4800e33a fix(TDI-46923):add back jboss marshalling (#4711) 2021-10-25 15:06:55 +08:00
kjwang
a6aa7f4874 TUP-33396 [bug]better disable button "Install and restart" button if no (#4709)
feature selected (Improve the tooltip)
2021-10-22 18:20:45 +08:00
kjwang
30150e7851 TUP-33396 [bug]better disable button "Install and restart" button if no (#4707)
feature selected (Improve the tooltip)
2021-10-22 18:10:10 +08:00
2042 changed files with 322969 additions and 56315 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.talend.commons.feature" label="Commons Feature" version="8.0.1.qualifier" provider-name=".Talend SA.">
<feature id="org.talend.commons.feature" label="Commons Feature" version="8.8.8.qualifier" provider-name=".Talend SA.">
<description url="http://www.talend.com/online/featuresdescription.html#commons-feature">Complete description about this feature at http://www.talend.com/online/featuresdescription.html#commons-feature</description>
<copyright url="http://www.talend.com/online/copyright.txt">Copyright Talend 2006, 2007</copyright>
<license>The licence are describe in branding feature</license>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.commons.feature</artifactId>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.talend.core.feature" label="Core Feature" version="8.0.1.qualifier" provider-name=".Talend SA.">
<feature id="org.talend.core.feature" label="Core Feature" version="8.8.8.qualifier" provider-name=".Talend SA.">
<description url="http://www.talend.com/online/featuresdescription.html#core-feature">Complete description about this feature at http://www.talend.com/online/featuresdescription.html#core-feature</description>
<copyright url="http://www.talend.com/online/copyright.txt">Copyright Talend 2006, 2007</copyright>
<license>The licence are describe in branding feature</license>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.core.feature</artifactId>

View File

@@ -2,7 +2,7 @@
<feature
id="org.talend.fragment.jars.common.feature"
label="Fragment Jars in Common"
version="8.0.1.qualifier">
version="8.8.8.qualifier">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
@@ -56,12 +56,5 @@
install-size="0"
version="0.0.0"
unpack="true"/>
<plugin
id="org.talend.signon.util"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.fragment.jars.common.feature</artifactId>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.talend.help.feature" label="Help Feature" version="8.0.1.qualifier" provider-name=".Talend SA.">
<feature id="org.talend.help.feature" label="Help Feature" version="8.8.8.qualifier" provider-name=".Talend SA.">
<description url="http://www.talend.com/online/featuresdescription.html#help-feature">Complete description about this feature at http://www.talend.com/online/featuresdescription.html#help-feature</description>
<copyright url="http://www.talend.com/online/copyright.txt">Copyright Talend 2006, 2007</copyright>
<license>The licence are describe in branding feature</license>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.help.feature</artifactId>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.talend.libraries.jdbc.feature" label="Jdbc_feature Feature" version="8.0.1.qualifier" provider-name=".Talend SA.">
<feature id="org.talend.libraries.jdbc.feature" label="Jdbc_feature Feature" version="8.8.8.qualifier" provider-name=".Talend SA.">
<description url="http://www.example.com/description">[Enter Feature Description here.]</description>
<copyright url="http://www.example.com/copyright">[Enter Copyright Description here.]</copyright>
<license url="http://www.example.com/license">[Enter License Description here.]</license>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.libraries.jdbc.feature</artifactId>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,7 @@
<feature
id="org.talend.platform.feature"
label="Platform featrue"
version="8.0.1.qualifier"
version="8.8.8.qualifier"
provider-name=".Talend SA.">
<description url="http://www.talend.com/online/featuresdescription.html#platform-feature">

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.platform.feature</artifactId>

View File

@@ -2,7 +2,7 @@
<feature
id="org.talend.rcp.feature"
label="RCP Feature"
version="8.0.1.qualifier"
version="8.8.8.qualifier"
provider-name=".Talend SA.">
<description url="http://www.talend.com/online/featuresdescription.html#rcp-feature">

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.rcp.feature</artifactId>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.talend.update.p2.feature" label="P2-feature" version="8.0.1.qualifier">
<feature id="org.talend.update.p2.feature" label="P2-feature" version="8.8.8.qualifier">
<description url="http://www.example.com/description">[Enter Feature Description here.]</description>
<copyright url="http://www.example.com/copyright">[Enter Copyright Description here.]</copyright>
<license url="http://www.example.com/license">[Enter License Description here.]</license>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.update.p2.feature</artifactId>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.talend.updates.feature" label="Updates-feature" version="8.0.1.qualifier" provider-name=".Talend SA.">
<feature id="org.talend.updates.feature" label="Updates-feature" version="8.8.8.qualifier" provider-name=".Talend SA.">
<copyright url="http://www.talend.com/about-us">[Enter Copyright Description here.]</copyright>
<plugin id="org.talend.updates.runtime" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
</feature>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.updates.feature</artifactId>

View File

@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.talend.utils.feature" label="Utils_feature Feature" version="8.0.1.qualifier">
<feature id="org.talend.utils.feature" label="Utils_feature Feature" version="8.8.8.qualifier">
<description url="http://www.example.com/description">This feature contains the Talend utilities plugin and its dependencies.</description>
<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.70.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"/>
@@ -16,15 +17,15 @@
<import plugin="org.apache.commons.lang" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.lang3" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.log4j" version="0.0.0" match="greaterOrEqual"/>
<import plugin="avro" version="0.0.0" match="greaterOrEqual"/>
<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.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>

View File

@@ -4,12 +4,9 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.utils.feature</artifactId>
<packaging>eclipse-feature</packaging>
<properties>
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
</properties>
</project>

View File

@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Common UI runtime Plug-in
Bundle-SymbolicName: org.talend.common.ui.runtime;singleton:=true
Bundle-Version: 8.0.1.qualifier
Bundle-Version: 8.8.8.qualifier
Require-Bundle: org.eclipse.core.runtime,
org.apache.commons.collections,
org.talend.libraries.dom4j-jaxen,

View File

@@ -4,6 +4,4 @@ bin.includes = META-INF/,\
plugin.xml,\
icons/,\
icons1/,\
.,\
resources/
.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 B

View File

@@ -1,17 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.e4.ui.css.swt.theme">
<stylesheet
uri="resources/theme/light_preferencestyle.css">
<themeid
refid="org.talend.themes.css.talend.default"></themeid>
</stylesheet>
<stylesheet
uri="resources/theme/dark_preferencestyle.css">
<themeid
refid="org.eclipse.e4.ui.css.theme.e4_dark"></themeid>
</stylesheet>
</extension>
</plugin>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.common.ui.runtime</artifactId>

View File

@@ -1,8 +0,0 @@
/* ############################## Eclipse UI properties ############################## */
IEclipsePreferences#org-talend-common-ui-runtime:org-talend-common-ui-runtime { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'table.background=#org-eclipse-ui-workbench-DARK_BACKGROUND'
'table.foreground=#org-eclipse-ui-workbench-DARK_FOREGROUND'
}

View File

@@ -1,8 +0,0 @@
/* ############################## Eclipse UI properties ############################## */
IEclipsePreferences#org-talend-common-ui-runtime:org-talend-common-ui-runtime { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'table.background=COLOR-LIST-BACKGROUND'
'table.foreground=COLOR_LIST_FOREGROUND'
}

View File

@@ -12,22 +12,14 @@
// ============================================================================
package org.talend.commons.ui.runtime;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ColorConstants {
static final String BUNDLE_ID_COMMON_UI_RUNTIME = "org.talend.common.ui.runtime";
static final String KEY_TABLE_BACKGROUND = "table.background";
static final String KEY_TABLE_FOREGROUND = "table.foreground";
static final Color WHITE_COLOR = new Color(null, 255, 255, 255);
static final Color GREY_COLOR = new Color(null, 215, 215, 215);
@@ -37,8 +29,6 @@ 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 ERROR_FONT_COLOR = new Color(null, new RGB(255, 0, 0));// 255
static final Color VERTICAL_SEPERATOR_LINE_COLOR = new Color(null, 162, 179, 195);
@@ -55,19 +45,4 @@ public interface ColorConstants {
static final Color SUCCEED_COLOR = new Color(null, 221, 242, 217);
static Color getTableBackgroundColor() {
return ITalendThemeService.getColor(ColorConstants.BUNDLE_ID_COMMON_UI_RUNTIME, ColorConstants.KEY_TABLE_BACKGROUND)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
}
static Color getTableForegroundColor() {
return ITalendThemeService.getColor(ColorConstants.BUNDLE_ID_COMMON_UI_RUNTIME, ColorConstants.KEY_TABLE_FOREGROUND)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND));
}
static Color getTableReadOnlyForegroundColor() {
return ITalendThemeService.getColor("CONTEXT_TABLE_READONLY_FOREGROUND")
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
}
}

View File

@@ -23,8 +23,6 @@ import org.talend.commons.ui.runtime.exception.ExceptionServiceImpl;
public class CommonUIPlugin implements BundleActivator {
public static String BUNDLE_ID = "org.talend.common.ui.runtime";
private static Boolean fullyHeadless = null;
/*

View File

@@ -1,154 +0,0 @@
// ============================================================================
//
// 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.commons.ui.runtime;
import java.util.Optional;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.graphics.Color;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;
import org.talend.commons.exception.ExceptionHandler;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ITalendThemeService {
public static String DEFAULT_PREFERENCE_ID = "org.eclipse.ui.workbench";
public static String THEME_PREFERENCE_ID = "org.eclipse.e4.ui.css.swt.theme";
/**
* Get color from instance scope preference of default bundleId, which managed by theme; the standard way eclipse
* uses
*
* @param prop
* @return the Color, <font color="red">please <b>DON'T</b> dispose it, it is managed by JFaceResources</font>
*/
static Optional<Color> getColor(String prop) {
return getColor(DEFAULT_PREFERENCE_ID, prop);
}
/**
* Get color from instance scope preference of bundleId, which managed by theme; the standard way eclipse uses
*
* @param bundleId the instance scope preference which stores the prop
* @param prop
* @return the Color, <font color="red">please <b>DON'T</b> dispose it, it is managed by JFaceResources</font>
*/
static Optional<Color> getColor(String bundleId, String prop) {
ITalendThemeService theme = get();
if (theme != null) {
return Optional.ofNullable(theme.getColorForTheme(bundleId, prop));
}
return Optional.ofNullable(null);
}
Color getColorForTheme(String bundleId, String prop);
/**
* Get property from instance scope preference of default bundleId, which managed by theme; the standard way eclipse
* uses
*
* @param key
* @return
*/
static Optional<String> getProperty(String key) {
return getProperty(DEFAULT_PREFERENCE_ID, key);
}
/**
* Get property from instance scope preference of bundleId, which managed by theme; the standard way eclipse uses
*
* @param bundleId the instance scope preference which stores the key
* @param key
* @return
*/
static Optional<String> getProperty(String bundleId, String key) {
ITalendThemeService theme = get();
String value = null;
if (theme != null) {
value = theme.getPropertyForTheme(bundleId, key);
}
if (StringUtils.isBlank(value)) {
return Optional.ofNullable(null);
} else {
return Optional.ofNullable(value);
}
}
String getPropertyForTheme(String bundleId, String key);
static void addPropertyChangeListener(IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.addPropertyChangeListenerFor(DEFAULT_PREFERENCE_ID, listener);
}
}
static void addPropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.addPropertyChangeListenerFor(bundleId, listener);
}
}
void addPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
static boolean containsPropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
return theme.containsPropertyChangeListenerFor(bundleId, listener);
}
return false;
}
boolean containsPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
static void removePropertyChangeListener(IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.removePropertyChangeListenerFor(DEFAULT_PREFERENCE_ID, listener);
}
}
static void removePropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.removePropertyChangeListenerFor(bundleId, listener);
}
}
void removePropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
IPreferenceStore getThemePreferenceStore();
static ITalendThemeService get() {
try {
BundleContext bc = FrameworkUtil.getBundle(ITalendThemeService.class).getBundleContext();
ServiceReference<ITalendThemeService> serviceReference = bc.getServiceReference(ITalendThemeService.class);
if (serviceReference == null) {
return null;
}
return bc.getService(serviceReference);
} catch (Exception e) {
ExceptionHandler.process(e);
}
return null;
}
}

View File

@@ -40,8 +40,6 @@ public class ExceptionMessageDialog extends MessageDialog {
private String exceptionString = null;
private int[] diabledButtonIndex = new int[] {};
private boolean expandedOnOpen = false;
public ExceptionMessageDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage,
int dialogImageType, String[] dialogButtonLabels, int defaultIndex, Throwable ex) {
@@ -87,8 +85,6 @@ public class ExceptionMessageDialog extends MessageDialog {
text.setText(exceptionString);
text.setEditable(false);
errorComposite.setClient(text);
errorComposite.setExpanded(expandedOnOpen);
return errorComposite;
}
@@ -154,22 +150,6 @@ public class ExceptionMessageDialog extends MessageDialog {
this.exceptionString = exceptionString;
}
/**
* @return the expandedOnOpen
*/
public boolean isExpandedOnOpen() {
return expandedOnOpen;
}
/**
* @param expandedOnOpen the expandedOnOpen to set
*/
public void setExpandedOnOpen(boolean expandedOnOpen) {
this.expandedOnOpen = expandedOnOpen;
}
public void setDisabledButtons(int[] index) {
this.diabledButtonIndex = index;
}

View File

@@ -72,27 +72,12 @@ public final class MessageBoxExceptionHandler {
}
}
public static void process(Throwable ex, Shell shell, boolean wrapMessage) {
CommonExceptionHandler.process(ex);
if (CommonsPlugin.isHeadless() || CommonsPlugin.isJUnitTest()) {
return;
}
if (shell != null) {
showMessage(ex, shell, wrapMessage);
}
}
public static void showMessage(Throwable ex, Shell shell) {
showMessage(ex, shell, true);
}
/**
* Open a message box showing a generic message and exception message.
*
* @param ex - exception to show
*/
public static void showMessage(Throwable ex, Shell shell, boolean wrapMessage) {
public static void showMessage(Throwable ex, Shell shell) {
if (ex.equals(lastShowedAction)) {
return;
}
@@ -100,14 +85,10 @@ public final class MessageBoxExceptionHandler {
// TODO smallet use ErrorDialogWidthDetailArea ?
String title = Messages.getString("commons.error"); //$NON-NLS-1$
String excepMsg = ex.getMessage();
String msg = Messages.getString("exception.errorOccured", ex.getMessage()); //$NON-NLS-1$
//add for tup-19726/19790, as for exception detailMessage will show more details on log area.
if(ex.getCause()!=null) {
excepMsg = ex.getCause().getMessage();
}
String msg = Messages.getString("exception.errorOccured", excepMsg); //$NON-NLS-1$
if (!wrapMessage) {
msg = Messages.getString("exception.message", excepMsg); //$NON-NLS-1$
msg = Messages.getString("exception.errorOccured", ex.getCause().getMessage()); //$NON-NLS-1$
}
Priority priority = CommonExceptionHandler.getPriority(ex);

View File

@@ -114,7 +114,6 @@ 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.message={0}\nSee log for more details.
exception.errorOccured=An error occured ({0}).\nSee log for more details.
ModelSelectionDialog.Message=Please choose one option, or cancel.
ModelSelectionDialog.Option=option

View File

@@ -114,7 +114,6 @@ TableViewerCreator.Table.BeNull=la table est null.
TableViewerCreator.TableColumn.AssertMsg=La TableColumn de TableEditorColumn avec idProperty '{0}' n'a pas la bonne Table parente
TreeToTablesLinker.Type.Unsupported=Ce type de currentControl n'est pas support\u00E9
commons.error=Erreur
exception.message={0}\nConsultez le log pour plus de d\u00E9tails.
exception.errorOccured=Une erreur est survenue ({0}).\nConsultez le log pour plus de d\u00E9tails.
ModelSelectionDialog.Message=S\u00E9lectionnez une option ou annulez.
ModelSelectionDialog.Option=Option

View File

@@ -15,7 +15,7 @@ ColorStyledText.SelectAllItem.Text=\u3059\u3079\u3066\u9078\u629E
ContentProposalAdapterExtended.close=\u9589\u3058\u308B
ContentProposalAdapterExtended.closeFocusout=\u30D5\u30A9\u30FC\u30AB\u30B9\u30A2\u30A6\u30C8\u3092\u9589\u3058\u308B
ControlUtils.Unsupported1=\u3053\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB({0})\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5FC5\u8981\u3067\u3042\u308C\u3070\u3001\u30B1\u30FC\u30B9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044...
CopyPushButton.CopyButton.Tip=\u9078\u629E\u9805\u76EE\u3092\u30B3\u30D4\u30FC
CopyPushButton.CopyButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u30B3\u30D4\u30FC
Curve2D.MaxNum.Be0=maximumSegments\u306F\u6B63\u6570\u304B0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
Curve2D.MinNum.Be0=minimumSegments\u306F\u6B63\u6570\u307E\u305F\u306F0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
DateDialog.textContent=\u65E5\u6642\u3092\u9078\u629E
@@ -96,7 +96,7 @@ ProposalUtils.CtrlProposal.ErrorMsg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u5236\u
RemovePushButton.RemoveButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
ResetDBTypesButton.ResetDBTypesButton.Tip=DB\u30BF\u30A4\u30D7\u3092\u30EA\u30BB\u30C3\u30C8
Rule.rule=\u30EB\u30FC\u30EB[{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SaveAsGenericSchemaPushButton.saveAsSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SelectContextVariablesPushButton.Label=\u30B3\u30F3\u30C6\u30AF\u30B9\u30C8\u5909\u6570\u3092\u9078\u629E
SWTCalendarWithTime.contentEvening=\u5915\u65B9
SWTCalendarWithTime.contentHr=\u6642:
@@ -114,7 +114,6 @@ TableViewerCreator.Table.BeNull=\u30C6\u30FC\u30D6\u30EB\u304CNULL\u3067\u3059
TableViewerCreator.TableColumn.AssertMsg=idProperty'{0}'\u304C\u3042\u308BTableEditorColumn\u306ETableColumn\u306B\u306F\u3001\u6B63\u3057\u3044\u89AA\u30C6\u30FC\u30D6\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
TreeToTablesLinker.Type.Unsupported=currentControl\u306E\u3053\u306E\u30BF\u30A4\u30D7\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
commons.error=\u30A8\u30E9\u30FC
exception.message={0}\n\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
exception.errorOccured=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F({0})\u3002\n\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ModelSelectionDialog.Message=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\uFF11\u3064\u9078\u629E\u3059\u308B\u304B\u3001\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ModelSelectionDialog.Option=\u30AA\u30D7\u30B7\u30E7\u30F3

View File

@@ -114,7 +114,6 @@ 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.message={0}\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

View File

@@ -115,8 +115,6 @@ public enum ECoreImage implements IImage {
METADATA_SAPCONNECTION_ICON("/icons1/sapconnection.png"), //$NON-NLS-1$
METADATA_SAPCONNECTION_WIZ("/icons1/connection_wiz.gif"), //$NON-NLS-1$
METADATA_BIGQUERYCONNECTION_ICON("/icons1/bigqueryconnection.png"), //$NON-NLS-1$
METADATA_HEADERFOOTER_ICON("/icons1/headerfooter_icon32.png"), //$NON-NLS-1$

View File

@@ -39,10 +39,9 @@ public enum EImage implements IImage {
EDIT_ICON("/icons/write_obj.gif"), //$NON-NLS-1$
READ_ICON("/icons/read_obj.gif"), //$NON-NLS-1$
WRAP_ICON("/icons/wrap.png"), //$NON-NLS-1$
QUESTION_ICON("/icons/question.gif"), //$NON-NLS-1$
HELP_ICON("/icons/help.png"), //$NON-NLS-1$
MOREINFO_ICON("/icons/moreInfo.png"), //$NON-NLS-1$
CREATE_CONNECTION_ICON("/icons/connection.gif"), //$NON-NLS-1$

View File

@@ -16,14 +16,8 @@ import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWT;
@@ -164,35 +158,8 @@ public class ImageUtils {
return imageDes;
}
private static Map<byte[], ImageDataProvider> imageFromDataCachedImages = Collections.synchronizedMap(new HashMap<byte[], ImageDataProvider>());
private static Map<Long, byte[]> cachedImagesTimeKeeping = Collections.synchronizedMap(new HashMap<Long, byte[]>());
private static Thread clearImageFromDataCachedImages = new Thread() {
@SuppressWarnings("static-access")
public void run() {
long timeout = 5 * 60 * 1000;
while(true) {//remove older than 5 mins
Set<Entry<Long, byte[]>> collect = cachedImagesTimeKeeping.entrySet().stream()
.filter(entry -> (System.currentTimeMillis() - entry.getKey()) > timeout).collect(Collectors.toSet());
for(Entry<Long, byte[]> entry: collect) {
Long key = entry.getKey();
cachedImagesTimeKeeping.remove(key);
imageFromDataCachedImages.remove(entry.getValue());
}
try {
sleep(timeout);
} catch (InterruptedException e) {//
}
}
};
};
private static Map<byte[], ImageDataProvider> imageFromDataCachedImages = new HashMap<byte[], ImageDataProvider>();
static {
clearImageFromDataCachedImages.setDaemon(true);
clearImageFromDataCachedImages.start();
}
/**
* By default, keep in memory the .
*
@@ -202,17 +169,12 @@ public class ImageUtils {
*/
public static ImageDescriptor createImageFromData(byte[] data, boolean... keepInMemory) {
if (data != null) {
ImageDataProvider imageProvider = null;
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
if(findKey.isPresent()) {
imageProvider = imageFromDataCachedImages.get(findKey.get());
}
ImageDataProvider imageProvider = imageFromDataCachedImages.get(data);
if (imageProvider == null) {
ByteArrayInputStream bais = new ByteArrayInputStream(data);
ImageData img = new ImageData(bais);
imageProvider = new TalendImageProvider(img);
imageFromDataCachedImages.put(data, imageProvider);
cachedImagesTimeKeeping.put(System.currentTimeMillis(), data);
}
return ImageDescriptor.createFromImageDataProvider(imageProvider);
}
@@ -221,9 +183,8 @@ public class ImageUtils {
public static void disposeImages(byte[] data) {
if (data != null) {
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
if(findKey.isPresent()) {
imageFromDataCachedImages.remove(findKey.get());
if (imageFromDataCachedImages.get(data) != null) {
imageFromDataCachedImages.remove(data);
}
}
}

View File

@@ -57,8 +57,6 @@ import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.talend.commons.ui.runtime.ColorConstants;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.proposal.IShowInvisibleCellEditorMethods;
import org.talend.commons.ui.runtime.swt.tableviewer.behavior.DefaultHeaderColumnSelectionListener;
@@ -293,8 +291,7 @@ public class TableViewerCreatorNotModifiable<B> {
public TableViewerCreatorNotModifiable(Composite compositeParent) {
super();
this.compositeParent = compositeParent;
this.emptyZoneColor = ITalendThemeService.getColor("org.talend.commons.ui.BgColorForEmptyArea")
.orElse(compositeParent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
this.emptyZoneColor = compositeParent.getDisplay().getSystemColor(SWT.COLOR_WHITE);
}
@@ -672,22 +669,8 @@ public class TableViewerCreatorNotModifiable<B> {
table.addListener(SWTFacade.Paint, paintListener);
}
Color prefBackgroundColor = backgroundColor;
if (prefBackgroundColor == null) {
prefBackgroundColor = ColorConstants.getTableBackgroundColor();
if (prefBackgroundColor == null) {
prefBackgroundColor = table.getDisplay().getSystemColor(SWT.COLOR_WHITE);
}
}
Color prefForegroundColor = foregroundColor;
if (prefForegroundColor == null) {
prefForegroundColor = ColorConstants.getTableForegroundColor();
if (prefForegroundColor == null) {
prefForegroundColor = table.getDisplay().getSystemColor(SWT.COLOR_BLACK);
}
}
setBackgroundColor(prefBackgroundColor);
setForegroundColor(prefForegroundColor);
setBackgroundColor(backgroundColor != null ? backgroundColor : table.getDisplay().getSystemColor(SWT.COLOR_WHITE));
setForegroundColor(foregroundColor != null ? foregroundColor : table.getDisplay().getSystemColor(SWT.COLOR_BLACK));
if (useCustomItemColoring) {
setUseCustomItemColoring(true);

View File

@@ -69,10 +69,6 @@ public class DefaultTableLabelProvider implements ITableLabelProvider, ITableCol
returnValue = defaultValue;
}
} else {
if ("ID_COLUMN_ROW_NUM".equals(column.getId())) {
int indexOf = this.tableViewerCreator.getInputList().indexOf(element);
AccessorUtils.set(column, element, indexOf + 1);
}
Object value = AccessorUtils.get(element, column);
CellEditor cellEditor = column.getCellEditor();
CellEditorValueAdapter retrieverValue = column.getCellEditorValueAdapter();

View File

@@ -12,14 +12,9 @@
// ============================================================================
package org.talend.commons.ui.runtime.utils;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.DataFormatException;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.resource.StringConverter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
/**
@@ -107,16 +102,4 @@ public class TalendColorPalette {
public static final java.awt.Color TERTIARY_ORANGE_AWT = new java.awt.Color(244, 175, 128);
public static final java.awt.Color TERTIARY_YELLOW_AWT = new java.awt.Color(255, 217, 143);
public static Color convertToColor(String rgbStr) throws DataFormatException {
ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
Color color = colorRegistry.get(rgbStr);
if (color != null) {
return color;
}
RGB rgb = StringConverter.asRGB(rgbStr);
colorRegistry.put(rgbStr, rgb);
return colorRegistry.get(rgbStr);
}
}

View File

@@ -24,7 +24,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
import org.apache.tools.zip.ZipEntry;
@@ -170,52 +169,8 @@ public class ZipFileUtils {
inputStream.close();
}
}
public static void unZipFileEntry(File destFile, java.util.zip.ZipFile zipFile, java.util.zip.ZipEntry entry) throws IOException {
InputStream inputStream;
FileOutputStream fileOut;
if (entry.isDirectory()) {
destFile.mkdirs();
} else {
File parent = destFile.getParentFile();
if (parent != null && !parent.exists()) {
parent.mkdirs();
}
inputStream = zipFile.getInputStream(entry);
fileOut = new FileOutputStream(destFile);
byte[] buf = new byte[bufSize];
int readedBytes;
while ((readedBytes = inputStream.read(buf)) > 0) {
fileOut.write(buf, 0, readedBytes);
}
fileOut.close();
inputStream.close();
}
}
public void setBufSize(int bufSize) {
ZipFileUtils.bufSize = bufSize;
}
public static boolean isValidJarFile(String moduleFilePath) {
if (moduleFilePath == null) {
return false;
}
if (!new File(moduleFilePath).exists()) {
return false;
}
try (JarFile zip = new JarFile(moduleFilePath)) {
zip.getManifest();
} catch (IOException e) {
return false;
}
return true;
}
}

View File

@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Common Runtime Plug-in
Bundle-SymbolicName: org.talend.commons.runtime;singleton:=true
Bundle-Version: 8.0.1.qualifier
Bundle-Version: 8.8.8.qualifier
Require-Bundle: org.apache.log4j;visibility:=reexport,
org.apache.commons.commons-beanutils,
org.apache.commons.collections,

View File

@@ -283,7 +283,6 @@
<KEYWORD1>smallint</KEYWORD1>
<KEYWORD1>smallmoney</KEYWORD1>
<KEYWORD1>text</KEYWORD1>
<KEYWORD1>TIME</KEYWORD1>
<KEYWORD1>timestamp</KEYWORD1>
<KEYWORD1>tinyint</KEYWORD1>
<KEYWORD1>uniqueidentifier</KEYWORD1>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.commons.runtime</artifactId>

View File

@@ -92,12 +92,12 @@
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.22</version>
<version>1.2.19</version>
</dependency>
</dependencies>
@@ -125,7 +125,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
<version>30.0-jre</version>
</dependency>
</dependencies>
<configuration>

View File

@@ -36,11 +36,6 @@ public final class CommonExceptionHandler {
Priority priority = getPriority(ex);
process(ex, priority);
}
public static void process(Throwable ex, String msg) {
Priority priority = getPriority(ex);
process(ex, msg, priority);
}
public static void process(Throwable ex, Priority priority) {
String message = ex.getMessage();
@@ -48,13 +43,6 @@ public final class CommonExceptionHandler {
log.log(priority, message, ex);
}
public static void process(Throwable ex, String msg, Priority priority) {
String message = ex.getMessage() + ": " + msg;
log.log(priority, message, ex);
}
public static void log(String message) {
log.log(Level.INFO, message);
@@ -64,6 +52,10 @@ public final class CommonExceptionHandler {
log.log(Level.WARN, message);
}
public static void error(String message) {
log.log(Level.ERROR, message);
}
/**
* Return priority corresponding to the exception implementation.
*

View File

@@ -23,19 +23,10 @@ public class FatalException extends RuntimeException {
@SuppressWarnings("unused")//$NON-NLS-1$
private static final long serialVersionUID = 1L;
public static final int CODE_INCOMPATIBLE_UPDATE = 10;
private int code;
public FatalException(String message, Throwable cause) {
super(message, cause);
}
public FatalException(int code, String message) {
super(message);
this.code = code;
}
public FatalException(String message) {
super(message);
}
@@ -43,9 +34,4 @@ public class FatalException extends RuntimeException {
public FatalException(Throwable cause) {
super(cause);
}
public int getCode() {
return code;
}
}

View File

@@ -1,85 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2023 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.runtime.model.emf;
import java.util.Iterator;
import java.util.Map;
import java.util.StringJoiner;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.xmi.XMLHelper;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.XMLSave;
import org.eclipse.emf.ecore.xmi.impl.XMISaveImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLString;
/**
* DOC jding class global comment. Detailled comment
*/
public class CustomXMIResource extends TalendXMIResource {
public static final String ENCODING = "UTF-8"; //$NON-NLS-1$
CustomXMISave xmiSave;
public CustomXMIResource() {
super();
}
public CustomXMIResource(URI uri) {
super(uri);
}
@Override
protected void init() {
super.init();
encoding = ENCODING;
}
@Override
protected XMLSave createXMLSave() {
xmiSave = new CustomXMISave(createXMLHelper());
return xmiSave;
}
public String getResourceContent(Map<?, ?> options) {
if (xmiSave == null) {
createXMLSave();
}
return xmiSave.getXMLContent(this, options);
}
}
class CustomXMISave extends XMISaveImpl {
public CustomXMISave(XMLHelper helper) {
super(helper);
}
public String getXMLContent(XMLResource resource, Map<?, ?> options) {
StringJoiner strJoin = new StringJoiner("");
super.init(resource, options);
super.traverse(resource.getContents());
XMLString xmlString = this.doc;
Iterator<String> iterator = xmlString.stringIterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
if (string != null) {
strJoin.add(string);
}
}
return strJoin.toString();
}
}

View File

@@ -16,7 +16,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -264,12 +263,4 @@ public class EmfHelper {
return result;
}
public static String getEmfModelContent(EObject model) throws Exception {
String content = "";
CustomXMIResource xmiResource = new CustomXMIResource();
xmiResource.getContents().add(model);
content = xmiResource.getResourceContent(Collections.EMPTY_MAP);
return content;
}
}

View File

@@ -15,7 +15,6 @@ package org.talend.commons.runtime.service;
import java.io.File;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -46,10 +45,6 @@ public interface ITaCoKitService {
boolean isNeedMigration(String componentName, Map<String, String> properties);
boolean isTaCoKitType(Object repoType);
boolean isTaCoKitRepositoryNode(Object node);
boolean isTaCoKitConnection(Object conn);
Object getDatastoreFromDataset(Object repositoryViewObject);
@@ -57,12 +52,6 @@ public interface ITaCoKitService {
boolean isValueSelectionParameter(Object parameter);
List<Map<String, Object>> convertToTable(String value);
List<String> getValuesFromTableParameter(Object parameter, String... keys);
List<String> getValuesFromTableParameterValue(String value, String ...keys);
public static ITaCoKitService getInstance() {
BundleContext bc = FrameworkUtil.getBundle(ITaCoKitService.class).getBundleContext();
Collection<ServiceReference<ITaCoKitService>> tacokitServices = Collections.emptyList();

View File

@@ -31,9 +31,7 @@ import javax.xml.transform.stream.StreamResult;
import org.talend.utils.xml.XmlUtils;
import org.w3c.dom.Document;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
/**
*
@@ -52,23 +50,6 @@ public final class XMLFileUtil {
public static Document loadDoc(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
try {
DocumentBuilder db = DOCBUILDER_FACTORY.newDocumentBuilder();
db.setErrorHandler(new ErrorHandler() {
@Override
public void warning(SAXParseException exception) throws SAXException {
throw exception;
}
@Override
public void fatalError(SAXParseException exception) throws SAXException {
throw exception;
}
@Override
public void error(SAXParseException exception) throws SAXException {
throw exception;
}
});
return db.parse(stream);
} finally {
try {

View File

@@ -13,7 +13,6 @@
package org.talend.commons.utils;
import java.security.SecureRandom;
import java.util.regex.Pattern;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
@@ -35,8 +34,6 @@ public class PasswordEncryptUtil {
private static final SecureRandom SECURERANDOM = new SecureRandom();
private static final Pattern REG_ENCRYPTED_DATA = Pattern.compile("^enc\\:system\\.encryption\\.key\\.v\\d\\:\\p{Print}+");
private static SecretKey getSecretKey() throws Exception {
if (key == null) {
byte rawKeyData[] = StudioEncryption

View File

@@ -145,30 +145,7 @@ public class DB2ForZosDataBaseMetadata extends PackageFakeDatabaseMetadata {
*/
@Override
public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException {
ResultSet rs = super.getPrimaryKeys(catalog, schema, table);
if (rs == null) {
rs = new DB2ForZosResultSet();
}
return rs;
}
/*
* (non-Javadoc)
*
* @see org.talend.commons.utils.database.FakeDatabaseMetaData#getExportedKeys(java.lang.String, java.lang.String,
* java.lang.String)
*/
@Override
public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException {
ResultSet rs = super.getExportedKeys(catalog, schema, table);
if (rs == null) {
if (this.metaData != null) {
rs = this.metaData.getExportedKeys(catalog, schema, table);
} else {
rs = new DB2ForZosResultSet();
}
}
return rs;
return new DB2ForZosResultSet();
}
/*
@@ -197,6 +174,17 @@ public class DB2ForZosDataBaseMetadata extends PackageFakeDatabaseMetadata {
return tableResultSet;
}
/*
* (non-Javadoc)
*
* @see org.talend.commons.utils.database.FakeDatabaseMetaData#getExportedKeys(java.lang.String, java.lang.String,
* java.lang.String)
*/
@Override
public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException {
return new DB2ForZosResultSet();
}
/*
* (non-Javadoc)
*

View File

@@ -24,7 +24,6 @@ import java.net.URI;
import java.net.URL;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.LinkedHashSet;
import java.util.List;
@@ -32,13 +31,8 @@ import java.util.Set;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.internal.net.ProxyManager;
import org.eclipse.core.net.proxy.IProxyData;
import org.eclipse.core.net.proxy.IProxyService;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.talend.commons.exception.CommonExceptionHandler;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.runtime.utils.io.FileCopyUtils;
@@ -47,8 +41,6 @@ import org.talend.commons.runtime.utils.io.FileCopyUtils;
*/
public class NetworkUtil {
private static final Logger LOGGER = Logger.getLogger(NetworkUtil.class);
private static final String[] windowsCommand = { "ipconfig", "/all" }; //$NON-NLS-1$ //$NON-NLS-2$
private static final String[] linuxCommand = { "/sbin/ifconfig", "-a" }; //$NON-NLS-1$ //$NON-NLS-2$
@@ -79,136 +71,6 @@ public class NetworkUtil {
private static final String PROP_NETWORK_STATUS = "network.status"; //$NON-NLS-1$
private static final String SYSTEM_PROXY_ENABLED = "talend.studio.proxy.enableSystemProxyByDefault";
public static void applyProxyFromSystemProperties() throws Exception {
if (!Boolean.valueOf(System.getProperty("talend.studio.proxy.applySystemProps", Boolean.FALSE.toString()))) {
return;
}
final String passwordMask = "***";
String httpProxyHost = System.getProperty("http.proxyHost");
String httpProxyPort = System.getProperty("http.proxyPort");
String httpUser = System.getProperty("http.proxyUser");
String httpPassword = System.getProperty("http.proxyPassword");
if (StringUtils.isNotBlank(httpPassword)) {
System.setProperty("http.proxyPassword", passwordMask);
}
String httpNonProxyHosts = System.getProperty("http.nonProxyHosts");
String httpsProxyHost = System.getProperty("https.proxyHost");
String httpsProxyPort = System.getProperty("https.proxyPort");
String httpsUser = System.getProperty("https.proxyUser");
String httpsPassword = System.getProperty("https.proxyPassword");
if (StringUtils.isNotBlank(httpsPassword)) {
System.setProperty("https.proxyPassword", passwordMask);
}
String httpsNonProxyHosts = System.getProperty("https.nonProxyHosts");
String socksProxyHost = System.getProperty("socksProxyHost");
String socksProxyPort = System.getProperty("socksProxyPort");
String socksProxyUser = System.getProperty("socksProxyUser");
if (socksProxyUser == null) {
socksProxyUser = System.getProperty("java.net.socks.username");
}
String socksProxyPassword = System.getProperty("socksProxyPassword");
if (StringUtils.isNotBlank(socksProxyPassword)) {
System.setProperty("socksProxyPassword", passwordMask);
}
if (socksProxyPassword == null) {
socksProxyPassword = System.getProperty("java.net.socks.password");
}
IProxyService proxyService = ProxyManager.getProxyManager();
boolean isHttpProxyEnabled = StringUtils.isNotBlank(httpProxyHost) && StringUtils.isNotBlank(httpProxyPort);
boolean isHttpsProxyEnabled = StringUtils.isNotBlank(httpsProxyHost) && StringUtils.isNotBlank(httpsProxyPort);
boolean isSocksProxyEnabled = StringUtils.isNotBlank(socksProxyHost) && StringUtils.isNotBlank(socksProxyPort);
if (!isHttpProxyEnabled && !isHttpsProxyEnabled && !isSocksProxyEnabled) {
proxyService
.setSystemProxiesEnabled(Boolean.valueOf(System.getProperty(SYSTEM_PROXY_ENABLED, Boolean.TRUE.toString())));
proxyService.setProxiesEnabled(false);
LOGGER.info("No proxy specified, disabled.");
} else {
proxyService.setSystemProxiesEnabled(false);
proxyService.setProxiesEnabled(true);
List<IProxyData> proxies = new ArrayList<>();
String initedProxyTypes = "";
if (isHttpProxyEnabled) {
try {
IProxyData httpProxy = proxyService.getProxyData(IProxyData.HTTP_PROXY_TYPE);
httpProxy.setHost(httpProxyHost);
httpProxy.setPort(Integer.valueOf(httpProxyPort));
if (StringUtils.isNotBlank(httpUser)) {
httpProxy.setUserid(httpUser);
if (httpPassword == null) {
httpPassword = "";
}
httpProxy.setPassword(httpPassword);
}
proxies.add(httpProxy);
initedProxyTypes += IProxyData.HTTP_PROXY_TYPE + " ";
} catch (Throwable e) {
LOGGER.error(e.getMessage(), e);
}
}
if (isHttpsProxyEnabled) {
try {
IProxyData httpsProxy = proxyService.getProxyData(IProxyData.HTTPS_PROXY_TYPE);
httpsProxy.setHost(httpsProxyHost);
httpsProxy.setPort(Integer.valueOf(httpsProxyPort));
if (StringUtils.isNotBlank(httpsUser)) {
httpsProxy.setUserid(httpsUser);
if (httpsPassword == null) {
httpsPassword = "";
}
httpsProxy.setPassword(httpsPassword);
}
proxies.add(httpsProxy);
initedProxyTypes += IProxyData.HTTPS_PROXY_TYPE + " ";
} catch (Throwable e) {
LOGGER.error(e.getMessage(), e);
}
}
if (isSocksProxyEnabled) {
try {
IProxyData socksProxy = proxyService.getProxyData(IProxyData.SOCKS_PROXY_TYPE);
socksProxy.setHost(socksProxyHost);
socksProxy.setPort(Integer.valueOf(socksProxyPort));
if (StringUtils.isNotBlank(socksProxyUser)) {
socksProxy.setUserid(socksProxyUser);
if (socksProxyPassword == null) {
socksProxyPassword = "";
}
socksProxy.setPassword(socksProxyPassword);
}
proxies.add(socksProxy);
initedProxyTypes += IProxyData.SOCKS_PROXY_TYPE;
} catch (Throwable e) {
LOGGER.error(e.getMessage(), e);
}
}
proxyService.setProxyData(proxies.toArray(new IProxyData[0]));
List<String> nonProxyHosts = new ArrayList<>();
if (StringUtils.isNotBlank(httpNonProxyHosts)) {
String[] split = httpNonProxyHosts.split("|");
nonProxyHosts.addAll(Arrays.asList(split));
}
if (StringUtils.isNotBlank(httpsNonProxyHosts)) {
String[] split = httpsNonProxyHosts.split("|");
nonProxyHosts.addAll(Arrays.asList(split));
}
proxyService.setNonProxiedHosts(nonProxyHosts.toArray(new String[0]));
if (passwordMask.equals(System.getProperty("http.proxyPassword"))) {
System.setProperty("http.proxyPassword", httpPassword);
}
if (passwordMask.equals(System.getProperty("https.proxyPassword"))) {
System.setProperty("https.proxyPassword", httpsPassword);
}
if (passwordMask.equals(System.getProperty("socksProxyPassword"))) {
System.setProperty("socksProxyPassword", socksProxyPassword);
}
LOGGER.info("Succeed to init proxy: " + initedProxyTypes);
}
}
public static boolean isNetworkValid() {
return isNetworkValid(DEFAULT_TIMEOUT);
}
@@ -246,7 +108,6 @@ public class NetworkUtil {
return true;
}
} catch (Exception e) {
CommonExceptionHandler.process(e, getCheckUrl());
return false;
} finally {
conn.disconnect();
@@ -259,7 +120,7 @@ public class NetworkUtil {
if (StringUtils.isNotBlank(customUrl)) {
return customUrl;
} else {
return "https://talend-update.talend.com/nexus/content/groups/studio-libraries/";
return "https://talend-update.talend.com/nexus/content/repositories/libraries/";
}
}
@@ -283,7 +144,6 @@ public class NetworkUtil {
conn.setRequestMethod("HEAD"); //$NON-NLS-1$
conn.getResponseMessage();
} catch (Exception e) {
CommonExceptionHandler.process(e, urlString);
// if not reachable , will throw exception(time out/unknown host) .So if catched exception, make it a
// invalid server
return false;

View File

@@ -96,9 +96,7 @@ public class EclipseCommandLine {
static public final String PROP_KEY_PROFILE_ID = "eclipse.p2.profile";
static public final String ARG_BRANCH = "-branch";
static public final String ARG_PROJECT = "-project";
static public final String LOGIN_ONLINE_UPDATE = "--loginOnlineUpdate";
static public final String ARG_TALEND_BUNDLES_CLEANED = "-talend.studio.bundles.cleaned"; //$NON-NLS-1$

View File

@@ -1 +1 @@
talend.version=8.0.1
talend.version=8.8.8

View File

@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Common UI Plug-in
Bundle-SymbolicName: org.talend.commons.ui;singleton:=true
Bundle-Version: 8.0.1.qualifier
Bundle-Version: 8.8.8.qualifier
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.jface.text,
@@ -20,8 +20,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.talend.commons.runtime,
org.talend.common.ui.runtime;visibility:=reexport,
org.talend.libraries.ui;visibility:=reexport,
org.eclipse.ui.workbench,
org.eclipse.jface.notifications
org.eclipse.ui.workbench
Eclipse-LazyStart: true
Bundle-Vendor: .Talend SA.
Export-Package: org.talend.commons.ui.command,
@@ -29,7 +28,6 @@ Export-Package: org.talend.commons.ui.command,
org.talend.commons.ui.gmf.util,
org.talend.commons.ui.html,
org.talend.commons.ui.i18n,
org.talend.commons.ui.nofitication,
org.talend.commons.ui.swt.actions,
org.talend.commons.ui.swt.advanced.composite,
org.talend.commons.ui.swt.advanced.dataeditor,

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.commons.ui</artifactId>

View File

@@ -15,7 +15,7 @@ ColorStyledText.SelectAllItem.Text=\u3059\u3079\u3066\u9078\u629E
ContentProposalAdapterExtended.close=\u9589\u3058\u308B
ContentProposalAdapterExtended.closeFocusout=\u30D5\u30A9\u30FC\u30AB\u30B9\u30A2\u30A6\u30C8\u3092\u9589\u3058\u308B
ControlUtils.Unsupported1=\u3053\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB({0})\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5FC5\u8981\u3067\u3042\u308C\u3070\u3001\u30B1\u30FC\u30B9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044...
CopyPushButton.CopyButton.Tip=\u9078\u629E\u9805\u76EE\u3092\u30B3\u30D4\u30FC
CopyPushButton.CopyButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u30B3\u30D4\u30FC
Curve2D.MaxNum.Be0=maximumSegments\u306F\u6B63\u6570\u304B0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
Curve2D.MinNum.Be0=minimumSegments\u306F\u6B63\u307E\u305F\u306F0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
DateDialog.textContent=\u65E5\u6642\u3092\u9078\u629E
@@ -92,7 +92,7 @@ ProposalUtils.CtrlProposal.ErrorMsg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u5236\u
RemovePushButton.RemoveButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
ResetDBTypesButton.ResetDBTypesButton.Tip=DB\u30BF\u30A4\u30D7\u3092\u30EA\u30BB\u30C3\u30C8
Rule.rule=\u30EB\u30FC\u30EB[{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SaveAsGenericSchemaPushButton.saveAsSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SelectContextVariablesPushButton.Label=\u30B3\u30F3\u30C6\u30AF\u30B9\u30C8\u5909\u6570\u3092\u9078\u629E
SWTCalendarWithTime.contentEvening=\u5915\u65B9
SWTCalendarWithTime.contentHr=\u6642:

View File

@@ -1,133 +0,0 @@
// ============================================================================
//
// 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.commons.ui.nofitication;
import java.util.List;
import org.eclipse.jface.notifications.AbstractNotificationPopup;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Monitor;
import org.eclipse.swt.widgets.Shell;
public abstract class ArrangedNotificationPopup extends AbstractNotificationPopup {
protected static final int MAX_WIDTH = 400;
protected static final int MIN_HEIGHT = 100;
protected static final int PADDING_EDGE = 5;
private static NotificationManager manager;
public ArrangedNotificationPopup(Display display) {
super(display);
}
public ArrangedNotificationPopup(Display display, int style) {
super(display, style);
}
@Override
protected void createContentArea(Composite parent) {
createControl(parent);
afterCreate();
}
protected abstract void createControl(Composite parent);
@Override
protected Shell getParentShell() {
return getNotificationManager().getParentShell();
}
@Override
public void initializeBounds() {
Rectangle clArea = getPrimaryClientArea();
Point initialSize = getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT);
int height = Math.max(initialSize.y, MIN_HEIGHT);
int width = Math.min(initialSize.x, MAX_WIDTH);
Point size = new Point(width, height);
getShell().setLocation(clArea.width + clArea.x - size.x - PADDING_EDGE, clArea.height + clArea.y - size.y - PADDING_EDGE);
getShell().setSize(size);
}
private Rectangle getPrimaryClientArea() {
Shell parentShell = getParentShell();
if (parentShell != null) {
// calculate client area in display-relative coordinates
// (i.e. without window border / decorations)
Rectangle bounds = parentShell.getBounds();
Rectangle trim = parentShell.computeTrim(0, 0, 0, 0);
List<Window> toasts = getNotificationManager().getWindows();
Rectangle rect = new Rectangle(bounds.x - trim.x, bounds.y - trim.y, bounds.width - trim.width,
bounds.height - trim.height);
if (!toasts.isEmpty()) {
int index = 0;
if (toasts.contains(this)) {
// parent shell resize or move
index = toasts.indexOf(this);
if (index == 0) {
// return parent shell rectangle if it's the first one at bottom
return rect;
}
// the one under current toast
index -= 1;
} else {
// toast creation
// the one on the top
index = toasts.size() - 1;
}
Rectangle toastRect = toasts.get(index).getShell().getBounds();
rect = new Rectangle(rect.x, rect.y, rect.width, toastRect.y - rect.y);
}
return rect;
}
// else display on primary monitor
Monitor primaryMonitor = this.getShell().getDisplay().getPrimaryMonitor();
return (primaryMonitor != null) ? primaryMonitor.getClientArea() : this.getShell().getDisplay().getClientArea();
}
protected void afterCreate() {
//
}
@Override
public int open() {
int open = super.open();
// add after open
getNotificationManager().add(this);
return open;
}
@Override
public boolean close() {
boolean close = super.close();
getNotificationManager().remove(this);
getNotificationManager().refresh();
return close;
}
private NotificationManager getNotificationManager() {
if (manager == null) {
manager = NotificationManager.getInstance();
}
return manager;
}
}

View File

@@ -1,81 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2023 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.nofitication;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.window.WindowManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
public class NotificationManager implements Listener {
private static NotificationManager notificationManager;
private WindowManager windowManager = new WindowManager();
private NotificationManager() {
Shell shell = getParentShell();
if (shell != null) {
shell.addListener(SWT.Resize, this);
shell.addListener(SWT.Move, this);
}
}
public static NotificationManager getInstance() {
if (notificationManager == null) {
notificationManager = new NotificationManager();
}
return notificationManager;
}
@Override
public void handleEvent(Event event) {
refresh();
}
public void refresh() {
Stream.of(windowManager.getWindows()).map(ArrangedNotificationPopup.class::cast)
.forEach(ArrangedNotificationPopup::initializeBounds);
}
public List<Window> getWindows() {
return Stream.of(windowManager.getWindows()).collect(Collectors.toList());
}
public void add(Window window) {
windowManager.add(window);
}
public void remove(Window window) {
windowManager.remove(window);
}
public Shell getParentShell() {
Shell shell = null;
if (PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null) {
shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
if (shell == null) {
shell = PlatformUI.getWorkbench().getDisplay().getActiveShell();
}
}
return shell;
}
}

View File

@@ -130,10 +130,11 @@ public abstract class ExportPushButtonForExtendedTable extends ExportPushButton
AbstractExtendedTableViewer extendedTableViewer = (AbstractExtendedTableViewer) extendedControlViewer;
ExtendedTableModel extendedTableModel = extendedTableViewer.getExtendedTableModel();
boolean enabled = false;
if (extendedTableModel != null && extendedTableModel.isDataRegistered() && extendedTableModel.getBeansList().size() > 0) {
if (extendedTableModel != null && extendedTableModel.isDataRegistered()
&& extendedTableModel.getBeansList().size() > 0) {
enabled = true;
}
return extendedTableModel != null || enabled;
return super.getEnabledState() && enabled;
}
}

View File

@@ -19,7 +19,6 @@ import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.swt.advanced.dataeditor.control.ExtendedPushButton;
import org.talend.commons.ui.swt.extended.table.AbstractExtendedTableViewer;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
* DOC Administrator class global comment. Detailled comment <br/>
@@ -34,11 +33,4 @@ public abstract class SaveAsGenericSchemaPushButton extends ExtendedPushButton {
@Override
protected abstract Command getCommandToExecute();
@Override
public boolean getEnabledState() {
AbstractExtendedTableViewer extendedTableViewer = (AbstractExtendedTableViewer) extendedControlViewer;
ExtendedTableModel extendedTableModel = extendedTableViewer.getExtendedTableModel();
return extendedTableModel != null;
}
}

View File

@@ -17,7 +17,6 @@ import java.util.List;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
@@ -89,11 +88,6 @@ public class ExtendedTableAddCommand extends Command implements IExtendedTableCo
// }
extendedTable.addAll(indexStartAdd, beansToAdd);
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}

View File

@@ -52,7 +52,7 @@ public abstract class ExtendedTableCaseCommand extends Command implements IExten
@Override
public void execute() {
convertCase(extendedTable, beansToCovertCase, selectionIndices, isUpperCase);
extendedTable.getTableViewer().refresh();
}
public abstract void convertCase(ExtendedTableModel extendedTable, List copiedObjectsList, int[] selectionIndices, boolean isUpperCase);

View File

@@ -17,7 +17,6 @@ import java.util.List;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
import org.talend.commons.ui.utils.SimpleClipboard;
import org.talend.commons.utils.data.list.UniqueStringGenerator;
@@ -66,11 +65,6 @@ public abstract class ExtendedTablePasteCommand extends Command implements IExte
List list = new ArrayList((List) data);
list = createPastableBeansList(extendedTable, list);
extendedTable.addAll(indexStart, list);
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}
}

View File

@@ -14,7 +14,6 @@ package org.talend.commons.ui.swt.advanced.dataeditor.commands;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
@@ -55,7 +54,7 @@ public abstract class ExtendedTableQuoteCommand extends Command implements IExte
@Override
public void execute() {
toQuote(extendedTable, beansToQuote, selectionIndices, quote, isAddingQuote);
extendedTable.getTableViewer().refresh();
}
public abstract void toQuote(ExtendedTableModel extendedTable, List copiedObjectsList, int[] selectionIndices, String quote, boolean isAddingQuote);

View File

@@ -20,7 +20,6 @@ import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
@@ -131,11 +130,6 @@ public class ExtendedTableRemoveCommand extends Command implements IExtendedTabl
removedBeansIndices.add(index);
}
}
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}

View File

@@ -18,12 +18,12 @@ import java.util.Iterator;
import java.util.Map;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
import org.eclipse.jface.resource.StringConverter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
/**
@@ -33,7 +33,7 @@ import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
*
*/
public class ColorManager {
public static final RGB DEFAULT_STRING_COLOR = new RGB(0, 0, 0);
public static final RGB DEFAULT_KEYWORD1_COLOR = new RGB(50, 32, 160);
@@ -106,19 +106,15 @@ public class ColorManager {
}
public Color getColor(String colorName) {
Color prefColor = getThemeColor(colorName);
if (colorMap.containsKey(colorName) && (colorMap.get(colorName)).equals(prefColor)) {
return colorMap.get(colorName);
RGB prefColor = PreferenceConverter.getColor(store, colorName);
Color color = null;
if (colorMap.containsKey(colorName) && (colorMap.get(colorName)).getRGB().equals(prefColor)) {
color = (Color) colorMap.get(colorName);
} else {
colorMap.put(colorName, prefColor);
color = new Color(Display.getDefault(), prefColor);
colorMap.put(colorName, color);
}
return prefColor;
}
private static Color getThemeColor(String colorName) {
Color c = ITalendThemeService.getColor(colorName)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
return c;
return color;
}
public void dispose() {
@@ -168,20 +164,20 @@ public class ColorManager {
}
public static void initDefaultColors(IPreferenceStore store) {
store.setDefault(NULL_COLOR, StringConverter.asString(getThemeColor(NULL_COLOR).getRGB()));
store.setDefault(COMMENT1_COLOR, StringConverter.asString(getThemeColor(COMMENT1_COLOR).getRGB()));
store.setDefault(COMMENT2_COLOR, StringConverter.asString(getThemeColor(COMMENT2_COLOR).getRGB()));
store.setDefault(LITERAL1_COLOR, StringConverter.asString(getThemeColor(LITERAL1_COLOR).getRGB()));
store.setDefault(LITERAL2_COLOR, StringConverter.asString(getThemeColor(LITERAL2_COLOR).getRGB()));
store.setDefault(LABEL_COLOR, StringConverter.asString(getThemeColor(LABEL_COLOR).getRGB()));
store.setDefault(KEYWORD1_COLOR, StringConverter.asString(getThemeColor(KEYWORD1_COLOR).getRGB()));
store.setDefault(KEYWORD2_COLOR, StringConverter.asString(getThemeColor(KEYWORD2_COLOR).getRGB()));
store.setDefault(KEYWORD3_COLOR, StringConverter.asString(getThemeColor(KEYWORD3_COLOR).getRGB()));
store.setDefault(FUNCTION_COLOR, StringConverter.asString(getThemeColor(FUNCTION_COLOR).getRGB()));
store.setDefault(MARKUP_COLOR, StringConverter.asString(getThemeColor(MARKUP_COLOR).getRGB()));
store.setDefault(OPERATOR_COLOR, StringConverter.asString(getThemeColor(OPERATOR_COLOR).getRGB()));
store.setDefault(DIGIT_COLOR, StringConverter.asString(getThemeColor(DIGIT_COLOR).getRGB()));
store.setDefault(INVALID_COLOR, StringConverter.asString(getThemeColor(INVALID_COLOR).getRGB()));
store.setDefault(NULL_COLOR, StringConverter.asString(DEFAULT_STRING_COLOR));
store.setDefault(COMMENT1_COLOR, StringConverter.asString(DEFAULT_COMMENT1_COLOR));
store.setDefault(COMMENT2_COLOR, StringConverter.asString(DEFAULT_COMMENT2_COLOR));
store.setDefault(LITERAL1_COLOR, StringConverter.asString(DEFAULT_LITERAL1_COLOR));
store.setDefault(LITERAL2_COLOR, StringConverter.asString(DEFAULT_LITERAL2_COLOR));
store.setDefault(LABEL_COLOR, StringConverter.asString(DEFAULT_LABEL_COLOR));
store.setDefault(KEYWORD1_COLOR, StringConverter.asString(DEFAULT_KEYWORD1_COLOR));
store.setDefault(KEYWORD2_COLOR, StringConverter.asString(DEFAULT_KEYWORD2_COLOR));
store.setDefault(KEYWORD3_COLOR, StringConverter.asString(DEFAULT_KEYWORD3_COLOR));
store.setDefault(FUNCTION_COLOR, StringConverter.asString(DEFAULT_FUNCTION_COLOR));
store.setDefault(MARKUP_COLOR, StringConverter.asString(DEFAULT_MARKUP_COLOR));
store.setDefault(OPERATOR_COLOR, StringConverter.asString(DEFAULT_OPERATOR_COLOR));
store.setDefault(DIGIT_COLOR, StringConverter.asString(DEFAULT_DIGIT_COLOR));
store.setDefault(INVALID_COLOR, StringConverter.asString(DEFAULT_INVALID_COLOR));
String bold = BOLD_SUFFIX;
store.setDefault(COMMENT1_COLOR + bold, false);

View File

@@ -1,384 +1,368 @@
// ============================================================================
//
// 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.colorstyledtext;
import java.util.ArrayList;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ExtendedModifyEvent;
import org.eclipse.swt.custom.ExtendedModifyListener;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.runtime.xml.XmlUtil;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Mode;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Modes;
import org.talend.commons.ui.swt.colorstyledtext.rules.CToken;
import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
import org.talend.commons.utils.threading.ExecutionLimiter;
/**
* This component is an adaptation of a Color Editor for a StyledText.
*
* The original editor can be found on http://www.gstaff.org/colorEditor/ <br/>
*
* <b>How to use it, example :</b> <br/>
* ColorStyledText text = new ColorStyledText(parent, SWT.H_SCROLL | SWT.V_SCROLL,
* CorePlugin.getDefault().getPreferenceStore(), ECodeLanguage.PERL.getName());</i> <br/>
* <br/>
*
* $Id: ColorStyledText.java 7183 2007-11-23 11:03:36Z amaumont $
*
*/
public class ColorStyledText extends StyledText {
public static final String PREFERENCE_COLOR_FOREGROUND= "ColorStyledText.Color.Foreground"; //$NON-NLS-1$
public static final String PREFERENCE_COLOR_BACKGROUND= "ColorStyledText.Color.Background"; //$NON-NLS-1$
public static final String PREFERENCE_COLOR_SELECTION_FOREGROUND= "ColorStyledText.Color.SelectionForeground"; //$NON-NLS-1$
public static final String PREFERENCE_COLOR_SELECTION_BACKGROUND= "ColorStyledText.Color.SelectionBackground"; //$NON-NLS-1$
private final static int MAXIMUM_CHARACTERS_BEFORE_USE_TIMER = 1000;
private final ColorManager colorManager;
private final ColoringScanner scanner;
private final String languageMode;
private final MenuItem pasteItem;
private boolean coloring = true;
private UndoRedoManager undoRedoManager;
public ColorStyledText(Composite parent, int style, IPreferenceStore store, String languageMode) {
super(parent, style);
this.languageMode = languageMode;
this.colorManager = new ColorManager(store);
/*
* set the Shortcuts of the undo/redo
*/
this.setKeyBinding('Z' | SWT.CTRL, ActionCode.UNDO);
this.setKeyBinding('Y' | SWT.CTRL, ActionCode.REDO);
UndoRedoManager undoManager = new UndoRedoManager(50);
undoManager.connect(this);
this.setUndoManager(undoManager);
ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
Menu popupMenu = new Menu(this);
MenuItem redoItem = new MenuItem(popupMenu, SWT.PUSH);
redoItem.setText(Messages.getString("ColorStyledText.RedoItem.Text")); //$NON-NLS-1$
redoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
redo();
}
});
MenuItem undoItem = new MenuItem(popupMenu, SWT.PUSH);
undoItem.setText(Messages.getString("ColorStyledText.UndoItem.Text")); //$NON-NLS-1$
undoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
undo();
}
});
Image image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
MenuItem copyItem = new MenuItem(popupMenu, SWT.PUSH);
copyItem.setText(Messages.getString("ColorStyledText.CopyItem.Text")); //$NON-NLS-1$
copyItem.setImage(image);
copyItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
copy();
}
});
image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
pasteItem = new MenuItem(popupMenu, SWT.PUSH);
pasteItem.setText(Messages.getString("ColorStyledText.PasteItem.Text")); //$NON-NLS-1$
pasteItem.setData(this);
pasteItem.setImage(image);
pasteItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
paste();
}
});
pasteItem.setEnabled(getEditable());
this.setMenu(popupMenu);
MenuItem selectAllItem = new MenuItem(popupMenu, SWT.PUSH);
selectAllItem.setText(Messages.getString("ColorStyledText.SelectAllItem.Text")); //$NON-NLS-1$
selectAllItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
selectAll();
}
});
this.setMenu(popupMenu);
Listener selectAllListener = new Listener() {
public void handleEvent(Event event) {
if (event.character == '\u0001') { // CTRL + A
selectAll();
}
}
};
addListener(SWT.KeyDown, selectAllListener);
Mode mode = Modes.getMode(languageMode + XmlUtil.FILE_XML_SUFFIX);
scanner = new ColoringScanner(mode, colorManager);
addExtendedModifyListener(modifyListener);
initColorSetting();
}
protected void initColorSetting() {
this.setForeground(ITalendThemeService.getColor(PREFERENCE_COLOR_FOREGROUND).orElse(null));
this.setBackground(ITalendThemeService.getColor(PREFERENCE_COLOR_BACKGROUND).orElse(null));
this.setSelectionBackground(ITalendThemeService.getColor(PREFERENCE_COLOR_SELECTION_BACKGROUND).orElse(null));
this.setSelectionForeground(ITalendThemeService.getColor(PREFERENCE_COLOR_SELECTION_FOREGROUND).orElse(null));
}
/**
* DOC qli Comment method "invokeAction".
*
* @param action
*
* */
public void invokeAction(int action) {
super.invokeAction(action);
switch (action) {
case ActionCode.UNDO:
undo(); // ctrl+Z
break;
case ActionCode.REDO:
redo(); // ctrl+Y
break;
}
}
/**
* Getter for undoRedoManager.
*
* @return the undoRedoManager
*/
public UndoRedoManager getUndoManager() {
return this.undoRedoManager;
}
/**
* Sets the undoRedoManager.
*
* @param undoRedoManager the undoRedoManager to set
*/
public void setUndoManager(UndoRedoManager undoRedoManager) {
this.undoRedoManager = undoRedoManager;
}
public static class ActionCode {
public static final int UNDO = Integer.MAX_VALUE;
public static final int REDO = UNDO - 1;
}
private void undo() {
if (undoRedoManager != null) {
undoRedoManager.undo();
}
}
private void redo() {
if (undoRedoManager != null) {
undoRedoManager.redo();
}
}
protected void colorize(final ColoringScanner scanner) {
final ArrayList<StyleRange> styles = new ArrayList<StyleRange>();
if (this.coloring) {
IToken token;
if (this.isDisposed()) {
return;
}
scanner.parse(this.getText().replaceAll("\"", " ").replaceAll("'", " ")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
do {
token = scanner.nextToken();
if (!token.isEOF()) {
if (token instanceof CToken) {
CToken ctoken = (CToken) token;
StyleRange styleRange;
styleRange = new StyleRange();
styleRange.start = scanner.getTokenOffset();
styleRange.length = scanner.getTokenLength();
if (ctoken.getType() == null) {
styleRange.fontStyle = colorManager.getStyleFor(ctoken.getColor());
styleRange.foreground = colorManager.getColor(ctoken.getColor());
} else {
styleRange.fontStyle = colorManager.getStyleForType(ctoken.getColor());
styleRange.foreground = colorManager.getColorForType(ctoken.getColor());
}
styles.add(styleRange);
}
}
} while (!token.isEOF());
setStyles(styles);
} else {
StyleRange styleRange = new StyleRange();
styles.add(styleRange);
styleRange.start = 0;
styleRange.length = this.getText().getBytes().length;
styleRange.foreground = null;
setStyles(styles);
}
}
public void setStyles(final ArrayList<StyleRange> styles) {
if (ColorStyledText.this.isDisposed()) {
return;
}
int countChars = getCharCount();
for (int i = 0; i < styles.size(); i++) {
StyleRange styleRange = styles.get(i);
// System.out.println("styleRange.start=" + styleRange.start);
// System.out.println("styleRange.length=" + styleRange.length);
if (!(0 <= styleRange.start && styleRange.start + styleRange.length <= countChars)) {
continue;
}
setStyleRange(styleRange);
}
}
ExtendedModifyListener modifyListener = new ExtendedModifyListener() {
public void modifyText(ExtendedModifyEvent event) {
if (ColorStyledText.this.getCharCount() > MAXIMUM_CHARACTERS_BEFORE_USE_TIMER) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
} else {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
public ColorManager getColorManager() {
return this.colorManager;
}
public String getLanguageMode() {
return this.languageMode;
}
public ColoringScanner getScanner() {
return this.scanner;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.custom.StyledText#setEditable(boolean)
*/
@Override
public void setEditable(boolean editable) {
super.setEditable(editable);
if (pasteItem != null) {
pasteItem.setEnabled(editable);
}
}
/**
* Getter for coloring.
*
* @return the coloring
*/
public boolean isColoring() {
return this.coloring;
}
/**
* Sets the coloring.
*
* @param coloring the coloring to set
*/
public void setColoring(boolean coloring) {
boolean wasDifferent = this.coloring != coloring;
this.coloring = coloring;
if (!coloring) {
removeExtendedModifyListener(modifyListener);
} else if (wasDifferent) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
addExtendedModifyListener(modifyListener);
}
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.widgets.Widget#dispose()
*/
@Override
public void dispose() {
super.dispose();
colorManager.dispose();
}
private final ExecutionLimiter colorizeLimiter = new ExecutionLimiter(1000, true) {
@Override
public void execute(final boolean isFinalExecution, Object data) {
if (!isDisposed()) {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
}
// ============================================================================
//
// 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.colorstyledtext;
import java.util.ArrayList;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ExtendedModifyEvent;
import org.eclipse.swt.custom.ExtendedModifyListener;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.runtime.xml.XmlUtil;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Mode;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Modes;
import org.talend.commons.ui.swt.colorstyledtext.rules.CToken;
import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
import org.talend.commons.utils.threading.ExecutionLimiter;
/**
* This component is an adaptation of a Color Editor for a StyledText.
*
* The original editor can be found on http://www.gstaff.org/colorEditor/ <br/>
*
* <b>How to use it, example :</b> <br/>
* ColorStyledText text = new ColorStyledText(parent, SWT.H_SCROLL | SWT.V_SCROLL,
* CorePlugin.getDefault().getPreferenceStore(), ECodeLanguage.PERL.getName());</i> <br/>
* <br/>
*
* $Id: ColorStyledText.java 7183 2007-11-23 11:03:36Z amaumont $
*
*/
public class ColorStyledText extends StyledText {
private final static int MAXIMUM_CHARACTERS_BEFORE_USE_TIMER = 1000;
private final ColorManager colorManager;
private final ColoringScanner scanner;
private final String languageMode;
private final MenuItem pasteItem;
private boolean coloring = true;
private UndoRedoManager undoRedoManager;
public ColorStyledText(Composite parent, int style, IPreferenceStore store, String languageMode) {
super(parent, style);
this.languageMode = languageMode;
this.colorManager = new ColorManager(store);
/*
* set the Shortcuts of the undo/redo
*/
this.setKeyBinding('Z' | SWT.CTRL, ActionCode.UNDO);
this.setKeyBinding('Y' | SWT.CTRL, ActionCode.REDO);
UndoRedoManager undoManager = new UndoRedoManager(50);
undoManager.connect(this);
this.setUndoManager(undoManager);
ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
Menu popupMenu = new Menu(this);
MenuItem redoItem = new MenuItem(popupMenu, SWT.PUSH);
redoItem.setText(Messages.getString("ColorStyledText.RedoItem.Text")); //$NON-NLS-1$
redoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
redo();
}
});
MenuItem undoItem = new MenuItem(popupMenu, SWT.PUSH);
undoItem.setText(Messages.getString("ColorStyledText.UndoItem.Text")); //$NON-NLS-1$
undoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
undo();
}
});
Image image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
MenuItem copyItem = new MenuItem(popupMenu, SWT.PUSH);
copyItem.setText(Messages.getString("ColorStyledText.CopyItem.Text")); //$NON-NLS-1$
copyItem.setImage(image);
copyItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
copy();
}
});
image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
pasteItem = new MenuItem(popupMenu, SWT.PUSH);
pasteItem.setText(Messages.getString("ColorStyledText.PasteItem.Text")); //$NON-NLS-1$
pasteItem.setData(this);
pasteItem.setImage(image);
pasteItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
paste();
}
});
pasteItem.setEnabled(getEditable());
this.setMenu(popupMenu);
MenuItem selectAllItem = new MenuItem(popupMenu, SWT.PUSH);
selectAllItem.setText(Messages.getString("ColorStyledText.SelectAllItem.Text")); //$NON-NLS-1$
selectAllItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
selectAll();
}
});
this.setMenu(popupMenu);
Listener selectAllListener = new Listener() {
public void handleEvent(Event event) {
if (event.character == '\u0001') { // CTRL + A
selectAll();
}
}
};
addListener(SWT.KeyDown, selectAllListener);
Mode mode = Modes.getMode(languageMode + XmlUtil.FILE_XML_SUFFIX);
scanner = new ColoringScanner(mode, colorManager);
addExtendedModifyListener(modifyListener);
}
/**
* DOC qli Comment method "invokeAction".
*
* @param action
*
* */
public void invokeAction(int action) {
super.invokeAction(action);
switch (action) {
case ActionCode.UNDO:
undo(); // ctrl+Z
break;
case ActionCode.REDO:
redo(); // ctrl+Y
break;
}
}
/**
* Getter for undoRedoManager.
*
* @return the undoRedoManager
*/
public UndoRedoManager getUndoManager() {
return this.undoRedoManager;
}
/**
* Sets the undoRedoManager.
*
* @param undoRedoManager the undoRedoManager to set
*/
public void setUndoManager(UndoRedoManager undoRedoManager) {
this.undoRedoManager = undoRedoManager;
}
public static class ActionCode {
public static final int UNDO = Integer.MAX_VALUE;
public static final int REDO = UNDO - 1;
}
private void undo() {
if (undoRedoManager != null) {
undoRedoManager.undo();
}
}
private void redo() {
if (undoRedoManager != null) {
undoRedoManager.redo();
}
}
protected void colorize(final ColoringScanner scanner) {
final ArrayList<StyleRange> styles = new ArrayList<StyleRange>();
if (this.coloring) {
IToken token;
if (this.isDisposed()) {
return;
}
scanner.parse(this.getText().replaceAll("\"", " ").replaceAll("'", " ")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
do {
token = scanner.nextToken();
if (!token.isEOF()) {
if (token instanceof CToken) {
CToken ctoken = (CToken) token;
StyleRange styleRange;
styleRange = new StyleRange();
styleRange.start = scanner.getTokenOffset();
styleRange.length = scanner.getTokenLength();
if (ctoken.getType() == null) {
styleRange.fontStyle = colorManager.getStyleFor(ctoken.getColor());
styleRange.foreground = colorManager.getColor(ctoken.getColor());
} else {
styleRange.fontStyle = colorManager.getStyleForType(ctoken.getColor());
styleRange.foreground = colorManager.getColorForType(ctoken.getColor());
}
styles.add(styleRange);
}
}
} while (!token.isEOF());
setStyles(styles);
} else {
StyleRange styleRange = new StyleRange();
styles.add(styleRange);
styleRange.start = 0;
styleRange.length = this.getText().getBytes().length;
styleRange.foreground = null;
setStyles(styles);
}
}
public void setStyles(final ArrayList<StyleRange> styles) {
if (ColorStyledText.this.isDisposed()) {
return;
}
int countChars = getCharCount();
for (int i = 0; i < styles.size(); i++) {
StyleRange styleRange = styles.get(i);
// System.out.println("styleRange.start=" + styleRange.start);
// System.out.println("styleRange.length=" + styleRange.length);
if (!(0 <= styleRange.start && styleRange.start + styleRange.length <= countChars)) {
continue;
}
setStyleRange(styleRange);
}
}
ExtendedModifyListener modifyListener = new ExtendedModifyListener() {
public void modifyText(ExtendedModifyEvent event) {
if (ColorStyledText.this.getCharCount() > MAXIMUM_CHARACTERS_BEFORE_USE_TIMER) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
} else {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
public ColorManager getColorManager() {
return this.colorManager;
}
public String getLanguageMode() {
return this.languageMode;
}
public ColoringScanner getScanner() {
return this.scanner;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.custom.StyledText#setEditable(boolean)
*/
@Override
public void setEditable(boolean editable) {
super.setEditable(editable);
if (pasteItem != null) {
pasteItem.setEnabled(editable);
}
}
/**
* Getter for coloring.
*
* @return the coloring
*/
public boolean isColoring() {
return this.coloring;
}
/**
* Sets the coloring.
*
* @param coloring the coloring to set
*/
public void setColoring(boolean coloring) {
boolean wasDifferent = this.coloring != coloring;
this.coloring = coloring;
if (!coloring) {
removeExtendedModifyListener(modifyListener);
} else if (wasDifferent) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
addExtendedModifyListener(modifyListener);
}
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.widgets.Widget#dispose()
*/
@Override
public void dispose() {
super.dispose();
colorManager.dispose();
}
private final ExecutionLimiter colorizeLimiter = new ExecutionLimiter(1000, true) {
@Override
public void execute(final boolean isFinalExecution, Object data) {
if (!isDisposed()) {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
}

View File

@@ -12,8 +12,6 @@
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import java.util.Map;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.talend.commons.ui.utils.image.ColorUtils;
@@ -31,7 +29,5 @@ public interface IConfigModuleDialog {
public String getMavenURI();
public int open();
public Map<String, String> getModulesMVNUrls();
}

View File

@@ -20,14 +20,12 @@ import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Table;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable.LAYOUT_MODE;
import org.talend.commons.ui.runtime.swt.tableviewer.selection.ILineSelectionListener;
import org.talend.commons.ui.runtime.swt.tableviewer.selection.LineSelectionEvent;
@@ -158,7 +156,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
final Table table = getTableViewerCreator().getTable();
final ILineSelectionListener beforeLineSelectionListener = new ILineSelectionListener() {
@Override
public void handle(LineSelectionEvent e) {
if (e.selectionByMethod && !selectionHelper.isMouseSelectionning() && !forceExecuteSelectionEvent) {
executeSelectionEvent = false;
@@ -169,7 +166,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
};
final ILineSelectionListener afterLineSelectionListener = new ILineSelectionListener() {
@Override
public void handle(LineSelectionEvent e) {
executeSelectionEvent = true;
}
@@ -179,7 +175,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
DisposeListener disposeListener = new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
selectionHelper.removeBeforeSelectionListener(beforeLineSelectionListener);
selectionHelper.removeAfterSelectionListener(afterLineSelectionListener);
@@ -190,7 +185,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
table.addListener(SWT.KeyUp, new Listener() {
@Override
public void handleEvent(Event event) {
if (event.character == '\u0001') { // CTRL + A
@@ -257,9 +251,7 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
newTableViewerCreator.setLazyLoad(TableViewerCreator.getRecommandLazyLoad());
newTableViewerCreator.setFirstVisibleColumnIsSelection(false);
newTableViewerCreator.setCheckboxInFirstColumn(false);
Color bgColorForEmptyArea = ITalendThemeService.getColor("org.talend.commons.ui.BgColorForEmptyArea")
.orElse(getParentComposite().getDisplay().getSystemColor(SWT.COLOR_WHITE));
newTableViewerCreator.setBgColorForEmptyArea(bgColorForEmptyArea);
newTableViewerCreator.setBgColorForEmptyArea(getParentComposite().getDisplay().getSystemColor(SWT.COLOR_WHITE));
}
/**
@@ -279,7 +271,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
getExtendedTableModel().addBeforeOperationListListener(1, new IListenableListListener() {
@Override
public void handleEvent(ListenableListEvent event) {
handleBeforeListenableListOperationEvent(event);
}
@@ -288,7 +279,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
getExtendedTableModel().addAfterOperationListListener(1, new IListenableListListener() {
@Override
public void handleEvent(ListenableListEvent event) {
handleAfterListenableListOperationEvent(event);
}
@@ -297,7 +287,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
getExtendedTableModel().addAfterOperationListListener(100, new IListenableListListener<B>() {
@Override
public void handleEvent(ListenableListEvent<B> event) {
if (tableViewerCreator.getTable() != null && !tableViewerCreator.getTable().isDisposed()) {
// tableViewerCreator.getTable().forceFocus();
@@ -379,7 +368,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
tableViewerCreator.setInputList(getBeansList());
new AsynchronousThreading(100, true, tableViewerCreator.getTable().getDisplay(), new Runnable() {
@Override
public void run() {
tableViewerCreator.layout();
}

View File

@@ -16,10 +16,8 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ICellEditorListener;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Text;
import org.talend.commons.ui.runtime.ColorConstants;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.data.ModifiedObjectInfo;
import org.talend.commons.ui.runtime.thread.AsynchronousThreading;
@@ -41,8 +39,6 @@ public abstract class DialogErrorForCellEditorListener implements ICellEditorLis
protected TableViewerCreatorColumn column;
protected TableViewerCreator tableViewerCreator;
private Color tableBackground = ColorConstants.getTableBackgroundColor();
/**
* DOC amaumont CellEditorListener constructor comment.
@@ -93,7 +89,7 @@ public abstract class DialogErrorForCellEditorListener implements ICellEditorLis
final String errorMessage = validateValue(newValue, beanPosition);
if (errorMessage == null) {
newValidValueTyped(beanPosition, lastValidValue, newValue, state);
text.setBackground(tableBackground);
text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_WHITE));
lastValidValue = newValue;
} else {
text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_RED));

View File

@@ -1,178 +1,178 @@
// ============================================================================
//
// 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.utils.loader;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.log4j.Logger;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
/**
* ggu class global comment. Detailled comment
*/
public class MyURLClassLoader extends URLClassLoader {
public static interface IAssignableClassFilter {
public boolean filter(URL[] urls);
public boolean filter(Class clazz);
public boolean filter(String clazzName);
}
private static Logger log = Logger.getLogger(MyURLClassLoader.class);
private Map pclasses = new HashMap();
public MyURLClassLoader(String fileName) throws IOException {
this(new File(fileName).toURI().toURL());
}
public MyURLClassLoader(URL url) {
this(new URL[] { url });
}
public MyURLClassLoader(URL[] urls) {
super(urls, Class.class.getClassLoader());
}
public MyURLClassLoader(URL[] urls, ClassLoader parentLoader) {
super(urls, parentLoader);
}
public Class[] getAssignableClasses(Class type) throws IOException {
return getAssignableClasses(type, null);
}
@SuppressWarnings("unchecked")
public Class[] getAssignableClasses(Class type, IAssignableClassFilter filter) throws IOException {
List classes = new ArrayList();
URL[] urls = getURLs();
for (URL url : urls) {
if (filter != null && filter.filter(new URL[] { url })) {
continue;
}
File file = new File(url.getFile());
if (!file.isDirectory() && file.exists() && file.canRead()) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
} catch (IOException ex) {
ExceptionHandler.process(ex);
}
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
Class cls = null;
String entryName = entries.nextElement().getName();
String className = changeFileNameToClassName(entryName);
if (className != null) {
if (filter != null && filter.filter(className)) {
continue;
}
try {
cls = loadClass(className);
} catch (Throwable th) {
log.warn(th);
}
if (cls != null) {
if (filter != null && filter.filter(cls)) {
continue;
}
if (isAssignableType(type, cls)) {
classes.add(cls);
}
}
}
}
}
}
return (Class[]) classes.toArray(new Class[classes.size()]);
}
@SuppressWarnings("unchecked")
private boolean isAssignableType(Class type, Class current) {
if (type == null || current == null || current.equals(Object.class)) {
return false;
}
if (type.isAssignableFrom(current)) {
return true;
} else
// sometimes can not assign the java generic, use the class url
if (type.getName() != null && type.getName().equals(current.getName())) {
return true;
} else {
//
if (type.isInterface()) {//
for (Class interfaceClazz : current.getInterfaces()) {
if (interfaceClazz.equals(type)) {
return true;
} else {
if (isAssignableType(type, interfaceClazz)) {
return true;
}
}
}
if (isAssignableType(type, current.getSuperclass())) {
return true;
}
} else {
return isAssignableType(type, current.getSuperclass());
}
}
return false;
}
/*
* (non-Javadoc)
*
* @see java.net.URLClassLoader#findClass(java.lang.String)
*/
@SuppressWarnings("unchecked")
protected synchronized Class findCslass(String className) throws ClassNotFoundException {
Class cls = (Class) pclasses.get(className);
if (cls == null) {
cls = super.findClass(className);
pclasses.put(className, cls);
}
return cls;
}
public static String changeFileNameToClassName(String name) {
if (name == null) {
throw new IllegalArgumentException("File Name == null");
}
String className = null;
if (name.toLowerCase().endsWith(".class")) {
className = name.replace('/', '.');
className = className.replace('\\', '.');
className = className.substring(0, className.length() - 6);
}
return className;
}
protected void classHasBeenLoaded(Class cls) {
}
}
// ============================================================================
//
// 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.utils.loader;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.log4j.Logger;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
/**
* ggu class global comment. Detailled comment
*/
public class MyURLClassLoader extends URLClassLoader {
public static interface IAssignableClassFilter {
public boolean filter(URL[] urls);
public boolean filter(Class clazz);
public boolean filter(String clazzName);
}
private static Logger log = Logger.getLogger(MyURLClassLoader.class);
private Map pclasses = new HashMap();
public MyURLClassLoader(String fileName) throws IOException {
this(new File(fileName).toURL());
}
public MyURLClassLoader(URL url) {
this(new URL[] { url });
}
public MyURLClassLoader(URL[] urls) {
super(urls, Class.class.getClassLoader());
}
public MyURLClassLoader(URL[] urls, ClassLoader parentLoader) {
super(urls, parentLoader);
}
public Class[] getAssignableClasses(Class type) throws IOException {
return getAssignableClasses(type, null);
}
@SuppressWarnings("unchecked")
public Class[] getAssignableClasses(Class type, IAssignableClassFilter filter) throws IOException {
List classes = new ArrayList();
URL[] urls = getURLs();
for (URL url : urls) {
if (filter != null && filter.filter(new URL[] { url })) {
continue;
}
File file = new File(url.getFile());
if (!file.isDirectory() && file.exists() && file.canRead()) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
} catch (IOException ex) {
ExceptionHandler.process(ex);
}
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
Class cls = null;
String entryName = entries.nextElement().getName();
String className = changeFileNameToClassName(entryName);
if (className != null) {
if (filter != null && filter.filter(className)) {
continue;
}
try {
cls = loadClass(className);
} catch (Throwable th) {
log.warn(th);
}
if (cls != null) {
if (filter != null && filter.filter(cls)) {
continue;
}
if (isAssignableType(type, cls)) {
classes.add(cls);
}
}
}
}
}
}
return (Class[]) classes.toArray(new Class[classes.size()]);
}
@SuppressWarnings("unchecked")
private boolean isAssignableType(Class type, Class current) {
if (type == null || current == null || current.equals(Object.class)) {
return false;
}
if (type.isAssignableFrom(current)) {
return true;
} else
// sometimes can not assign the java generic, use the class url
if (type.getName() != null && type.getName().equals(current.getName())) {
return true;
} else {
//
if (type.isInterface()) {//
for (Class interfaceClazz : current.getInterfaces()) {
if (interfaceClazz.equals(type)) {
return true;
} else {
if (isAssignableType(type, interfaceClazz)) {
return true;
}
}
}
if (isAssignableType(type, current.getSuperclass())) {
return true;
}
} else {
return isAssignableType(type, current.getSuperclass());
}
}
return false;
}
/*
* (non-Javadoc)
*
* @see java.net.URLClassLoader#findClass(java.lang.String)
*/
@SuppressWarnings("unchecked")
protected synchronized Class findCslass(String className) throws ClassNotFoundException {
Class cls = (Class) pclasses.get(className);
if (cls == null) {
cls = super.findClass(className);
pclasses.put(className, cls);
}
return cls;
}
public static String changeFileNameToClassName(String name) {
if (name == null) {
throw new IllegalArgumentException("File Name == null");
}
String className = null;
if (name.toLowerCase().endsWith(".class")) {
className = name.replace('/', '.');
className = className.replace('\\', '.');
className = className.substring(0, className.length() - 6);
}
return className;
}
protected void classHasBeenLoaded(Class cls) {
}
}

View File

@@ -31,7 +31,6 @@ import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
import org.talend.commons.ui.gmf.util.DisplayUtils;
import org.talend.commons.ui.runtime.ITalendThemeService;
/**
* Figure managing some simple HTML styles. <br/>
@@ -78,8 +77,6 @@ public class SimpleHtmlFigure extends Figure {
private static Font boldFont = null;
private static Font boldItalicFont = null;
private static final Color DEFAULT_LABEL_COLOR = ITalendThemeService.getColor("NODE_FIGURE_LABEL_FORCEGROUND").orElse(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
/**
* Constructs a new SimpleHtmlFigure.
@@ -265,8 +262,6 @@ public class SimpleHtmlFigure extends Figure {
label.setFont(fontToUse);
if (colorStack.size() > 0) {
label.setForegroundColor(colorStack.get(colorStack.size() - 1));
} else {
label.setForegroundColor(DEFAULT_LABEL_COLOR); // Set label default foreground color
}
horizContainer.add(label);
}

View File

@@ -3,7 +3,7 @@ Automatic-Module-Name: org.talend.core.repository
Bundle-ManifestVersion: 2
Bundle-Name: Core Repository Plug-in
Bundle-SymbolicName: org.talend.core.repository;singleton:=true
Bundle-Version: 8.0.1.qualifier
Bundle-Version: 8.8.8.qualifier
Require-Bundle: org.eclipse.ui,
org.eclipse.ui.ide,
org.apache.commons.collections,
@@ -15,6 +15,7 @@ Require-Bundle: org.eclipse.ui,
org.talend.libraries.apache,
org.eclipse.osgi.services,
org.eclipse.ui.navigator,
org.eclipse.e4.ui.css.swt.theme,
org.talend.libraries.jackson
Export-Package: org.talend.core.repository,
org.talend.core.repository.constants,

View File

@@ -187,10 +187,10 @@
<RepositoryComponent
name="GENERAL_JDBC"
withSchema="true"
input="JDBCInput"
output="JDBCOutput">
input="tJDBCInput"
output="tJDBCOutput">
<Item
clazz="org.talend.core.model.properties.TacokitDatabaseConnectionItem">
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="GENERAL_JDBC">
@@ -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="VECTORWISE"
withSchema="true"
input="tVectorWiseInput"
output="tVectorWiseOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="VECTORWISE">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="JAVADB"
withSchema="true"
@@ -420,7 +396,18 @@
type="ORACLESN">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PLUSPSQL"
withSchema="true"
input="tPostgresPlusInput"
output="tPostgresPlusOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="PLUSPSQL">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PSQL"
withSchema="true"

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<version>8.8.8-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.core.repository</artifactId>

View File

@@ -39,7 +39,6 @@ public final class Constant {
*/
public static final String ITEM_EVENT_PROPERTY_KEY = "item"; //$NON-NLS-1$
/**
* key used to get/set the property of an event related to an item (REPOSITORY_ITEM_EVENT_PREFIX). The value is the
* cloudVersion string.
@@ -51,7 +50,7 @@ public final class Constant {
* cloudName string.
*/
public static final String VERSION_EVENT_CLOUD_NAME = "cloudName"; //$NON-NLS-1$
/**
* key used to get/set the property of an event related to a list of files modified in the repository
* (REPOSITORY_ITEM_EVENT_PREFIX). The value is the Collection of String (list of all files modified).
@@ -69,15 +68,15 @@ public final class Constant {
*/
public static final String PROJECT_RELOAD_EVENT_SUFFIX = "project"; //$NON-NLS-1$
/**
* suffix used when issuing an event on the OSGI event bus when published to cloud.
*/
public static final String CLOUD_PUBLISH_EVENT_SUFFIX = "cloud"; //$NON-NLS-1$
/**
* key used to get/set the property of an event related to a list of files modified in the repository
* (REPOSITORY_ITEM_EVENT_PREFIX). The value is the Collection of String (list of all files modified).
*/
public static final String PROJECT_RELOAD_PROPERTY_KEY = "project"; //$NON-NLS-1$
/**
* suffix used when issuing an event on the OSGI event bus when published to cloud.
*/
public static final String CLOUD_PUBLISH_EVENT_SUFFIX = "cloud"; //$NON-NLS-1$
}

View File

@@ -19,8 +19,6 @@ import org.talend.repository.model.RepositoryConstants;
*/
public interface FileConstants {
String DOT = ".";
String OLD_TALEND_PROJECT_FILENAME = "talendProject"; //$NON-NLS-1$
String LOCAL_PROJECT_FILENAME = "talend.project"; //$NON-NLS-1$
@@ -114,4 +112,5 @@ public interface FileConstants {
String TALEND_FOLDER_NAME = "TALEND-INF"; //$NON-NLS-1$
String MAVEN_FOLDER_NAME = "MAVEN-INF";
}

View File

@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=The totals of node reference
JobletReferenceDialog.project=Project
JobletReferenceDialog.ReferenceJob=Reference Job
JobletReferenceDialog.Title=Delete the joblet failure
ContextReferenceDialog.DeleteContext.Title=Delete Context
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.kindMessages2=The context of {0} {1} is referred by the following list, would you still like to delete it?
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
@@ -174,7 +175,6 @@ ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI Content Extractor
ProjectRepositoryNode.sapCDSView=SAP CDS View
RepositoryDropAdapter_copyingItems=Copying items...
RepositoryDropAdapter_errorMsg=This directory contains the locked item,it can not be moved now
RepositoryDropAdapter_lockedByOthers=This item is locked by other users, it can not be moved now.
@@ -204,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=Action not available
ConvertJobsUtil.warning.title=Warning
ConvertJobsUtil.warning.message=The target framework is not fully supported for this release.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Create stats log and implicit parameters
WizardPageAPIDefinition_operationIdMissing=API is missing operationIds. operationIds are used to initialize tRESTRequest/cRest output flows. See tRESTRequest/cRest online help.

View File

@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=Total des r\u00E9f\u00E9rences des noeuds
JobletReferenceDialog.project=Projet
JobletReferenceDialog.ReferenceJob=Job de r\u00E9f\u00E9rence
JobletReferenceDialog.Title=Supprimer l'\u00E9chec du Joblet
ContextReferenceDialog.DeleteContext.Title=Supprimer le contexte
ContextReferenceDialog.Title=Supprimer le groupe de contextes
ContextReferenceDialog.Recycle=dans la Corbeille
ContextReferenceDialog.ReferenceJob=Objets de r\u00E9f\u00E9rence
ContextReferenceDialog.Types=Type
ContextReferenceDialog.NodeTypeTip=Type de r\u00E9f\u00E9rences du n\u0153ud
ContextReferenceDialog.Messages=Le contexte({0} {1}) est r\u00E9f\u00E9renc\u00E9 dans :\n
ContextReferenceDialog.kindMessages2=Les \u00E9l\u00E9ments de la liste suivante font r\u00E9f\u00E9rence au contexte de {0} {1} . Souhaitez-vous quand m\u00EAme le supprimer\u00A0?
ContextReferenceDialog.kindMessages=Le groupe de contextes de {0} {1} est r\u00E9f\u00E9renc\u00E9 par la liste suivante. Si vous souhaitez le supprimer, le groupe de contextes du Job sera chang\u00E9 en Built-In \u00E0 la prochaine ouverture du Job. Le supprimer malgr\u00E9 tout ?
ContextReferenceDialog.kindMessages1=Le groupe de contextes {0} {1} est r\u00E9f\u00E9renc\u00E9 par la liste suivante. Le supprimer malgr\u00E9 tout ?
CopyToGenericSchemaHelper.cannotGenarateItem=Impossible de g\u00E9n\u00E9rer le libell\u00E9 de l'\u00E9l\u00E9ment coll\u00E9.
ProxyRepositoryFactory.ReplaceJobHazardDescription=\nLes d\u00E9pendances envers la connexion originale peuvent \u00EAtre perdues.
ItemReferenceDialog.title=\u00C9lements ne pouvant \u00EAtre supprim\u00E9s
@@ -174,7 +175,6 @@ ProjectRepositoryNode.sapBWDataStoreObject=Objet Data Store SAP
ProjectRepositoryNode.sapBWInfoCube=InfoCube SAP
ProjectRepositoryNode.sapBWInfoObject=InfoObject SAP
ProjectRepositoryNode.sapContentExtractor=Extracteur SAP BI Content
ProjectRepositoryNode.sapCDSView=Vue SAP CDS
RepositoryDropAdapter_copyingItems=Copie des \u00E9l\u00E9ments...
RepositoryDropAdapter_errorMsg=Ce r\u00E9pertoire contient l'\u00E9l\u00E9ment verrouill\u00E9, il ne peut \u00EAtre d\u00E9plac\u00E9
RepositoryDropAdapter_lockedByOthers=Cet \u00E9l\u00E9ment est verrouill\u00E9 par d'autres utilisateurs, impossible de le d\u00E9placer.
@@ -204,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=Action non disponible
ConvertJobsUtil.warning.title=Avertissement
ConvertJobsUtil.warning.message=Le framework cible n'est pas totalement support\u00E9 dans cette version.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Cr\u00E9er des logs de stat et des param\u00E8tres implicites.
WizardPageAPIDefinition_operationIdMissing=Des operationIds manquent dans l'API. Ces operationIds sont utilis\u00E9s pour initialiser les flux de sortie du tRESTRequest/cRest. Consultez l'aide en ligne des composants tRESTRequest/cRest.

View File

@@ -56,7 +56,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.Name=\u540D\u524D
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002
@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=\u30CE\u30FC\u30C9\u53C2\u7167\u306E\u5408\u
JobletReferenceDialog.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8
JobletReferenceDialog.ReferenceJob=\u53C2\u7167\u30B8\u30E7\u30D6
JobletReferenceDialog.Title=\u30B8\u30E7\u30D6\u30EC\u30C3\u30C8\u306E\u5931\u6557\u3092\u524A\u9664
ContextReferenceDialog.DeleteContext.Title=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306E\u524A\u9664
ContextReferenceDialog.Title=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664
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})\u306E\u53C2\u7167\u5143:\n
ContextReferenceDialog.kindMessages2={0}{1}\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u6B21\u306E\u30EA\u30B9\u30C8\u306B\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u524A\u9664\u3057\u307E\u3059\u304B?
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
ProxyRepositoryFactory.ReplaceJobHazardDescription=\n\u5143\u306E\u63A5\u7D9A\u3078\u306E\u4F9D\u5B58\u304C\u5931\u308F\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059!
ItemReferenceDialog.title=\u524A\u9664\u3067\u304D\u306A\u3044\u30A2\u30A4\u30C6\u30E0
@@ -155,7 +156,7 @@ ProjectRepositoryNode.invalidItem=\u7121\u52B9\u306A\u30A2\u30A4\u30C6\u30E0
ProjectRepositoryNode.columns=\u30AB\u30E9\u30E0
ProjectRepositoryNode.validationRules=\u691C\u8A3C\u30EB\u30FC\u30EB
ProjectRepositoryNode.cdcFoundation=CDC Foundation
ProjectRepositoryNode.genericSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.genericSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.queries=\u30AF\u30A8\u30EA\u30FC
ProjectRepositoryNode.synonymSchemas=\u30B7\u30CE\u30CB\u30E0\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.calculationViewSchemas=\u8A08\u7B97\u30D3\u30E5\u30FC\u30B9\u30AD\u30FC\u30DE
@@ -174,7 +175,6 @@ ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI\u30B3\u30F3\u30C6\u30F3\u30C4\u30A8\u30AF\u30B9\u30C8\u30E9\u30AF\u30BF\u30FC
ProjectRepositoryNode.sapCDSView=SAP CDS\u30D3\u30E5\u30FC
RepositoryDropAdapter_copyingItems=\u30A2\u30A4\u30C6\u30E0\u3092\u30B3\u30D4\u30FC\u4E2D...
RepositoryDropAdapter_errorMsg=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u306B\u30ED\u30C3\u30AF\u3055\u308C\u305F\u30A2\u30A4\u30C6\u30E0\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u73FE\u5728\u3001\u79FB\u52D5\u3067\u304D\u307E\u305B\u3093,
RepositoryDropAdapter_lockedByOthers=\u3053\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u4ED6\u306E\u30E6\u30FC\u30B6\u30FC\u306B\u3088\u3063\u3066\u30ED\u30C3\u30AF\u3055\u308C\u307E\u3057\u305F\u3002\u73FE\u5728\u3001\u79FB\u52D5\u3067\u304D\u307E\u305B\u3093\u3002
@@ -204,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=\u4F7F\u7528\u3067\u304D\u306A\u3044
ConvertJobsUtil.warning.title=\u8B66\u544A
ConvertJobsUtil.warning.message=\u3053\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u306F\u3001\u30BF\u30FC\u30B2\u30C3\u30C8\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u304C\u5B8C\u5168\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=\u7D71\u8A08\u30ED\u30B0\u3068\u6697\u9ED9\u7684\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u4F5C\u6210
WizardPageAPIDefinition_operationIdMissing=API\u3067operationIds\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002operationIds\u306F\u3001tRESTRequest/cRest\u51FA\u529B\u30D5\u30ED\u30FC\u3092\u521D\u671F\u5316\u3059\u308B\u305F\u3081\u306B\u4F7F\u308F\u308C\u307E\u3059\u3002tRESTRequest/cRest\u306E\u30AA\u30F3\u30E9\u30A4\u30F3\u30D8\u30EB\u30D7\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002

View File

@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=\u8282\u70B9\u5F15\u7528\u603B\u6570
JobletReferenceDialog.project=\u5DE5\u7A0B
JobletReferenceDialog.ReferenceJob=\u5F15\u7528\u4F5C\u4E1A
JobletReferenceDialog.Title=\u5220\u9664\u5C0F\u4F5C\u4E1A\u5931\u8D25
ContextReferenceDialog.DeleteContext.Title=\u5220\u9664\u4E0A\u4E0B\u6587
ContextReferenceDialog.Title=\u5220\u9664\u73AF\u5883\u7EC4
ContextReferenceDialog.Recycle=\u5728\u56DE\u6536\u7AD9
ContextReferenceDialog.ReferenceJob=\u5F15\u7528\u5BF9\u8C61
ContextReferenceDialog.Types=\u7C7B\u578B
ContextReferenceDialog.NodeTypeTip=\u8282\u70B9\u5F15\u7528\u7684\u7C7B\u578B
ContextReferenceDialog.Messages=\u4E0A\u4E0B\u6587 ({0} {1}) \u5F15\u7528\u81EA\uFF1A\n
ContextReferenceDialog.kindMessages2={0} {1} \u7684\u4E0A\u4E0B\u6587\u7EC4\u4EE5\u4E0B\u5217\u8868\u5F15\u7528\uFF0C\u662F\u5426\u4ECD\u60F3\u5C06\u5176\u5220\u9664\uFF1F
ContextReferenceDialog.kindMessages={0} {1} \u7684\u4E0A\u4E0B\u6587\u7EC4\u88AB\u4EE5\u4E0B\u5217\u8868\u5F15\u7528\uFF0C\u5982\u679C\u786E\u5B9E\u60F3\u8981\u5C06\u5176\u5220\u9664\uFF0C\u518D\u6B21\u6253\u5F00\u4F5C\u4E1A\u65F6\uFF0C\u4F5C\u4E1A\u4E2D\u6240\u7528\u7684\u4E0A\u4E0B\u6587\u7EC4\u5C06\u6539\u4E3A\u5185\u7F6E\u3002\u662F\u5426\u4ECD\u60F3\u5C06\u5176\u5220\u9664\uFF1F
ContextReferenceDialog.kindMessages1={0} {1} \u7684\u4E0A\u4E0B\u6587\u7EC4\u88AB\u4EE5\u4E0B\u5217\u8868\u5F15\u7528\uFF0C\u662F\u5426\u4ECD\u60F3\u5C06\u5176\u5220\u9664\uFF1F
CopyToGenericSchemaHelper.cannotGenarateItem=\u65E0\u6CD5\u751F\u6210\u7C98\u8D34\u9879\u76EE\u6807\u7B7E\u3002
ProxyRepositoryFactory.ReplaceJobHazardDescription=\n\u5BF9\u539F\u59CB\u8FDE\u63A5\u7684\u4F9D\u8D56\u53EF\u80FD\u4F1A\u4E22\u5931\uFF01
ItemReferenceDialog.title=\u65E0\u6CD5\u5220\u9664\u7684\u9879\u76EE
@@ -174,7 +175,6 @@ ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI \u5185\u5BB9\u63D0\u53D6\u5668
ProjectRepositoryNode.sapCDSView=SAP CDS \u89C6\u56FE
RepositoryDropAdapter_copyingItems=\u6B63\u5728\u590D\u5236\u9879\u76EE...
RepositoryDropAdapter_errorMsg=\u6B64\u76EE\u5F55\u5305\u542B\u9501\u5B9A\u7684\u9879\u76EE\uFF0C\u73B0\u5728\u65E0\u6CD5\u79FB\u52A8
RepositoryDropAdapter_lockedByOthers=\u6B64\u9879\u76EE\u88AB\u5176\u4ED6\u7528\u6237\u9501\u5B9A\uFF0C\u73B0\u5728\u65E0\u6CD5\u79FB\u52A8\u3002
@@ -204,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=\u64CD\u4F5C\u4E0D\u53EF\u7528
ConvertJobsUtil.warning.title=\u8B66\u544A
ConvertJobsUtil.warning.message=\u6B64\u7248\u672C\u4E0D\u5B8C\u5168\u652F\u6301\u76EE\u6807\u6846\u67B6.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=\u521B\u5EFA\u7EDF\u8BA1\u65E5\u5FD7\u548C\u9690\u5F0F\u53C2\u6570
WizardPageAPIDefinition_operationIdMissing=API \u7F3A\u5931 operationId \u53C2\u6570\uFF0C\u8FD9\u4E9B operationId \u53C2\u6570\u7528\u6765\u521D\u59CB\u5316 tRESTRequest \u6216 cRest \u8F93\u51FA\u6D41\u3002\u8BF7\u53C2\u89C1 tRESTRequest \u6216 cRest \u5728\u7EBF\u5E2E\u52A9\u6587\u6863\u3002

View File

@@ -130,7 +130,7 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
ERepositoryObjectType.METADATA_FILE_RULES, ERepositoryObjectType.METADATA_FILE_HL7,
ERepositoryObjectType.METADATA_FILE_FTP, ERepositoryObjectType.METADATA_FILE_BRMS,
ERepositoryObjectType.METADATA_MDMCONNECTION, ERepositoryObjectType.METADATA_HEADER_FOOTER,
ERepositoryObjectType.JOB_SCRIPT, ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS };
ERepositoryObjectType.JOB_SCRIPT };
List<IRepositoryViewObject> deletedItems = new ArrayList<IRepositoryViewObject>();
for (ERepositoryObjectType type : types) {
@@ -260,7 +260,6 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
if (type == ERepositoryObjectType.METADATA_CON_TABLE) {
return false;
}
boolean isAllowMultipleName = (type == ERepositoryObjectType.SQLPATTERNS || type == ERepositoryObjectType.METADATA_FILE_XML);
String path = "";
if (item.getState() != null) {
@@ -873,38 +872,25 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
@Override
public IRepositoryViewObject getLastVersion(Project project, String id, String relativeFolder, ERepositoryObjectType type)
throws PersistenceException {
List<IRepositoryViewObject> serializableAllVersion = new ArrayList<>();
if (lastFolderForItemMap.containsKey(id)) {
ERepositoryObjectType itemType = lastRepositoryTypeForItemMap.get(id);
String currentPath = lastFolderForItemMap.get(id);
Object fullFolder = getFullFolder(project, itemType, currentPath);
try {
if (fullFolder != null && (fullFolder instanceof FolderItem || ((IFolder) fullFolder).exists())) {
serializableAllVersion.addAll(getSerializableFromFolder(project, fullFolder, id, itemType, false, false, true, true));
}
} catch (PersistenceException e) {
// do nothing.
// if any exception happen or can't find the item, just try to look for it everywhere.
}
}
List<IRepositoryViewObject> serializableAllVersion = null;
Object fullFolder = getFullFolder(project, type, relativeFolder);
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, false, true, true);
if (serializableAllVersion.isEmpty()) {
Object fullFolder = getFullFolder(project, type, relativeFolder);
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, false, true, true);
if (serializableAllVersion.isEmpty()) {
// look in all folders for this item type
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, true, true, true, true);
}
// look in all folders for this item type
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, true, true, true, true);
}
int size = serializableAllVersion.size();
if (size > 1) {
String message = getItemsMessages(serializableAllVersion, size);
throw new PersistenceException(Messages.getString(
"AbstractEMFRepositoryFactory.presistenceException.OnlyOneOccurenceMustbeFound", message)); //$NON-NLS-1$
}
if (size == 1) {
} else if (size == 1) {
return serializableAllVersion.get(0);
} else {
return null;
}
return null;
}
protected void computePropertyMaxInformationLevel(Property property) {

View File

@@ -184,7 +184,6 @@ public abstract class AbstractRepositoryFactory implements IRepositoryFactory {
collect(getMetadata(project, ERepositoryObjectType.METADATA_FILE_LDIF), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_CONNECTIONS), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_SAPCONNECTIONS), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_HEADER_FOOTER), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_LDAP_SCHEMA), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_GENERIC_SCHEMA), result);

View File

@@ -27,6 +27,10 @@ import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Level;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.ICoreService;
import org.talend.core.PluginChecker;
@@ -35,22 +39,22 @@ import org.talend.core.model.properties.RoutineItem;
import org.talend.core.model.properties.SQLPatternItem;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.pendo.AbstractPendoTrackManager;
import org.talend.core.pendo.PendoDataTrackFactory;
import org.talend.core.pendo.PendoItemSignatureUtil;
import org.talend.core.pendo.PendoItemSignatureUtil.SignatureStatus;
import org.talend.core.pendo.PendoItemSignatureUtil.TOSProdNameEnum;
import org.talend.core.pendo.PendoItemSignatureUtil.ValueEnum;
import org.talend.core.pendo.PendoTrackDataUtil;
import org.talend.core.pendo.TrackEvent;
import org.talend.core.pendo.properties.IPendoDataProperties;
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
import org.talend.core.pendo.PendoTrackSender;
import org.talend.core.pendo.properties.PendoSignLogonProperties;
import org.talend.utils.migration.MigrationTokenUtil;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoItemSignatureManager extends AbstractPendoTrackManager {
public class PendoItemSignatureManager {
private PendoSignLogonProperties itemSignProperties = new PendoSignLogonProperties();
private static PendoItemSignatureManager manager;
@@ -59,7 +63,7 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
static {
manager = new PendoItemSignatureManager();
try {
isTrackAvailable = PluginChecker.isTIS() && PendoDataTrackFactory.getInstance().isTrackSendAvailable();
isTrackAvailable = PluginChecker.isTIS() && PendoTrackSender.getInstance().isTrackSendAvailable();
} catch (Exception e) {
ExceptionHandler.process(e, Level.WARN);
}
@@ -83,12 +87,11 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
}
}
public IPendoDataProperties collectProperties() {
public void collectProperties() {
ICoreService coreService = ICoreService.get();
if (coreService == null || !isTrackAvailable) {
return null;
return;
}
PendoSignLogonProperties itemSignProperties = new PendoSignLogonProperties();
try {
itemSignProperties.setSignByMigration(signByLoginMigrationItems.size());
@@ -185,7 +188,6 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
} catch (Exception e) {
ExceptionHandler.process(e, Level.WARN);
}
return itemSignProperties;
}
@@ -256,12 +258,23 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
if (!isTrackAvailable) {
return;
}
super.sendTrackToPendo();
}
Job job = new Job("send pendo track") {
@Override
public TrackEvent getTrackEvent() {
return TrackEvent.ITEM_SIGNATURE;
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
collectProperties();
PendoTrackSender.getInstance().sendTrackData(TrackEvent.ITEM_SIGNATURE, itemSignProperties);
} catch (Exception e) {
// warning only
ExceptionHandler.process(e, Level.WARN);
}
return Status.OK_STATUS;
}
};
job.setUser(false);
job.setPriority(Job.INTERACTIVE);
job.schedule();
}
}

View File

@@ -35,7 +35,6 @@ import org.eclipse.jface.preference.IPreferenceStore;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.PersistenceException;
import org.talend.commons.runtime.model.repository.ERepositoryStatus;
import org.talend.commons.runtime.service.ITaCoKitService;
import org.talend.commons.ui.runtime.exception.RuntimeExceptionHandler;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.repository.IExtendRepositoryNode;
@@ -93,11 +92,9 @@ import org.talend.core.repository.model.repositoryObject.SAPIDocRepositoryObject
import org.talend.core.repository.model.repositoryObject.SalesforceModuleRepositoryObject;
import org.talend.core.repository.recyclebin.RecycleBinManager;
import org.talend.core.repository.ui.utils.ProjectRepositoryNodeCache;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.runtime.services.IGenericDBService;
import org.talend.core.runtime.services.IGenericService;
import org.talend.core.runtime.services.IGenericWizardService;
import org.talend.core.service.ITCKUIService;
import org.talend.core.ui.ICDCProviderService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.core.ui.branding.IBrandingService;
@@ -105,7 +102,6 @@ import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.helper.SAPBWTableHelper;
import org.talend.cwm.helper.SubItemHelper;
import org.talend.cwm.helper.TableHelper;
import org.talend.cwm.helper.TaggedValueHelper;
import org.talend.designer.core.IDesignerCoreService;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.BinRepositoryNode;
@@ -649,9 +645,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (RepositoryNodeManager.isSnowflake(currentType)) {
continue;
}
if (currentType != null) {
buildFolders(rootNode, currentType, folderPath, rootNode);
}
@@ -824,8 +818,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
* @return
*/
private RepositoryNode getFolder(ERepositoryObjectType currentType, String path, List<IRepositoryNode> rootNodes) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType) || RepositoryNodeManager.isSnowflake(currentType)
|| (ITaCoKitService.getInstance() != null && ITaCoKitService.getInstance().isTaCoKitType(currentType))) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType)) {
currentType = ERepositoryObjectType.METADATA_CONNECTIONS;
}
if (path == null || path.isEmpty()) {
@@ -1336,7 +1329,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
public void addNode(RepositoryNode parent, ERepositoryObjectType type, IRepositoryViewObject repositoryObject,
private void addNode(RepositoryNode parent, ERepositoryObjectType type, IRepositoryViewObject repositoryObject,
List<IRepositoryViewObject> validationRules) {
boolean isAvaliableInTOS = true; // this flag filter the databaseconnections which didn't supported by TOS but
@@ -1346,22 +1339,16 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
Connection conn = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
if(conn instanceof DatabaseConnection){
dbMetadataConnection = (DatabaseConnection) conn;
if (ERepositoryObjectType.JDBC == repositoryObject.getRepositoryObjectType()
&& ERepositoryObjectType.JDBC.getType().equals(dbMetadataConnection.getProductId())) {
// hide tcompv0 jdbc node
// remove the 2nd condition if later we need to migrate Delta Lake and SingleStore
return;
}
isAvaliableInTOS = EDatabaseTypeName.getTypeFromDbType(dbMetadataConnection.getDatabaseType(), false) != null;
isAvaliableInTOS = EDatabaseTypeName.getTypeFromDbType(dbMetadataConnection.getDatabaseType(), false) == null ? false
: true;
}
}
Connection connection = null;
if (type == ERepositoryObjectType.METADATA_CONNECTIONS && isAvaliableInTOS) {
connection = dbMetadataConnection;
} else if (type == ERepositoryObjectType.METADATA_SAPCONNECTIONS) {
connection = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
} else if (type == ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS) {
connection = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
} else if (type == ERepositoryObjectType.METADATA_FILE_DELIMITED) {
connection = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
} else if (type == ERepositoryObjectType.METADATA_FILE_POSITIONAL) {
@@ -1420,32 +1407,22 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (isAvaliableInTOS && node != null) {
if (isAvaliableInTOS) {
parent.getChildren().add(node);
}
}
if (null != connection && node != null) {
if (null != connection) {
createTables(node, repositoryObject, connection, validationRules);
}
if (node != null) {
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
handler.addNode(type, recBinNode, repositoryObject, node);
}
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
handler.addNode(type, recBinNode, repositoryObject, node);
}
}
private RepositoryNode createRepositoryNode(RepositoryNode parent, ERepositoryObjectType repObjType,
IRepositoryViewObject repositoryObject, Connection connection) {
if (ERepositoryObjectType.METADATA_TACOKIT_JDBC.equals(repositoryObject.getRepositoryObjectType()) && ITCKUIService.get() != null) {
try {
return ITCKUIService.get().createTaCoKitRepositoryNode(parent, repObjType, repositoryObject, connection);
} catch (Exception e) {
ExceptionHandler.process(e);
return null;
}
}
RepositoryNode node = new RepositoryNode(repositoryObject, parent, ENodeType.REPOSITORY_ELEMENT);
node.setProperties(EProperties.CONTENT_TYPE, repObjType);
@@ -1612,7 +1589,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
return objs;
}
public void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
private void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
List<IRepositoryViewObject> validationRules) {
// // 5.GENERIC SCHEMAS
@@ -1774,9 +1751,6 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
// 10. BW Business Content Extractor:
createSAPContentExtractorNodes(repObj, metadataConnection, node, validationRules);
// 11. CDS views:
createSAPCDSViewNodes(repObj, metadataConnection, node, validationRules);
} else if (metadataConnection instanceof SalesforceSchemaConnection) {
createSalesforceModuleNodes(repObj, metadataConnection, node, validationRules);
} else {
@@ -1810,9 +1784,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
for (MetadataTable tablesWithOrder : tablesWithOrders) {
EMap<String, String> properties = tablesWithOrder.getAdditionalProperties();
String partitionKey = properties.get(EProperties.CONTENT_TYPE.name());
String cdsType = TaggedValueHelper.getValueString(EProperties.CONTENT_TYPE.name(), tablesWithOrder);
if (!ERepositoryObjectType.METADATA_SAP_CONTENT_EXTRACTOR.name().equals(partitionKey)
&& !ERepositoryObjectType.METADATA_SAP_CDS_VIEW.name().equals(cdsType)) {
if (!ERepositoryObjectType.METADATA_SAP_CONTENT_EXTRACTOR.name().equals(partitionKey)) {
tables.add(tablesWithOrder);
}
}
@@ -1995,32 +1967,6 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
createTables(tableContainer, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSAPCDSViewNodes(IRepositoryViewObject repObj, Connection metadataConnection, RepositoryNode node,
List<IRepositoryViewObject> validationRules) {
StableRepositoryNode tableContainer = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.sapCDSView"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
tableContainer.setChildrenObjectType(ERepositoryObjectType.METADATA_CON_TABLE);
tableContainer.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_CDS_VIEW);
IRepositoryNode cacheNode = nodeCache.getCache(tableContainer);
if (cacheNode != null && cacheNode instanceof StableRepositoryNode) {
tableContainer = (StableRepositoryNode) cacheNode;
tableContainer.getChildren().clear();
} else {
nodeCache.addCache(tableContainer, true);
}
node.getChildren().add(tableContainer);
List<MetadataTable> tablesWithOrders = ConnectionHelper.getTablesWithOrders(metadataConnection);
EList<MetadataTable> tables = new BasicEList<>();
for (MetadataTable tablesWithOrder : tablesWithOrders) {
String cdsType = TaggedValueHelper.getValueString(EProperties.CONTENT_TYPE.name(), tablesWithOrder);
if (ERepositoryObjectType.METADATA_SAP_CDS_VIEW.name().equals(cdsType)) {
tables.add(tablesWithOrder);
}
}
createTables(tableContainer, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSalesforceModuleNodes(IRepositoryViewObject rebObj, Connection metadataConnection,
RepositoryNode connectionNode, List<IRepositoryViewObject> validationRules) {
EList modules = ((SalesforceSchemaConnection) metadataConnection).getModules();

View File

@@ -54,7 +54,9 @@ import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.osgi.internal.serviceregistry.ServiceReferenceImpl;
import org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl;
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;
@@ -151,7 +153,6 @@ import org.talend.core.runtime.services.IMavenUIService;
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.IComponentJsonformGeneratorService;
import org.talend.core.service.ICoreUIService;
import org.talend.core.service.IDetectCVEService;
import org.talend.core.utils.CodesJarResourceCache;
@@ -238,14 +239,14 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
return singleton;
}
public ICoreService getCoreService() {
private ICoreService getCoreService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreService.class)) {
return GlobalServiceRegister.getDefault().getService(ICoreService.class);
}
return null;
}
public IRunProcessService getRunProcessService() {
private IRunProcessService getRunProcessService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRunProcessService.class)) {
return GlobalServiceRegister.getDefault().getService(IRunProcessService.class);
}
@@ -350,7 +351,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
* @param project
* @throws LoginException
*/
public void checkProjectCompatibility(Project project) throws LoginException {
private void checkProjectCompatibility(Project project) throws LoginException {
IMigrationToolService migrationToolService = GlobalServiceRegister.getDefault().getService(
IMigrationToolService.class);
// update migration system.
@@ -445,10 +446,12 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
if (currentShell == null) {
currentShell = DisplayUtils.getDefaultShell(false);
}
if (MessageDialog.openQuestion(currentShell,
Messages.getString("ProxyRepositoryFactory.JobNameErroe"), //$NON-NLS-1$
Messages.getString("ProxyRepositoryFactory.Label") + " " + name + " " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Messages.getString("ProxyRepositoryFactory.ReplaceJob"))) { //$NON-NLS-1$
MessageBox box = new MessageBox(currentShell, SWT.ICON_WARNING | SWT.OK | SWT.CANCEL);
box.setText(Messages.getString("ProxyRepositoryFactory.JobNameErroe")); //$NON-NLS-1$
box.setMessage(Messages.getString("ProxyRepositoryFactory.Label") + " " + name + " " + Messages.getString("ProxyRepositoryFactory.ReplaceJob")); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
if (box.open() == SWT.OK) {
ok[0] = true;
}
}
@@ -1845,7 +1848,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
* @param project
* @throws PersistenceException
*/
public void emptyTempFolder(Project project) throws PersistenceException {
private void emptyTempFolder(Project project) throws PersistenceException {
try {
String str = SharedStudioUtils.getTempFolderPath().toPortableString();
FilesUtils.deleteFolder(new File(str), false);
@@ -2207,13 +2210,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
ExceptionHandler.process(e);
}
if (IHadoopDistributionService.get() != null) {
try {
IHadoopDistributionService.get().checkAndMigrateDistributionProxyCredential(project);
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
// init dynamic distirbution after `beforeLogon`, before loading libraries.
initDynamicDistribution(monitor);
@@ -2383,22 +2379,11 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
String str[] = new String[] { getRepositoryContext().getUser() + "", projectManager.getCurrentProject() + "" }; //$NON-NLS-1$ //$NON-NLS-2$
log.info(Messages.getString("ProxyRepositoryFactory.log.loggedOn", str)); //$NON-NLS-1$
// no performance impact for studio or commandline
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentJsonformGeneratorService.class)) {
IComponentJsonformGeneratorService jsonformSvc = GlobalServiceRegister.getDefault().getService(IComponentJsonformGeneratorService.class);
if (jsonformSvc != null && IComponentJsonformGeneratorService.isEnabled()) {
jsonformSvc.generate(null);
}
}
} catch (LoginException e) {
if (!LoginException.RESTART.equals(e.getKey())) {
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
throw e;
} catch (PersistenceException e) {
@@ -2531,7 +2516,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
}
public void checkReferenceProjectsProblems(Project project) throws BusinessException, PersistenceException {
private void checkReferenceProjectsProblems(Project project) throws BusinessException, PersistenceException {
if (ReferenceProjectProblemManager.getInstance().getAllInvalidProjectReferenceSet().size() > 0) {
StringBuffer sb = new StringBuffer();
for (String technicalLabel : ReferenceProjectProblemManager.getInstance().getAllInvalidProjectReferenceSet()) {
@@ -2576,6 +2561,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
public void logOffProject() {
// getRepositoryContext().setProject(null);
repositoryFactoryFromProvider.logOffProject();
if (!CommonsPlugin.isHeadless()) {
ProjectRepositoryNode root = ProjectRepositoryNode.getInstance();
if (root != null) {
@@ -2631,7 +2617,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
ReferenceProjectProvider.clearTacReferenceList();
ReferenceProjectProblemManager.getInstance().clearAll();
repositoryFactoryFromProvider.logOffProject();
fullLogonFinished = false;
}
@@ -3029,11 +3014,4 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
this.repositoryFactoryFromProvider.saveProject(project);
}
public void setCancelled(boolean cancelled) {
this.isCancelled = cancelled;
}
public boolean isCancelled() {
return this.isCancelled;
}
}

View File

@@ -1,127 +1,125 @@
// ============================================================================
//
// 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.repository.model;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.swt.events.SelectionListener;
import org.talend.commons.CommonsPlugin;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.utils.workbench.extensions.ExtensionImplementationProvider;
import org.talend.commons.utils.workbench.extensions.ExtensionPointLimiterImpl;
import org.talend.commons.utils.workbench.extensions.IExtensionPointLimiter;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ui.branding.IBrandingService;
/**
* Provides, using extension points, implementation of many factories.
*
* <ul>
* <li>IProcessFactory</li>
* </ul>
*
* $Id: RepositoryFactoryProvider.java 38013 2010-03-05 14:21:59Z mhirt $
*/
public class RepositoryFactoryProvider {
private static List<IRepositoryFactory> list = null;
public static final IExtensionPointLimiter REPOSITORY_PROVIDER = new ExtensionPointLimiterImpl(
"org.talend.core.repository.repository_provider", //$NON-NLS-1$
"RepositoryFactory", 1, -1); //$NON-NLS-1$
public static synchronized List<IRepositoryFactory> getAvailableRepositories() {
if (list == null) {
list = new ArrayList<IRepositoryFactory>();
List<IConfigurationElement> extension = ExtensionImplementationProvider.getInstanceV2(REPOSITORY_PROVIDER);
String hiddenRepos = System.getProperty("hidden.repositories"); //$NON-NLS-1$
String hiddenRepository[] = new String[]{};
if (hiddenRepos != null) {
hiddenRepository = hiddenRepos.split(";"); //$NON-NLS-1$
}
boolean isPoweredByTalend = false;
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault()
.getService(IBrandingService.class);
isPoweredByTalend = brandingService.isPoweredbyTalend();
for (IConfigurationElement current : extension) {
try {
String only4TalendStr = current.getAttribute("only4Talend"); //$NON-NLS-1$
if (Boolean.valueOf(only4TalendStr) && !isPoweredByTalend) {
continue;
}
String only4OemStr = current.getAttribute("only4Oem"); //$NON-NLS-1$
if (Boolean.valueOf(only4OemStr) && isPoweredByTalend) {
continue;
}
IRepositoryFactory currentAction = (IRepositoryFactory) current.createExecutableExtension("class"); //$NON-NLS-1$
currentAction.setId(current.getAttribute("id")); //$NON-NLS-1$
currentAction.setName(current.getAttribute("name")); //$NON-NLS-1$
currentAction.setAuthenticationNeeded(new Boolean(current.getAttribute("authenticationNeeded"))); //$NON-NLS-1$
currentAction.setDisplayToUser(new Boolean(current.getAttribute("displayToUser")).booleanValue()); //$NON-NLS-1$
// Getting dynamic login fields:
for (IConfigurationElement currentLoginField : current.getChildren("loginField")) { //$NON-NLS-1$
DynamicFieldBean key = new DynamicFieldBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
currentLoginField.getAttribute("defaultValue"), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("required")), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("password")), //$NON-NLS-1$
Boolean.valueOf(currentLoginField.getAttribute("readonly"))); //$NON-NLS-1$
currentAction.getFields().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("button")) { //$NON-NLS-1$
DynamicButtonBean key = new DynamicButtonBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
(SelectionListener) currentLoginField.createExecutableExtension("selectionListener")); //$NON-NLS-1$
currentAction.getButtons().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("choiceField")) { //$NON-NLS-1$
DynamicChoiceBean key = new DynamicChoiceBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name")); //$NON-NLS-1$
for (IConfigurationElement currentChoice : currentLoginField.getChildren("choice")) { //$NON-NLS-1$
String value = currentChoice.getAttribute("value"); //$NON-NLS-1$
String label = currentChoice.getAttribute("label"); //$NON-NLS-1$
key.addChoice(value, label);
}
currentAction.getChoices().add(key);
}
if (ArrayUtils.contains(hiddenRepository, currentAction.getId())) {
continue;
}
list.add(currentAction);
} catch (CoreException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
}
return list;
}
public static IRepositoryFactory getRepositoriyById(String id) {
for (IRepositoryFactory current : getAvailableRepositories()) {
if (current.getId().equals(id)) {
return current;
}
}
ExceptionHandler.log("Can't find repository factory for: " + id);
return null;
}
}
// ============================================================================
//
// 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.repository.model;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.swt.events.SelectionListener;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.utils.workbench.extensions.ExtensionImplementationProvider;
import org.talend.commons.utils.workbench.extensions.ExtensionPointLimiterImpl;
import org.talend.commons.utils.workbench.extensions.IExtensionPointLimiter;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ui.branding.IBrandingService;
/**
* Provides, using extension points, implementation of many factories.
*
* <ul>
* <li>IProcessFactory</li>
* </ul>
*
* $Id: RepositoryFactoryProvider.java 38013 2010-03-05 14:21:59Z mhirt $
*/
public class RepositoryFactoryProvider {
private static List<IRepositoryFactory> list = null;
public static final IExtensionPointLimiter REPOSITORY_PROVIDER = new ExtensionPointLimiterImpl(
"org.talend.core.repository.repository_provider", //$NON-NLS-1$
"RepositoryFactory", 1, -1); //$NON-NLS-1$
public static List<IRepositoryFactory> getAvailableRepositories() {
if (list == null) {
list = new ArrayList<IRepositoryFactory>();
List<IConfigurationElement> extension = ExtensionImplementationProvider.getInstanceV2(REPOSITORY_PROVIDER);
String hiddenRepos = System.getProperty("hidden.repositories"); //$NON-NLS-1$
String hiddenRepository[] = new String[]{};
if (hiddenRepos != null) {
hiddenRepository = hiddenRepos.split(";"); //$NON-NLS-1$
}
boolean isPoweredByTalend = false;
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault()
.getService(IBrandingService.class);
isPoweredByTalend = brandingService.isPoweredbyTalend();
for (IConfigurationElement current : extension) {
try {
String only4TalendStr = current.getAttribute("only4Talend"); //$NON-NLS-1$
if (Boolean.valueOf(only4TalendStr) && !isPoweredByTalend) {
continue;
}
String only4OemStr = current.getAttribute("only4Oem"); //$NON-NLS-1$
if (Boolean.valueOf(only4OemStr) && isPoweredByTalend) {
continue;
}
IRepositoryFactory currentAction = (IRepositoryFactory) current.createExecutableExtension("class"); //$NON-NLS-1$
currentAction.setId(current.getAttribute("id")); //$NON-NLS-1$
currentAction.setName(current.getAttribute("name")); //$NON-NLS-1$
currentAction.setAuthenticationNeeded(new Boolean(current.getAttribute("authenticationNeeded"))); //$NON-NLS-1$
currentAction.setDisplayToUser(new Boolean(current.getAttribute("displayToUser")).booleanValue()); //$NON-NLS-1$
// Getting dynamic login fields:
for (IConfigurationElement currentLoginField : current.getChildren("loginField")) { //$NON-NLS-1$
DynamicFieldBean key = new DynamicFieldBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
currentLoginField.getAttribute("defaultValue"), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("required")), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("password")), //$NON-NLS-1$
Boolean.valueOf(currentLoginField.getAttribute("readonly"))); //$NON-NLS-1$
currentAction.getFields().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("button")) { //$NON-NLS-1$
DynamicButtonBean key = new DynamicButtonBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
(SelectionListener) currentLoginField.createExecutableExtension("selectionListener")); //$NON-NLS-1$
currentAction.getButtons().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("choiceField")) { //$NON-NLS-1$
DynamicChoiceBean key = new DynamicChoiceBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name")); //$NON-NLS-1$
for (IConfigurationElement currentChoice : currentLoginField.getChildren("choice")) { //$NON-NLS-1$
String value = currentChoice.getAttribute("value"); //$NON-NLS-1$
String label = currentChoice.getAttribute("label"); //$NON-NLS-1$
key.addChoice(value, label);
}
currentAction.getChoices().add(key);
}
if (ArrayUtils.contains(hiddenRepository, currentAction.getId())) {
continue;
}
list.add(currentAction);
} catch (CoreException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
}
return list;
}
public static IRepositoryFactory getRepositoriyById(String id) {
for (IRepositoryFactory current : getAvailableRepositories()) {
if (current.getId().equals(id)) {
return current;
}
}
return null;
}
}

View File

@@ -147,11 +147,7 @@ public class LDAPCATruster implements X509TrustManager {
} catch (IOException ex) {
}
try {
if (in != null) {
ks.load(in, certStorePwd);
} else {
ks = null;
}
ks.load(in, certStorePwd);
} catch (Exception e) {
log.error(Messages.getString("LDAPCATruster.failedLoadCert") + e.getMessage()); //$NON-NLS-1$
return;

View File

@@ -52,8 +52,6 @@ public interface IGitInfoService extends IService {
public Map<String, String> getGitInfo(Property property) throws Exception;
public boolean isPushedToRemote(Property property) throws Exception;
public String getProjectBranch(Project project)throws Exception;
public static IGitInfoService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGitInfoService.class)) {

View File

@@ -21,9 +21,7 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.collections.map.MultiKeyMap;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -81,7 +79,6 @@ import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.ProjectReference;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.Folder;
import org.talend.core.model.repository.IRepositoryContentHandler;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.ISubRepositoryObject;
@@ -100,7 +97,6 @@ import org.talend.core.repository.ui.dialog.ContextReferenceDialog;
import org.talend.core.repository.ui.dialog.ItemReferenceDialog;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.RepositoryNodeDeleteManager;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.RepositoryReferenceBeanUtils;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.core.runtime.CoreRuntimePlugin;
@@ -342,25 +338,6 @@ public class DeleteAction extends AContextualAction {
deletedFolder.add(node);
List<IRepositoryViewObject> deleteObjectList = new ArrayList<IRepositoryViewObject>();
deleteFolder(node, factory, deleteActionCache, deleteObjectList);
if (ERepositoryObjectType.SNOWFLAKE != null) {
IPath sfPath = RepositoryNodeUtilities.getPath(node);
String fullPath = ERepositoryObjectType.SNOWFLAKE.getFolder() + IPath.SEPARATOR
+ sfPath.toString();
IProject rsProject = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder sfFolder = ResourceUtils.getFolder(rsProject, fullPath, false);
if (sfFolder.exists()) {
RepositoryNode sfRootNode = ProjectRepositoryNode.getInstance()
.getRootRepositoryNode(ERepositoryObjectType.SNOWFLAKE);
FolderItem item = factory.getFolderItem(ProjectManager.getInstance().getCurrentProject(),
ERepositoryObjectType.SNOWFLAKE, sfPath);
Folder folder = new Folder(item.getProperty(), ERepositoryObjectType.SNOWFLAKE);
RepositoryNode sfFolderNode = new RepositoryNode(folder, sfRootNode,
ENodeType.REPOSITORY_ELEMENT);
sfFolderNode.setProperties(EProperties.LABEL, folder.getLabel());
sfFolderNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.SNOWFLAKE);
deleteFolder(sfFolderNode, factory, deleteActionCache, deleteObjectList);
}
}
}
} catch (PersistenceException e) {
MessageBoxExceptionHandler.process(e);
@@ -500,13 +477,6 @@ public class DeleteAction extends AContextualAction {
}
IPath path = RepositoryNodeUtilities.getPath(node);
ERepositoryObjectType objectType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE);
if (RepositoryNodeManager.isSnowflake(objectType)) {
String pathStr = node.getObject().getLabel();
if (StringUtils.isNotBlank(node.getObject().getPath())) {
pathStr = node.getObject().getPath() + IPath.SEPARATOR + pathStr;
}
path = new Path(pathStr);
}
List<IRepositoryNode> repositoryList = node.getChildren();
boolean success = true;
Exception bex = null;

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