Compare commits

...

110 Commits

Author SHA1 Message Date
hzhao-talendbj
7d931b0496 feat(TUP-38544): fix pommissing=true issue 2023-11-28 16:56:04 +08:00
zyuan-talend
4eb239b829 fix(TUP-40250):Replace GAV from org.talend.libraries with official GAV. (#6583)
* fix(TUP-40250):Replace GAV from org.talend.libraries with official GAV.

* fix(TUP-40590): Type in mvn uri has higher priority than pom.xml.
2023-11-28 16:51:29 +08:00
jiezhang-tlnd
1f5ef9cc13 fix(TUP-29006)The attached db connection file can be imported as new (#6574)
* fix(TUP-29006)The attached db connection file can be imported as new
each time.
https://jira.talendforge.org/browse/TUP-29006

* fix(TUP-29006)The attached db connection file can be imported as new
each time
https://jira.talendforge.org/browse/TUP-29006
2023-11-27 09:26:16 +08:00
sbliu
1a29694aff chore(TUP-40453) upgrade avro from 1.11.2 to 1.11.3 (#6544) 2023-11-24 17:21:05 +08:00
Zhiwei Xue
34076900d4 fix(TUP-40701):[bug] the directory structure display incorrect after (#6566)
delete to recycle bin
2023-11-23 17:45:00 +08:00
Jane Ding
b6d3ab7188 fix(TUP-40721):SAP Context issue - Additional Properties (#6538) (#6581)
* fix(TUP-40721):SAP Context issue - Additional Properties
https://jira.talendforge.org/browse/TUP-40721

* fix(TUP-40721):SAP Context issue - Additional Properties
https://jira.talendforge.org/browse/TUP-40721
2023-11-23 17:42:18 +08:00
Toshi Sasada
e539b2af8c Add localized files (#6580)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-11-23 17:02:03 +08:00
Alexiane Yvonet
3f2531451c Add localized files (#6578)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-11-23 16:44:39 +08:00
jzhao
d2ed356dd2 fix(TDI-50399): Json:20230227 | CVE-2023-5072 (#6567) 2023-11-22 17:00:56 +08:00
bhe-talendbj
40031bca18 feat(TUP-39181): Force PAT rotation on Studio login (#6546) (#6575)
* feat(TUP-39181): initial impl

* feat(TUP-39181): need to block fetching license if old PAT

* feat(TUP-39181): need to block fetching license if old PAT

* feat(TUP-39181): need to block fetching license if old PAT
2023-11-22 11:58:00 +08:00
Alexiane Yvonet
e8fab21477 Add localized files (#6570)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-11-16 16:29:26 +08:00
kjwang
026d351dc0 Fix TUP-40878 Add validation rule for jdbc db (#6564)
Fix TUP-40878 Add validation rule for jdbc db schema throw NPE when try to select a
reference table.
https://jira.talendforge.org/browse/TUP-40878
2023-11-15 16:20:23 +08:00
kjwang
62365772a4 TUP-40710 TCK-JDBC Dynamic setting view (#6536) (#6558)
TUP-40710 TCK-JDBC Dynamic setting view
https://jira.talendforge.org/browse/TUP-40710
2023-11-15 10:35:09 +08:00
msjian
a96a067a16 chore(TDQ-21220): Remove useless MDM code (#6551) 2023-11-13 15:38:03 +08:00
Zhiwei Xue
c64a3d32b8 fix(TUP-40742):fix junit failure (#6547) 2023-11-10 11:01:31 +08:00
hzhao
0524d6251f feat(TUP-38544): build EE (#6315)
* feat(TUP-38543): Set compilation of master for studio to Java 11

* feat(TUP-38543): setup Jakarta

* feat(TUP-38543): setup platform feature

* feat(TUP-38543): eclipse upgrade

* feat(TUP-38543): update eclipse

* feat(TUP-38543): update eclipse remove index files

* feat(TUP-38543): update eclipse

* feat(TUP-38543): update eclipse

* feat(TUP-38543): update eclipse

* feat(TUP-38543): update eclipse

* feat(TUP-38543): update eclipse

* feat(TUP-38543): fix wrong version of surefire

* feat(TUP-38543): test of fix of maven / m2e in studio

* feat(TUP-38543): test of fix of maven / m2e in studio

* feat(TUP-38543): fix of maven / m2e in studio

* feat(TUP-38543): m2 plugins setup

* feat(TUP-38543): remove compilation to java 8 on librariesmanager

* feat(TUP-38543): maven.tos update

* feat(TUP-38544): build EE

* feat(TUP-38544): build EE

* feat(TUP-38544): remove dom4j

* feat(TUP-38544): revert wrong commit for version

* feat(TUP-38544): fix UIExtensionTracker issue

* feat(TUP-38544):  add comment

* feat(TUP-38544) : try export axis from org.talend.libraries.apache

* feat(TUP-38544) :  try move wsdl to metadata.managent.ui

* feat(TUP-38544) : remove axis

* feat(TUP-38544) : try move to managment

* feat(TUP-38544) : remove axis

* feat(TUP-38544) : add axis

* feat(TUP-38544) :  try add a new plugin

* feat(TUP-38544) :  fix download jar studio freezed issue

* feat(TUP-38544) : fix EE build job failed

* feat(TUP-38544) :  fix Cannot invoke
"org.apache.maven.model.Model.getBuild()" because "installedModel" is
null

* feat(TUP-38544) :  fix m2e.core.ui startup faster then workbench create
issue

* feat(TUP-38544) : try unregister service to avoid m2e.core.ui failed
issue

* feat(TUP-38544) : tycho

* feat(TUP-38544): fix junit failed

* feat(TUP-38544) :  change to use stream instead of file . because when
use File . the pom name must be pom.xml

* feat(TUP-38544): fix compile error for the wrong change

* feat(TUP-38544): change exception

* feat(TUP-38544):  add import

* feat(TUP-38544):  change exception

* feat(TUP-38544):  fix compile error

* feat(TUP-38544):  fix junit failed

---------

Co-authored-by: Nicolas Rousseau <nrousseau@talend.com>
2023-11-10 10:42:02 +08:00
Emmanuel GALLOIS
de557eaadb feat(TDI-50426): bump component-runtime to 1.62.1 (#6541) 2023-11-09 10:21:03 +01:00
Toshi Sasada
8d8d9ed59d Add localized files (#6545)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-11-09 16:49:17 +08:00
Chao MENG
6d7f1be6fd fix(TUP-40317): Metadata based Hadoop cluster Repository type is showing (#6453)
inconsistent grey out UI for Runtime mode.
https://jira.talendforge.org/browse/TUP-40317
2023-11-09 11:58:26 +08:00
Zhiwei Xue
dac637ee76 fix(TUP-40742):old job with stats&logs/Implicit context can't run with (#6542)
java 17 after migration
2023-11-09 10:08:48 +08:00
hzhao
4e18550de8 feat(TUP-36963):Display Row Number is zero when import (#6534) (#6539) 2023-11-08 16:34:53 +08:00
hzhao
12fa8642dc feat(TUP-36963):Display Row Number is zero when add column in tMap (#6516) (#6533)
editor(Ubuntu)
2023-11-08 16:08:13 +08:00
Zhiwei Xue
3d20b8605c fix(TUP-40722):Add module access for Spark 3.4.x and 3.0.x (#6535) 2023-11-07 10:20:52 +08:00
jiezhang-tlnd
a5cc8fc03f feat(TUP-40311)[Refactor] Unify tPostgresPlus component to reuse (#6449) (#6532)
* feat(TUP-40311)[Refactor] Unify tPostgresPlus component to reuse
tPostgres

* [Refactor] Unify tPostgresPlus component to reuse tPostgres

* [Refactor] Unify tPostgresPlus component to reuse tPostgres

* add migration

* code format

* remove postgresplus mapping file
2023-11-06 10:55:00 +08:00
Zhiwei Xue
084d6b7c0d fix(TUP-40637):The Java 17 compatibility notification should not show (#6528)
when studio logon a new project with Java 17 in Mac
2023-11-03 16:33:44 +08:00
kjwang
275a5fc784 TUP-39096 Be able to create new TCK JDBC connection (#6513)
* Clean code

* fix(TUP-40661):[Bug] ArrayIndexOutOfBoundsException show when close job

* fix(TUP-40616):[bug] "Update from repository connection" shows empty
filled parameters

* fix(TUP-40616):[bug] "Update from repository connection" shows empty
filled parameters

* fix(TUP-40582):[bug] snowflake connection can't move in/out of folder

* fix(TUP-40582):[bug] snowflake connection can't move in/out of folder

---------

Co-authored-by: Hongchun Yi <hcyi@talend.com>
Co-authored-by: Zhiwei Xue <zwxue@talend.com>
2023-11-03 10:12:18 +08:00
Jane Ding
6f4c028255 fix(TUP-36082):DetectCVE in Studio (#6471) (#6525)
* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082

* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082

* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082

* fix(TUP-36082):DetectCVE in Studio
https://jira.talendforge.org/browse/TUP-36082

Conflicts:
	main/plugins/org.talend.core.runtime/META-INF/MANIFEST.MF
2023-11-03 09:37:54 +08:00
Alexiane Yvonet
6912c95ac3 Add localized files (#6523)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-11-02 16:53:53 +08:00
Alexiane Yvonet
379e6d57ad Add localized files (#6522)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-11-02 16:53:25 +08:00
Alexiane Yvonet
9e2c40eeeb Add localized files (#6521)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-11-02 16:52:40 +08:00
Jill Yan
d07db7e056 APPINT-35965 set plexus-io as 3.2.0 (#6519) 2023-11-02 14:30:53 +08:00
msjian
9a6bc21c47 fix(TDQ-21221): fix tck connection copy hashmap error (#6515) 2023-10-31 17:55:06 +08:00
pyzhou
48e352858e fix(TDI-50335):fix wrong mapping (#6488) 2023-10-31 07:59:05 +08:00
wang wei
bd523f10e7 fix(TDI-50317): tFileInputPositional don't parse properly when pattern units field is set to Symbols (#6512) 2023-10-30 14:57:38 +08:00
Emmanuel GALLOIS
6ab77d7bef feat(TDI-50426): bump component-runtime to 1.62.0 (#6490) 2023-10-27 14:10:25 +02:00
msjian
f03a4db937 improve (#6500) 2023-10-27 18:17:36 +08:00
hzhao
3e81476e48 feat(TUP-36963): Display Row Number in Schema View (#6418) (#6509)
* feat(TUP-36963): Display Row Number in Schema View

* feat(TUP-36963): Display Row Number in Schema View

* feat(TUP-36963): Display Row Number in Schema View

* feat(TUP-36963):remove first column
2023-10-27 15:46:00 +08:00
kjwang
d4c14d5782 Fix junit error part 1 (#6499) (#6507)
kjwang/Feat_TUP-39096_Fix_junit_error_m 
Fix junit error part 1
2023-10-26 18:28:29 +08:00
Alexiane Yvonet
fea9b30c66 Add localized files (#6505)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-10-26 16:41:10 +08:00
Alexiane Yvonet
638dd4a48e Add localized files (#6504)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-10-26 16:40:48 +08:00
kjwang
da40dcc617 Kjwang/feat tup 39096 new tck jdbc integrate temp (#6489) (#6492)
TUP-39096 Be able to create new TCK JDBC connection in repository with
expected tck and emf mode
https://jira.talendforge.org/browse/TUP-39096

* chore(): remove new DB wizard image

---------

Co-authored-by: Zhiwei Xue <zwxue@talend.com>
2023-10-23 17:37:08 +08:00
Jane Ding
6af4b83cf8 fix(TUP-40439):In the ".sysConfig" of "support logs" that gather (#6445) (#6485)
* fix(TUP-40439):In the ".sysConfig" of "support logs" that gather
"nexus.password" value is plain text
https://jira.talendforge.org/browse/TUP-40439

* fix(TUP-40439):In the ".sysConfig" of "support logs" that gather
"nexus.password" value is plain text
https://jira.talendforge.org/browse/TUP-40439

* fix(TUP-40439):In the ".sysConfig" of "support logs" that gather
"nexus.password" value is plain text
https://jira.talendforge.org/browse/TUP-40439
2023-10-20 14:53:56 +08:00
Alexiane Yvonet
1f95b58945 Add localized files (#6484)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-10-20 09:55:40 +08:00
Alexiane Yvonet
68c7621cf2 Add localized files (#6482)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-10-19 18:04:43 +08:00
Alexiane Yvonet
9dd69201c6 Add localized files (#6481)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-10-19 18:04:00 +08:00
Emmanuel GALLOIS
46be38ead4 feat(TDI-50294): bump component-runtime to 1.61.0 (#6405) 2023-10-17 10:19:24 +02:00
qiongli
5789fc20f4 Ql/feat/tdq 21471/context view master2 (#6473)
* feat(TDQ-21471):Loop all context variables when prompt by DQ Report (#6454)

* feat(TDQ-21471):Iterate all context variables to check prompt needed

* fix(TDQ-21471):Avoid NPE
2023-10-17 10:25:11 +08:00
Zhiwei Xue
181c040bd1 chore():fix random junit failure (#6478) (#6479) 2023-10-16 18:46:50 +08:00
hcyi
02cd304d86 fix(TUP-40299):fix a failed junit since update the message. (#6477) 2023-10-16 16:41:12 +08:00
Zhiwei Xue
03a0814810 feat(TUP-40401): improve Java17 check (#6467) 2023-10-13 14:38:01 +08:00
Toshi Sasada
95e76c561c Add localized files (#6459)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-10-13 11:49:44 +08:00
Zhiwei Xue
8b447f8945 Revert "feat(TUP-40401): skip new project option setup for tuj (#6461)" (#6464)
This reverts commit a8b9fe1051.
2023-10-13 10:09:30 +08:00
Zhiwei Xue
a8b9fe1051 feat(TUP-40401): skip new project option setup for tuj (#6461) 2023-10-13 09:42:41 +08:00
Jane Ding
d36cc7cb78 feat(TUP-39889):tJira and tSplunk migration to TCK (#6434) (#6460)
https://jira.talendforge.org/browse/TUP-39889
2023-10-12 19:52:38 +08:00
hzhao
b20c28c453 fix(TUP-40036): Context name defined in component didn't update after it (#6441) (#6456) 2023-10-12 09:45:00 +08:00
qiongli
7337444e14 Ql/feat/tdq 21334/oracle ssl master (#6448)
* feat(TDQ-21334):Support oracle custom ssl for DQ

* feat(TDQ-21334):Change oracle SSL variable to public static
2023-10-11 17:34:02 +08:00
Zhiwei Xue
9b7c1e7d19 feat(TUP-40401):Enable Java 17 support (#6442) (#6455)
* feat(TUP-40401):Enable Java 17 support

* feat(TUP-40401):add runtime capability check for publishing
2023-10-11 16:49:01 +08:00
sbliu
ebd6a56e37 fix(TUP-39890) amend the judgment of snapshot version (#6384) 2023-10-11 10:40:34 +08:00
hcyi
b3f47cfc45 Hcyi/tup 40299 8.0 (#6426) (#6446)
* fix(TUP-40299):"Validation Failed" dialog is missing if Set string into
double type text field for Context Variable.

* fix(TUP-40299):update messages

* fix(TUP-40299):update messages

* fix(TUP-40299):if default context is not named as context, better show
"dev(Default)" which was request in this figma but not impelmented.

* fix(TUP-40299):the boarder of the title display ugly on mac.

* fix(TUP-40299):view environment dropdown box has display issue randomly
2023-10-09 11:02:37 +08:00
zyuan-talend
6dfb925a41 fix(TUP-40332):download jar for bundle packaging type. (#6425) (#6440) 2023-10-07 20:04:07 +08:00
bhe-talendbj
6594eebaf8 fix(TUP-35626): Cannot retrieve module or table when password include "\" (#6414) (#6435)
* fix(TUP-35626): encrypt value if not null

* fix(TUP-35626): do not escape characters inside password

* fix(TUP-35626): minize impact

* fix(TUP-35626): escape special characters

* fix(TUP-35626): reduce impact

* fix(TUP-35626): escape double quote only for password
2023-10-07 10:23:30 +08:00
tsasada-talend
9faec9f974 Add localized files (#6432)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-28 22:50:12 +08:00
apoltavtsev
c907b8a329 APPINT-18113: Fix Junit test (#6431) 2023-09-28 10:22:33 +02:00
apoltavtsev
146c1aa436 APPINT-18113: Sync parameters of cKafka component (#6429) 2023-09-28 08:26:33 +02:00
bhe-talendbj
a145bc3c2a fix(TUP-40400): add NPE check (#6424) 2023-09-27 15:08:18 +08:00
sbliu
83c39c09f3 feat(TUP-33474) add ssl support for oracle 18 and above (#6370)
* feat(TUP-33474) add ssl support for oracle 18 and above

* select ssl jars according to oracle version

* just keep same version with tdi

* add library needed

* amend judgement if it's oracle custom ssl connection

* fix cannot retrieve ssl dependencies

* resolve guess schema error.
2023-09-25 10:40:26 +08:00
wang wei
22481039a0 fix(TDI-49492): Upgrade Avro to 1.11.x tck connectors m2 (#6417) 2023-09-21 17:13:55 +08:00
Alexiane Yvonet
6bd0c152e2 Add localized files (#6416)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-21 15:03:08 +08:00
Alexiane Yvonet
5c17295a5d Add localized files (#6415)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-21 15:02:27 +08:00
Chao MENG
d1768da2ea fix(TUP-39537): improvement of studio collected logs (#6369)
https://jira.talendforge.org/browse/TUP-39537
2023-09-19 10:56:33 +08:00
zshen-talend
1187505203 fix(TDQ-20339): use official jar instead of Talend library jar (#6387) 2023-09-15 09:45:06 +08:00
tsasada-talend
c6f45971b4 Add localized files (#6403)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-14 16:15:33 +08:00
Alexiane Yvonet
d38c3bb1e7 Add localized files (#6402)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-14 15:17:11 +08:00
Alexiane Yvonet
eea614a38a Add localized files (#6401)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-14 15:15:51 +08:00
hcyi
8238e256bf fix(TUP-38042):fix a context display problem on Mac. (#6397) (#6400)
* fix(TUP-38042):fix a display problem on Mac.

* fix(TUP-38042):update a message
2023-09-13 16:58:01 +08:00
jiezhang-tlnd
519e336691 chore(TUP-39865)commons-configuration2:2.8.0 | CVE-2022-23305 (#6371) (#6382) 2023-09-08 10:22:19 +08:00
tsasada-talend
dc7a5aedfb Add localized files (#6380)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-07 17:27:36 +08:00
hcyi
0e5714d227 feat(TUP-38042):update a message (#6379) 2023-09-07 15:44:59 +08:00
zyuan-talend
06c41bd87a fix(TUP-39605): Cleanup Exchange related code. (#6373) (#6376) 2023-09-07 14:25:52 +08:00
hcyi
248fcf4546 feat(TUP-38042):Improve context view display. (#6332) (#6377)
* feat(TUP-38042):Improve context view display.

* feat(TUP-38042):Improve context view display.

* feat(TUP-38042):Improve context view display.

* feat(TUP-38042):Improve for Move the "Enable prompt" and Remove "Prompt
label" column.

* feat(TUP-38042):update context message and improve for GUI

* feat(TUP-38042):improve for GUI

* feat(TUP-38042):Refactoring context view.

* feat(TUP-38042):TUP-40126 [bug] "Enable prompt" still use old settings
after migration

* feat(TUP-38042):TUP-40126 [bug] "Enable prompt" still use old settings
after migration

* feat(TUP-38042):TUP-40178 [bug] UI Problems

* feat(TUP-38042):TUP-40126 [bug] "Enable prompt" still use old settings
after migration

* feat(TUP-38042):TUP-40126 [bug] "Enable prompt" still use old settings
after migration

* feat(TUP-38042):TUP-40126 [bug] "Enable prompt" still use old settings
after migration

* feat(TUP-38042):TUP-40126 [bug] "Enable prompt" still use old settings
after migration and update messages

* feat(TUP-38042):TUP-40215[bug] Browse button is missing in File Type
Field

* feat(TUP-38042):TUP-40127[bug] Improve: Dropdown list doesn't shows well
after click button "V"
2023-09-07 11:15:49 +08:00
Zhiwei Xue
f636e9c342 fix(TUP-40082):[8.0.1 SAP] Column name containing / in input field (#6374)
schema in tSAPBapi changes to _
2023-09-05 12:05:04 +08:00
tsasada-talend
372db7255d Add localized files (#6372)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-09-04 17:35:29 +08:00
sbliu
a3f8830ceb feat(TUP-39758) upgrade jdbc drivers for Postgresql, deprecate pre V9 (#6358) 2023-08-30 17:46:22 +08:00
Chao MENG
a83e670fed item(TUP-39619): Align graphical models with SWT studio (#6364)
https://jira.talendforge.org/browse/TUP-39619
2023-08-30 10:31:25 +08:00
Alexiane Yvonet
cc25a782fb Add localized files (#6365)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-08-29 10:52:00 +08:00
sbliu
4d14ef6de7 fix(TUP-37091) fix checkbox show problem. (#5758) 2023-08-28 09:47:17 +08:00
wang wei
3c68f3f13c fix(TDI-45063): support bigquery metadata (#6283) (#6355) 2023-08-11 10:58:04 +08:00
Alexiane Yvonet
e2355b208c Add localized files (#6353)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-08-11 09:49:49 +08:00
Alexiane Yvonet
5310fce82a Add localized files (#6352)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-08-11 09:49:30 +08:00
AlixMetivier
63262a3947 feat(TBD-14984): support Datafabric with universal (#6080) (#6351) 2023-08-10 09:16:03 +02:00
zyuan-talend
4c1ff62d7e fix(TUP-39924): upgrade org.codehaus.plexus:plexus-archiver to 4.8.0,plexus-io to 3.4.1 , maven-assembly-plugin to 3.6.0 and plexus-util to 4.0.0 for incompatibility. (#6350) 2023-08-09 17:50:14 +08:00
Jane Ding
d418edf1c1 feat(TUP-39065):Implement secured credential storage in Studio for Nexus (#6328) (#6349)
* feat(TUP-39065):Implement secured credential storage in Studio for Nexus
credentials.
https://jira.talendforge.org/browse/TUP-39065

* feat(TUP-39065):Implement secured credential storage in Studio for Nexus
credentials.
https://jira.talendforge.org/browse/TUP-39065

* feat(TUP-39065):Implement secured credential storage in Studio for Nexus
credentials.
https://jira.talendforge.org/browse/TUP-39065

* feat(TUP-39065):Implement secured credential storage in Studio for Nexus
credentials.
https://jira.talendforge.org/browse/TUP-39065
2023-08-09 10:34:24 +08:00
zyuan-talend
d473c7d161 feat(TUP-38945):upgrade oracle jdbc driver. (#6339) (#6344) 2023-08-07 10:22:10 +08:00
Emmanuel GALLOIS
1fca355bd7 feat(TDI-50084): bump component-runtime to 1.59.0 (#6312) 2023-08-04 10:36:33 +02:00
tsasada-talend
450c1bed45 Add localized files (#6340)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-08-04 10:44:35 +08:00
jiezhang-tlnd
8466cd9969 Jzhang/tup 39647 (#6341)
* chore(TUP-39647)CVE-2017-1000487,plexus-utils-3.0.8 (#6307)

* chore(TUP-39647)CVE-2017-1000487,plexus-utils-3.0.8

* add surefire-booter and surefire-api

* chore(TUP-39647)CVE-2017-1000487 (#6321)
2023-08-03 19:36:12 +08:00
Chao MENG
515e10de01 fix(TUP-39759): Perspective getting reset all the time when toggling (#6323)
between old and new projects in the same workspace
https://jira.talendforge.org/browse/TUP-39759
2023-08-03 14:27:20 +08:00
zyuan-talend
929d6b724c fix(TUP-39090):Generate SCD component editor info in the documentation. (#6329) (#6337) 2023-08-02 16:39:28 +08:00
sbliu
543a3fb5e1 fix(TUP-38273) upgrade jackson bundle to 2.14.3 to align to TDI (#6334)
* fix(TUP-38273) upgrade jackson bundle to 2.14.3 to align to TDI

* fix unit test failure in MetadataToolAvroHelperTest
2023-08-02 15:03:46 +08:00
wang wei
ad3f36e2a2 Wwang talend/tdi 49492 jackson (#6330) 2023-08-02 14:56:11 +08:00
tsasada-talend
d2fb640b69 Add localized files (#6326)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-07-31 15:35:01 +08:00
Alexiane Yvonet
34aa93dd7b Add localized files (#6322)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-07-31 15:34:11 +08:00
jiezhang-tlnd
e120a57110 Jzhang/tup 39520 (#6325)
* feat(TUP-39520)Deprecate AS400 CDC / RUNCDC
https://jira.talendforge.org/browse/TUP-39520

* Deprecate Studio CDC

* code format
2023-07-27 15:27:32 +08:00
sbliu
1862605d4a fix(TUP-38273) upgrade spring-boot-dependencies to 2.7.7 according to avro upgrade (#6318)
* fix(TUP-38273) upgrade spring-boot-dependencies to 2.7.7 according to avro upgrade

* upgrade *-bom dependencies of crypto-utils 7.1.16
2023-07-25 20:11:41 +08:00
sbliu
82976d598e fix(TUP-38273) upgrade avro, replace org.apache.servicemix.bundles.av… (#6298)
* fix(TUP-38273) upgrade avro, replace org.apache.servicemix.bundles.avro with avro

* revert last change on this .classpath file

* add avro bundle to required

* replace org.apache.servicemix.bundles.avro with avro bundle with higher version 1.11.2

* replace bundle org.apache.servicemix.bundles.avro with avro

* set default value to null for date type
set validate defaults to false to compatible with previous avro
2023-07-24 16:15:22 +08:00
jiezhang-tlnd
db2c99bb76 chore(TUP-39352)Improve / fix missing translations from product (#6316) 2023-07-24 15:33:25 +08:00
Xilai Dai
784ad75dac feat(APPINT-34616) fix the NPE when import demo project (#6294)
* feat(APPINT-34616) fix the NPE when import demo project

* feat(APPINT-34616) minor code clean up
2023-07-24 15:06:10 +08:00
Alexiane Yvonet
a190d723c7 Add localized files (#6311)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-07-20 19:32:02 +08:00
Alexiane Yvonet
5dcb4ed39f Add localized files (#6310)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-07-20 19:30:54 +08:00
tsasada-talend
61426594f4 Add localized files (#6306)
Co-authored-by: build-talend-doc <build-talend-doc@talend.com>
2023-07-14 14:53:28 +08:00
451 changed files with 40254 additions and 15237 deletions

View File

@@ -26,9 +26,8 @@
<import feature="org.talend.utils.feature" version="0.0.0" match="greaterOrEqual"/>
<import plugin="javax.activation" version="0.0.0" match="greaterOrEqual"/>
<import plugin="javax.mail" version="0.0.0" match="greaterOrEqual"/>
<import plugin="javax.xml.bind" version="0.0.0" match="greaterOrEqual"/>
<import plugin="javax.xml.soap" version="0.0.0" match="greaterOrEqual"/>
<import plugin="javax.xml.ws" version="0.0.0" match="greaterOrEqual"/>
<import plugin="jakarta.xml.bind" version="0.0.0" match="greaterOrEqual"/>
<import plugin="jakarta.xml.soap-api" version="0.0.0" match="greaterOrEqual"/>
<import plugin="net.jeeeyul.eclipse.themes" version="0.0.0" match="greaterOrEqual"/>
<import plugin="net.jeeeyul.swtend" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.collections" version="0.0.0" match="greaterOrEqual"/>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.talend.platform.feature</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.pde.FeatureBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.FeatureNature</nature>
</natures>
</projectDescription>

View File

@@ -18,508 +18,8 @@
</license>
<includes
id="org.eclipse.rcp"
version="4.20.0.v20210611-1600"/>
<includes
id="org.eclipse.equinox.p2.user.ui"
version="2.4.1200.v20210507-0825"
id="org.eclipse.platform"
version="0.0.0"
optional="true"/>
<includes
id="org.eclipse.help"
version="2.3.600.v20210611-1600"/>
<plugin
id="org.apache.ant"
download-size="3025"
install-size="3540"
version="1.10.10.v20210426-1926"/>
<plugin
id="org.eclipse.ant.core"
download-size="105"
install-size="186"
version="3.6.0.v20210415-1314"
unpack="false"/>
<plugin
id="com.jcraft.jsch"
download-size="297"
install-size="539"
version="0.1.55.v20190404-1902"
unpack="false"/>
<plugin
id="org.eclipse.compare.core"
download-size="66"
install-size="127"
version="3.6.1000.v20201020-1107"
unpack="false"/>
<plugin
id="org.eclipse.compare"
download-size="789"
install-size="1572"
version="3.8.0.v20210415-0713"
unpack="false"/>
<plugin
id="org.eclipse.compare.win32"
os="win32"
download-size="43"
install-size="77"
version="1.2.800.v20200127-1343"
unpack="false"/>
<plugin
id="org.eclipse.core.filebuffers"
download-size="113"
install-size="244"
version="3.7.0.v20210512-1543"
unpack="false"/>
<plugin
id="org.eclipse.core.filesystem"
download-size="68"
install-size="128"
version="1.9.0.v20210419-1155"
unpack="false"/>
<plugin
id="org.eclipse.core.net"
download-size="64"
install-size="124"
version="1.3.1100.v20210424-0724"
unpack="false"/>
<plugin
id="org.eclipse.core.net.linux"
os="linux"
download-size="14"
install-size="22"
version="1.0.0.v20210424-0724"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.net.linux.x86_64"
os="linux"
arch="x86_64"
download-size="7"
install-size="11"
version="1.2.500.v20210510-1619"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.net.win32.x86_64"
os="win32"
arch="x86_64"
download-size="34"
install-size="63"
version="1.1.500.v20190925-1337"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.resources"
download-size="877"
install-size="1912"
version="3.15.0.v20210521-0722"
unpack="false"/>
<plugin
id="org.eclipse.osgi.util"
download-size="71"
install-size="148"
version="3.6.0.v20210212-1137"
unpack="false"/>
<plugin
id="org.eclipse.debug.core"
download-size="387"
install-size="807"
version="3.18.100.v20210511-0446"
unpack="false"/>
<plugin
id="org.eclipse.debug.ui"
download-size="2979"
install-size="6065"
version="3.15.0.v20210525-1810"
unpack="false"/>
<plugin
id="org.eclipse.e4.ui.ide"
download-size="11"
install-size="15"
version="3.15.200.v20210108-1832"
unpack="false"/>
<plugin
id="org.eclipse.equinox.event"
download-size="32"
install-size="58"
version="1.6.0.v20210212-1143"
unpack="false"/>
<plugin
id="org.eclipse.ltk.core.refactoring"
download-size="335"
install-size="757"
version="3.11.400.v20210427-0555"
unpack="false"/>
<plugin
id="org.eclipse.ltk.ui.refactoring"
download-size="461"
install-size="953"
version="3.11.400.v20210320-1132"
unpack="false"/>
<plugin
id="org.eclipse.platform"
download-size="637"
install-size="959"
version="4.20.0.v20210611-1600"/>
<plugin
id="org.eclipse.platform.doc.user"
download-size="6712"
install-size="9296"
version="4.20.0.v20210530-2150"
unpack="false"/>
<plugin
id="org.eclipse.search"
download-size="533"
install-size="1043"
version="3.13.200.v20210419-1029"
unpack="false"/>
<plugin
id="org.eclipse.text.quicksearch"
download-size="94"
install-size="184"
version="1.1.100.v20210426-1601"
unpack="false"/>
<plugin
id="org.eclipse.team.core"
download-size="395"
install-size="847"
version="3.9.0.v20210510-1748"
unpack="false"/>
<plugin
id="org.eclipse.team.ui"
download-size="1428"
install-size="3017"
version="3.9.0.v20210426-0837"
unpack="false"/>
<plugin
id="org.eclipse.text"
download-size="288"
install-size="577"
version="3.12.0.v20210512-1644"
unpack="false"/>
<plugin
id="org.eclipse.jface.text"
download-size="1021"
install-size="2137"
version="3.18.0.v20210512-1640"
unpack="false"/>
<plugin
id="org.eclipse.jsch.core"
download-size="40"
install-size="75"
version="1.3.900.v20200422-1935"
unpack="false"/>
<plugin
id="org.eclipse.jsch.ui"
download-size="91"
install-size="180"
version="1.4.0.v20210426-0843"
unpack="false"/>
<plugin
id="org.eclipse.ui.console"
download-size="205"
install-size="378"
version="3.11.0.v20210510-1914"
unpack="false"/>
<plugin
id="org.eclipse.ui.intro"
download-size="337"
install-size="661"
version="3.6.200.v20210409-1747"
unpack="false"/>
<plugin
id="org.eclipse.ui.intro.universal"
download-size="2144"
install-size="2741"
version="3.4.200.v20210409-1747"
unpack="false"/>
<plugin
id="org.eclipse.ui.cheatsheets"
download-size="379"
install-size="733"
version="3.7.300.v20210507-0822"
unpack="false"/>
<plugin
id="org.eclipse.ui.browser"
download-size="203"
install-size="337"
version="3.6.1100.v20210118-1327"
unpack="false"/>
<plugin
id="org.eclipse.ui.genericeditor"
download-size="143"
install-size="341"
version="1.2.0.v20210129-1224"
unpack="false"/>
<plugin
id="org.eclipse.ui.monitoring"
download-size="59"
install-size="110"
version="1.2.0.v20210111-1353"
unpack="false"/>
<plugin
id="org.eclipse.ui.navigator"
download-size="416"
install-size="876"
version="3.10.100.v20210415-0924"
unpack="false"/>
<plugin
id="org.eclipse.ui.navigator.resources"
download-size="169"
install-size="348"
version="3.8.100.v20210319-0848"
unpack="false"/>
<plugin
id="org.eclipse.ui.net"
download-size="45"
install-size="84"
version="1.4.0.v20210426-0838"
unpack="false"/>
<plugin
id="org.eclipse.ui.workbench.texteditor"
download-size="653"
install-size="1376"
version="3.16.100.v20210512-1009"
unpack="false"/>
<plugin
id="org.eclipse.ui.views"
download-size="104"
install-size="187"
version="3.11.0.v20210111-1351"
unpack="false"/>
<plugin
id="org.eclipse.ui.editors"
download-size="607"
install-size="1344"
version="3.14.100.v20210513-1110"
unpack="false"/>
<plugin
id="org.eclipse.ui.externaltools"
download-size="143"
install-size="275"
version="3.5.0.v20210510-1849"
unpack="false"/>
<plugin
id="org.eclipse.ui.ide"
download-size="2421"
install-size="4780"
version="3.18.200.v20210523-1724"
unpack="false"/>
<plugin
id="org.eclipse.ui.ide.application"
download-size="110"
install-size="214"
version="1.4.100.v20210506-1050"
unpack="false"/>
<plugin
id="org.eclipse.ui.win32"
ws="win32"
download-size="22"
install-size="41"
version="3.4.400.v20200414-1247"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.filesystem.linux.x86_64"
os="linux"
arch="x86_64"
download-size="11"
install-size="21"
version="1.2.300.v20180828-0158"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.filesystem.macosx"
os="macosx"
download-size="25"
install-size="160"
version="1.3.300.v20210427-1937"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.resources.win32.x86_64"
os="win32"
arch="x86_64"
download-size="57"
install-size="109"
version="3.5.400.v20190812-0909"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.filesystem.win32.x86_64"
os="win32"
arch="x86_64"
download-size="37"
install-size="73"
version="1.4.200.v20190812-0909"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.variables"
download-size="35"
install-size="64"
version="3.5.0.v20210510-1945"
unpack="false"/>
<plugin
id="org.eclipse.ui.forms"
download-size="323"
install-size="642"
version="3.11.100.v20210108-1139"
unpack="false"/>
<plugin
id="org.eclipse.ui.views.properties.tabbed"
download-size="107"
install-size="217"
version="3.9.100.v20201223-1348"
unpack="false"/>
<plugin
id="org.eclipse.equinox.security"
download-size="110"
install-size="230"
version="1.3.600.v20210126-1005"
unpack="false"/>
<plugin
id="org.eclipse.equinox.security.ui"
download-size="167"
install-size="318"
version="1.3.0.v20210121-0947"
unpack="false"/>
<plugin
id="org.eclipse.equinox.security.win32.x86_64"
os="win32"
arch="x86_64"
download-size="40"
install-size="74"
version="1.1.200.v20190812-0919"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.equinox.security.macosx"
os="macosx"
download-size="28"
install-size="165"
version="1.101.400.v20210427-1958"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.equinox.security.linux"
os="linux"
download-size="23"
install-size="35"
version="1.0.100.v20210419-1942"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.equinox.security.linux.x86_64"
os="linux"
arch="x86_64"
download-size="7"
install-size="11"
version="1.1.500.v20210125-1508"
fragment="true"
unpack="false"/>
<plugin
id="org.eclipse.core.externaltools"
download-size="42"
install-size="80"
version="1.2.0.v20210510-1841"
unpack="false"/>
<plugin
id="org.eclipse.core.runtime"
download-size="69"
install-size="149"
version="3.22.0.v20210506-1025"
unpack="false"/>
<plugin
id="org.eclipse.ui.intro.quicklinks"
download-size="23"
install-size="43"
version="1.1.100.v20210315-0954"
unpack="false"/>
<plugin
id="org.eclipse.team.genericeditor.diff.extension"
download-size="16"
install-size="23"
version="1.1.0.v20210426-0951"
unpack="false"/>
<plugin
id="org.eclipse.urischeme"
download-size="51"
install-size="98"
version="1.1.400.v20210407-1558"
unpack="false"/>
<plugin
id="org.eclipse.ui.views.log"
download-size="169"
install-size="292"
version="1.2.1500.v20210315-1034"
unpack="false"/>
</feature>

View File

@@ -16,7 +16,7 @@
<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="org.apache.servicemix.bundles.avro" version="0.0.0" match="greaterOrEqual"/>
<import plugin="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"/>

View File

@@ -57,3 +57,4 @@ Import-Package: org.eclipse.gef.commands,
Bundle-Activator: org.talend.commons.ui.runtime.CommonUIPlugin
Bundle-ActivationPolicy: lazy
Bundle-Vendor: .Talend SA.
Automatic-Module-Name: org.talend.common.ui.runtime

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

View File

@@ -105,4 +105,10 @@ public class TalendUI {
}
public static class Events {
public static final String EVENT_UPDATE = "TalendUI.update";
}
}

View File

@@ -115,6 +115,8 @@ 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

@@ -55,7 +55,7 @@ public final class TooltipPopup {
private boolean visible;
public Popup(Shell parent) {
super(parent, SWT.ON_TOP, false, false, false, false, null, null);
super(parent, SWT.ON_TOP, false, false, false, false, false, null, null);
}
@Override

View File

@@ -69,6 +69,10 @@ 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

@@ -7,7 +7,6 @@ Bundle-Version: 8.8.8.qualifier
Require-Bundle: org.apache.log4j,
org.apache.commons.commons-beanutils,
org.apache.commons.collections,
org.apache.commons.httpclient,
org.apache.commons.lang,
org.eclipse.core.runtime,
org.eclipse.emf.ecore.xmi,

View File

@@ -1,108 +0,0 @@
// ============================================================================
//
// 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.i18n;
import java.util.Collections;
import java.util.List;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.eclipse.core.runtime.IProgressMonitor;
/**
* DOC wzhang class global comment. Detailled comment
*/
public class BabiliUpdateUtil {
private static final String REVERSION_LIST = "http://talendforge.org/babili/api/get_labels.php"; //$NON-NLS-1$
/**
*
* DOC wzhang Comment method "getBabiliList". get the list from Babili.
*
* @param language
* @param validated
* @param version
* @return
* @throws Exception
* @deprecated
*/
public static List<BabiliInfo> getBabiliList(String language, boolean validated, String version, IProgressMonitor monitor)
throws Exception {
StringBuffer url = new StringBuffer();
url.append(REVERSION_LIST).append("?language=").append(language).append("&validated_only=").append(validated).append( //$NON-NLS-1$ //$NON-NLS-2$
"&release=").append(version); //$NON-NLS-1$
checkProcessCancel(monitor);
String jsonContent = sendGetRequest(url.toString());
checkProcessCancel(monitor);
return parseJsonObject(jsonContent, BabiliInfo.class, monitor);
}
/**
*
* DOC wzhang Comment method "sendGetRequest".
*
* @param url
* @return
* @throws Exception
* @deprecated
*/
public static String sendGetRequest(String url) throws Exception {
HttpClient httpclient = new HttpClient();
GetMethod getMethod = new GetMethod(url);
httpclient.executeMethod(getMethod);
String response = getMethod.getResponseBodyAsString();
getMethod.releaseConnection();
return response;
}
/**
*
* DOC wzhang Comment method "parseJsonObject".
*
* @param jsonContent
* @param clazz
* @return
* @throws Exception
* @deprecated
*/
public static List parseJsonObject(String jsonContent, Class clazz, IProgressMonitor monitor) throws Exception {
// need factory for creating parser to use
// JsonFactory jf = new JsonFactory();
// List result = (List) new JavaTypeMapper().read(jf.createJsonParser(new StringReader(jsonContent)));
// List objList = new ArrayList(result.size());
// for (int i = 0; i < result.size(); i++) {
// checkProcessCancel(monitor);
// Object obj = clazz.newInstance();
// Object source = result.get(i);
// BeanUtils.copyProperties(obj, source);
// objList.add(obj);
// }
// return objList;
return Collections.emptyList();
}
/**
*
* wzhang Comment method "checkProcessCancel".
*
* @param monitor
* @throws ImportBabiliCancelException
* @deprecated
*/
public static void checkProcessCancel(IProgressMonitor monitor) throws ImportBabiliCancelException {
if (monitor != null && monitor.isCanceled()) {
throw new ImportBabiliCancelException();
}
}
}

View File

@@ -15,6 +15,7 @@ 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;
@@ -45,6 +46,10 @@ 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);
@@ -52,6 +57,12 @@ 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

@@ -13,6 +13,7 @@
package org.talend.commons.utils;
import java.security.SecureRandom;
import java.util.regex.Pattern;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
@@ -34,6 +35,8 @@ 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

@@ -23,7 +23,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.talend.libraries.ui,
org.eclipse.ui.workbench,
org.talend.studio.studio-utils,
org.apache.commons.lang3
org.apache.commons.lang3,
org.eclipse.jface.notifications
Eclipse-LazyStart: true
Bundle-Vendor: .Talend SA.
Export-Package: org.talend.commons.ui.command,
@@ -31,6 +32,7 @@ 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

@@ -12,10 +12,10 @@
// ============================================================================
package org.talend.commons.ui.html;
import java.net.URLDecoder;
import java.util.Properties;
import org.eclipse.ui.internal.intro.impl.model.loader.ModelLoaderUtil;
import org.eclipse.ui.internal.intro.impl.util.StringUtil;
import org.eclipse.ui.intro.config.IIntroAction;
import org.eclipse.ui.intro.config.IIntroURL;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
@@ -60,7 +60,7 @@ public class DynamicHtmlURL implements IIntroURL {
// we are told to decode the parameters of the url through
// the decode parameter. Assume that parameters are
// UTF-8 encoded.
return StringUtil.decode(value, "UTF-8"); //$NON-NLS-1$
return URLDecoder.decode(value, "UTF-8"); //$NON-NLS-1$
return value;
} catch (Exception e) {
ExceptionHandler.process(e);

View File

@@ -0,0 +1,133 @@
// ============================================================================
//
// 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

@@ -0,0 +1,81 @@
// ============================================================================
//
// 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

@@ -17,6 +17,7 @@ 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;
/**
@@ -88,6 +89,11 @@ 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

@@ -20,6 +20,7 @@ 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;
/**
@@ -130,6 +131,11 @@ 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

@@ -573,7 +573,7 @@ public class ContentProposalAdapterExtended {
* Construct an info-popup with the specified parent.
*/
InfoPopupDialog(Shell parent) {
super(parent, PopupDialog.HOVER_SHELLSTYLE, false, false, false, false, null, null);
super(parent, PopupDialog.HOVER_SHELLSTYLE, false, false, false, false, false, null, null);
}
/*
@@ -707,7 +707,7 @@ public class ContentProposalAdapterExtended {
// On platforms where SWT.ON_TOP overrides SWT.RESIZE, we will live
// with this.
// See https://bugs.eclipse.org/bugs/show_bug.cgi?id=126138
super(control.getShell(), SWT.RESIZE | SWT.ON_TOP, false, false, false, false, null, infoText);
super(control.getShell(), SWT.RESIZE | SWT.ON_TOP, false, false, false, false, false, null, infoText);
filterText = EMPTY;
updateIntialFilterText();
previousFilterText = filterText;

View File

@@ -320,14 +320,13 @@ public class SimpleHtmlFigure extends Figure {
@SuppressWarnings("unchecked")
private Dimension computePreferedSize() {
Dimension size = new Dimension();
// Vertical path
List<IFigure> children = getChildren();
List<IFigure> children = (List<IFigure>) getChildren();
for (IFigure fv : children) {
// Horizontal path
Dimension sizeH = new Dimension();
List<IFigure> childrenH = fv.getChildren();
List<IFigure> childrenH = (List<IFigure>) fv.getChildren();
for (IFigure fh : childrenH) {
sizeH.width += fh.getPreferredSize().width;
sizeH.height = Math.max(sizeH.height, fh.getPreferredSize().height);

View File

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

@@ -127,14 +127,13 @@ JobletReferenceDialog.NodeTotalsTip=The totals of node reference
JobletReferenceDialog.project=Project
JobletReferenceDialog.ReferenceJob=Reference Job
JobletReferenceDialog.Title=Delete the joblet failure
ContextReferenceDialog.Title=Delete Context Group
ContextReferenceDialog.DeleteContext.Title=Delete Context
ContextReferenceDialog.Recycle=in Recycle Bin
ContextReferenceDialog.ReferenceJob=Reference Objects
ContextReferenceDialog.Types=Type
ContextReferenceDialog.NodeTypeTip=The type of node reference
ContextReferenceDialog.Messages=Context({0} {1}) is referenced from\:\n
ContextReferenceDialog.kindMessages=The context group of {0} {1} is referred by the following list, if you really want to delete it, the context group is used in job will be changed to built-in when job is opened again. Would you still like to delete it?
ContextReferenceDialog.kindMessages1=The context group of {0} {1} is referred by the following list, Would you still like to delete it?
ContextReferenceDialog.kindMessages2=The context 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
@@ -156,6 +155,7 @@ ProjectRepositoryNode.invalidItem=Invalid item
ProjectRepositoryNode.columns=Columns
ProjectRepositoryNode.validationRules=Validation Rules
ProjectRepositoryNode.cdcFoundation=CDC Foundation
ProjectRepositoryNode.cdcFoundation.deprecated=CDC Foundation (deprecated)
ProjectRepositoryNode.genericSchema=Generic schemas
ProjectRepositoryNode.queries=Queries
ProjectRepositoryNode.synonymSchemas=Synonym schemas

View File

@@ -127,14 +127,13 @@ 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.Title=Supprimer le groupe de contextes
ContextReferenceDialog.DeleteContext.Title=Supprimer le contexte
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.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 ?
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?
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
@@ -156,6 +155,7 @@ ProjectRepositoryNode.invalidItem=\u00C9l\u00E9ment invalide
ProjectRepositoryNode.columns=Colonnes
ProjectRepositoryNode.validationRules=R\u00E8gles de validation
ProjectRepositoryNode.cdcFoundation=Fondation CDC
ProjectRepositoryNode.cdcFoundation.deprecated=Fondation CDC (d\u00E9pr\u00E9ci\u00E9)
ProjectRepositoryNode.genericSchema=Sch\u00E9mas g\u00E9n\u00E9riques
ProjectRepositoryNode.queries=Requ\u00EAtes
ProjectRepositoryNode.synonymSchemas=Sch\u00E9mas synonymes

View File

@@ -127,14 +127,13 @@ 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.Title=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664
ContextReferenceDialog.DeleteContext.Title=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306E\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.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?
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?
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
@@ -156,6 +155,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.cdcFoundation.deprecated=CDC Foundation (\u975E\u63A8\u5968)
ProjectRepositoryNode.genericSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.queries=\u30AF\u30A8\u30EA\u30FC
ProjectRepositoryNode.synonymSchemas=\u30B7\u30CE\u30CB\u30E0\u30B9\u30AD\u30FC\u30DE

View File

@@ -127,14 +127,13 @@ 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.Title=\u5220\u9664\u73AF\u5883\u7EC4
ContextReferenceDialog.DeleteContext.Title=\u5220\u9664\u4E0A\u4E0B\u6587
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.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
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
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
@@ -156,6 +155,7 @@ ProjectRepositoryNode.invalidItem=\u65E0\u6548\u9879\u76EE
ProjectRepositoryNode.columns=\u5217
ProjectRepositoryNode.validationRules=\u9A8C\u8BC1\u89C4\u5219
ProjectRepositoryNode.cdcFoundation=CDC Foundation
ProjectRepositoryNode.cdcFoundation.deprecated=CDC Foundation (\u5DF2\u5F03\u7528)
ProjectRepositoryNode.genericSchema=\u901A\u7528 schema
ProjectRepositoryNode.queries=\u67E5\u8BE2
ProjectRepositoryNode.synonymSchemas=\u540C\u4E49\u5B57 schema

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.JOB_SCRIPT, ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS };
List<IRepositoryViewObject> deletedItems = new ArrayList<IRepositoryViewObject>();
for (ERepositoryObjectType type : types) {

View File

@@ -184,6 +184,7 @@ 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

@@ -35,6 +35,7 @@ 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;
@@ -92,9 +93,11 @@ 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;
@@ -646,7 +649,9 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (RepositoryNodeManager.isSnowflake(currentType)) {
continue;
}
if (currentType != null) {
buildFolders(rootNode, currentType, folderPath, rootNode);
}
@@ -819,7 +824,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
* @return
*/
private RepositoryNode getFolder(ERepositoryObjectType currentType, String path, List<IRepositoryNode> rootNodes) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType)) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType) || RepositoryNodeManager.isSnowflake(currentType)
|| (ITaCoKitService.getInstance() != null && ITaCoKitService.getInstance().isTaCoKitType(currentType))) {
currentType = ERepositoryObjectType.METADATA_CONNECTIONS;
}
if (path == null || path.isEmpty()) {
@@ -1330,7 +1336,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
private void addNode(RepositoryNode parent, ERepositoryObjectType type, IRepositoryViewObject repositoryObject,
public 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
@@ -1340,16 +1346,22 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
Connection conn = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
if(conn instanceof DatabaseConnection){
dbMetadataConnection = (DatabaseConnection) conn;
isAvaliableInTOS = EDatabaseTypeName.getTypeFromDbType(dbMetadataConnection.getDatabaseType(), false) == null ? false
: true;
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;
}
}
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) {
@@ -1408,22 +1420,32 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (isAvaliableInTOS) {
if (isAvaliableInTOS && node != null) {
parent.getChildren().add(node);
}
}
if (null != connection) {
if (null != connection && node != null) {
createTables(node, repositoryObject, connection, validationRules);
}
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
handler.addNode(type, recBinNode, repositoryObject, node);
if (node != null) {
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);
@@ -1590,7 +1612,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
return objs;
}
private void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
public void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
List<IRepositoryViewObject> validationRules) {
// // 5.GENERIC SCHEMAS
@@ -1701,11 +1723,11 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
DatabaseConnectionItem connectionItem = (DatabaseConnectionItem) item;
DatabaseConnection connection = (DatabaseConnection) connectionItem.getConnection();
if (PluginChecker.isCDCPluginLoaded()) {
ICDCProviderService service = GlobalServiceRegister.getDefault()
.getService(ICDCProviderService.class);
ICDCProviderService service = GlobalServiceRegister.getDefault().getService(ICDCProviderService.class);
if (service != null && service.canCreateCDCConnection(connection)) {
RepositoryNode cdcNode = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.cdcFoundation"), //$NON-NLS-1$
Messages.getString("ProjectRepositoryNode.cdcFoundation.deprecated"), //$NON-NLS-1$
ECoreImage.FOLDER_CLOSE_ICON);
node.getChildren().add(cdcNode);
service.createCDCTypes(recBinNode, cdcNode, connection.getCdcConns());

View File

@@ -2207,6 +2207,13 @@ 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);

View File

@@ -21,7 +21,9 @@ 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;
@@ -79,6 +81,7 @@ 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;
@@ -97,6 +100,7 @@ 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;
@@ -338,6 +342,25 @@ 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);
@@ -477,6 +500,13 @@ 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;

View File

@@ -606,6 +606,8 @@ public class DuplicateAction extends AContextualAction {
item = PropertiesFactory.eINSTANCE.createSalesforceSchemaConnectionItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_SAPCONNECTIONS) {
item = PropertiesFactory.eINSTANCE.createSAPConnectionItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS) {
item = PropertiesFactory.eINSTANCE.createBigQueryConnectionItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_WSDL_SCHEMA) {
item = PropertiesFactory.eINSTANCE.createWSDLSchemaConnectionItem();
} else if (repositoryType == ERepositoryObjectType.PROCESS) {

View File

@@ -18,6 +18,8 @@ import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.ui.PlatformUI;
@@ -30,12 +32,15 @@ import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.RepositoryManager;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.JobletReferenceBean;
import org.talend.core.repository.model.ProjectRepositoryNode;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject;
import org.talend.core.repository.ui.actions.metadata.CopyToGenericSchemaHelper;
import org.talend.core.repository.ui.dialog.JobletReferenceDialog;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.IRepositoryNode;
import org.talend.repository.model.IRepositoryNode.ENodeType;
@@ -155,8 +160,11 @@ public class MoveObjectAction {
switch (targetNode.getType()) {
case SYSTEM_FOLDER:
case SIMPLE_FOLDER:
boolean booleanValue = ((ERepositoryObjectType) targetNode.getProperties(EProperties.CONTENT_TYPE))
.equals(sourceNode.getProperties(EProperties.CONTENT_TYPE));
ERepositoryObjectType sourceType = (ERepositoryObjectType) sourceNode.getProperties(EProperties.CONTENT_TYPE);
ERepositoryObjectType targetType = (ERepositoryObjectType) targetNode.getProperties(EProperties.CONTENT_TYPE);
boolean booleanValue = sourceType == targetType || (ERepositoryObjectType.METADATA_CONNECTIONS == targetType
&& (ERepositoryObjectType.METADATA_TACOKIT_JDBC == sourceType
|| RepositoryNodeManager.isSnowflake(sourceType)));
if (isGenericSchema) {
return true;
} else {
@@ -274,7 +282,9 @@ public class MoveObjectAction {
targetPath = (targetNode == null ? new Path("") : RepositoryNodeUtilities.getPath(targetNode)); //$NON-NLS-1$
}
List<IRepositoryViewObject> objectToMoves = new ArrayList<IRepositoryViewObject>();
List<IRepositoryViewObject> snowflakeToMove = new ArrayList<>();
Map<IRepositoryViewObject, IPath> map = new HashMap<IRepositoryViewObject, IPath>();
Map<IRepositoryViewObject, IPath> snowflakeMap = new HashMap<>();
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
for (RepositoryNode sourceNode : nodeList) {
IPath sourcePath = RepositoryNodeUtilities.getPath(sourceNode);
@@ -298,6 +308,18 @@ public class MoveObjectAction {
// Move :
if (isGenericSchema) {
CopyToGenericSchemaHelper.copyToGenericSchema(factory, objectToMove, targetPath);
} else if (RepositoryNodeManager.isSnowflake(sourceNode.getObjectType())
&& ERepositoryObjectType.METADATA_CONNECTIONS == targetNode.getContentType()
&& (ENodeType.SYSTEM_FOLDER == targetNode.getType()
|| ENodeType.SIMPLE_FOLDER == targetNode.getType())) {
if (!ProjectRepositoryNode.class.isInstance(targetNode.getParent())
&& targetNode.getObject() != null) {
factory.createFolder(ERepositoryObjectType.SNOWFLAKE,
RepositoryNodeUtilities.getPath(targetNode.getParent()),
targetNode.getObject().getProperty().getLabel());
}
snowflakeToMove.add(objectToMove);
snowflakeMap.put(objectToMove, sourcePath);
} else {
// MOD gdbu 2011-9-29 TDQ-3546
ERepositoryObjectType repositoryObjectType = objectToMove.getRepositoryObjectType();
@@ -325,6 +347,18 @@ public class MoveObjectAction {
// Source is a folder :
ERepositoryObjectType sourceType = (ERepositoryObjectType) sourceNode.getProperties(EProperties.CONTENT_TYPE);
factory.moveFolder(sourceType, sourcePath, targetPath);
if (ERepositoryObjectType.SNOWFLAKE != null) {
String snowflakePath = ERepositoryObjectType.getFolderName(ERepositoryObjectType.SNOWFLAKE);
if (!sourcePath.isEmpty()) {
snowflakePath += IPath.SEPARATOR + sourcePath.toString();
}
IProject project = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder folder = ResourceUtils.getFolder(project, snowflakePath, false);
if (folder.exists() && folder.members().length > 0) {
factory.moveFolder(ERepositoryObjectType.SNOWFLAKE, sourcePath, targetPath);
}
}
}
}
if (objectToMoves.size() > 0) {
@@ -335,6 +369,10 @@ public class MoveObjectAction {
}
factory.moveObjectMulti(objectArray, targetPath, map);
}
if (!snowflakeToMove.isEmpty()) {
factory.moveObjectMulti(snowflakeToMove.toArray(new IRepositoryViewObject[] {}),
RepositoryNodeUtilities.getPath(targetNode), snowflakeMap);
}
}
public void execute(RepositoryNode sourceNode, RepositoryNode targetNode, boolean isDnd) throws Exception {

View File

@@ -18,6 +18,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
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;
@@ -37,6 +39,7 @@ import org.talend.commons.runtime.model.repository.ERepositoryStatus;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.utils.workbench.resources.ResourceUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ITDQRepositoryService;
import org.talend.core.model.metadata.builder.connection.AbstractMetadataObject;
@@ -49,6 +52,7 @@ import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.ISubRepositoryObject;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.service.ICoreUIService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.repository.ProjectManager;
@@ -111,9 +115,42 @@ public class RestoreAction extends AContextualAction {
Item item = node.getObject().getProperty().getItem();
if (item instanceof FolderItem) {
item.getState().setDeleted(false);
if (nodeType == ERepositoryObjectType.METADATA_CONNECTIONS && ERepositoryObjectType.SNOWFLAKE != null) {
IPath sfPath = new Path(node.getObject().getPath()).append(node.getObject().getLabel());
String fullPath = ERepositoryObjectType.SNOWFLAKE.getFolder() + IPath.SEPARATOR + sfPath;
IProject rsProject = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder sfFolder = ResourceUtils.getFolder(rsProject, fullPath, false);
if (sfFolder.exists()) {
FolderItem sfItem = ProxyRepositoryFactory.getInstance().getFolderItem(ProjectManager.getInstance().getCurrentProject(),
ERepositoryObjectType.SNOWFLAKE, sfPath);
sfItem.getState().setDeleted(false);
while (sfPath.segmentCount() > 1) {
sfPath = sfPath.removeLastSegments(1);
FolderItem parentItem = ProxyRepositoryFactory.getInstance().getFolderItem(
ProjectManager.getInstance().getCurrentProject(), ERepositoryObjectType.SNOWFLAKE,
sfPath);
if (ProxyRepositoryFactory.getInstance().getStatus(parentItem) == ERepositoryStatus.DELETED) {
parentItem.getState().setDeleted(false);
}
}
}
}
} else {
RestoreObjectAction restoreObjectAction = RestoreObjectAction.getInstance();
restoreObjectAction.execute(node, null, path);
if (RepositoryNodeManager.isSnowflake(nodeType)) {
IPath sfPath = new Path(node.getObject().getPath()).append(node.getObject().getLabel());
while (sfPath.segmentCount() > 1) {
sfPath = sfPath.removeLastSegments(1);
FolderItem parentItem = ProxyRepositoryFactory.getInstance().getFolderItem(
ProjectManager.getInstance().getCurrentProject(), ERepositoryObjectType.SNOWFLAKE, sfPath);
if (ProxyRepositoryFactory.getInstance().getStatus(parentItem) == ERepositoryStatus.DELETED) {
parentItem.getState().setDeleted(false);
}
}
}
// MOD qiongli 2012-10-16 TDQ-6166 notify sql exploere when restore a connection.
if (item instanceof DatabaseConnectionItem) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQRepositoryService.class)) {

View File

@@ -129,7 +129,7 @@ public class ContextReferenceDialog extends SelectionDialog {
Item item = objToDelete.getProperty().getItem();
if (item != null) {
setMessage(Messages.getString(
"ContextReferenceDialog.kindMessages1", item.getProperty().getLabel(), item.getProperty().getVersion())); //$NON-NLS-1$
"ContextReferenceDialog.kindMessages2", item.getProperty().getLabel(), item.getProperty().getVersion())); //$NON-NLS-1$
}
}
setHelpAvailable(false);
@@ -138,7 +138,7 @@ public class ContextReferenceDialog extends SelectionDialog {
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(Messages.getString("ContextReferenceDialog.Title")); //$NON-NLS-1$
newShell.setText(Messages.getString("ContextReferenceDialog.DeleteContext.Title")); //$NON-NLS-1$
newShell.setSize(650, 250);
}

View File

@@ -62,6 +62,7 @@ import org.talend.core.repository.ui.actions.CopyObjectAction;
import org.talend.core.repository.ui.actions.MoveObjectAction;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.ConvertJobsUtil;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.service.ITransformService;
@@ -379,7 +380,7 @@ public class RepositoryDropAdapter extends PluginDropAdapter {
if (target == null) {
return false;
}
super.validateDrop(target, operation, transferType);
// super.validateDrop(target, operation, transferType);
boolean isValid = true;
Set<IResource> parents = new HashSet<IResource>();
for (Object obj : ((StructuredSelection) getViewer().getSelection()).toArray()) {
@@ -459,6 +460,24 @@ public class RepositoryDropAdapter extends PluginDropAdapter {
}
}
}
} else if (object.getRepositoryObjectType() == ERepositoryObjectType.METADATA_TACOKIT_JDBC) {
if (target instanceof RepositoryNode) {
RepositoryNode targetRN = (RepositoryNode) target;
if (ENodeType.SYSTEM_FOLDER == targetRN.getType() || ENodeType.SIMPLE_FOLDER == targetRN.getType()) {
if (targetRN.getContentType() == ERepositoryObjectType.METADATA_CONNECTIONS) {
return isValid = true;
}
}
}
} else if (RepositoryNodeManager.isSnowflake(object.getRepositoryObjectType())) {
if (target instanceof RepositoryNode) {
RepositoryNode targetRN = (RepositoryNode) target;
if (ENodeType.SYSTEM_FOLDER == targetRN.getType() || ENodeType.SIMPLE_FOLDER == targetRN.getType()) {
if (targetRN.getContentType() == ERepositoryObjectType.METADATA_CONNECTIONS) {
return isValid = true;
}
}
}
}
}

View File

@@ -155,4 +155,8 @@ public class RepositoryNodeManager {
return isTacokit;
}
public static boolean isSnowflake(ERepositoryObjectType type) {
return ERepositoryObjectType.SNOWFLAKE != null && ERepositoryObjectType.SNOWFLAKE == type;
}
}

View File

@@ -8,6 +8,7 @@ Bundle-Localization: plugin
Bundle-Vendor: .Talend SA.
Export-Package: org.json.simple,
org.talend.analysistask,
org.talend.commons.report,
org.talend.commons.utils.generation,
org.talend.commons.utils.io,
org.talend.commons.utils.workbench.resources,
@@ -127,7 +128,6 @@ Require-Bundle: org.eclipse.jdt.core,
org.talend.commons.ui,
org.ops4j.pax.url.mvn,
org.talend.components.api,
org.apache.servicemix.bundles.avro,
jackson-core-asl,
org.talend.libraries.jackson,
org.eclipse.m2e.core,
@@ -145,7 +145,8 @@ Require-Bundle: org.eclipse.jdt.core,
org.apache.commons.lang3,
com.fasterxml.jackson.core.jackson-annotations,
com.fasterxml.jackson.core.jackson-databind,
com.fasterxml.jackson.core.jackson-core
com.fasterxml.jackson.core.jackson-core,
avro
Bundle-Activator: org.talend.core.runtime.CoreRuntimePlugin
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .,

View File

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

View File

@@ -43,9 +43,9 @@
<dbType type="BIT" default="true" />
</talendType>
<talendType type="id_Byte">
<dbType type="TINYINT" default="true" />
<dbType type="INT" default="true" />
<dbType type="BIGINT" />
<dbType type="INT" />
<dbType type="TINYINT" />
<dbType type="SMALLINT" />
</talendType>
<talendType type="id_byte[]">
@@ -204,8 +204,8 @@
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer"/>
<talendType type="id_Integer" default="true" />
<talendType type="id_Byte"/>
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>

View File

@@ -53,7 +53,9 @@ tWebServiceInput=java.base/java.lang
TCK_COMMON_ARGS=java.base/java.io,java.base/java.lang.invoke,java.base/java.lang.reflect,java.base/java.lang,java.base/java.net,java.base/java.nio,java.base/java.util,java.base/sun.nio.ch
# BigData distribution
SPARK_3_4_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_3_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_2_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_1_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_0_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_2_4_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar

View File

@@ -26,26 +26,12 @@ 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.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.widgets.WidgetFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.report.ItemsReportUtil;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.commons.report.ReportAccessDialog;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.Item;
@@ -175,8 +161,10 @@ public class ItemAnalysisReportManager {
boolean generateSuccess = ItemsReportUtil.generateReportFile(reportFile, ANALYSIS_REPORT_HEAD, recordLines);
if (generateSuccess) {
Display.getDefault().asyncExec(() -> {
AnalysisReportAccessDialog accessDialog = new AnalysisReportAccessDialog(
ReportAccessDialog accessDialog = new ReportAccessDialog(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),
Messages.getString("AnalysisReportAccessDialog.shellTitle"),
Messages.getString("AnalysisReportAccessDialog.generateSuccess"),
reportFile.getAbsolutePath());
accessDialog.open();
});
@@ -240,76 +228,3 @@ public class ItemAnalysisReportManager {
}
}
class AnalysisReportAccessDialog extends Dialog {
private String reportGeneratedFile;
protected AnalysisReportAccessDialog(Shell parentShell, String reportGeneratedFile) {
super(parentShell);
this.reportGeneratedFile = reportGeneratedFile;
}
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(Messages.getString("AnalysisReportAccessDialog.shellTitle"));
}
@Override
protected void initializeBounds() {
getShell().setSize(700, 190);
Point location = getInitialLocation(getShell().getSize());
getShell().setLocation(location.x, location.y);
}
@Override
protected Control createDialogArea(Composite parent) {
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
Composite container = WidgetFactory.composite(SWT.NONE).layout(layout).layoutData(new GridData(GridData.FILL_BOTH))
.create(parent);
applyDialogFont(container);
Composite composite = new Composite(container, SWT.NONE);
GridLayout compositeLayout = new GridLayout();
compositeLayout.numColumns = 1;
compositeLayout.marginWidth = 0;
compositeLayout.marginTop = 8;
compositeLayout.marginLeft = 10;
composite.setLayout(compositeLayout);
Label successMsgLabel = new Label(composite, SWT.NONE);
successMsgLabel.setText(Messages.getString("AnalysisReportAccessDialog.generateSuccess"));
GridData gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL);
successMsgLabel.setLayoutData(gridData);
Link accessLink = new Link(composite, SWT.NONE);
accessLink.setText(Messages.getString("AnalysisReportAccessDialog.completeReportAvailable") + " <a>"
+ Messages.getString("AnalysisReportAccessDialog.accessReport") + "</a> ");
accessLink.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL));
accessLink.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
File reportFile = new File(reportGeneratedFile);
if (reportFile != null && reportFile.exists()) {
try {
FilesUtils.selectFileInSystemExplorer(reportFile);
} catch (Exception excep) {
ExceptionHandler.process(excep);
}
}
}
});
return container;
}
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
}
}

View File

@@ -0,0 +1,128 @@
// ============================================================================
//
// 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.report;
import java.io.File;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.widgets.WidgetFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.core.runtime.i18n.Messages;
/**
* DOC jding class global comment. Detailled comment
*/
public class ReportAccessDialog extends Dialog {
private String shellTitle;
private String message;
private String reportGeneratedFile;
public ReportAccessDialog(Shell parentShell, String shellTitle, String message, String reportGeneratedFile) {
super(parentShell);
this.shellTitle = shellTitle;
this.message = message;
this.reportGeneratedFile = reportGeneratedFile;
}
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(shellTitle);
}
@Override
protected void initializeBounds() {
getShell().setSize(700, 190);
Point location = getInitialLocation(getShell().getSize());
getShell().setLocation(location.x, location.y);
}
@Override
protected Control createDialogArea(Composite parent) {
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
Composite container = WidgetFactory.composite(SWT.NONE).layout(layout).layoutData(new GridData(GridData.FILL_BOTH))
.create(parent);
applyDialogFont(container);
Composite composite = new Composite(container, SWT.NONE);
GridLayout compositeLayout = new GridLayout();
compositeLayout.numColumns = 1;
compositeLayout.marginWidth = 0;
compositeLayout.marginTop = 8;
compositeLayout.marginLeft = 10;
composite.setLayout(compositeLayout);
Label successMsgLabel = new Label(composite, SWT.NONE);
successMsgLabel.setText(message);
GridData gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL);
successMsgLabel.setLayoutData(gridData);
Composite noteComp = new Composite(composite, SWT.NONE);
noteComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
noteComp.setLayout(new FormLayout());
Label noteLabel = new Label(noteComp, SWT.NONE);
noteLabel.setText(Messages.getString("AnalysisReportAccessDialog.completeReportAvailable"));
FormData noteLabelFormData = new FormData();
noteLabelFormData.bottom = new FormAttachment(100, -5);
noteLabelFormData.left = new FormAttachment(0, 0);
noteLabel.setLayoutData(noteLabelFormData);
Button browseBtn = new Button(noteComp, SWT.NONE);
browseBtn.setText(Messages.getString("AnalysisReportAccessDialog.accessBrowse"));
FormData linkFormData = new FormData();
linkFormData.top = new FormAttachment(0, 0);
linkFormData.left = new FormAttachment(noteLabel, 5);
browseBtn.setLayoutData(linkFormData);
browseBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
File reportFile = new File(reportGeneratedFile);
if (reportFile != null && reportFile.exists()) {
try {
FilesUtils.selectFileInSystemExplorer(reportFile);
} catch (Exception excep) {
ExceptionHandler.process(excep);
}
}
}
});
return container;
}
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
}
}

View File

@@ -60,8 +60,6 @@ public interface ITDQRepositoryService extends IService {
*/
public void notifySQLExplorer(Item... items);
public void fillMetadata(ConnectionItem connItem);
public void refresh();
// Added 20120503 yyin

View File

@@ -43,6 +43,8 @@ public class PluginChecker {
private static final String CDC_PLUGIN_ID = "org.talend.designer.cdc"; //$NON-NLS-1$
private static final String SAP_WZIARD_PLUGIN_ID = "org.talend.repository.sap"; //$NON-NLS-1$
private static final String BIGQUERY_WZIARD_PLUGIN_ID = "org.talend.repository.bigquery"; //$NON-NLS-1$
private static final String EBCDIC_PLUGIN_ID = "org.talend.repository.ebcdic"; //$NON-NLS-1$
@@ -246,6 +248,10 @@ public class PluginChecker {
public static boolean isSAPWizardPluginLoaded() {
return isPluginLoaded(SAP_WZIARD_PLUGIN_ID);
}
public static boolean isBigQueryWizardPluginLoaded() {
return isPluginLoaded(BIGQUERY_WZIARD_PLUGIN_ID);
}
public static boolean isEBCDICPluginLoaded() {
return isPluginLoaded(EBCDIC_PLUGIN_ID);
@@ -267,10 +273,6 @@ public class PluginChecker {
return isPluginLoaded(MDM_PLUGIN_ID);
}
public static boolean isExchangeSystemLoaded() {
return false;
}
public static boolean isRulesPluginLoaded() { // added by hyWang
return isPluginLoaded(RULES_PLUGIN_ID);
}

View File

@@ -66,7 +66,6 @@ public enum EDatabase4DriverClassName {
// Take care, PSQL is set as first here since actually the audit will take the first db with the postgresql driver
// if change the order, it might break the audit for PSQL.
PSQL(EDatabaseTypeName.PSQL, "org.postgresql.Driver"), //$NON-NLS-1$
PLUSPSQL(EDatabaseTypeName.PLUSPSQL, "org.postgresql.Driver"), //$NON-NLS-1$
GREENPLUM(EDatabaseTypeName.GREENPLUM, "com.pivotal.jdbc.GreenplumDriver"), //$NON-NLS-1$
GREENPLUM_PSQL(EDatabaseTypeName.GREENPLUM, "org.postgresql.Driver"), //$NON-NLS-1$
SAS(EDatabaseTypeName.SAS, "com.sas.rio.MVADriver"), //$NON-NLS-1$

View File

@@ -118,6 +118,7 @@ public enum EDatabaseTypeName {
// General JDBC not support schema defalut
GENERAL_JDBC(
"General JDBC", "General JDBC", Boolean.FALSE, "JDBC", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.None), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
EXASOL(
"Exasol", "Exasol", Boolean.TRUE, "Exasol", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.None), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$

View File

@@ -455,6 +455,9 @@ public class ConnParameterKeys {
public static final String CONN_PARA_KEY_UNIV_STANDALONE_EXEC_MEMORY="CONN_PARA_KEY_UNIV_STANDALONE_EXEC_MEMORY";
public static final String CONN_PARA_KEY_UNIV_STANDALONE_EXEC_CORE="CONN_PARA_KEY_UNIV_STANDALONE_EXEC_CORE";
// Spark Submit Scripts
public static final String CONN_PARA_KEY_UNIV_SPARK_SUBMIT_SCRIPT_HOME="CONN_PARA_KEY_UNIV_SPARK_SUBMIT_SCRIPT_HOME";
/**
* Redshift
*/

View File

@@ -49,10 +49,6 @@ public enum EDatabaseConnTemplate {
"jdbc:postgresql://<host>:<port>/<sid>?<property>", //$NON-NLS-1$
"5432")), //$NON-NLS-1$
PLUSPSQL(new DbConnStr(EDatabaseTypeName.PLUSPSQL, //
"jdbc:postgresql://<host>:<port>/<sid>?<property>", //$NON-NLS-1$
"5432")), //$NON-NLS-1$
GREENPLUM(new DbConnStr(EDatabaseTypeName.GREENPLUM, //
"jdbc:pivotal:greenplum://<host>:<port>;;DatabaseName=<sid>;<property>", //$NON-NLS-1$
"5432")), //$NON-NLS-1$
@@ -382,7 +378,6 @@ public enum EDatabaseConnTemplate {
case ORACLE_OCI:
case ORACLE_CUSTOM:
case PSQL:
case PLUSPSQL:
case GREENPLUM:
case REDSHIFT:
case REDSHIFT_SSO:
@@ -426,7 +421,6 @@ public enum EDatabaseConnTemplate {
case REDSHIFT_SSO:
case SAPHana:
case PSQL:
case PLUSPSQL:
case GREENPLUM:
case INGRES:
case VECTORWISE:
@@ -470,7 +464,6 @@ public enum EDatabaseConnTemplate {
case HSQLDB_IN_PROGRESS:
case MAXDB:
case PSQL:
case PLUSPSQL:
return true;
default:
}

View File

@@ -22,7 +22,7 @@ import org.talend.core.database.EDatabaseTypeName;
*/
public class DbVersion4DriversForOracle11 extends DbVersion4Drivers {
public static final String DRIVER_1_6 = "ojdbc6.jar"; //$NON-NLS-1$
public static final String DRIVER_1_6 = "ojdbc6-11.2.0.4.jar"; //$NON-NLS-1$
public static final String DRIVER_1_5 = "ojdbc5.jar"; //$NON-NLS-1$

View File

@@ -33,7 +33,7 @@ public enum EDatabaseVersion4Drivers {
ACCESS_2007(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, "Access 2007", "Access_2007")), //$NON-NLS-1$ //$NON-NLS-2$
// oracle
ORACLE_18(new DbVersion4Drivers(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID, EDatabaseTypeName.ORACLESN,
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 18 and above", "ORACLE_18", "ojdbc8-19.3.0.0.jar")),
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 18 and above", "ORACLE_18", "ojdbc8-19.19.0.0.jar")),
ORACLE_12(new DbVersion4Drivers(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID, EDatabaseTypeName.ORACLESN,
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 12 (Deprecated)", "ORACLE_12",
"ojdbc7.jar")),
@@ -54,12 +54,12 @@ public enum EDatabaseVersion4Drivers {
H2(new DbVersion4Drivers(EDatabaseTypeName.H2, "h2-2.1.214.jar")), //$NON-NLS-1$
//
JAVADB_EMBEDED(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_EMBEDED, "derby.jar")), //$NON-NLS-1$
JAVADB_EMBEDED(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_EMBEDED, "derby-10.14.2.0.jar")), //$NON-NLS-1$
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlite-jdbc-3.40.0.0.jar")), //$NON-NLS-1$
FIREBIRD(new DbVersion4Drivers(EDatabaseTypeName.FIREBIRD, "jaybird-full-2.1.1.jar")), //$NON-NLS-1$
FIREBIRD(new DbVersion4Drivers(EDatabaseTypeName.FIREBIRD, "jaybird-2.1.1.jar")), //$NON-NLS-1$
TERADATA(new DbVersion4Drivers(EDatabaseTypeName.TERADATA,
new String[] { "terajdbc4-17.10.00.27.jar" })), //$NON-NLS-1$
JAVADB_DERBYCLIENT(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_DERBYCLIENT, "derbyclient.jar")), //$NON-NLS-1$
JAVADB_DERBYCLIENT(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_DERBYCLIENT, "derbyclient-10.14.2.0.jar")), //$NON-NLS-1$
NETEZZA(new DbVersion4Drivers(EDatabaseTypeName.NETEZZA, "nzjdbc.jar")), //$NON-NLS-1$
INFORMIX(new DbVersion4Drivers(EDatabaseTypeName.INFORMIX, "ifxjdbc.jar")), //$NON-NLS-1$
@@ -79,8 +79,8 @@ public enum EDatabaseVersion4Drivers {
MSSQL_PROP(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
"Microsoft", "MSSQL_PROP", //$NON-NLS-1$ //$NON-NLS-2$
new String[] { "mssql-jdbc-actual.jar", "slf4j-api-1.7.34.jar", "slf4j-reload4j-1.7.34.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
"oauth2-oidc-sdk-9.7.jar", "reload4j-1.2.22.jar", "jackson-core-2.13.4.jar",
"jackson-databind-2.13.4.2.jar", "jackson-annotations-2.13.4.jar", "jcip-annotations-1.0-1.jar",
"oauth2-oidc-sdk-9.7.jar", "reload4j-1.2.22.jar", "jackson-core-2.14.3.jar",
"jackson-databind-2.14.3.jar", "jackson-annotations-2.14.3.jar", "jcip-annotations-1.0-1.jar",
"json-smart-2.4.11.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.11.jar", "asm-9.5.jar",
"content-type-2.1.jar", "lang-tag-1.5.jar" })),
@@ -93,12 +93,9 @@ public enum EDatabaseVersion4Drivers {
GREENPLUM_PSQL(new DbVersion4Drivers(EDatabaseTypeName.GREENPLUM,"PostgreSQL", "POSTGRESQL", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$
GREENPLUM(new DbVersion4Drivers(EDatabaseTypeName.GREENPLUM,"Greenplum", "GREENPLUM", "greenplum-5.1.4.000275.jar")), //$NON-NLS-1$
// PSQL_V10(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v10", "V10", "postgresql-42.2.5.jar")),
PSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v9 and later", "V9_X", "postgresql-42.2.26.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "Prior to v9", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v9 and later", "V9_X", "postgresql-42.6.0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "Prior to v9 (Deprecated)", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PLUSPSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL,
"Prior to v9", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
PLUSPSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL, "v9 and later", "V9_X", "postgresql-42.2.26.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
IBMDB2(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$
"db2jcc_license_cisuz.jar" })), //$NON-NLS-1$
IBMDB2ZOS(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2ZOS, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$
@@ -153,8 +150,8 @@ public enum EDatabaseVersion4Drivers {
REDSHIFT(new DbVersion4Drivers(EDatabaseTypeName.REDSHIFT, "redshift", "REDSHIFT", //$NON-NLS-1$ //$NON-NLS-2$
new String[]{ "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
REDSHIFT_SSO(new DbVersion4Drivers(EDatabaseTypeName.REDSHIFT_SSO, "redshift sso", "REDSHIFT_SSO", //$NON-NLS-1$ //$NON-NLS-2$
new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar", "jackson-core-2.13.4.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"jackson-databind-2.13.4.2.jar", "jackson-annotations-2.13.4.jar", "httpcore-4.4.13.jar", "httpclient-4.5.13.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar", "jackson-core-2.14.3.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"jackson-databind-2.14.3.jar", "jackson-annotations-2.14.3.jar", "httpcore-4.4.13.jar", "httpclient-4.5.13.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
"joda-time-2.8.1.jar", "commons-logging-1.2.jar", "commons-codec-1.14.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"aws-java-sdk-redshift-internal-1.12.x.jar", "aws-java-sdk-core-1.12.315.jar", //$NON-NLS-1$ //$NON-NLS-2$
"aws-java-sdk-sts-1.12.315.jar", "aws-java-sdk-redshift-1.12.315.jar", "jmespath-java-1.12.315.jar" })), //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$

View File

@@ -16,6 +16,7 @@ import java.util.Map;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.general.Project;
import org.talend.core.runtime.hd.IDistributionsManager;
import org.talend.core.runtime.hd.IDynamicDistributionManager;
import org.talend.core.runtime.hd.IHDistribution;
@@ -132,6 +133,8 @@ public interface IHadoopDistributionService extends IService {
IDynamicDistributionManager getDynamicDistributionManager();
void checkAndMigrateDistributionProxyCredential(Project project) throws Exception;
public static IHadoopDistributionService get() {
GlobalServiceRegister gsr = GlobalServiceRegister.getDefault();
if (gsr.isServiceRegistered(IHadoopDistributionService.class)) {

View File

@@ -214,7 +214,9 @@ public enum EHadoopProperties {
UNIV_STANDALONE_EXEC_MEMORY,
UNIV_STANDALONE_EXEC_CORE;
UNIV_STANDALONE_EXEC_CORE,
UNIV_SPARK_SUBMIT_SCRIPT_HOME;
public String getName() {
return this.name();

View File

@@ -93,8 +93,8 @@ public final class ComponentUtilities {
// TODO SML Use getNodeProperty
EList elementParameter = node.getElementParameter();
Iterator iterator = elementParameter.iterator();
for (Object o = iterator.next(); iterator.hasNext(); o = iterator.next()) {
ElementParameterType t = (ElementParameterType) o;
while (iterator.hasNext()) {
ElementParameterType t = (ElementParameterType) iterator.next();
if (t.getName().equals(property)) {
iterator.remove();
}

View File

@@ -40,6 +40,8 @@ public interface IComponent {
String PROP_NAME = "NAME"; //$NON-NLS-1$
String PROP_DESCRIPTION = "DESCRIPTION"; //$NON-NLS-1$
String PROP_LONG_NAME = "LONG_NAME"; //$NON-NLS-1$
String PROP_FAMILY = "FAMILY"; //$NON-NLS-1$

View File

@@ -1207,5 +1207,23 @@ public class ContextUtils {
}
return jobContext;
}
public static boolean isPromptNeeded(List<IContext> contexts, String contextParaName) {
for (IContext context : contexts) {
List<IContextParameter> list = context.getContextParameterList();
if (list != null && list.size() > 0) {
for (IContextParameter contextPara : list) {
String tempContextParaName = contextPara.getName();
if (tempContextParaName.equals(contextParaName)) {
if (contextPara.isPromptNeeded()) {
return true;
}
}
}
}
}
return false;
}
}

View File

@@ -30,6 +30,8 @@ public class JobContext implements IContext, Cloneable {
boolean confirmationNeeded;
boolean hide;
public JobContext(String name) {
this.name = name;
if (this.name == null) {
@@ -66,6 +68,14 @@ public class JobContext implements IContext, Cloneable {
this.confirmationNeeded = confirmationNeeded;
}
public boolean isHide() {
return this.hide;
}
public void setHide(boolean hide) {
this.hide = hide;
}
public IContext clone() {
IContext clonedContext = null;
try {
@@ -131,14 +141,16 @@ public class JobContext implements IContext, Cloneable {
* @return
*/
public IContextParameter getContextParameter(String sourceId, String paraName) {
if (sourceId == null || paraName == null)
if (sourceId == null || paraName == null) {
return null;
}
if (contextParameterList != null && contextParameterList.size() > 0) {
for (IContextParameter contextParam : contextParameterList) {
String tempSouceId = contextParam.getSource();
String tempParaName = contextParam.getName();
if (sourceId.equals(tempSouceId) && paraName.equals(tempParaName))
if (sourceId.equals(tempSouceId) && paraName.equals(tempParaName)) {
return contextParam;
}
}
}
return null;
@@ -156,8 +168,9 @@ public class JobContext implements IContext, Cloneable {
if (contextParameterList != null && contextParameterList.size() > 0) {
for (IContextParameter contextParam : contextParameterList) {
String tempParaName = contextParam.getName();
if (tempParaName.equals(paraName))
if (tempParaName.equals(paraName)) {
list.add(contextParam);
}
}
}
return list;

View File

@@ -33,7 +33,6 @@ import org.talend.core.model.properties.ContextItem;
import org.talend.core.model.properties.Item;
import org.talend.core.model.utils.ContextParameterUtils;
import org.talend.cwm.helper.ResourceHelper;
import org.talend.cwm.helper.StudioEncryptionHelper;
import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
import org.talend.designer.core.model.utils.emf.talendfile.TalendFileFactory;
@@ -57,6 +56,11 @@ public class JobContextManager implements IContextManager {
*/
private Map<String, String> nameMap = new HashMap<String, String>();
/*
* record rename context for node
*/
private Map<String, String> nameMapNode = new HashMap<String, String>();
private Map<ContextItem, Map<String, String>> repositoryRenamedMap = new HashMap<ContextItem, Map<String, String>>();
/*
@@ -309,6 +313,7 @@ public class JobContextManager implements IContextManager {
}
context = new JobContext(name);
context.setConfirmationNeeded(contextType.isConfirmationNeeded());
context.setHide(contextType.isHide());
contextParamList = new ArrayList<IContextParameter>();
contextTypeParamList = contextType.getContextParameter();
Set<String> paramNamesInCurrentContext = new HashSet<String>();
@@ -405,6 +410,18 @@ public class JobContextManager implements IContextManager {
updateNewParameters(newName, oldName);
}
public void addNameMapForNode(String newName, String oldName) {
nameMapNode.put(newName, oldName);
}
public void clearNameMapForNode() {
nameMapNode.clear();
}
public Map<String, String> getNameMapNode() {
return nameMapNode;
}
public Map<String, String> getNameMap() {
return nameMap;
}
@@ -543,6 +560,7 @@ public class JobContextManager implements IContextManager {
}
contextType.setName(context.getName());
contextType.setConfirmationNeeded(context.isConfirmationNeeded());
contextType.setHide(context.isHide());
newcontextTypeList.add(contextType);
EList contextTypeParamList = contextType.getContextParameter();

View File

@@ -109,6 +109,10 @@ public interface IMetadataColumn {
public void setComment(String comment);
public int getRowNum();
public void setRowNum(int value);
public IMetadataColumn clone();
public IMetadataColumn clone(boolean withCustoms);

View File

@@ -362,6 +362,15 @@ public class MetadataColumn implements IMetadataColumn, Cloneable {
return this.comment;
}
int rowNum = 0;
public int getRowNum() {
return rowNum;
};
public void setRowNum(int value) {
this.rowNum = value;
}
/*
* (non-Javadoc)
*

View File

@@ -209,6 +209,8 @@ public final class MetadataToolAvroHelper {
// FIXME - this one should go away
type = AvroUtils._date();
}
defaultValue = null;
}
// String-ish types.
else if (JavaTypesManager.STRING.getId().equals(tt) || JavaTypesManager.FILE.getId().equals(tt)
@@ -464,7 +466,7 @@ public final class MetadataToolAvroHelper {
TaggedValue tv = TaggedValueHelper.createTaggedValue(DiSchemaConstants.TALEND6_IS_READ_ONLY, prop);
table.getTaggedValue().add(tv);
}
for (String key : in.getJsonProps().keySet()) {
for (String key : in.getObjectProps().keySet()) {
if (key.startsWith(DiSchemaConstants.TALEND6_ADDITIONAL_PROPERTIES)) {
String originalKey = key.substring(DiSchemaConstants.TALEND6_ADDITIONAL_PROPERTIES.length());
TaggedValue tv = TaggedValueHelper.createTaggedValue(originalKey, in.getProp(key));
@@ -510,7 +512,7 @@ public final class MetadataToolAvroHelper {
TaggedValue tv = TaggedValueHelper.createTaggedValue(DiSchemaConstants.TALEND6_IS_READ_ONLY, prop);
col.getTaggedValue().add(tv);
}
for (String key : schema.getJsonProps().keySet()) {
for (String key : schema.getObjectProps().keySet()) {
if (key.startsWith(DiSchemaConstants.TALEND6_ADDITIONAL_PROPERTIES)) {
String originalKey = key.substring(DiSchemaConstants.TALEND6_ADDITIONAL_PROPERTIES.length());
TaggedValue tv = TaggedValueHelper.createTaggedValue(originalKey, schema.getProp(key));
@@ -685,7 +687,7 @@ public final class MetadataToolAvroHelper {
TaggedValue tv = TaggedValueHelper.createTaggedValue(DiSchemaConstants.TALEND6_IS_READ_ONLY, prop);
col.getTaggedValue().add(tv);
}
for (String key : field.getJsonProps().keySet()) {
for (String key : field.getObjectProps().keySet()) {
if (key.startsWith(DiSchemaConstants.TALEND6_ADDITIONAL_PROPERTIES)) {
String originalKey = key.substring(DiSchemaConstants.TALEND6_ADDITIONAL_PROPERTIES.length());
TaggedValue tv = TaggedValueHelper.createTaggedValue(originalKey, field.getProp(key));

View File

@@ -52,6 +52,7 @@ import org.talend.core.model.metadata.builder.connection.MDMConnection;
import org.talend.core.model.metadata.builder.connection.MetadataColumn;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.metadata.builder.connection.SAPBWTable;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.prefs.SSLPreferenceConstants;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.utils.KeywordsValidator;
@@ -785,4 +786,17 @@ public final class ConvertionHelper {
}
return entryString;
}
public static DatabaseConnection fillJDBCParams4TacokitDatabaseConnection(Connection conn) {
if (conn instanceof TacokitDatabaseConnection) {
TacokitDatabaseConnection tacokitDatabaseConnection = (TacokitDatabaseConnection) (conn);
if (tacokitDatabaseConnection.getDbmsId() == null) {
String trueDbType = getDbTypeByClassNameAndDriverJar(tacokitDatabaseConnection.getDriverClass(), null);
String product = EDatabaseTypeName.getTypeFromDisplayName(trueDbType).getProduct();
String mapping = MetadataTalendType.getDefaultDbmsFromProduct(product).getId();
tacokitDatabaseConnection.setDbmsId(mapping);
}
}
return (DatabaseConnection) conn;
}
}

View File

@@ -20,6 +20,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.runtime.Path;
@@ -47,6 +48,7 @@ import org.talend.core.model.metadata.MultiSchemasUtil;
import org.talend.core.model.metadata.builder.ConvertionHelper;
import org.talend.core.model.metadata.builder.connection.AdditionalConnectionProperty;
import org.talend.core.model.metadata.builder.connection.BRMSConnection;
import org.talend.core.model.metadata.builder.connection.BigQueryConnection;
import org.talend.core.model.metadata.builder.connection.Concept;
import org.talend.core.model.metadata.builder.connection.ConceptTarget;
import org.talend.core.model.metadata.builder.connection.Connection;
@@ -74,6 +76,7 @@ import org.talend.core.model.metadata.builder.connection.SAPFunctionUnit;
import org.talend.core.model.metadata.builder.connection.SalesforceModuleUnit;
import org.talend.core.model.metadata.builder.connection.SalesforceSchemaConnection;
import org.talend.core.model.metadata.builder.connection.SchemaTarget;
import org.talend.core.model.metadata.builder.connection.TacokitDatabaseConnection;
import org.talend.core.model.metadata.builder.connection.WSDLParameter;
import org.talend.core.model.metadata.builder.connection.WSDLSchemaConnection;
import org.talend.core.model.metadata.builder.connection.XMLFileNode;
@@ -148,6 +151,10 @@ public class RepositoryToComponentProperty {
if (connection instanceof SAPConnection) {
return getSAPValue((SAPConnection) connection, value);
}
if (connection instanceof BigQueryConnection) {
return getBigQueryValue((BigQueryConnection) connection, value, table);
}
if (connection instanceof SalesforceSchemaConnection) {
return getSalesforceSchemaValue((SalesforceSchemaConnection) connection, value, table);
@@ -456,6 +463,62 @@ public class RepositoryToComponentProperty {
}
return null;
}
public static Object getBigQueryValue(BigQueryConnection connection, String value, IMetadataTable table) {
if ("SERVICE_ACCOUNT_CREDENTIALS_FILE".equals(value)) {
if (isContextMode(connection, connection.getServiceAccountCredentialsFile())) {
return connection.getServiceAccountCredentialsFile();
} else {
return TalendQuoteUtils.addQuotes(connection.getServiceAccountCredentialsFile());
}
} else if ("PROJECT_ID".equals(value)) {
if (isContextMode(connection, connection.getProjectId())) {
return connection.getProjectId();
} else {
return TalendQuoteUtils.addQuotes(connection.getProjectId());
}
} else if ("USE_REGION_ENDPOINT".equals(value)) {
return connection.isUseRegionEndpoint();
} else if ("REGION_ENDPOINT_BQ".equals(value)) {
if (isContextMode(connection, connection.getRegionEndpoint())) {
return connection.getRegionEndpoint();
} else {
return TalendQuoteUtils.addQuotes(connection.getRegionEndpoint());
}
} else if ("DATASET".equals(value)) {
if(table!=null) {
Map<String, String> properties = table.getAdditionalProperties();
if(properties!=null) {
String dataSet = properties.get("dataSet");
if (isContextMode(connection, dataSet)) {
return dataSet;
} else {
return TalendQuoteUtils.addQuotes(dataSet);
}
}
}
} else if ("QUERY".equals(value)) {
if(table!=null) {
Map<String, String> properties = table.getAdditionalProperties();
if(properties!=null) {
String dataSet = properties.get("dataSet");
String tableName = table.getLabel();
if(dataSet!=null && tableName!=null) {
List<IMetadataColumn> columns = table.getListColumns();
StringBuilder strBuilder = new StringBuilder();
strBuilder.append("SELECT");
if(columns!=null) {
strBuilder.append(columns.stream().map(column -> column.getOriginalDbColumnName()).collect(Collectors.joining(",", " ", " ")));
}
strBuilder.append("FROM ").append(dataSet).append('.').append(tableName);
return TalendQuoteUtils.addQuotes(strBuilder.toString());
}
}
}
}
return null;
}
/**
* DOC gcui Comment method "getHL7Value".
@@ -972,6 +1035,9 @@ public class RepositoryToComponentProperty {
return typeByProduct;
}
}
if (connection instanceof TacokitDatabaseConnection) {
return getTacokitDatabaseConnectionValue((TacokitDatabaseConnection)connection, value, table, targetComponent);
}
if (value.equals("FRAMEWORK_TYPE")) { //$NON-NLS-1$
if (isContextMode(connection, databaseType)) {
if (databaseType.equals("JavaDB Embeded")) { //$NON-NLS-1$
@@ -1114,7 +1180,6 @@ public class RepositoryToComponentProperty {
|| EDatabaseConnTemplate.ORACLE_CUSTOM.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.ORACLEFORSID.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.ORACLESN.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.PLUSPSQL.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.PSQL.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.SAPHana.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.MSSQL.getDBDisplayName().equals(databaseType)) {
@@ -1255,7 +1320,7 @@ public class RepositoryToComponentProperty {
}
return value2;
}
}
if(value.equals("SUPPORT_NLS")) {
return connection.isSupportNLS();
@@ -1830,6 +1895,122 @@ public class RepositoryToComponentProperty {
}
return null;
}
private static Object getTacokitDatabaseConnectionValue(TacokitDatabaseConnection connection, String value,
IMetadataTable table, String targetComponent) {
if (TacokitDatabaseConnection.KEY_DATASTORE_URL.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_URL.equals(value)
|| TacokitDatabaseConnection.KEY_URL.equals(value) || "URL".equals(value)) {
return getAppropriateValue(connection, connection.getURL());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_HOST.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_HOST.equals(value)
|| TacokitDatabaseConnection.KEY_HOST.equals(value)) {
return getAppropriateValue(connection, connection.getServerName());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_PORT.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_PORT.equals(value)
|| TacokitDatabaseConnection.KEY_PORT.equals(value)) {
return getAppropriateValue(connection, connection.getPort());
}
if (TacokitDatabaseConnection.KEY_DRIVER.equals(value)) {
return connection.getDrivers();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DRIVER.equals(value) || "DRIVER_JAR".equals(value)) {
List<Map<String, Object>> drivers = new ArrayList<Map<String, Object>>();
// map to datastore key
for (Map<String, Object> map : connection.getDrivers()) {
HashMap<String, Object> newMap = new HashMap<String, Object>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (TacokitDatabaseConnection.KEY_DRIVER_PATH.equals(entry.getKey()) || TacokitDatabaseConnection.KEY_DATASTORE_DRIVER_PATH.equals(entry.getKey())) {
newMap.put(TacokitDatabaseConnection.KEY_DATASTORE_DRIVER_PATH, entry.getValue());
}
}
drivers.add(newMap);
}
return drivers;
}
if (TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER.equals(value)) {
List<Map<String, Object>> drivers = new ArrayList<>();
for (Map<String, Object> map : connection.getDrivers()) {
HashMap<String, Object> newMap = new HashMap<>();
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (TacokitDatabaseConnection.KEY_DRIVER_PATH.equals(entry.getKey())
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER_PATH.equals(entry.getKey())) {
newMap.put(TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER_PATH, entry.getValue());
}
}
drivers.add(newMap);
}
return drivers;
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DRIVER_CLASS.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DRIVER_CLASS.equals(value)
|| TacokitDatabaseConnection.KEY_DRIVER_CLASS.equals(value) || "DRIVER_CLASS".equals(value)) {
return getAppropriateValue(connection, connection.getDriverClass());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USER_ID.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USER_ID.equals(value)
|| TacokitDatabaseConnection.KEY_USER_ID.equals(value) || "USERNAME".equals(value)) {
return getAppropriateValue(connection, connection.getUsername());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_PASSWORD.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_PASSWORD.equals(value)
|| TacokitDatabaseConnection.KEY_PASSWORD.equals(value) || "PASSWORD".equals(value)) {
return getAppropriateValue(connection, connection.getRawPassword());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DATABASE_MAPPING.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DATABASE_MAPPING.equals(value)
|| TacokitDatabaseConnection.KEY_DATABASE_MAPPING.equals(value)) {
return getAppropriateValue(connection, connection.getDatabaseMappingFile());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DATASOURCE_ALIAS.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DATASOURCE_ALIAS.equals(value)
|| TacokitDatabaseConnection.KEY_DATASOURCE_ALIAS.equals(value)) {
return getAppropriateValue(connection, connection.getDatasourceAlias());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_USE_SHARED_DB_CONNECTION.equals(value)) {
return connection.useSharedDBConnection();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_SHARED_DB_CONNECTION.equals(value)
|| TacokitDatabaseConnection.KEY_SHARED_DB_CONNECTION.equals(value)) {
return getAppropriateValue(connection, connection.getSharedDBConnectionName());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USE_DATASOURCE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USE_DATASOURCE.equals(value)
|| TacokitDatabaseConnection.KEY_USE_DATASOURCE.equals(value)) {
return connection.useDatasourceAlias();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_AUTHENTICATION_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_AUTHENTICATION_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_AUTHENTICATION_TYPE.equals(value)) {
return getAppropriateValue(connection, connection.getAuthenticationType());
}
if (TacokitDatabaseConnection.KEY_DATASTORE_USE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_USE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_USE_AUTO_COMMIT.equals(value)) {
return connection.useAutoCommit();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_AUTO_COMMIT.equals(value)
|| TacokitDatabaseConnection.KEY_AUTO_COMMIT.equals(value)) {
return connection.autoCommit();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_ENABLE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_ENABLE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_ENABLE_DB_TYPE.equals(value)) {
return connection.enableDBType();
}
if (TacokitDatabaseConnection.KEY_DATASTORE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_SP_DATASTORE_DB_TYPE.equals(value)
|| TacokitDatabaseConnection.KEY_DB_TYPE.equals(value)) {
return connection.getDatabaseType();
}
return connection.getPropertyValue(value);
}
private static String getAppropriateValue(Connection connection, String rawValue) {
if (isContextMode(connection, rawValue)) {
@@ -1839,17 +2020,6 @@ public class RepositoryToComponentProperty {
}
}
/**
* DOC nrousseau Comment method "getDatabaseValue".
*
* @param connection
* @param value
* @return
*/
private static Object getDatabaseValue(DatabaseConnection connection, String value) {
return getDatabaseValue(connection, value, null, null);
}
private static boolean isContextMode(Connection connection, String value) {
IMetadataManagmentUiService mmService = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(IMetadataManagmentUiService.class)) {
@@ -3053,7 +3223,7 @@ public class RepositoryToComponentProperty {
String paramName) {
for (IDragAndDropServiceHandler handler : DragAndDropManager.getHandlers()) {
if (handler.canHandle(connection)) {
return handler.isGenericRepositoryValue(componentProperties, paramName);
return handler.isGenericRepositoryValue(connection, componentProperties, paramName);
}
}
return false;
@@ -3063,7 +3233,7 @@ public class RepositoryToComponentProperty {
String paramName) {
for (IDragAndDropServiceHandler handler : DragAndDropManager.getHandlers()) {
if (handler.canHandle(connection)) {
return handler.getGenericRepositoryValue(componentProperties, paramName);
return handler.getGenericRepositoryValue(connection, componentProperties, paramName);
}
}
return null;

View File

@@ -629,7 +629,7 @@ public final class ElementParameterParser {
return processItem.getProperty().getLabel();
}
// hywang add for 6484
else if ("SELECTED_FILE".equals(param.getRepositoryValue())) { //$NON-NLS-1$
else if ("SELECTED_FILE".equals(param.calcRepositoryValue())) { //$NON-NLS-1$
IElementParameter propertyParam = param.getElement().getElementParameter("PROPERTY:REPOSITORY_PROPERTY_TYPE"); //$NON-NLS-1$
if (propertyParam != null && propertyParam.getValue() != null && !propertyParam.getValue().equals("")) { //$NON-NLS-1$
try {

View File

@@ -32,6 +32,10 @@ public interface IContext {
public void setConfirmationNeeded(boolean confirmationNeeded);
public boolean isHide();
public void setHide(boolean hide);
public List<IContextParameter> getContextParameterList();
public void setContextParameterList(List<IContextParameter> contextParameterList);

View File

@@ -84,10 +84,30 @@ public interface IElementParameter {
public Object[] getListItemsValue();
public String getRepositoryValue();
public String calcRepositoryValue();
/**
* use {@link #calcRepositoryValue()} instead
*/
@Deprecated
default public String getRepositoryValue() {
return calcRepositoryValue();
}
default public String getRawRepositoryValue() {
return calcRepositoryValue();
}
public void setRepositoryValue(String repositoryValue);
default public String getRepositoryValueIf() {
return null;
}
default public void setRepositoryValueIf(String repositoryValue) {
}
public String getRepositoryProperty();
public void setRepositoryProperty(String repositoryProperty);
@@ -239,4 +259,8 @@ public interface IElementParameter {
public String getOrignEncryptedValue();
public void setOrignEncryptedValue(String value);
public void setDescription (String description);
public String getDescription ();
}

View File

@@ -31,6 +31,7 @@ import org.talend.core.IESBService;
import org.talend.core.PluginChecker;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.BRMSConnectionItem;
import org.talend.core.model.properties.BigQueryConnectionItem;
import org.talend.core.model.properties.CSVFileConnectionItem;
import org.talend.core.model.properties.ConnectionItem;
import org.talend.core.model.properties.ContextItem;
@@ -68,6 +69,7 @@ import org.talend.core.model.properties.SalesforceSchemaConnectionItem;
import org.talend.core.model.properties.SnippetItem;
import org.talend.core.model.properties.SnippetVariable;
import org.talend.core.model.properties.TDQItem;
import org.talend.core.model.properties.TacokitDatabaseConnectionItem;
import org.talend.core.model.properties.ValidationRulesConnectionItem;
import org.talend.core.model.properties.WSDLSchemaConnectionItem;
import org.talend.core.model.properties.XmlFileConnectionItem;
@@ -334,10 +336,6 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
"SYSTEM_INDICATORS_TEXT_STATISTICS", 97, true, "repository.systemIndicators.textStatistics.alias",
new String[] { PROD_DQ }, new String[] {}, false);
public final static ERepositoryObjectType TDQ_EXCHANGE = new ERepositoryObjectType("repository.tdqExchange", //$NON-NLS-1$
"TDQ_Libraries/Exchange", "TDQ_EXCHANGE", 98, true, "repository.tdqExchange.alias", new String[] { PROD_DQ }, //$NON-NLS-1$
new String[] {});
public final static ERepositoryObjectType METADATA_SALESFORCE_MODULE = new ERepositoryObjectType(
"repository.metadataSalesforceModule", "METADATA_SALESFORCE_MODULE", 99, true, true, new String[] { PROD_DI }, //$NON-NLS-1$ //$NON-NLS-2$
new String[] {}, false);
@@ -360,10 +358,10 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
public final static ERepositoryObjectType METADATA_SAP_TABLE = new ERepositoryObjectType("repository.SAPTable", //$NON-NLS-1$
"METADATA_SAP_TABLE", 104, true, true, new String[] { PROD_DI }, new String[] {}, false);
public final static ERepositoryObjectType METADATA_SAP_CONTENT_EXTRACTOR = new ERepositoryObjectType("repository.SAPTable", //$NON-NLS-1$
"METADATA_SAP_CONTENT_EXTRACTOR", 105, true, true, new String[] { PROD_DI }, new String[] {}, false);
public final static ERepositoryObjectType METADATA_CON_CALCULATION_VIEW = new ERepositoryObjectType(
"repository.metadataCalculationView", "METADATA_CON_CALCULATION_VIEW", 106, true, true, new String[] { PROD_DI },
new String[] {}, false);
@@ -508,6 +506,8 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
public final static ERepositoryObjectType METADATA_FILE_FTP = ERepositoryObjectType.valueOf("METADATA_FILE_FTP");
public final static ERepositoryObjectType METADATA_SAPCONNECTIONS = ERepositoryObjectType.valueOf("METADATA_SAPCONNECTIONS");
public final static ERepositoryObjectType METADATA_BIGQUERYCONNECTIONS = ERepositoryObjectType.valueOf("METADATA_BIGQUERYCONNECTIONS");
public final static ERepositoryObjectType METADATA_FILE_EBCDIC = ERepositoryObjectType.valueOf("METADATA_FILE_EBCDIC");
@@ -593,6 +593,14 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
.valueOf("METADATA_SAP_BW_INFOOBJECT"); //$NON-NLS-1$
public final static ERepositoryObjectType JDBC = ERepositoryObjectType.valueOf("JDBC"); //$NON-NLS-1$
public static final ERepositoryObjectType METADATA_TACOKIT_JDBC = ERepositoryObjectType
.valueOf("repository.metadata.tacokit.jdbc.jdbcdatastore"); //$NON-NLS-1$
/**
* <font color="red">This value may be <b>null</b> if Snowflake is not installed, <b>should add NPE check</b></font>
*/
public final static ERepositoryObjectType SNOWFLAKE = ERepositoryObjectType.valueOf("Snowflake"); //$NON-NLS-1$
private static Map<String, ERepositoryObjectType> typeCacheById = new HashMap<String, ERepositoryObjectType>();
@@ -868,6 +876,8 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
return "DB connection"; //$NON-NLS-1$
} else if (type == METADATA_SAPCONNECTIONS) {
return "SAPconnection"; //$NON-NLS-1$
} else if (type == METADATA_BIGQUERYCONNECTIONS) {
return "BigQueryconnection"; //$NON-NLS-1$
} else if (type == METADATA_FILE_EBCDIC) {
return "fileEBCDIC"; //$NON-NLS-1$
} else if (type == METADATA_FILE_HL7) {
@@ -1074,11 +1084,20 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
public Object caseDatabaseConnectionItem(DatabaseConnectionItem object) {
return METADATA_CONNECTIONS;
}
public Object caseTacokitDatabaseConnectionItem(TacokitDatabaseConnectionItem object) {
return METADATA_TACOKIT_JDBC;
}
@Override
public Object caseSAPConnectionItem(SAPConnectionItem object) {
return METADATA_SAPCONNECTIONS;
}
@Override
public Object caseBigQueryConnectionItem(BigQueryConnectionItem object) {
return METADATA_BIGQUERYCONNECTIONS;
}
@Override
public Object caseDelimitedFileConnectionItem(DelimitedFileConnectionItem object) {

View File

@@ -102,6 +102,7 @@ import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
import org.talend.designer.runprocess.ItemCacheManager;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.IRepositoryNode;
import org.talend.repository.model.IRepositoryService;
import org.talend.repository.model.RepositoryNode;
@@ -770,6 +771,15 @@ public abstract class RepositoryUpdateManager {
updateConnectionContextParam((ConnectionItem) item, citem, valueMap);
}
}
List<IRepositoryViewObject> bigqueryConnList = FACTORY.getAll(ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS, true);
for (IRepositoryViewObject obj : bigqueryConnList) {
Item item = obj.getProperty().getItem();
if (item instanceof ConnectionItem) {
updateConnectionContextParam((ConnectionItem) item, citem, valueMap);
}
}
for (String updateType : UpdateRepositoryHelper.getAllHadoopConnectionTypes()) {
List<IRepositoryViewObject> hadoopConnList = FACTORY
.getAll(ERepositoryObjectType.valueOf(ERepositoryObjectType.class, updateType), true);
@@ -1914,7 +1924,7 @@ public abstract class RepositoryUpdateManager {
return updateQueryObject(query, true, false);
}
public static boolean updateQuery(Query query, RepositoryNode node) {
public static boolean updateQuery(Query query, IRepositoryNode node) {
return updateQueryObject(query, true, false, node);
}
@@ -1956,7 +1966,7 @@ public abstract class RepositoryUpdateManager {
return repositoryUpdateManager.doWork(show, onlySimpleShow);
}
private static boolean updateQueryObject(Object parameter, boolean show, boolean onlySimpleShow, RepositoryNode node) {
private static boolean updateQueryObject(Object parameter, boolean show, boolean onlySimpleShow, IRepositoryNode node) {
Item item = node.getObject().getProperty().getItem();
List<Relation> relations = null;
if (parameter instanceof Query) {

View File

@@ -52,9 +52,9 @@ public final class UpdatesConstants {
* Category
*/
public static final String CONTEXT = Messages.getString("UpdatesConstants.Context"); //$NON-NLS-1$
public static final String CONTEXT = Messages.getString("UpdatesConstants.ContextVariable"); //$NON-NLS-1$
public static final String CONTEXT_GROUP = Messages.getString("UpdatesConstants.ContextGroup"); //$NON-NLS-1$
public static final String CONTEXT_GROUP = Messages.getString("UpdatesConstants.ContextEnvironment"); //$NON-NLS-1$
public static final String COMPONENT = Messages.getString("UpdatesConstants.Component"); //$NON-NLS-1$

View File

@@ -60,7 +60,7 @@ public abstract class AbstractDragAndDropServiceHandler implements IDragAndDropS
}
@Override
public boolean isGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName) {
public boolean isGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName) {
return false;
}
@@ -71,12 +71,12 @@ public abstract class AbstractDragAndDropServiceHandler implements IDragAndDropS
* java.lang.String)
*/
@Override
public Object getGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName) {
public Object getGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName) {
return null;
}
@Override
public boolean isGenericPropertiesValue(String paramName){
public boolean isGenericPropertiesValue(Connection connection, String paramName){
return false;
}
}

View File

@@ -119,9 +119,9 @@ public interface IDragAndDropServiceHandler {
* @param paramName
* @return
*/
public boolean isGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName);
public boolean isGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName);
public Object getGenericRepositoryValue(List<ComponentProperties> componentProperties, String paramName);
public Object getGenericRepositoryValue(Connection connection, List<ComponentProperties> componentProperties, String paramName);
public boolean isGenericPropertiesValue(String paramName);
public boolean isGenericPropertiesValue(Connection connection, String paramName);
}

View File

@@ -856,7 +856,8 @@ public final class ParameterValueUtil {
if (param != null) {
Object docValue = param.getValue();
if (docValue != null) {
if ((param.getRepositoryValue() != null && param.getRepositoryValue().toUpperCase().contains("PASSWORD") //$NON-NLS-1$
String repositoryValue = param.calcRepositoryValue();
if ((repositoryValue != null && repositoryValue.toUpperCase().contains("PASSWORD") //$NON-NLS-1$
|| EParameterFieldType.isPassword(param.getFieldType()))//
&& !ContextParameterUtils.containContextVariables((String) docValue)) {

View File

@@ -27,17 +27,6 @@ public final class TalendPropertiesUtil {
return Boolean.parseBoolean(value);
}
/**
*
* DOC ggu Comment method "isHideExchange".
*
*
* @return
*/
public static boolean isHideExchange() {
return true; //$NON-NLS-1$ //$NON-NLS-2$
}
/**
*
* DOC ggu Comment method "isHideBuildNumber".

View File

@@ -12,7 +12,9 @@
// ============================================================================
package org.talend.core.nexus;
import java.net.URLEncoder;
import java.util.Date;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.talend.commons.exception.ExceptionHandler;
@@ -25,9 +27,9 @@ import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.runtime.i18n.Messages;
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
import org.talend.core.service.IRemoteService;
import org.talend.core.utils.SecurityStorageUtil;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.RepositoryConstants;
import org.talend.utils.security.StudioEncryption;
/**
* created by wchen on 2015年6月16日 Detailled comment
@@ -81,6 +83,8 @@ public class TalendLibsServerManager {
public static final String ENABLE_PROXY_SETTING = "nexus.proxy.enable";
public static final String NEXUS_PROXY_STORAGE_CATEGORY = "org.talend.artifact.proxy.setting";
public static final String TALEND_LIB_USER = "";//$NON-NLS-1$
public static final String TALEND_LIB_PASSWORD = "";//$NON-NLS-1$
@@ -255,10 +259,14 @@ public class TalendLibsServerManager {
boolean enableProxyFlag = prefManager.getBoolean(TalendLibsServerManager.ENABLE_PROXY_SETTING);
if (enableProxyFlag) {
serverBean.setServer(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_URL));
serverBean.setUserName(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_USERNAME));
serverBean.setPassword(StudioEncryption.getStudioEncryption(StudioEncryption.EncryptionKeyName.SYSTEM).decrypt(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_PASSWORD)));
serverBean.setRepositoryId(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_REPOSITORY_ID));
serverBean.setType(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_TYPE));
String[] credentials = getProxyArtifactCredentials(serverBean.getServer(), serverBean.getRepositoryId(),
NEXUS_PROXY_USERNAME, NEXUS_PROXY_PASSWORD);
if (credentials != null) {
serverBean.setUserName(credentials[0]);
serverBean.setPassword(credentials[1]);
}
}
}
if (StringUtils.isNotEmpty(serverBean.getServer())) {
@@ -267,6 +275,89 @@ public class TalendLibsServerManager {
return null;
}
public String[] getProxyArtifactCredentials(String url, String repositoryId, String usernameKey, String passwordKey) {
if (StringUtils.isBlank(url)) {
return null;
}
try {
String path = getStoragePath(url, repositoryId);
Map<String, String> storageNodePairs = SecurityStorageUtil.getSecurityStorageNodePairs(path);
if (storageNodePairs != null) {
String username = storageNodePairs.get(usernameKey);
String password = storageNodePairs.get(passwordKey);
if (username == null && password == null) {
return null;
}
return new String[] { username, password };
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
return null;
}
public void saveProxyArtifactCredentials(String url, String repositoryId, String usernameKey, String username,
String passwordKey, String password) {
if (StringUtils.isBlank(url)) {
return;
}
try {
String path = getStoragePath(url, repositoryId);
SecurityStorageUtil.saveToSecurityStorage(path, usernameKey, username, false, false);
SecurityStorageUtil.saveToSecurityStorage(path, passwordKey, password, true, false);
SecurityStorageUtil.flushSecurityStorage();
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
public void saveProxyArtifactCredentialsUserName(String url, String repositoryId, String usernameKey, String username,
boolean flush) {
if (StringUtils.isBlank(url)) {
return;
}
try {
String path = getStoragePath(url, repositoryId);
SecurityStorageUtil.saveToSecurityStorage(path, usernameKey, username, false, flush);
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
public void saveProxyArtifactCredentialsPassword(String url, String repositoryId, String passwordKey, String password,
boolean flush) {
if (StringUtils.isBlank(url)) {
return;
}
try {
String path = getStoragePath(url, repositoryId);
SecurityStorageUtil.saveToSecurityStorage(path, passwordKey, password, true, flush);
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
public void flushSecurityStorage() {
try {
SecurityStorageUtil.flushSecurityStorage();
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
private String getStoragePath(String url, String repositoryId) throws Exception {
String node = url;
if (StringUtils.isNotBlank(repositoryId)) {
if (!url.endsWith("/")) {
node = node + "/";
}
node = node + repositoryId;
}
node = URLEncoder.encode(node, "UTF-8");
String path = NEXUS_PROXY_STORAGE_CATEGORY + "/" + node;
return path;
}
public ArtifactRepositoryBean getTalentArtifactServer() {
ArtifactRepositoryBean serverBean = getProxyArtifactServer();
if (serverBean == null) {

View File

@@ -15,6 +15,7 @@ package org.talend.core.runtime.evaluator;
import java.util.List;
import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.talend.core.model.utils.ContextParameterUtils;
import org.talend.core.runtime.util.GenericTypeUtils;
import org.talend.core.utils.TalendQuoteUtils;
@@ -127,6 +128,9 @@ public abstract class AbstractPropertyValueEvaluator implements PropertyValueEva
if (GenericTypeUtils.isStringType(property)) {
if (property.isFlag(Property.Flags.ENCRYPT)) {
if (!StringUtils.isEmpty(stringValue)) {
stringValue = stringValue.replace("\\\"", "\"");
}
return TalendQuoteUtils.removeQuotes(stringValue);
}
return TalendQuoteUtils.removeQuotes(StringEscapeUtils.unescapeJava(stringValue));

View File

@@ -492,8 +492,8 @@ EUpdateResult.Reload=Reload components
EUpdateResult.Rename=Change the name
EUpdateResult.Add=Add from repository
EUpdateResult.Delete=Delete from repository
UpdatesConstants.Context=Context
UpdatesConstants.ContextGroup=Context Group
UpdatesConstants.ContextVariable=Context variable
UpdatesConstants.ContextEnvironment=Context environment
UpdatesConstants.Component=Component
UpdatesConstants.Joblet=Joblet
UpdatesConstants.Spark_Joblet=Spark_Joblet
@@ -640,7 +640,7 @@ TalendLibsServerManager.cannotGetUserLibraryServer=Cannot get the user library s
MigrationReportAccessDialog.title=Project items migration
MigrationReportAccessDialog.migrateSuccess=Project items migrated successfully.
MigrationReportAccessDialog.completeReportAvailable=Check the report
MigrationReportAccessDialog.accessReport=here
MigrationReportAccessDialog.accessBrowse=Browse...
MigrationReportAccessDialog.provideAnalysisTool=You can run project analysis now to analyze your migrated project. This experimental tool will generate a report containing:
MigrationReportAccessDialog.listOfProblems=- List of items to fix manually.
MigrationReportAccessDialog.listItems=- List of items to check.
@@ -655,7 +655,7 @@ ItemAnalysisReportManager.Warning.message=Can't run a new analysis now. Wait for
AnalysisReportAccessDialog.shellTitle=Project analysis
AnalysisReportAccessDialog.generateSuccess=Project analysis completed successfully.
AnalysisReportAccessDialog.completeReportAvailable=Check the report
AnalysisReportAccessDialog.accessReport=here
AnalysisReportAccessDialog.accessBrowse=Browse...
AbstractPomTemplateProjectSettingPage.defaultTabLabel=Default
AbstractPomTemplateProjectSettingPage.customTabLabel=Custom
AbstractPomTemplateProjectSettingPage.previewButton=Preview

View File

@@ -492,8 +492,8 @@ EUpdateResult.Reload=Recharger les composants
EUpdateResult.Rename=Changer le nom
EUpdateResult.Add=Ajouter \u00E0 partir du r\u00E9f\u00E9rentiel
EUpdateResult.Delete=Supprimer du r\u00E9f\u00E9rentiel
UpdatesConstants.Context=Contexte
UpdatesConstants.ContextGroup=Groupe de contextes
UpdatesConstants.ContextVariable=Variable de contexte
UpdatesConstants.ContextEnvironment=Environnement de contexte
UpdatesConstants.Component=Composant
UpdatesConstants.Joblet=Joblet
UpdatesConstants.Spark_Joblet=Spark_Joblet
@@ -640,7 +640,7 @@ TalendLibsServerManager.cannotGetUserLibraryServer=Impossible d'obtenir le serve
MigrationReportAccessDialog.title=Migration des \u00E9l\u00E9ments du projet
MigrationReportAccessDialog.migrateSuccess=Les \u00E9l\u00E9ments du projet ont bien \u00E9t\u00E9 migr\u00E9s.
MigrationReportAccessDialog.completeReportAvailable=Consulter le rapport
MigrationReportAccessDialog.accessReport=ici
MigrationReportAccessDialog.accessBrowse=Parcourir...
MigrationReportAccessDialog.provideAnalysisTool=Vous pouvez ex\u00E9cuter une analyse de projet pour analyser votre projet migr\u00E9. Cet outil exp\u00E9rimental va g\u00E9n\u00E9rer un rapport contenant\u00A0:
MigrationReportAccessDialog.listOfProblems=- la liste des \u00E9l\u00E9ments \u00E0 corriger manuellement,
MigrationReportAccessDialog.listItems=- la liste des \u00E9l\u00E9ments \u00E0 v\u00E9rifier.
@@ -655,7 +655,7 @@ ItemAnalysisReportManager.Warning.message=Impossible d'ex\u00E9cuter une analyse
AnalysisReportAccessDialog.shellTitle=Analyse du projet
AnalysisReportAccessDialog.generateSuccess=Analyse du projet termin\u00E9e.
AnalysisReportAccessDialog.completeReportAvailable=Consulter le rapport
AnalysisReportAccessDialog.accessReport=ici
AnalysisReportAccessDialog.accessBrowse=Parcourir...
AbstractPomTemplateProjectSettingPage.defaultTabLabel=Par d\u00E9faut
AbstractPomTemplateProjectSettingPage.customTabLabel=Personnalis\u00E9
AbstractPomTemplateProjectSettingPage.previewButton=Aper\u00E7u

View File

@@ -492,8 +492,8 @@ EUpdateResult.Reload=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30EA\u30E
EUpdateResult.Rename=\u540D\u524D\u3092\u5909\u66F4
EUpdateResult.Add=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u304B\u3089\u8FFD\u52A0
EUpdateResult.Delete=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u304B\u3089\u524A\u9664
UpdatesConstants.Context=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8
UpdatesConstants.ContextGroup=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7
UpdatesConstants.ContextVariable=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u5909\u6570
UpdatesConstants.ContextEnvironment=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u74B0\u5883
UpdatesConstants.Component=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8
UpdatesConstants.Joblet=\u30B8\u30E7\u30D6\u30EC\u30C3\u30C8
UpdatesConstants.Spark_Joblet=Spark_Joblet
@@ -640,7 +640,7 @@ TalendLibsServerManager.cannotGetUserLibraryServer=\u30EA\u30E2\u30FC\u30C8\u7BA
MigrationReportAccessDialog.title=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u9805\u76EE\u3092\u79FB\u884C
MigrationReportAccessDialog.migrateSuccess=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u9805\u76EE\u304C\u6B63\u3057\u304F\u79FB\u884C\u3055\u308C\u307E\u3057\u305F\u3002
MigrationReportAccessDialog.completeReportAvailable=\u30EC\u30DD\u30FC\u30C8\u3092\u30C1\u30A7\u30C3\u30AF
MigrationReportAccessDialog.accessReport=\u3053\u3061\u3089
MigrationReportAccessDialog.accessBrowse=\u53C2\u7167...
MigrationReportAccessDialog.provideAnalysisTool=\u4ECA\u3059\u3050\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790\u3092\u5B9F\u884C\u3057\u3066\u3001\u79FB\u884C\u3055\u308C\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u5206\u6790\u3067\u304D\u307E\u3059\u3002\u3053\u306E\u8A66\u9A13\u7684\u306A\u30C4\u30FC\u30EB\u306B\u3088\u3063\u3066\u3001\u4EE5\u4E0B\u304C\u542B\u307E\u308C\u308B\u30EC\u30DD\u30FC\u30C8\u304C\u751F\u6210\u3055\u308C\u307E\u3059:
MigrationReportAccessDialog.listOfProblems=- \u624B\u52D5\u3067\u4FEE\u6B63\u3059\u308B\u30A2\u30A4\u30C6\u30E0\u306E\u30EA\u30B9\u30C8\u3002
MigrationReportAccessDialog.listItems=- \u30C1\u30A7\u30C3\u30AF\u3059\u308B\u30A2\u30A4\u30C6\u30E0\u306E\u30EA\u30B9\u30C8\u3002
@@ -655,7 +655,7 @@ ItemAnalysisReportManager.Warning.message=\u65B0\u3057\u3044\u5206\u6790\u3092\u
AnalysisReportAccessDialog.shellTitle=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790
AnalysisReportAccessDialog.generateSuccess=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5206\u6790\u304C\u6B63\u3057\u304F\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002
AnalysisReportAccessDialog.completeReportAvailable=\u30EC\u30DD\u30FC\u30C8\u3092\u30C1\u30A7\u30C3\u30AF
AnalysisReportAccessDialog.accessReport=\u3053\u3061\u3089
AnalysisReportAccessDialog.accessBrowse=\u53C2\u7167...
AbstractPomTemplateProjectSettingPage.defaultTabLabel=\u30C7\u30D5\u30A9\u30EB\u30C8
AbstractPomTemplateProjectSettingPage.customTabLabel=\u30AB\u30B9\u30BF\u30E0
AbstractPomTemplateProjectSettingPage.previewButton=\u30D7\u30EC\u30D3\u30E5\u30FC

View File

@@ -492,8 +492,8 @@ EUpdateResult.Reload=\u91CD\u65B0\u52A0\u8F7D\u7EC4\u4EF6
EUpdateResult.Rename=\u66F4\u6539\u540D\u79F0
EUpdateResult.Add=\u4ECE\u5B58\u50A8\u5E93\u6DFB\u52A0
EUpdateResult.Delete=\u4ECE\u5B58\u50A8\u5E93\u4E2D\u5220\u9664
UpdatesConstants.Context=\u4E0A\u4E0B\u6587
UpdatesConstants.ContextGroup=\u4E0A\u4E0B\u6587\u7EC4
UpdatesConstants.ContextVariable=\u4E0A\u4E0B\u6587\u53D8\u91CF
UpdatesConstants.ContextEnvironment=\u4E0A\u4E0B\u6587\u73AF\u5883
UpdatesConstants.Component=\u7EC4\u4EF6
UpdatesConstants.Joblet=Joblet
UpdatesConstants.Spark_Joblet=Spark_Joblet
@@ -640,7 +640,7 @@ TalendLibsServerManager.cannotGetUserLibraryServer=\u65E0\u6CD5\u4ECE\u8FDC\u7A0
MigrationReportAccessDialog.title=\u5DE5\u7A0B\u9879\u76EE\u8FC1\u79FB
MigrationReportAccessDialog.migrateSuccess=\u5DE5\u7A0B\u9879\u76EE\u8FC1\u79FB\u6210\u529F\u3002
MigrationReportAccessDialog.completeReportAvailable=\u8BF7\u68C0\u67E5\u62A5\u544A
MigrationReportAccessDialog.accessReport=\u6B64\u5904
MigrationReportAccessDialog.accessBrowse=\u6D4F\u89C8...
MigrationReportAccessDialog.provideAnalysisTool=\u60A8\u73B0\u5728\u53EF\u4EE5\u8FD0\u884C\u5DE5\u7A0B\u5206\u6790\u4EE5\u5206\u6790\u8FC1\u79FB\u7684\u5DE5\u7A0B\u3002\u6B64\u5B9E\u9A8C\u6027\u5DE5\u5177\u5C06\u751F\u6210\u4E00\u4EFD\u5206\u6790\u62A5\u544A\uFF0C\u5176\u4E2D\u5305\u542B:
MigrationReportAccessDialog.listOfProblems=- \u9700\u8981\u624B\u52A8\u4FEE\u590D\u7684\u9879\u76EE\u6E05\u5355\u3002
MigrationReportAccessDialog.listItems=- \u9700\u8981\u68C0\u67E5\u7684\u9879\u76EE\u6E05\u5355\u3002
@@ -655,7 +655,7 @@ ItemAnalysisReportManager.Warning.message=\u73B0\u5728\u65E0\u6CD5\u8FD0\u884C\u
AnalysisReportAccessDialog.shellTitle=\u5DE5\u7A0B\u5206\u6790
AnalysisReportAccessDialog.generateSuccess=\u5DE5\u7A0B\u5206\u6790\u6210\u529F\u5B8C\u6210\u3002
AnalysisReportAccessDialog.completeReportAvailable=\u8BF7\u68C0\u67E5\u62A5\u544A
AnalysisReportAccessDialog.accessReport=\u6B64\u5904
AnalysisReportAccessDialog.accessBrowse=\u6D4F\u89C8...
AbstractPomTemplateProjectSettingPage.defaultTabLabel=\u9ED8\u8BA4
AbstractPomTemplateProjectSettingPage.customTabLabel=\u81EA\u5B9A\u4E49
AbstractPomTemplateProjectSettingPage.previewButton=\u9884\u89C8

View File

@@ -80,5 +80,7 @@ public interface MavenConstants {
static final String PACKAGING_JAR = "jar";
static final String PACKAGING_POM = "pom";
static final String PACKAGING_BUNDLE = "bundle";
}

View File

@@ -19,6 +19,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.swt.widgets.Composite;
import org.talend.components.api.properties.ComponentProperties;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.metadata.IMetadataTable;
import org.talend.core.model.metadata.builder.connection.Connection;
@@ -68,4 +69,11 @@ public interface IGenericDBService extends IService{
public List<ERepositoryObjectType> getAllGenericMetadataDBRepositoryType();
public static IGenericDBService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericDBService.class)) {
return GlobalServiceRegister.getDefault().getService(IGenericDBService.class);
}
return null;
}
}

View File

@@ -14,7 +14,9 @@ package org.talend.core.runtime.services;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.talend.components.api.component.ComponentDefinition;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.components.IComponent;
@@ -64,6 +66,10 @@ public interface IGenericService extends IService {
public void validateGenericConnection(Connection conn) throws Exception;
void mergeGenericNodes(RepositoryNode parent, String type);
Set<ComponentDefinition> getJDBCComponentDefinitions();
public static IGenericService getService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericService.class)) {
return GlobalServiceRegister.getDefault().getService(IGenericService.class);

View File

@@ -15,10 +15,14 @@ package org.talend.core.runtime.services;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IWorkbench;
import org.talend.commons.ui.swt.actions.ITreeContextualAction;
import org.talend.components.api.properties.ComponentProperties;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.metadata.Dbms;
import org.talend.core.model.metadata.IMetadataTable;
@@ -31,6 +35,7 @@ import org.talend.core.model.process.IElement;
import org.talend.core.model.process.INode;
import org.talend.core.model.properties.Item;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.repository.model.RepositoryNode;
/**
@@ -152,4 +157,17 @@ public interface IGenericWizardService extends IService {
public String getDatabseNameByNode(IElement node);
public Dbms getDbms4AdditionalJDBC(String typeName);
public IWizard newSchemaWizard(IWorkbench workbench, boolean creation, IRepositoryViewObject object,
MetadataTable metadataTable, String[] existingNames, boolean forceReadOnly);
void openGenericWizard(String type, boolean creation, IPath path, String[] existingNames);
public static IGenericWizardService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericWizardService.class)) {
return GlobalServiceRegister.getDefault().getService(IGenericWizardService.class);
}
return null;
}
}

View File

@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Properties;
import java.util.Set;
@@ -111,7 +112,7 @@ public class ModuleAccessHelper {
return Collections.emptySet();
}
private static boolean allowJavaInternalAcess(Property property) {
public static boolean allowJavaInternalAcess(Property property) {
String allow = System.getProperty(JavaUtils.ALLOW_JAVA_INTERNAL_ACCESS);
if (allow != null) {
return Boolean.valueOf(allow);
@@ -148,7 +149,7 @@ public class ModuleAccessHelper {
Set<JobInfo> allJobInfos = new HashSet<>();
allJobInfos.add(new JobInfo(mainJobItem, mainJobItem.getProcess().getDefaultContext()));
allJobInfos.addAll(processor.getBuildChildrenJobsAndJoblets());
return ModuleAccessHelper.getModuleAccessVMArgs(property, allJobInfos);
return getModuleAccessVMArgs(property, allJobInfos);
}
@SuppressWarnings("unchecked")
@@ -193,6 +194,9 @@ public class ModuleAccessHelper {
.anyMatch(p -> ((ElementParameterType) p).getField() != null
&& EParameterFieldType.TECHNICAL.getName().equals(((ElementParameterType) p).getField())
&& ((ElementParameterType) p).getName().equals("TACOKIT_COMPONENT_ID")));
if (!hasTck) {
hasTck = hasExtraSettings(parameters);
}
}
}
if (hasTck) {
@@ -206,6 +210,29 @@ public class ModuleAccessHelper {
return vmArgs;
}
private static boolean hasExtraSettings(EList<ElementParameterType> parameters) {
if (parameters == null) {
return false;
}
Map<String, String> paramMap = parameters.stream().filter(p -> p.getName() != null && p.getValue() != null)
.collect(Collectors.toMap(ElementParameterType::getName, ElementParameterType::getValue, (a1, a2) -> a1));
// Implicit context
if (Boolean.valueOf(paramMap.getOrDefault("IMPLICIT_TCONTEXTLOAD", "false"))
&& Boolean.valueOf(paramMap.getOrDefault("FROM_DATABASE_FLAG_IMPLICIT_CONTEXT", "false"))
&& "JDBCInput".equals(paramMap.get("DB_TYPE_IMPLICIT_CONTEXT"))) {
return true;
}
// Stats&Logs
if ((Boolean.valueOf(paramMap.getOrDefault("ON_STATCATCHER_FLAG", "false"))
|| Boolean.valueOf(paramMap.getOrDefault("ON_LOGCATCHER_FLAG", "false"))
|| Boolean.valueOf(paramMap.getOrDefault("ON_METERCATCHER_FLAG", "false")))
&& Boolean.valueOf(paramMap.getOrDefault("ON_DATABASE_FLAG", "false"))
&& "JDBCOutput".equals(paramMap.get("DB_TYPE"))) {
return true;
}
return false;
}
public static void reset() {
PROPS = null;
}

View File

@@ -0,0 +1,31 @@
// ============================================================================
//
// 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.core.service;
import java.util.Map;
import org.talend.core.IProviderService;
import org.talend.core.model.process.INode;
import org.talend.core.model.properties.BigQueryConnectionItem;
import org.talend.repository.model.RepositoryNode;
public interface IBigQueryProviderService extends IProviderService {
public BigQueryConnectionItem getRepositoryItem(final INode node);
public boolean isBigQueryNode(final INode node);
public boolean isBigQueryNode(final RepositoryNode node);
public boolean isRepositorySchemaLine(INode node, Map<String, Object> lineValue);
}

View File

@@ -14,6 +14,7 @@ package org.talend.core.service;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.signon.util.PAT;
import org.talend.signon.util.TokenMode;
import org.talend.signon.util.listener.LoginEventListener;
@@ -53,4 +54,21 @@ public interface ICloudSignOnService extends IService {
}
return null;
}
/**
* Introspect PAT to retrieve the pat_created date and user info
* @param pat Personal access token of TMC
* @param dataCenter data center of TMC
* @return Introspected PAT
*/
PAT introspectPAT(String pat, String dataCenter);
/**
* Introspect pat and check whether pat is allowed
*
* @param pat Personal access token
* @param tmcUrl tmc url
* @return valid or not
*/
boolean validatePAT(String pat, String tmcUrl);
}

View File

@@ -24,7 +24,9 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.lang3.StringUtils;
import org.talend.commons.CommonsPlugin;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.Item;
@@ -88,6 +90,13 @@ public interface IDetectCVEService extends IService {
*/
void clearCache();
public static IDetectCVEService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IDetectCVEService.class)) {
return GlobalServiceRegister.getDefault().getService(IDetectCVEService.class);
}
return null;
}
public static String mavenUri2GAV(String uri) {
if (MavenUrlHelper.isMvnUrl(uri)) {
MavenArtifact art = MavenUrlHelper.parseMvnUrl(uri);
@@ -1009,7 +1018,7 @@ public interface IDetectCVEService extends IService {
this.version = ver;
}
private Date parseVersion() {
public Date parseVersion() {
String ver = version;
if (ver != null) {
if (ver.startsWith("R")) {
@@ -1019,7 +1028,10 @@ public interface IDetectCVEService extends IService {
try {
return df.parse(ver);
} catch (ParseException e) {
ExceptionHandler.process(e);
if (CommonsPlugin.isDebugMode()) {
// avoid too much log
ExceptionHandler.process(e);
}
}
}
return null;

View File

@@ -44,8 +44,26 @@ public interface IMetadataManagmentUiService extends IService {
public IContext promptConfirmLauch(Shell shell, List<IContext> contexts, IContext defaultContext);
/**
*
* @param shell
* @param context
* @return
* @deprecated use instead promptConfirmLauchIterateContexts
*/
@Deprecated
public boolean promptConfirmLauch(Shell shell, IContext context);
/**
* Iterate all variables from each context to check prompt needed
*
* @param shell
* @param contexts
* @param context
* @return
*/
public boolean promptConfirmLauchIterateContexts(Shell shell, List<IContext> contexts, IContext context);
public boolean isPromptNeeded(List<IContext> contexts);
}

View File

@@ -39,6 +39,8 @@ import org.talend.core.model.update.IStudioUpdateConfig;
*/
public interface IStudioLiteP2Service extends IService {
public static final String PROP_CLEARPERSISTEDSTATE = "talend.studio.switchProject.clearPersistedState";
public static final String CONFIG_STORAGE_FOLDER = "talend/studioLite/";
public static final String BUNDLES_INFOS_STORAGE_FOLDER = CONFIG_STORAGE_FOLDER + "bundlesInfo/";

View File

@@ -0,0 +1,56 @@
// ============================================================================
//
// 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.core.service;
import java.util.function.BiFunction;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.swt.graphics.Image;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.metadata.builder.connection.Connection;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.repository.model.RepositoryNode;
public interface ITCKUIService extends IService {
RepositoryNode createTaCoKitRepositoryNode(RepositoryNode parent, ERepositoryObjectType repObjType,
IRepositoryViewObject repositoryObject, Connection connection) throws Exception;
Image getTCKImage(Object element, BiFunction<Image, IRepositoryViewObject, Image> decorator);
boolean isTCKRepoistoryNode(RepositoryNode node);
ERepositoryObjectType getTCKRepositoryType(String componentName);
ERepositoryObjectType getTCKJDBCType();
Wizard createTCKWizard(String type, IPath path);
Wizard createTCKWizard(String type, IPath path, boolean isNew);
Wizard editTCKWizard(RepositoryNode node);
String getComponentFamilyName(IComponent component);
public static ITCKUIService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITCKUIService.class)) {
return GlobalServiceRegister.getDefault().getService(ITCKUIService.class);
}
return null;
}
}

View File

@@ -174,6 +174,8 @@ public class ConnectionParameters {
private Map<String, String> parameters;
private String selectContext = null;
private boolean isTacokitJDBC = false;
/**
* Sets the connectionComment.
@@ -917,4 +919,16 @@ public class ConnectionParameters {
this.selectContext = selectContext;
}
public boolean isTacokitJDBC() {
return isTacokitJDBC;
}
public void setTacokitJDBC(boolean isTacokitJDBC) {
this.isTacokitJDBC = isTacokitJDBC;
}
}

View File

@@ -53,6 +53,8 @@ public class RepositoryImageProvider {
return ECoreImage.METADATA_CONNECTION_ICON;
} else if (type == ERepositoryObjectType.METADATA_SAPCONNECTIONS || type == ERepositoryObjectType.METADATA_SAP_FUNCTION) {
return ECoreImage.METADATA_SAPCONNECTION_ICON;
} else if (type == ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS) {
return ECoreImage.METADATA_BIGQUERYCONNECTION_ICON;
} else if (type == ERepositoryObjectType.SQLPATTERNS) {
return ECoreImage.METADATA_SQLPATTERN_ICON;
} else if (type == ERepositoryObjectType.METADATA_CON_TABLE || type == ERepositoryObjectType.METADATA_SAP_IDOC) {

View File

@@ -0,0 +1,67 @@
// ============================================================================
//
// 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.core.utils;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.equinox.security.storage.ISecurePreferences;
import org.eclipse.equinox.security.storage.SecurePreferencesFactory;
/**
* DOC jding class global comment. Detailled comment
*/
public class SecurityStorageUtil {
public static void saveToSecurityStorage(String pathName, String key, String value, boolean encrypt) throws Exception {
saveToSecurityStorage(pathName, key, value, encrypt, true);
}
public static void saveToSecurityStorage(String pathName, String key, String value, boolean encrypt, boolean flush)
throws Exception {
ISecurePreferences securePreferences = SecurePreferencesFactory.getDefault();
ISecurePreferences node = securePreferences.node(pathName);
node.put(key, value, encrypt);
if (flush) {
securePreferences.flush();
}
}
public static void flushSecurityStorage() throws Exception {
ISecurePreferences securePreferences = SecurePreferencesFactory.getDefault();
securePreferences.flush();
}
public static String getValueFromSecurityStorage(String pathName, String key) throws Exception {
ISecurePreferences securePreferences = SecurePreferencesFactory.getDefault();
if (!securePreferences.nodeExists(pathName)) {
return null;
}
ISecurePreferences node = securePreferences.node(pathName);
return node.get(key, null);
}
public static Map<String, String> getSecurityStorageNodePairs(String pathName) throws Exception {
ISecurePreferences securePreferences = SecurePreferencesFactory.getDefault();
if (!securePreferences.nodeExists(pathName)) {
return null;
}
Map<String, String> keyValuePair = new HashMap<String, String>();
ISecurePreferences node = securePreferences.node(pathName);
for (String key : node.keys()) {
keyValuePair.put(key, node.get(key, null));
}
return keyValuePair;
}
}

View File

@@ -453,7 +453,6 @@ public final class TalendQuoteUtils {
return QUOTATION_MARK;
case PSQL:
case GREENPLUM:
case PLUSPSQL:
return QUOTATION_MARK;
case SYBASEASE:
return QUOTATION_MARK;

View File

@@ -21,13 +21,15 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.talend.analysistask.ItemAnalysisReportManager;
import org.talend.commons.exception.ExceptionHandler;
@@ -84,11 +86,23 @@ public class MigrationReportAccessDialog extends Dialog {
migrationInfoLayout.marginLeft = 10;
migrationInfoArea.setLayout(migrationInfoLayout);
createMessageLabel(migrationInfoArea, Messages.getString("MigrationReportAccessDialog.migrateSuccess"));
Link accessLink = new Link(migrationInfoArea, SWT.NONE);
accessLink.setText(Messages.getString("MigrationReportAccessDialog.completeReportAvailable") + " <a>"
+ Messages.getString("MigrationReportAccessDialog.accessReport") + "</a> .");
accessLink.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL));
accessLink.addSelectionListener(new SelectionAdapter() {
Composite noteComp = new Composite(migrationInfoArea, SWT.NONE);
noteComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
noteComp.setLayout(new FormLayout());
Label noteLabel = new Label(noteComp, SWT.NONE);
noteLabel.setText(Messages.getString("MigrationReportAccessDialog.completeReportAvailable"));
FormData noteLabelFormData = new FormData();
noteLabelFormData.bottom = new FormAttachment(100, -5);
noteLabelFormData.left = new FormAttachment(0, 0);
noteLabel.setLayoutData(noteLabelFormData);
Button browseBtn = new Button(noteComp, SWT.NONE);
browseBtn.setText(Messages.getString("MigrationReportAccessDialog.accessBrowse"));
FormData linkFormData = new FormData();
linkFormData.top = new FormAttachment(0, 0);
linkFormData.left = new FormAttachment(noteLabel, 5);
browseBtn.setLayoutData(linkFormData);
browseBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {

View File

@@ -149,6 +149,8 @@ public interface IRepositoryService extends IService {
String getStandardNodeLabel();
void openProjectSettingsDialog(String pageId);
public static IRepositoryService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRepositoryService.class)) {
return GlobalServiceRegister.getDefault().getService(IRepositoryService.class);

View File

@@ -262,6 +262,9 @@ public class RepositoryNodeUtilities {
}
RepositoryNode node = null;
IRepositoryNode nodeFromType = view.getRoot().getRootRepositoryNode(curNode.getRepositoryObjectType());
if (curNode.getRepositoryObjectType() == ERepositoryObjectType.METADATA_TACOKIT_JDBC) {
nodeFromType = view.getRoot().getRootRepositoryNode(ERepositoryObjectType.METADATA_CONNECTIONS);
}
if (nodeFromType != null) {
node = getRepositoryNode(nodeFromType, curNode, view, expanded);
}
@@ -512,6 +515,7 @@ public class RepositoryNodeUtilities {
|| curType == ERepositoryObjectType.METADATA_FILE_RULES
|| curType == ERepositoryObjectType.METADATA_FILE_LINKRULES
|| curType == ERepositoryObjectType.METADATA_SAPCONNECTIONS
|| curType == ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS
|| curType == ERepositoryObjectType.METADATA_HEADER_FOOTER) {
tmpType = ERepositoryObjectType.METADATA;
} else if (curType == ERepositoryObjectType.ROUTINES || curType == ERepositoryObjectType.SNIPPETS) {
@@ -714,7 +718,7 @@ public class RepositoryNodeUtilities {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericWizardService.class)) {
wizardService = GlobalServiceRegister.getDefault().getService(IGenericWizardService.class);
}
if (wizardService != null && wizardService.isGenericType(type)) {
if (wizardService != null && wizardService.isGenericType(type) || ERepositoryObjectType.METADATA_TACOKIT_JDBC == type) {
return getGenericSchemaNode(connection, tableName);
}
if (repType == ERepositoryObjectType.METADATA_CON_QUERY) {

View File

@@ -77,6 +77,7 @@ public class StatusHelper {
case PropertiesPackage.CSV_FILE_CONNECTION_ITEM:
case PropertiesPackage.DATABASE_CONNECTION_ITEM:
case PropertiesPackage.SAP_CONNECTION_ITEM:
case PropertiesPackage.BIG_QUERY_CONNECTION_ITEM:
case PropertiesPackage.DELIMITED_FILE_CONNECTION_ITEM:
case PropertiesPackage.POSITIONAL_FILE_CONNECTION_ITEM:
case PropertiesPackage.CONTEXT_ITEM:

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