Compare commits

...

367 Commits

Author SHA1 Message Date
kjwang-talend
114acc516f Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-08-29 09:47:02 +08:00
bhe-talendbj
194538b2e8 fix(TUP-35879): Default value is not saved into the job in tck component (#7815)
* fix(TUP-35879): persist closed_list of tck into job item

* fix(TUP-35879): add migration task and junit test

* fix(TUP-35879): fix test case
2022-08-28 14:49:11 +08:00
Joe
3d71f80ea7 fix(TUP-35231): tELTMap update query not be wrapped for SET column when (#7855)
* fix(TUP-35231): tELTMap update query not be wrapped for SET column when
enable `Use update statement without subqueries` in tELTOutput

* fix(TUP-35231): tELTMap update query not be wrapped for SET column

* fix(TUP-35231): tELTMap update query not be wrapped for SET column
2022-08-20 11:40:57 +08:00
Dmytro Sylaiev
8593003ad1 fix(TDI-48316): Add remote dir name (#7864) 2022-08-19 20:40:19 +03:00
kjwang-talend
e0736f2f37 temp commit 2022-08-19 20:52:34 +08:00
jiezhang-tlnd
b76efa649b Add localized files (#7908) (#7912)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-19 14:12:13 +08:00
pyzhou
c7e8398eda feat(TDI-46737):print jobinfo log move (#7832) 2022-08-18 15:19:18 +08:00
kjwang-talend
d78f18f829 temp commit 2022-08-17 18:47:12 +08:00
Xilai Dai
b1026c9515 fix(APPINT-34738) add MsmqTalend into osgi-exclude.properties (#7895) (#7896) 2022-08-17 16:09:13 +08:00
kjwang-talend
e01c61ffd8 temp commit 2022-08-16 19:15:21 +08:00
kjwang-talend
80b475c2a2 temp commit 2022-08-16 11:38:02 +08:00
kjwang-talend
f09063b28e temp commit 2022-08-15 18:33:46 +08:00
zyuan-talend
52bc20ba6c fix(TUP-35909):add junit test. (#7878) 2022-08-15 10:59:28 +08:00
kjwang-talend
76a52b2a09 temp commit 2022-08-12 17:37:18 +08:00
jiezhang-tlnd
9b3fc383a6 Add localized files (#7881) (#7886)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Xuwei ZHU <xzhu@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-12 10:20:34 +08:00
jiezhang-tlnd
b1403a7512 Add localized files (#7883) (#7884)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: jzhangbj <jzhang@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-12 08:52:09 +08:00
kjwang-talend
b267fbb636 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-08-11 18:59:55 +08:00
jiezhang-tlnd
09847a84e0 Add localized files (#7877) (#7882)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-11 18:22:48 +08:00
kjwang-talend
2a19bfc307 temp commit 2022-08-11 16:20:36 +08:00
vyu-talend
a0b3c983fb Revert "fix(TDI-48213):fix the closing resources issues. (#7826)" (#7880)
This reverts commit a092a9caab.
2022-08-11 15:34:36 +08:00
jiezhang-tlnd
43c4e71705 Revert "Jzhnag/80/tup 36410 need select talendssl (#7865)" (#7876)
This reverts commit ff24577e43.
2022-08-11 15:03:59 +08:00
jiezhang-tlnd
3a53d8a958 Revert "feat(TUP-35808)Generate module name from maven url (#7732)" (#7875)
This reverts commit 68a69cad7f.
2022-08-11 15:03:26 +08:00
kjwang-talend
5b991a271f temp commit 2022-08-11 11:44:54 +08:00
kjwang-talend
03e973e799 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-08-11 09:48:42 +08:00
wang wei
f6233bb17d fix(TDI-47696): [JDBC TCK]: Support dynamic changable setting when every row come, for tjdbcrow preparedstatementtable ui (#7711) 2022-08-10 20:38:20 +08:00
kjwang-talend
9c32694578 temp commit 2022-08-10 18:57:01 +08:00
vyu-talend
a092a9caab fix(TDI-48213):fix the closing resources issues. (#7826)
* fix(TDI-48213):fix the closing resources issues.

* fix(TDI-48213):change the log level.
2022-08-10 17:15:08 +08:00
kjwang-talend
43e1ae086a temp commit 2022-08-10 11:59:48 +08:00
kjwang-talend
01e048b04e Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-08-10 11:48:04 +08:00
kjwang-talend
6ffac02c60 temp commit 2022-08-10 11:42:03 +08:00
Oleksandr Zhelezniak
d8c18ff269 fix(TDI-46563): fix log message (#7869)
* add variable with empty value
2022-08-09 14:14:00 +03:00
kjwang-talend
401a589bfa temp commit 2022-08-09 18:45:26 +08:00
jiezhang-tlnd
ff24577e43 Jzhnag/80/tup 36410 need select talendssl (#7865)
* fix(TUP-36410)Need select talendssl.jar from local while building job
which using tLDAPInput

* format code

* add <stripVersion>true</stripVersion>
2022-08-09 18:00:13 +08:00
hcyi
2fdda554d8 feat(TUP-35963):fix a bug when rename the link. (#7725) 2022-08-09 16:35:22 +08:00
hzhao-talendbj
7bd4190816 (TUP-36341): Unable to run DQ reports with subjob+joblet on a cloud or (#7838)
* (TUP-36341): Unable to run DQ reports with subjob+joblet on a cloud or
remote engine

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

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

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

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

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

* fix(TUP-36341): Unable to run DQ reports with subjob+joblet on a cloud
2022-08-09 16:21:09 +08:00
Abdulhamid Rashankar
6d1c78e5e1 APPINT-34738:Integrate Talend-customized Microsoft MQ driver jar with improved native library loading (#7859)
Co-authored-by: arashankar <abdulhamid0606@gmail.com>
2022-08-09 09:17:48 +02:00
zyuan-talend
b0d427b936 fix(TUP-35909):update junit test. (#7854) 2022-08-09 11:25:55 +08:00
pyzhou
0042ffa19e fix(TDI-48322):align javax.mail version (#7847) 2022-08-09 10:23:44 +08:00
wang wei
c4efcea671 fix(TDI-47717): [JDBC TCK]: support tjdbccommit/tjdbcrollback (#7591) 2022-08-09 09:43:02 +08:00
kjwang-talend
6bfe494c0c Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-08-09 09:27:44 +08:00
kjwang-talend
dea75fee2e temp commit 2022-08-08 18:24:01 +08:00
pyzhou
c2a61959da feat(TDI-47369): tSendMail Oauth2 (#7784)
* fix(TDI-47369): tSendMail Oauth2

* fix migration

* feat(TDI-47447):tPOP OAuth2.0

* rename

* fix show if

* tSendMile MVN path

* tPOP mvn path

* correct migration description.
2022-08-08 17:23:58 +08:00
qiongli
19b29ea519 fix(TDQ-20362): Update and save analysis when rename jdbc connection (#7797) 2022-08-08 09:49:07 +08:00
pyzhou
cac9e1f72e fix(TDI-46737) (#7843) 2022-08-05 10:31:16 +08:00
kjwang-talend
fb96cb0aaa temp commit 2022-08-04 19:24:49 +08:00
jiezhang-tlnd
2d6fc1c328 Add localized files (#7846) (#7850)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Xuwei ZHU <xzhu@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-04 17:26:12 +08:00
jiezhang-tlnd
5c3637bfee Add localized files (#7845) (#7849)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: jzhangbj <jzhang@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-04 17:22:26 +08:00
jiezhang-tlnd
3e6c3d65a5 Add localized files (#7844) (#7848)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-08-04 17:17:32 +08:00
kjwang-talend
278aa93d43 temp commit 2022-08-04 16:27:55 +08:00
kjwang-talend
efa366f505 temp commit 2022-08-04 11:56:12 +08:00
kjwang-talend
a94fddfcbe temp commit 2022-08-03 18:56:43 +08:00
kjwang-talend
97fb5272ab temp commit 2022-08-03 17:54:20 +08:00
kjwang-talend
3bb9837a67 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-08-03 12:03:46 +08:00
msjian
4320d5a6d4 fix(TDQ-20638): fix a replacement error for DQ item (#7841) 2022-08-02 17:14:51 +08:00
sbliu
1cc40dac56 feat(TUP-29393) amend message. (#7836) 2022-08-02 15:33:43 +08:00
vyu-talend
b56d39476c fix(TDI-48246):upgrade guava to align. (#7809) 2022-08-02 11:40:05 +08:00
pyzhou
10ebfa7c56 fix(TDI-48254): tRSSOoutput encoding issue (#7799)
* fix(TDI-48254): tRSSOoutput encoding issue

* Changed to compatible with jdk 8
2022-08-02 10:27:49 +08:00
vyu-talend
864565e5f8 fix(TDI-48082):add additional parameters to all greenplum. (#7794) 2022-08-01 17:31:24 +08:00
zyuan-talend
d4db372bd9 801 loc 2022 07 29 (#7825)
* Add localized files (#7810)

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

* Add localized files (#7821)

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

* Add localized files (#7822)

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

* Add localized files (#7823)

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

Co-authored-by: jzhangbj <jzhang@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-07-29 15:45:53 +08:00
kjwang-talend
2516a2bd91 Temp commit 2022-07-28 18:22:08 +08:00
jiezhang-tlnd
68a69cad7f feat(TUP-35808)Generate module name from maven url (#7732)
* feat(TUP-35808)Generate module name from maven url

* format code
2022-07-27 18:38:29 +08:00
sbliu
88ec878129 feat(TUP-29393) remove preference initialization of nexus connection timeout (#7789)
* feat(TUP-29393) remove preference initialization of nexus connection timeout

* use same label for both local and remote connection, for default connection timeout / default read timeout

* change label for database connection timeout
2022-07-27 17:42:16 +08:00
kjwang-talend
9788aa5ff3 temp commit 2022-07-27 15:54:09 +08:00
jiezhang-tlnd
03fd7be5b8 fix(TUP-35446)CVE: org.apache.maven:maven-core:3.8.3 (#7747) 2022-07-27 11:25:08 +08:00
wang wei
1281774f65 fix(TDI-48086): CVE poi-scratchpad (#7786) 2022-07-27 10:19:45 +08:00
wang wei
3b73492a15 fix(TDI-48203): [CVE]: routines.system.JSONObject(Object bean) use reflect to call method invoke, that's dangerous for evil script inject(#7721) 2022-07-27 09:28:53 +08:00
Oleksandr Zhelezniak
d692b7c0d0 chore(TDI-48177): bump google oauth (#7765)
* 1.31.0 -> 1.33.3
2022-07-26 11:06:14 +03:00
sbliu
3e57b5c1f5 fix(TUP-36128) fix problem when parse where condition string which contains global string for tELTmap. (#7801)
* fix(TUP-36128) fix problem when parse where condition string which contains global string for tELTmap.

* fix(TUP-36128) add junit .
2022-07-26 14:29:28 +08:00
sbliu
e04186b994 fix(TUP-36252) fix NPE for tos studio build job (#7795) 2022-07-26 14:25:07 +08:00
pyzhou
449699463f feat(TDI-46737):print jobinfo log (#7618)
* feat(TDI-46737):print jobinfo log

* fix compaile error when log4jndisabled

* feat(TDI-46737): replace /n with /t

* put jobinfo outside main method

* add boundary check
2022-07-26 11:01:45 +08:00
kjwang-talend
683d6ea37a Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-07-25 16:26:09 +08:00
sbliu
b6bc8f8bb4 chore(TUP-35865) remove dependency link to wstx-asl in libraries.apache.axis (#7726) 2022-07-22 17:27:58 +08:00
Oleksandr Zhelezniak
ee41b11458 chore(TDI-48081): bump xmlsec 2.3.1 (#7769)
* MCRMInput\Output 2.1.2 -> 2.3.1
2022-07-22 09:51:32 +03:00
kjwang
cd0a376742 TUP-36157 Error when install Bigtable in studio: Illegal character in (#7761)
TUP-36157 Error when install Bigtable in studio: Illegal character in query
https://jira.talendforge.org/browse/TUP-36157
2022-07-22 09:37:38 +08:00
Jane Ding
0e942c29ec Add localized files (#7800) (#7803)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-07-21 17:43:54 +08:00
Jane Ding
263c68aa1c fix(TUP-36192):Talend 8 - Unable to Save Job (#7783)
* fix(TUP-36192):Talend 8 - Unable to Save Job
https://jira.talendforge.org/browse/TUP-36192

* fix(TUP-36192):Talend 8 - Unable to Save Job
https://jira.talendforge.org/browse/TUP-36192
2022-07-21 17:36:43 +08:00
jzhao
9c734ed1ab fix(TDI-48235):align bouncycastle to 1.70 (#7760) 2022-07-20 16:36:55 +08:00
jzhao
34ea4e2000 fix(TDI-48046): CVE: IBM MQ 9.2.4.0 (#7758) 2022-07-20 15:48:16 +08:00
hzhao-talendbj
3a7cdb4a7d Revert "chore(TUP-35265): upgrade 'crypto-utils' jar in low level (#7645)" (#7790)
This reverts commit 71e030028b.
2022-07-19 16:25:40 +08:00
pyzhou
b3f59bb007 fix(TDI-48024): ResumeUtil performance issue. (#7771) 2022-07-19 10:35:34 +08:00
vyu-talend
5dacef1e96 fix(TDI-47976):fix some potencial npe. (#7757) 2022-07-19 10:00:33 +08:00
wang wei
50390195d3 fix(TDI-48221): tDBBulkExec (MYSQL) Failing with error (#7739) 2022-07-18 10:11:43 +08:00
Dmytro Sylaiev
fda862cc39 feat(TDI-46563): Allow not to fire ANALYZE command (#7729) 2022-07-15 12:19:10 +03:00
Jane Ding
f8cc41a85e feat(TUP-35644):tMap - possible simplified metrics to send to Pendo (#7690)
* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644

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

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

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

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

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

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

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

* feat(TUP-35644):tMap - possible simplified metrics to send to Pendo
https://jira.talendforge.org/browse/TUP-35644
2022-07-14 17:23:09 +08:00
vyu-talend
080d15bb46 feat(TDI-44761):improve sftp in ftp components (#7728)
* feat(TDI-44761):improve sftp in ftp components.

* feat(TDI-44761):update plugin.xml for migration task.

* Delete .project

* feat(TDI-47761):improve code

* feat(TDI-44761):fix something

* feat(TDI-44761):fix migration issue.

* feat(TDI-47761):fix migration task.

* feat(TDI-44761):test manual build patch

* feat(TDI-44761):test migration task.

* feat(TDI-44761):improve code

* feat(TDI-44761):fix string value issue.

* feat(TDI-44761):import java.util.map.

* feat(TDI-44761):fix UI issue.

* feat(TDI-44761):improve migration.

* feat(TDI-44761):improve migration.
2022-07-14 16:51:35 +08:00
sbliu
6ef21d35df chore(TUP-35948) showOverwrite enabled when is cloud connection (#7770)
show override in preference page load from logon dialog when product is cloud license or tp_all license.
2022-07-14 15:51:52 +08:00
hcyi
bfd6eeb40c feat(TUP-30684):fix a bug if the table is start with a number or (#7774)
illegal character.
2022-07-14 15:12:54 +08:00
zshen-talend
a88cecbea1 fix(TDQ-20577): replace project name with lowercase mode in TDQItems when export job 2022-07-14 12:31:40 +08:00
pyzhou
98dced7251 Revert "migration" (#7773)
This reverts commit 4422793a56.

Revert "UI change"

This reverts commit b0d9c95d5a.

Revert "fix(TDI-47369): tSendMail Oauth2"

This reverts commit 5639383b2b.
2022-07-14 11:50:12 +08:00
Jill Yan
2e80d7e136 APPINT-34809 fix JSON exception (#7752)
Co-authored-by: jillyan <yan955599@gmail.com>
2022-07-14 09:37:23 +08:00
Jane Ding
1675c694a4 Jding/tup 35939 file dialog style (#7755)
* fix(TUP-35939):tFileOutput components resulting in File not found error
when selecting a file path for saving the output file.
https://jira.talendforge.org/browse/TUP-35939

* fix(TUP-35939):tFileOutput components resulting in File not found error
when selecting a file path for saving the output file.
https://jira.talendforge.org/browse/TUP-35939

* fix(TUP-35939):tFileOutput components resulting in File not found error
when selecting a file path for saving the output file.
https://jira.talendforge.org/browse/TUP-35939
2022-07-13 17:53:53 +08:00
Zhiwei Xue
d08c179dec fix(TUP-18979):Migration tasks including mapping files (#7730) 2022-07-13 11:02:31 +08:00
pyzhou
4422793a56 migration
Conflicts:
	main/plugins/org.talend.repository/plugin.xml
2022-07-12 22:19:43 +08:00
pyzhou
b0d9c95d5a UI change 2022-07-12 22:18:28 +08:00
pyzhou
5639383b2b fix(TDI-47369): tSendMail Oauth2 2022-07-12 22:18:22 +08:00
Dmytro Sylaiev
6ae35f5f87 fix(TDI-47908): Commit stats in case of Error (#7703) 2022-07-12 11:15:40 +03:00
pyzhou
f82cc232e2 fix(TDI-48290): tCould upgrade (#7750) 2022-07-12 09:29:31 +08:00
hcyi
9c90588ab5 feat(TUP-30684):snowflake Feature request to refresh the table schema instead of automatically refreshing all table schemas. (#7694)
* feat(TUP-30684):snowflake Feature request to refresh the table schema
instead of automatically refreshing all table schemas.

* feat(TUP-30684):add junits
2022-07-11 18:41:28 +08:00
kjwang
ddff7906c8 Fix: TUP-36107 In Studio 8 Stats & Logs project settings are removed (#7723)
Fix: TUP-36107 In Studio 8 Stats & Logs project settings are removed after enabling "Publish to artifact repository" feature
https://jira.talendforge.org/browse/TUP-36107
2022-07-08 18:33:55 +08:00
zshen-talend
ffddff1dbb fix(TDQ-20754): revert code to keep project is lowercase (#7741) 2022-07-08 16:17:55 +08:00
wang wei
59a4f69506 fix(TDI-47694): [JDBC TCK]: Inject runtime context for tck connector runtime(#7744) 2022-07-08 15:44:10 +08:00
pyzhou
06b2da94fc fix(TDI-48107):gson CVE (#7649)
* fix(TDI-48107):gson CVE

* fix(TDI-48107):gson CVE 2.8.9

* fix(TDI-48107):gson CVE

* fix(TDI-48107):gson CVE

* upgrade version

* missing GoogleDataprocManage
# Conflicts:
#	main/plugins/org.talend.designer.components.libs/libs_src/adal4j/pom.xml
#	main/plugins/org.talend.designer.components.libs/libs_src/talend-mscrm/pom.xml
2022-07-07 23:44:49 +08:00
Emmanuel GALLOIS
2a8024f79e fix(TCOMP-2171): fix ComponentIndex constructor in TaCoKitUtilTest (#7736) 2022-07-07 14:37:04 +02:00
zyuan-talend
7f6d815c1f Add localized files (#7735)
* Add localized files (#7733)

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

* Add localized files (#7734)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-07-07 18:09:25 +08:00
Emmanuel GALLOIS
31092cc40f fix(TCOMP-2171): fix ComponentIndex constructor (#7716) 2022-07-07 10:30:00 +02:00
Hongchun Yi
b7d9ba140c feat(TUP-35963):revert the fix a bug when rename the link. 2022-07-06 10:21:25 +08:00
Hongchun Yi
686564ae5e feat(TUP-35963):fix a bug when rename the link. 2022-07-05 18:42:25 +08:00
hzhao-talendbj
71e030028b chore(TUP-35265): upgrade 'crypto-utils' jar in low level (#7645) 2022-07-04 17:42:13 +08:00
sponomarova
d981791b42 fix(TBD-13990): [Patch R2022-05v2_8.0.1] tHiveConnection component doesn't generate code for url_tHiveConnection variable definition (#7669) 2022-07-04 12:06:26 +03:00
Dmytro Grygorenko
82f35f6e41 fix(TDI-48185): bump "nimbus-jose" version (leftovers). (#7717) 2022-07-04 11:29:42 +03:00
jzhao
99d434d29b fix(TDI-48159):tSalesforceEinsteinBulkExec align force-wsc with other sf
components (#7693)
2022-07-01 14:44:38 +08:00
zyuan-talend
f8865cb213 chore(TUP-8888):Add localized files (#7709)
* Add localized files (#7706)

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

* Add localized files (#7707)

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

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-07-01 11:42:53 +08:00
Jane Ding
dd9fd8cb24 fix(TUP-35939):tFileOutput components resulting in File not found error (#7666)
* fix(TUP-35939):tFileOutput components resulting in File not found error
when selecting a file path for saving the output file.
https://jira.talendforge.org/browse/TUP-35939

* fix(TUP-35939):tFileOutput components resulting in File not found error
when selecting a file path for saving the output file.
https://jira.talendforge.org/browse/TUP-35939
2022-07-01 09:28:25 +08:00
pyzhou
6655f97987 fix(TDI-48113):CVE woodstox-core (#7650) 2022-06-30 15:05:50 +08:00
zyuan-talend
4e7e7e3f92 fix(TUP-31721):Not clear studio index cache in normal case. (#7616) 2022-06-30 14:54:16 +08:00
wang wei
8200e6db62 fix(TDI-47714): [JDBC TCK]: "Use existed connection" ui appear in (#7586) 2022-06-30 11:38:06 +08:00
Dmytro Sylaiev
55ce5dea3c fix(TDI-48004): Handle dependency with classifier (#7672) 2022-06-29 15:18:35 +03:00
Abdulhamid Rashankar
cc71d9db71 APPINT-34489 : profile added for promthus dependencies (#7689)
Co-authored-by: arashankar <abdulhamid0606@gmail.com>
2022-06-29 13:55:39 +02:00
kjwang
dff68c17f2 Fix:TUP-35887 "build job" working in 7.2.1 fails in 8.0.1: Failed to generate code : NPE org.talend.designer.dbmap.language.oracle.OracleGenerationManager.addQuoteForSpecialChar (#7667)
* Fix:TUP-35887
"build job" working in 7.2.1 fails in 8.0.1: Failed to generate code :
NPE org.talend.designer.dbmap.language.oracle.OracleGenerationManager.addQuoteForSpecialChar
https://jira.talendforge.org/browse/TUP-35887
2022-06-29 11:38:42 +08:00
bhe-talendbj
1d99eba2b7 fix(TUP-35942): update relevant job only after renaming joblet (#7673) 2022-06-29 11:05:07 +08:00
Jill Yan
251293a356 APPINT-34694 build routlet module (#7676)
Co-authored-by: jillyan <yan955599@gmail.com>
2022-06-29 10:48:26 +08:00
Wei Hua
2ad83e745a APPINT-31958 Wrong endpoint displayed in console message when using cRest/tRESTRequest (#7680) 2022-06-28 16:23:47 +08:00
msjian
bc7b87956d fix(TDQ-19435): fix a NPE (#7665) 2022-06-28 14:17:48 +08:00
zshen-talend
fd8cf997dc fix(TDQ-19623): fix junit about BuildJobHandlerTest.testBuildJobWithTDM (#7692) 2022-06-27 19:03:14 +08:00
Olha V
6318139dd4 fix(TDI-48035): Add null marker to tBigQueryOutput (#7662) (#7687) 2022-06-24 12:27:25 +03:00
Jane Ding
9f034e9752 fix(TUP-35599):SuggestionValues.Item support of user friendly UI label (#7685)
different from it's id
https://jira.talendforge.org/browse/TUP-35599
2022-06-24 14:26:57 +08:00
hcyi
22168da847 fix(TUP-35960):signer.version show a fixed value in job's pom.xml. (#7681) 2022-06-23 18:08:20 +08:00
Chao MENG
024fbf3e6f chore: update plugin timestamp (#7683) 2022-06-23 17:13:57 +08:00
Jane Ding
7e4f1971ab fix(TUP-35599):SuggestionValues.Item support of user friendly UI label (#7619)
* fix(TUP-35599):SuggestionValues.Item support of user friendly UI label
different from it's id
https://jira.talendforge.org/browse/TUP-35599

* fix(TUP-35599):SuggestionValues.Item support of user friendly UI label
different from it's id
https://jira.talendforge.org/browse/TUP-35599
2022-06-21 22:07:41 +08:00
wwang
e24bc3e0c6 Revert "fix(TDI-47694): [JDBC TCK]: Inject runtime context for tck connector runtime (#7567)"
This reverts commit 77e3b8bb8a.
2022-06-21 09:08:32 +08:00
wang wei
77e3b8bb8a fix(TDI-47694): [JDBC TCK]: Inject runtime context for tck connector runtime (#7567) 2022-06-21 09:03:53 +08:00
zshen-talend
89433520a1 fix(TDQ-19623): make sure project name never force lowercase (#7660) 2022-06-17 10:15:06 +08:00
sbieliaievl
e22fe46720 fix(APPINT-33830) - fixed issue with timeout param upon migration (#7603)
* fix(APPINT-33830) - added migration project task

* fix(APPINT-33830) - added migration file
2022-06-16 13:44:50 +08:00
kjwang-talend
411e8bf716 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-06-15 18:52:53 +08:00
AlixMetivier
deb67d297d feat(TBD-13823): spark local 3.2.x GA (#7652) 2022-06-15 13:45:04 +03:00
zshen-talend
a9d6a44b7f fix(TDQ-19623): make sure build job action work for reference project (#7651) 2022-06-15 18:15:03 +08:00
kjwang-talend
abc789ca03 temp commit 2022-06-15 17:58:57 +08:00
Dmytro Sylaiev
fc81e0bd2f feat(TDI-47398): migrate adal4j to msal4j mscrm (#7556)
* feat(TDI-47398): Change adal4j to msal4j for talend-mscrm

* feat(TDI-47398): Change dependencies for tMicrosoftCRMXXX

* feat(TDI-47398): Implement oauth token acquiring

* chore(TDI-47398): Small microbes fix
2022-06-14 22:49:00 +03:00
kjwang-talend
8b6db96785 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-06-14 18:26:24 +08:00
kjwang-talend
08cdeaf65f Merge remote-tracking branch 'origin/maintenance/8.0' into
kjwang/Feat_TUP-32606_Support_SSO_on_Studio
2022-06-14 17:56:56 +08:00
hcyi
8faa1bba22 fix(TUP-35508):Better to improve context prompt for JDBC. (#7623)
* fix(TUP-35508):Better to improve context prompt for JDBC.

* fix(TUP-35508):Better to improve context prompt for JDBC.

* fix(TUP-35508):Better to improve context prompt for JDBC.

* fix(TUP-35508):Better to improve context prompt for JDBC.

* fix(TUP-35508):Better to improve context prompt for JDBC.
2022-06-14 15:06:18 +08:00
wang wei
5ff663a025 fix(TCOMP-2122): [JDBC TCK]: can't get user defined schema info in tck (#7536)
runtime in studio when no data outut line
2022-06-14 10:31:48 +08:00
kjwang-talend
acfcef3bd1 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-06-11 18:52:35 +08:00
kjwang-talend
c2ac18b1f9 temp commit 2022-06-11 16:21:47 +08:00
hzhao-talendbj
e610fc7c78 801 loc trans 2022 06 09 (#7644)
* Add localized files (#7640)

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

* Add localized files (#7642)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Xuwei ZHU <xzhu@talend.com>
2022-06-09 19:38:14 +08:00
Dmytro Sylaiev
71adfe57ed fix(TDI-47951): Don't set null passw for sso auth (#7580)
* fix(TDI-47951): Don't set null passw for sso auth

* fix(TDI-47951): Handle possible NPE

* For tRedshiftUnload and tRedshiftBE/OBE
2022-06-09 13:47:14 +03:00
Jane Ding
6da3235e82 feat(TUP-33085):Add Icon(s) to open Help (#7571)
* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085

* feat(TUP-33085):Add Icon(s) to open Help
https://jira.talendforge.org/browse/TUP-33085
fix(TUP-35782):[bug] button 'Online help' can't work for some TCK
components
https://jira.talendforge.org/browse/TUP-35782
2022-06-09 17:56:01 +08:00
Dmytro Grygorenko
9a9348dbd7 fix(TDI-47935): bump "nimbus-jose-jwt" lib to fix CVE. (#7641) 2022-06-09 10:47:46 +03:00
Chao MENG
ef141d231f item(TUP-35556): Handle demo feedbacks for update from TMC (#7596)
https://jira.talendforge.org/browse/TUP-35556
2022-06-09 10:50:22 +08:00
jiezhang-tlnd
ba9b07a7ef export dataset need with datastore (#7579)
* export dataset need with datastore

* issue is that deleting datastore but dataset not be deleted

* fix selection issue on export wizard

* fomat code

* format code

* improve performance

* improve performance by adding objectType

* improve code and handle import issue

* code format
2022-06-09 10:01:35 +08:00
kjwang-talend
2fd642a2ff temp commit 2022-06-08 19:02:33 +08:00
kjwang-talend
faaed254cb Temp commit 2022-06-08 18:27:55 +08:00
jiezhang-tlnd
ac33871bcf fix(TUP-35683)doc use job for route, joblet for routelet (#7630)
https://jira.talendforge.org/browse/TUP-35683
2022-06-08 15:16:13 +08:00
sbieliaievl
be61612d11 fix(APPINT-24774) - POST/PUT operations when importing API in (#7544)
tRESTRequest should declare a body parameter
2022-06-08 08:46:35 +03:00
kjwang-talend
f016e63d8f Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-06-08 11:58:38 +08:00
kjwang-talend
bc02fcf1f4 temp commit 2022-06-08 11:38:36 +08:00
jiezhang-tlnd
78f11e1915 feat(TUP-34931)Support Sybase 17 (#7620) 2022-06-08 09:49:45 +08:00
hzhao-talendbj
1c2cc10d46 801 loc trans 2022 06 02 (#7615)
* Add localized files (#7609)

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

* Add localized files (#7610)

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

* Add localized files (#7611)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-06-06 10:37:27 +08:00
zyuan-talend
a3efe44a58 fix(TUP-35622):Add missed org.talend.libraries.esb items when building studio index (#7566)
* fix(TUP-35622):Add missed org.talend.libraries.esb items when building studio index

* fix(TUP-35622):Add missed org.talend.designer.esb.components.rs.consumer
items when building studio index
2022-06-06 09:45:35 +08:00
pyzhou
ec95a0660d fix(TDI-48069):tRedshiftBulkExec wrong version (#7607) 2022-06-02 19:39:22 +08:00
wang wei
5dad003e3a fix(TDI-48037): CVE: org.postgresql:postgresql:42.2.14 (#7573) 2022-06-02 16:37:57 +08:00
hcyi
286748d5e0 feat(TUP-34854):Setup custom JKS for signature by System Property (#7367)
* feat(TUP-34854):Setup custom JKS for signature by System Property

* feat(TUP-34854):improve for Setup custom JKS for signature by System
Property

* feat(TUP-34854): upgrade version of signer-maven-plugin to 8.0.3

* feat(TUP-34855):Setup custom JKS for job signature from GUI.

* feat(TUP-34855):Setup custom JKS for job signature from GUI.

* feat(TUP-34855):Setup custom JKS for job signature from GUI.
2022-06-02 10:52:12 +08:00
Chao MENG
68e17cf5c9 Cmeng/fix/tup 35585 zero install tck 8 (#7569)
* fix(TUP-35585): Zero install fail to install custom tck component in
801.
https://jira.talendforge.org/browse/TUP-35585
2022-06-02 09:55:54 +08:00
Jill Yan
c577b2214d Jill/m80/APPINT-34618 fix: sqljdbc_auth.dll already loaded in another classloader (#7584)
* APPINT-34618 remove mssql-jdbc dependency

* APPINT-34618 add mssql-jdbc in import-package for child job

* APPINT-34618 add mssql-jdbc to import-package if used in child job

Co-authored-by: jillyan <yan955599@gmail.com>
2022-06-02 09:10:42 +08:00
Jane Ding
bca61021d8 feat(TUP-35301):[JDBC TCK]: Support MODULE_LIST field for studio tck (#7517)
* feat(TUP-35301):[JDBC TCK]: Support MODULE_LIST field for studio tck
plugin
https://jira.talendforge.org/browse/TUP-35301

* feat(TUP-35301):[JDBC TCK]: Support MODULE_LIST field for studio tck
plugin
https://jira.talendforge.org/browse/TUP-35301

* feat(TUP-35301):[JDBC TCK]: Support MODULE_LIST field for studio tck
plugin
https://jira.talendforge.org/browse/TUP-35301

* feat(TUP-35301):[JDBC TCK]: Support MODULE_LIST field for studio tck
plugin
https://jira.talendforge.org/browse/TUP-35301
fix(TUP-35716):[bug] new JDBC driver column will be always set to mvn
after reopen wizard
https://jira.talendforge.org/browse/TUP-35716
driver table contains path=mvn:xxxx/xxxx

* feat(TUP-35301):[JDBC TCK]: Support MODULE_LIST field for studio tck
plugin
https://jira.talendforge.org/browse/TUP-35301
2022-06-01 16:09:38 +08:00
wang wei
42456991d0 fix(TDI-47803): Compile error after applying Patch_20220107_R2022-01_v1-7.3.1 (#7474) 2022-06-01 11:25:33 +08:00
jiezhang-tlnd
2dfd3d1208 feat(TUP-28853)tRunjob is ok, need handle joblet (#7484)
* feat(TUP-28853)tRunjob is ok, need handle joblet

* generation document is ok from standard process

* format code

* reduce the same item to improve performance

* Remove duplicates to improve performance and fix preview picture missing
issue

* handle latest version on tRunjob

* handle version for joblet

* hanlde version

* improve performance with VersionList

* handle BD process part

* handle BD process

* handle route process

* code formate

* format code
2022-05-31 17:02:26 +08:00
Dmytro Sylaiev
9c7f9f8765 feat(TDI-44884): Correct missing label change (#7593) 2022-05-31 11:53:05 +03:00
Oleksandr Zhelezniak
d3608fce0a fix(TDI-47895): oracle input float length (#7545)
* force to use 38 as length for NUMBER (FLOAT) in oracle when getPrecision returns value bigger than 38
* getPrecision for Float Oracle returns 126.
* It's expected binary precision for FLOAT Oracle type. The decimal precision for it is 38.
2022-05-31 11:05:02 +03:00
bhe-talendbj
cf6ad2ea56 chore(TUP-35685): upgrade database driver version (#7576) 2022-05-31 11:38:49 +08:00
Chao MENG
0fc2cb145b fix(TUP-35633): 'Use local Update settings' checkbox should not be (#7578)
displayed in studio update settings when TMC update config is not set
for the project.
https://jira.talendforge.org/browse/TUP-35633
2022-05-31 10:15:03 +08:00
Oleksandr Zhelezniak
9fdefd85a8 fix(TDI-45946): greenplum mapping (#7514)
* add mapping type in XML for input and output
* migration task, replace mapping type from postgres_id to greenplum_id
2022-05-30 16:15:10 +03:00
hzhao-talendbj
841e254160 Add localized files (#7588) (#7589)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-05-30 15:57:35 +08:00
hzhao-talendbj
b773a3822f 801 trans 2022 05 27 (#7585)
* Add localized files (#7582)

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

* Add localized files (#7583)

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

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-05-30 10:35:44 +08:00
kjwang-talend
9cfb9ef4bf temp commit 2022-05-27 11:42:40 +08:00
Zhiwei Xue
8e7c5367d6 fix(TUP-35613):Can't display the dataset settings of AzureAdlsGen2 (#7564)
metadata wizard with CSV format in default GUI size
2022-05-27 10:35:34 +08:00
Chao MENG
285c1cd61c fix(TUP-35608): Stat and Logs screen - Database connection dropdown incorrect (#7560)
* fix(TUP-35608): Stat and Logs screen - Database connection dropdown
incorrect
https://jira.talendforge.org/browse/TUP-35608

* fix(TUP-35608): Stat and Logs screen - Database connection dropdown
incorrect
https://jira.talendforge.org/browse/TUP-35608
2022-05-26 19:44:51 +08:00
kjwang-talend
430aab8972 temp commit 2022-05-26 19:13:35 +08:00
hcyi
563429e649 fix(TUP-35326):[JDBC TCK]: can't pass table value to runtime when use existed connection (#7505)
* fix(TUP-35326):[JDBC TCK]: can't pass table value to runtime when use
existed connection

* fix(TUP-35326):[JDBC TCK]: can't pass table value to runtime when use
existed connection

* Merge remote-tracking branch 'origin/maintenance/8.0' into
hcyi/TUP-35326_8.0
2022-05-26 15:29:07 +08:00
kjwang-talend
c51369a9e4 temp commit 2022-05-26 11:41:18 +08:00
kjwang-talend
45219cb81c temp commit 2022-05-26 10:32:56 +08:00
kjwang-talend
46359aef19 temp commit 2022-05-25 18:55:59 +08:00
Zhiwei Xue
23b3fbdcf1 fix(TUP-31233):Routine pom is not updated after installed the required (#7543)
* fix(TUP-31233):Routine pom is not updated after installed the required
jar of user routine

* fix(TUP-31233):Routine pom is not updated after installed the required
jar of user routine

* fix(TUP-31233):Routine pom is not updated after installed the required
jar of user routine
2022-05-25 18:04:57 +08:00
kjwang-talend
616dd29a85 temp commit 2022-05-25 16:10:11 +08:00
Dmytro Sylaiev
954dd78d68 feat(TDI-44884): Change the label of Sybase SA (#7558) 2022-05-24 19:40:35 +03:00
wang wei
56200c66e8 fix(TDI-47958): [JDBC TCK]: support the component like tjdbcrow which have 3 modes in studio(#7501) 2022-05-23 14:01:49 +08:00
wang wei
bd99549311 fix(TDI-47966): [JDBC TCK]: We have a input/mapper which is defined by Emitter, that don't works for using existed connection(#7511) 2022-05-23 14:01:31 +08:00
hzhao-talendbj
b689b068e4 fix(TUP-28879): JDBC metadata`s modification cannot be porpagated to (#7508)
components
2022-05-20 18:14:34 +08:00
Chao MENG
a898ccc320 fix(TUP-35616): Problems on the \ processing on the password field after TUP-32821 (#7552)
* fix(TUP-35616): Problems on the \ processing on the password field after
TUP-32821
https://jira.talendforge.org/browse/TUP-35616

* Update PasswordDialog.java

* fix(TUP-35616): Problems on the \ processing on the password field after
TUP-32821
https://jira.talendforge.org/browse/TUP-35616
2022-05-19 19:25:15 +08:00
hzhao-talendbj
6280d524ff 801 loc translate 2022 05 19 (#7554)
* Add localized files (#7549)

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

* Add localized files (#7550)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-05-19 18:44:51 +08:00
kjwang-talend
52de82af56 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-19 18:37:09 +08:00
kjwang-talend
f9411b0ac7 temp commit 2022-05-19 17:19:01 +08:00
Dmytro Ochkas
d62e535ed0 fix(TDI-47932): EncryptClientSecretMicrosoftCRMMigrationTask returns wrong value (#7491)
Added modification check
2022-05-19 11:14:30 +03:00
Dmytro Ochkas
872b792ad1 fix(TDI-47879): tExtractJSONFields NB_LINE not updated
Removed destination property from tExtractJSONFields. Created migration to remove the property from .item file
2022-05-19 10:50:43 +03:00
kjwang-talend
e0339ab8e1 list project 2022-05-18 18:16:55 +08:00
pyzhou
bc84f657ba feat(TDI-47152):tFileFetch upgrade v4 (#7403)
* feat(TDI-47152):tFileFetch upgrade v4

* feat(TDI-47687):promote jar imports

* feat(TDI-47687):adjust show if

* fix(TDI-47152):  compile error

* fix(TDI-47152):  read cookie

* bad content type

* error message

* compile error
2022-05-18 14:43:56 +08:00
kjwang-talend
78a636bf42 temp commit 2022-05-18 08:51:05 +08:00
kjwang-talend
c9716af27c Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-17 21:17:35 +08:00
kjwang-talend
a1f1be4bf0 temp commit 2022-05-17 19:54:24 +08:00
bhe-talendbj
15cf7ddb70 fix(TUP-35590): update slf4j (#7538) 2022-05-17 18:03:15 +08:00
Jane Ding
6f4ea42405 fix(TUP-33119):SuggestionValues.Item label is received at runtime (#7535)
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119
2022-05-17 17:44:01 +08:00
Oleksandr Zhelezniak
732d3f1479 fix(TDI-46054): support java11 mscrm onprem 2015 (#7490)
* add jaxb-api-2.3.1
* add jaxws-api-2.3.1
* add javax.annotation-api-1.3.2
* align slf4j dependencies to 1.7.29
2022-05-17 10:45:34 +03:00
Jane Ding
d504323cc1 Revert "fix(TUP-33119):SuggestionValues.Item label is received at runtime (#7320)" (#7533)
This reverts commit b521f4208a.
2022-05-16 15:51:15 +08:00
Chao MENG
474360f154 chore: fix junit failure issue (#7532) 2022-05-16 12:10:30 +08:00
Chao MENG
617f0d2e2c chore: update message (#7530) 2022-05-13 18:07:56 +08:00
Emmanuel GALLOIS
2b6b3cbd4d fix(TCOMP-2003): Maven dependency classifier considered as version in dependencies.txt by Studio (#7302) (#7303)
* fix(TCOMP-2003): fix Mvn.toLocation in GAV parsing

(cherry picked from commit 8f5d517779)
2022-05-13 11:17:34 +02:00
kjwang-talend
a838b251f1 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-13 09:20:49 +08:00
hzhao-talendbj
2bf70b9940 801 loc 2022 05 12 (#7526)
* Add localized files (#7524)

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

* Add localized files (#7525)

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

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-05-12 21:04:15 +08:00
kjwang-talend
6c6c1ab5cf temp commit 2022-05-12 19:10:42 +08:00
kjwang-talend
335fad91d8 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-12 19:09:15 +08:00
Chao MENG
49a00f57d1 Cmeng/feat/tup 33928 tmc update 8 (#7464)
* feat(TUP-33928): Controlled Studio Updates from TMC
https://jira.talendforge.org/browse/TUP-33928
2022-05-12 18:59:01 +08:00
Chao MENG
f21f45c28d feat(TUP-32821): Credential property value in json format in tck framework (#7452)
* feat(TUP-32821): Credential property value in json format in tck
framework
https://jira.talendforge.org/browse/TUP-32821

* feat(TUP-32821): Credential property value in json format in tck
framework
https://jira.talendforge.org/browse/TUP-32821

* fix(TUP-35529): MarkLogic password display not properly
https://jira.talendforge.org/browse/TUP-35529
2022-05-12 18:35:27 +08:00
Chao MENG
0c4dfba75c fix(TUP-35400): Save snowflake metadata failed when selected table name (#7510)
start with number
https://jira.talendforge.org/browse/TUP-35400
2022-05-12 18:27:22 +08:00
hcyi
08b2202bf4 feat(TUP-34889):Support to prompt Context on Metadata Connection (#7469)
* feat(TUP-34889):Support to prompt Context on Metadata Connection

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

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

* feat(TUP-34889):fix bug TUP-35370 and TUP-35372

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

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

* feat(TUP-34889):fix bug TUP-35503 and TUP-35504
2022-05-12 17:08:29 +08:00
sponomarova
d26fb2cc29 feat(TBD-13581): Dataproc 2.x support for di jobs (#7488) 2022-05-12 11:25:23 +03:00
hcyi
7f0bc14fd6 fix(TUP-32889):Credential value with double quotes in tck framework (#7304)
* fix(TUP-32889):Credential value with double quotes in tck framework

* fix(TUP-32889):add junits

* fix(TUP-32889):Credential value with double quotes in tck framework
2022-05-12 15:18:51 +08:00
Wei Hua
ada20f06cb APPINT-34569 [801]Job including tRESTand tRESTClient deployed to runtime with error: com.sun.jersey.api.client.ClientHandlerException (#7516) 2022-05-11 14:47:37 +02:00
kjwang-talend
9f3091ae77 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-11 18:07:43 +08:00
apoltavtsev
469fce3a70 fix(APPINT-34578) MDM components causing 'java.lang.ClassNotFoundException' (#7521) 2022-05-11 11:57:11 +02:00
hcyi
a5f73b2d14 feat(TUP-28953):move change to other util class . (#7513) 2022-05-11 11:31:03 +08:00
Jane Ding
b521f4208a fix(TUP-33119):SuggestionValues.Item label is received at runtime (#7320)
* fix(TUP-33119):SuggestionValues.Item label is received at runtime
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119

* fix(TUP-33119):SuggestionValues.Item label is received at runtime
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119

* fix(TUP-33119):SuggestionValues.Item label is received at runtime
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119

* fix(TUP-33119):SuggestionValues.Item label is received at runtime
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119

* fix(TUP-33119):SuggestionValues.Item label is received at runtime
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119

* fix(TUP-33119):SuggestionValues.Item label is received at runtime
instead of id when used inside table
https://jira.talendforge.org/browse/TUP-33119
2022-05-11 10:38:21 +08:00
kjwang-talend
e48b73b782 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-10 09:35:50 +08:00
Olha V
e462d54ebb fix(TDI-47519): Kafka ssl conflict with schema registry (#7325) (#7507)
* fix(TDI-47519): Kafka ssl conflict with schema registry

* add migration task

* fix(TDI-47519): Kafka ssl conflict with schema registry

* fix schema registry ssl configuration for empty kafka tSetKeystore

* fix(TDI-47519): Kafka ssl conflict with schema registry

* add null check for schema registry use ssl property

* fix(TDI-47519): Kafka ssl conflict with schema registry

* fix migration for empty tSetKeystore in existing connection

* fix(TDI-47519): Kafka ssl conflict with schema registry

* add null check for https settings
* clean up code

* fix(TDI-47519): Kafka ssl conflict with schema registry

* fix migrated status
2022-05-09 16:32:56 +03:00
Oleksandr Zhelezniak
13ea203175 chore(TDI-47688): bump jackson (#7379)
* jackson to 2.13.2
* jackson-databind to  2.13.2.2
2022-05-09 14:47:05 +03:00
kjwang-talend
343f5c3c17 temp commit 2022-05-09 19:11:54 +08:00
kjwang-talend
9a030dd41f Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-07 10:07:59 +08:00
Jane Ding
e6d62056f3 fix(TUP-35252):Additional parameter can not update to the job after (#7445)
* fix(TUP-35252):Additional parameter can not update to the job after
modified.
https://jira.talendforge.org/browse/TUP-35252

* fix(TUP-35252):Additional parameter can not update to the job after
modified.
https://jira.talendforge.org/browse/TUP-35252
2022-05-07 10:05:40 +08:00
Dmytro Grygorenko
340ee0738a feat(TDI-45870): checkbox in tWriteJSONField to avoid use of scientific notation for float values. (#7502) 2022-05-06 16:06:38 +03:00
hcyi
55afb8808a fix(TUP-35248):Context password exposed when hovering over context on (#7499)
Talend 8
2022-05-06 15:56:25 +08:00
hzhao-talendbj
9fe757d8ac Add localized files (#7493) (#7497)
* Add localized files (#7493)

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

* Add localized files (#7496)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-05-06 09:43:08 +08:00
kjwang-talend
1f77e56412 Merge remote-tracking branch 'origin/maintenance/8.0' into kjwang/Feat_TUP-32606_Support_SSO_on_Studio 2022-05-05 17:37:10 +08:00
Emmanuel GALLOIS
c4b5674205 fix(TCOMP-1963): adapt correct Metadata from schema (#6711) (#7487)
(cherry picked from commit e556a39c4e)
2022-05-05 09:34:59 +02:00
kjwang-talend
50ea267dab temp commit 2022-05-05 15:12:36 +08:00
hcyi
32ab9862cf Hcyi/tup 28953 8.0 (#7422)
* feat(TUP-28953):Spark Big Data/streaming job are missing "open another
version" action.

* feat(TUP-28953):add junits
2022-05-05 14:04:08 +08:00
wang wei
a78d75cd75 fix(TDI-47819): tJDBCInput component results in error with Dynamic schema inTalend latest versions. (#7426) 2022-05-05 13:36:22 +08:00
kjwang-talend
b2404093b6 temp commit 2022-05-03 20:08:19 +08:00
Dmytro Grygorenko
20589b75f2 feat(TDI-45629): add dynamic schema support for tFileOutputJSON. (#7486) 2022-04-29 17:30:56 +03:00
sbliu
0d5ce18334 Add localized files (#7483)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-04-28 18:34:25 +08:00
pyzhou
062c36b33c Pyzhou/tdi 43829 zip4j2 tfile archive 8.0 (#7477)
* feat(TDI-43829): Add support for zip4j 2.x libraries to tFileArchive/unArchive components

# Conflicts:
#	main/plugins/org.talend.designer.components.libs/libs_src/talendzip/pom.xml

* fix(TDI-43829): move IntegrityUtil.java

# Conflicts:
#	main/plugins/org.talend.designer.components.libs/libs_src/checkArchive/pom.xml
2022-04-28 16:44:57 +08:00
hcyi
5f9c3c089e fix(TUP-35078):tJDBCSCDELT does not work correctly on Snowflake. (#7393)
* fix(TUP-35078):tJDBCSCDELT does not work correctly on Snowflake.

* fix(TUP-35078):add junits
2022-04-25 17:19:12 +08:00
sbliu
160fe02147 Add localized files (#7471)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-04-24 10:15:33 +08:00
Tetiana Meronyk
c01f9c84c7 fix(TDI-47257): tELTOracleOutput does not print messages during execution unlike other tELT***Output components (#7388) 2022-04-22 01:46:28 +03:00
AlixMetivier
3612331c6b fix(TBD-13517): set default value as 3.1 for univ (#7465) 2022-04-21 14:15:29 +02:00
vyu-talend
8de3f29911 fix(TDI-46584):modify limit label. (#7459) 2022-04-20 18:10:58 +08:00
sponomarova
69e7b7fa77 fix(TBD-13798): CVE: Replace log4j1.x by reload4j for org.talend.libraries.hadoop.mapr.5.0.0 (#7449) 2022-04-20 11:27:59 +03:00
Jane Ding
399df5fe10 fix(TUP-35238):Drag and drop Redshift metadata to list components lost (#7441)
some components
https://jira.talendforge.org/browse/TUP-35238
2022-04-19 17:42:48 +08:00
Chao MENG
2fe7acf5ac chore: fix swtbot issue (#7447) 2022-04-19 11:12:56 +08:00
Dmytro Sylaiev
d0cb6c1337 fix(TDI-47802): Fix short strings as Clobs (#7425)
* Add warning for long strings as varchar
2022-04-18 15:32:56 +03:00
Laurent BOURGEOIS
df355a4388 feat(TBD-13522):CDE - GA (#7358) 2022-04-15 17:59:10 +02:00
Dmytro Ochkas
d5cb99e5a7 fix(TDI-47539): MSCRM Application secret as password (#7437)
Update migration task
2022-04-15 12:17:18 +03:00
sbliu
eae6a2c262 Add localized files (#7434)
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-04-15 15:10:50 +08:00
Jane Ding
d40c50f1ba feat(TUP-35069):Upgrade Redshift driver to v2.x (#7433)
https://jira.talendforge.org/browse/TUP-35069
2022-04-14 17:45:45 +08:00
Tetiana Meronyk
33809a44b2 feat(TDI-47263): Upgrade Redshift driver to v2.x (#7056)
* feat(TDI-47263): Upgrade Redshift driver to v2.x

* Add dependency aws-java-sdk-redshift-internal-1.12.x.jar

* UI change

* Connection javajet

* Connection javajet change

* Row generate code

* Migration task

* input compile error

* input compile error

* add back jar version

* add back jar version

* class version

* migration add tCreate table

* feat(TUP-35069):Upgrade Redshift driver to v2.x (#7411)

https://jira.talendforge.org/browse/TUP-35069

Co-authored-by: pyzhou <pyzhou@talend.com>
Co-authored-by: Jane Ding <jding@talend.com>
2022-04-14 17:43:37 +08:00
yyin
e0ea03fcfe Feat TDQ-20141 add param algoVersion (#7428) 2022-04-14 16:05:45 +08:00
Jane Ding
6a5ab216e4 fix(TUP-35238):Drag and drop Redshift metadata to list components lost (#7419)
* fix(TUP-35238):Drag and drop Redshift metadata to list components lost
some components
https://jira.talendforge.org/browse/TUP-35238

* fix(TUP-35238):Drag and drop Redshift metadata to list components lost
some components
https://jira.talendforge.org/browse/TUP-35238
2022-04-14 16:04:55 +08:00
bhe-talendbj
b184ad5fa4 fix(TUP-35191): fix java path (#7394)
* fix(TUP-35191): fix java path

* fix(TUP-35191): fix java path

* fix(TUP-35191): fix java path

* fix(TUP-35191): fix java path

* fix(TUP-35191): add junit

* fix(TUP-35191): add junit

* fix(TUP-35191): add junit

* fix(TUP-35191): add junit

* fix(TUP-35191): update junit package

* fix(TUP-35191): find java instead of guess

* fix(TUP-35191): find java instead of guess
2022-04-13 17:50:03 +08:00
Jane Ding
966c4a2958 fix(TUP-34716):can't get the right (#7347)
* fix(TUP-34716):can't get the right
"ACTIVE_DATABASE_DELIMITED_IDENTIFIERS" property value in tELTMap in
javajet
https://jira.talendforge.org/browse/TUP-34716

* fix(TUP-34716):can't get the right
"ACTIVE_DATABASE_DELIMITED_IDENTIFIERS" property value in tELTMap in
javajet
https://jira.talendforge.org/browse/TUP-34716
2022-04-13 00:48:31 +08:00
wang wei
35af8a3dc5 fix(TDI-47496): Column names in a main query are not enclosed when enabling "Delimited identifiers" (#7392) 2022-04-12 18:11:02 +08:00
vyu-talend
fe3a94ae72 feat(TDI-46111):upgrade teradata jdbc driver to 17. (#7376) 2022-04-12 14:37:26 +08:00
pyzhou
7968396091 feat(TDI-47687):tScp reuse session (#7416)
* feat(TDI-47687):tScp reuse session

* feat(TDI-47687): tSCPFileList

* feat(TDI-47687): tSCPFileList compile error
2022-04-12 11:44:48 +08:00
hcyi
575670e424 feat(TUP-34849):missing a change for the d&d (#7414) 2022-04-12 09:39:55 +08:00
vyu-talend
7c5c9fd082 fix(TDI-46584): tServiceNowInput Limit disable option in Advanced settings not working (#6717) (#7412)
* fix(TDI-46584): tServiceNowInput Limit disable option in Advanced
settings not working

* fix something

* fix more

* fix(TDI-46584):fix the job won't stop issue.

* fix(TDI-46584):fix always reading-all-records issue.

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

Co-authored-by: wang wei <wwang@talend.com>
2022-04-11 17:33:54 +08:00
Tetiana Meronyk
3b04b8651d fix(TDI-47133): the log "closing the connection" in tCreateTable is not right (#7359) 2022-04-10 15:47:48 +03:00
Dmytro Ochkas
7ebc296617 chore(TDI-47539): moved EncryptClientSecretMicrosoftCRMMigrationTask.java to correct directory (#7409) 2022-04-08 15:49:13 +03:00
sbliu
d7739e23c5 Add localized files (#7398) (#7407)
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-04-08 10:06:30 +08:00
sbliu
862bf636ca Add localized files (#7405) (#7406)
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-04-08 09:46:12 +08:00
Chao MENG
e59ce89834 fix(TUP-35034): CI - stop the build if custom component is missing (#7401)
https://jira.talendforge.org/browse/TUP-35034
2022-04-07 16:34:46 +08:00
sbliu
31eb56130e Add localized files (#7396) (#7399)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-04-07 15:57:32 +08:00
Dmytro Ochkas
360bb6ad19 fix(TDI-47539): tMicrosoftCRM change application secret as a password (#7324)
Changed field type and refactored code so that 2 passwords didn't conflict. Created Migration task to encrypt client secret field
2022-04-06 15:50:15 +03:00
vyu-talend
a20d1f73cb chore(TDI-47404):bump cxf version to 3.4.4 (#7313)
* chore(TDI-47404):bump cxf version to 3.4.4

* fix(TDI-47404):delete the codes causing error.

* chore(TDI-47404):bump cxf in talend ws.
2022-04-06 15:40:44 +08:00
sbliu
9367f9e4e2 fix(TUP-27413) add junit (#7377) 2022-04-06 09:39:39 +08:00
Dmytro Grygorenko
1716c4a53d fix(TDI-47725): increment nb_line counter for "on duplicate" output action. (#7390) 2022-04-04 16:45:06 +03:00
clesaec
31abe8e412 TDI-47287 : change ftpput (#7353) 2022-04-04 07:37:50 +02:00
Laurent BOURGEOIS
dba8a49c0d chore:Fix Junit (#7375) 2022-04-01 16:36:51 +02:00
Chao MENG
fe27538b5f fix(TUP-35034): CI - stop the build if custom component is missing (#7380)
https://jira.talendforge.org/browse/TUP-35034
2022-04-01 19:14:34 +08:00
sbliu
ad56c1e790 Add localized files (#7374)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-04-01 16:13:47 +08:00
wang wei
64c6017cce fix(TDI-47536): CVE : logback (#7373) 2022-04-01 15:43:05 +08:00
wang wei
ff5018893a fix(TDI-47633): CVE: Replace log4j1.x by reload4j or upgrade to log4j2 (#7330) 2022-04-01 14:32:13 +08:00
jiezhang-tlnd
8faa657699 fix(TUP-34954)CVE: Replace log4j1.x by reload4j (#7329)
* fix(TUP-34954)CVE: Replace log4j1.x by reload4j

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

* update junits

* exclude log4j from slf4j-log4j12
2022-04-01 14:14:26 +08:00
sbliu
38b038211c fix(TUP-27413) SQL Builder: Graphical Editor is Empty for a specific table. (#7335) 2022-04-01 09:23:07 +08:00
Xilai Dai
3416273d30 fix(APPINT-34443) add missing import packages for tRESTClient (#7361) 2022-03-31 14:16:16 +08:00
Chao MENG
981ee4e4fc Cmeng/fix/tup 35034 err on component missing 8 (#7327)
* fix(TUP-35034): CI - stop the build if custom component is missing
https://jira.talendforge.org/browse/TUP-35034

* fix(TUP-35034): CI - stop the build if custom component is missing
https://jira.talendforge.org/browse/TUP-35034

* fix(TUP-35034): CI - stop the build if custom component is missing
https://jira.talendforge.org/browse/TUP-35034

* fix(TUP-35034): CI - stop the build if custom component is missing
https://jira.talendforge.org/browse/TUP-35034
2022-03-30 16:09:58 +08:00
Dmytro Grygorenko
1a26148bae fix(TDI-47670): BP_801: fix Xpath "count" function for unformatted XML file (#7354)
* fix(TDI-47670): use asXML() method instead of getText().

* fix(TDI-47670): use getStringValue() method instead.

* fix(TDI-47670): use isEmpty() method.
2022-03-29 16:17:01 +03:00
Dmytro Grygorenko
e2b381c4fe fix(TDI-47532): bump XercesImpl library to 2.12.2 (#7350) 2022-03-28 16:26:45 +03:00
Dmytro Ochkas
5e6ce92172 fix(TDI-47560): tSybaseOutput BigDecimal jdbc inconsistencies (#7305)
Set BigDecimal for each Sybase version. Add DBVersion field to Manager class and remove it from OracleManager
2022-03-28 14:00:06 +03:00
wang wei
18f254a8ce fix(TDI-47589): "Write Excel 2007 format" leads to tFileOutputExcel poor performance(#7261) 2022-03-28 14:30:57 +08:00
wwang-talend
15b4174ae0 fix(TDI-47154): no need to generate label code for joblet case if not
change label
2022-03-28 11:20:54 +08:00
Oleksandr Zhelezniak
09a762aff3 fix(TDI-47651): bump Redshift driver to 1.2.55.1083 (#7342) 2022-03-25 11:46:22 +02:00
sbliu
ef18108de7 Add localized files (#7343) (#7344)
Co-authored-by: jzhangbj <jzhang@talend.com>
2022-03-25 16:02:23 +08:00
sbliu
4f5dd9ea91 Add localized files (#7339)
* Add localized files (#7337)

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

* Add localized files (#7338)

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

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-03-24 17:33:47 +08:00
jiezhang-tlnd
a591b3be76 chore(TUP-34977)Help links in Studio (#7316) 2022-03-21 14:49:47 +08:00
pyzhou
a8d70de160 fix(TDI-47223):CVE_axis2-kernel compile error (#7308)
* fix(TDI-47223):CVE_axis2-kernel compile error

* correct mvn path
2022-03-18 17:34:01 +08:00
Dmytro Grygorenko
8d114ee5ac fix(TDI-47073): fix description for tBigQueryOutput. (#7323) 2022-03-18 10:14:58 +02:00
sbliu
d8be371e3f Add localized files (#7322)
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-03-18 11:39:03 +08:00
Chao MENG
c46bb87b51 fix(TUP-34378): Job could build out successfully if contains component which cannot be loaded (#7287)
* fix(TUP-34378): Job could build out successfully if contains component
which cannot be loaded
https://jira.talendforge.org/browse/TUP-34378
2022-03-16 16:19:57 +08:00
jzhao
bfab7d73ff fix(TDI-47373):update IBM MQ client lib to 9.2.4.0 (#7281) 2022-03-16 15:02:01 +08:00
sbliu
b25bdb5cd8 Add localized files (#7300)
* Add localized files (#7290)
* Add localized files (#7297)
* Add localized files (#7298)
2022-03-11 18:31:44 +08:00
pyzhou
c22e448f2e Pyzhou/tdi 47528 CVE mina sshd 8.0 (#7262)
* fix(TDI-47528):CVE mina-sshd

* upgrade talend-scp-helper version

* compile error

* compile error

* compile error

* compile error
2022-03-11 11:29:45 +08:00
Dmytro Sylaiev
c126c49bb0 feat(TDI-47211): Update active dir drivers for mssql (#7057)
* feat(TDI-47211): Update active dir drivers for mssql

* feat(TDI-47211): Fix the pb with component descriptor
2022-03-10 13:58:13 +02:00
Dmytro Sylaiev
a276d55584 fix(TDI-47452): Fix codegen for not valid xpath expression (#7175) 2022-03-10 13:54:38 +02:00
chmyga
b21c2e8854 feat(TDI-46441): add cassandra 4.0 support (#6703)
Co-authored-by: Dmytro Chmyga <dmytro.chmyga@globallogic.com>
Co-authored-by: Dmytro Sylaiev <dmytro.sylaiev@globallogic.com>
2022-03-10 19:07:00 +08:00
Laurent BOURGEOIS
aa58b1798c chore(TBD-13325):CVE on protobuf-java-2.5.0 (#7264) 2022-03-09 09:47:39 +01:00
Jane Ding
55a214d78b fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#7260)
* fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol)
not work as tExasolOutput
https://jira.talendforge.org/browse/TUP-28898

* fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol)
not work as tExasolOutput
https://jira.talendforge.org/browse/TUP-28898
2022-03-09 16:03:40 +08:00
Jane Ding
9ca063156f feat(TUP-33990):Pendo tracking for Studio integrations with API Designer (#7227)
& API Tester
https://jira.talendforge.org/browse/TUP-33990
2022-03-09 14:43:02 +08:00
pyzhou
61d8175d80 fix(TDI-45863): remove Input limit for tck reuse connection (#7088) 2022-03-09 09:20:58 +08:00
wang wei
738b55f748 fix(TDI-47154): send exception info for audit log (#7288) 2022-03-08 22:02:07 +08:00
bhe-talendbj
0ae5d46067 feat(TUP-33809): check modulelist (#7209)
* feat(TUP-33809): check modulelist

* feat(TUP-33809): get all sub jobs
2022-03-08 10:44:03 +08:00
zshen-talend
15aff46503 Zshen/feat/tdq 20069 backport on 80 for patch3 (#7280) 2022-03-07 17:23:58 +08:00
Dmytro Sylaiev
4ca2a26c61 feat(TDI-47211): Revert from R2022-03
This reverts commit ecb8c2d693.
2022-03-07 09:53:41 +02:00
wang wei
8590938a0c fix(TDI-47230): close thread pool for spring boot case (#7272) (#7275) 2022-03-07 09:38:40 +08:00
pyzhou
fb709ec46e feat(TDI-47136):tcreateTable upgrade snowflake driver (#7241) 2022-03-04 17:56:58 +08:00
Chao MENG
2b9b21b2ed fix(TUP-30599): tMap drag and drop does not work seamlessly in Linux GUI (#7269)
as it does in Windows
https://jira.talendforge.org/browse/TUP-30599
2022-03-04 16:13:08 +08:00
Dmytro Grygorenko
54375a9349 fix(TDI-47485): update "protobuf-java" to 3.19.2 (#7187) 2022-03-04 11:09:52 +08:00
jiezhang-tlnd
fa924629aa Backport localized files 0303 (#7277)
* Add localized files (#7231)

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

* Add localized files (#7236)

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

* Add localized files (#7240)

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

* Add localized files (#7276)

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

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-03-04 08:41:24 +08:00
jiezhang-tlnd
f00f9c3c39 Jzhang/80/tup 34609 (#7252)
* fix(TUP-34609)Cannot retrieve Module Name in tSalesforceInput with
password starting with double-quotes

* change condition
2022-03-02 18:26:06 +08:00
kjwang
9151de9cde Kjwang/fix tup 32950 on ubuntu (#7265)
* Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a
black box in Talend Studio designer tab
https://jira.talendforge.org/browse/TUP-32950
2022-03-02 17:28:06 +08:00
Xilai Dai
a597e57466 fix(APPINT-33965) add the rhino dependencies into OSGi build of tRESTRequest (#7257) 2022-03-02 10:28:24 +08:00
Dmytro Ochkas
e5f763b4e1 fix(TDI-46789): tMSSqlOutputBulkExec can't work with server on Linux … (#7142)
* fix(TDI-46789): tMSSqlOutputBulkExec can't work with server on Linux platform

Added new checkbox which enables/disables codepage

* fix(TDI-46789): tMSSqlOutputBulkExec can't work with server on Linux platform

Fixed formatting issues

* fix(TDI-46789): tMSSqlOutputBulkExec can't work with server on Linux platform

Fixed one more formatting issue

* fix(TDI-46789): tMSSqlOutputBulkExec can't work with server on Linux platform

Adjusted naming with tMssqlBulkExec component
2022-03-01 14:08:02 +08:00
Liu Xinquan
c3426fdd2f fix(TBD-13419) Class not found happen in spark job calling a standard… (#7163) (#7238) 2022-02-28 14:54:38 +08:00
sbliu
d3f6f5b292 fix(TUP-34769) add junit (#7254) 2022-02-28 14:24:54 +08:00
wwang-talend
941da0bc39 fix(TDI-47230): use fixedthreadpool for TDM 2022-02-28 14:06:05 +08:00
hcyi
d0f9060bd4 fix(TUP-34593):Cannot connect to Salesforce with password starting with double-quotes (#7248)
* fix(TUP-34593):Cannot connect to Salesforce with password starting with
double-quotes

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

* fix(TUP-34593):add junits
2022-02-25 17:51:57 +08:00
wang wei
02ed52e0cc fix(TDI-46642): Observability: connector_label is not correct (#7171) 2022-02-24 18:33:53 +08:00
wang wei
e976c9bf62 fix(TDI-47230): avoid create thread for every task for twritexmlfield/twritejsonfield in loop (#7235) 2022-02-24 14:34:16 +08:00
sbliu
bfbf2bbf36 fix(TUP-34769) Error fields for Rejects get dropped from tSalesforceOutput after Sync Columns. (#7233)
fix bug TUP-33497
2022-02-23 18:01:28 +08:00
apoltavtsev
af3fd09333 fix(APPINT-34330) Deprecated build type conversion is removed 2022-02-23 05:36:56 +01:00
Dmytro Sylaiev
f16c97d6bd feat(TDI-47211): Update active dir drivers for mssql (#7057)
* feat(TDI-47211): Update active dir drivers for mssql

* feat(TDI-47211): Fix the pb with component descriptor
2022-02-21 13:58:11 +02:00
pyzhou
4c0894125f fix(TDI-47223):CVE axis2-kernel 1.8.0 (#7153)
* fix(TDI-47223):CVE axis2-kernel 1.8.0

* Other axis2 jar

* upgrade dependency

* correct compile error

* compile error
2022-02-21 17:22:07 +08:00
Dmytro Grygorenko
f56ea273f8 fix(TDI-47524): replace non-dynamic column for PosgresqlOutput with dynamic schema. (#7223) 2022-02-21 10:22:21 +02:00
Jane Ding
e52b6fd10f Revert "fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#7023)" (#7217)
This reverts commit 6b82e95328.
2022-02-18 17:17:40 +08:00
unknown
51432e83c6 Revert "feat(TBD-12990): Dataproc TP"
This reverts commit 982a048e43.
2022-02-17 19:22:16 +01:00
Svitlana Ponomarova
982a048e43 feat(TBD-12990): Dataproc TP 2022-02-17 14:19:53 +02:00
AlixMetivier
b1f26c263b feat(TBD-12989): add databricks to universal plugins (#7143)
* feat(TBD-12989): add databricks to universal plugins

* feat(TBD-12989): add databricks to universal plugin
2022-02-17 11:32:16 +01:00
kjwang
5e89b28c72 Revert "Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#7098)" (#7211)
This reverts commit 20a1cd9476.
2022-02-17 17:32:07 +08:00
ypiel
53328080a5 fix(TDI-46848): mscrm oauth2+on-premise + client secret (#7157)
* fix(TDI-46848): add mscrm oauth2 logs

* fix(TDI-46848): Add client secret for oauth2 on-premise

* fix(TDI-46848): Fix pom version.

* fix(TDI-46848): client_secret not mandatory
2022-02-17 10:23:36 +01:00
kjwang
044548edc1 TUP-34156 UI is broken for TCK Table structures in 8.0.1 + nighty (#7202)
TUP-34156 UI is broken for TCK Table structures in 8.0.1 + nighty
https://jira.talendforge.org/browse/TUP-34156
2022-02-17 11:46:57 +08:00
Dmytro Ochkas
af479b6e6a fix(TDI-47435): tPostgreSqlOutput 'Debug query mode' and 'Upsert' (#7167)
* Modified some DB templates so they initialize unresolved variable when dataAction is 'Upsert'
2022-02-16 19:12:34 +02:00
Dmytro Grygorenko
c12301d5a3 fix(TDI-47344): update Apache Ant for tFileUnarchive. (#7208) 2022-02-16 16:30:02 +02:00
Dmytro Grygorenko
459cb23bae fix(TDI-47437): check for replaced column for Postgres Upsert action. (#7207) 2022-02-16 16:24:31 +02:00
Dmytro Ochkas
2896cb57d4 fix(TDI-47436): tPostgreSqlOutput upsert and dynamic column (#7172)
* ON CONFLICT clause now contains not only dynamic columns but not dynamic ones as well
2022-02-16 16:00:32 +02:00
Dmytro Ochkas
ece6b4cd0d fix(TDI-47385): tMap error when tenary operator is used (#7188)
Add parentheses so that user don't add them manually
2022-02-16 15:37:11 +02:00
pyzhou
cdd89534b9 fix(TDI-47396):tSCPGet doesn't always close session (#7134) 2022-02-14 17:51:59 +08:00
jiezhang-tlnd
e64820cab0 Master localized file backport 2022 0210 (#7197)
* Add localized files (#7192)

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

* Add localized files (#7194)

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

* Add localized files (#7196)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: sbouyer <35452259+sbouyer@users.noreply.github.com>
2022-02-14 16:01:31 +08:00
Jane Ding
6b82e95328 fix(TUP-28898):Drag Exasol connection to a job choose tDBOutput(Exasol) (#7023)
not work as tExasolOutput
https://jira.talendforge.org/browse/TUP-28898
2022-02-14 10:12:40 +08:00
hzhao-talendbj
b59ff111a5 fix(TUP-33639): Job which import by metedata bridge:NPE (#7141)
* fix(TUP-33639): Job which import by metedata bridge:NPE when
check/uncheck "use project settings" in stats&logs

* fix(TUP-33639):   add junit

* fix(TUP-33639): add junit

* fix(TUP-33639): Job which import by metedata bridge:NPE
2022-02-10 16:04:57 +08:00
jiezhang-tlnd
7f018d34f1 Master localized file backport 2022 0203 (#7185)
* Add localized files (#7180)

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

* Add localized files (#7181)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-02-07 18:02:10 +08:00
zyuan-talend
2281fab273 fix(TUP-34489):forward interpreter to child job in commandline. (#7162) 2022-02-07 12:15:08 +08:00
Dmytro Ochkas
87c369ca1e fix(TDI-35717): tOracleBulkExec's action on table still used when invisible (#7114)
Added additional if wrappers to the sections where data action is processed in tOracleBulkExec_begin.javajet and tOracleBulkExec_end.javajet. The wrappers check if .ctl file or manual .ctl code is used and if so no data action has to be processed
2022-01-28 13:32:21 +02:00
jiezhang-tlnd
346755a798 Master localized file backport 2022 01 27 (#7170)
* Add localized files (#7164)

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

* Add localized files (#7165)

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

Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
2022-01-28 16:00:50 +08:00
jiezhang-tlnd
6373dabd6f fix(TUP-34575)Correction to messages-properties file (#7168)
* fix(TUP-34575)Correction to messages-properties file

* fix(TUP-34575)Correction to messages-properties file

* fix(TUP-34575)Correction to messages-properties file
2022-01-28 14:53:05 +08:00
apoltavtsev
74cf2ca49d feat(APPINT-32531) Make all DS/Route builds Java 11 and above compatible, design/build & run should work with different Java versions (#7127) 2022-01-27 09:25:39 +01:00
Laurent BOURGEOIS
13d4589675 fix(TBD-13463):No FileSystem for scheme: HDFS on any EMR 5.29 job on Talend 8 (#7124) 2022-01-26 17:54:55 +01:00
jiezhang-tlnd
921629ac8f fix(TUP-34281): Cleanup of old translation files (#7105)
* fix(TUP-34281): Cleanup of old translation files

* Cleanup of old translation files
2022-01-26 18:13:06 +08:00
wang wei
e59cadab69 fix(TDI-47395): tPostgresqlOutput cannot select Insert as Action on Data when disable the Log4j(#7136) 2022-01-26 16:47:10 +08:00
jzhao
64c85d2f10 fix(TDI-47375):tMicrosoftCRM components with compile error when using OnPremise 2011 (#7115)
* fix(TDI-47375):tMicrosoftCRM components with compile error when using
OnPremise 2011

* fix(TDI-47375):class not found issue
2022-01-25 09:36:39 +08:00
kjwang
20a1cd9476 Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a (#7098)
Fix TUP-32950 On Ubuntu 18.04.5 documentation comment is displayed as a black box in Talend Studio designer tab
https://jira.talendforge.org/browse/TUP-32950
2022-01-21 14:47:31 +08:00
zyuan-talend
2a4d97e2f9 fix(TUP-27184):add junit test (#7145) 2022-01-21 11:06:59 +08:00
Wei Hua
5dfb2fa414 Hwei/bugfix/801/appint 33765 (#7138)
* APPINT-33765 [7.3.1 patch] ClassNotFoundException in runtime when DB connection (SQLServer) in joblet without using alias

* APPINT-33765 [7.3.1 patch] ClassNotFoundException in runtime when DB connection (SQLServer) in joblet without using alias
2022-01-21 10:30:44 +08:00
jiezhang-tlnd
635ef37f93 Add localized files (#7149) (#7151)
* Add localized files (#7149)

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

* Add localized files (#7150)

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

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-01-21 09:55:53 +08:00
Jane Ding
cc8ff04ccb Add localized files (#7123) (#7146)
Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
2022-01-20 10:12:36 +08:00
Emmanuel GALLOIS
1112ea17e2 feat(TCOMP-2045): Pass meta information about columns (#7099)
* feat(TCOMP-2045): fix quotes and escaping issues
- add import
2022-01-19 17:14:14 +01:00
Jill Yan
aaaf1e0ba5 APPINT-31044 (#7109)
Co-authored-by: jillyan <yan955599@gmail.com>
2022-01-19 17:05:07 +08:00
zshen-talend
05d204762f feat(TDQ-19814): clear the code let it call adjustPomGeneration only to (#7131)
avoid some TDM regression
2022-01-17 19:47:03 +08:00
Abdulhamid Rashankar
759c85b2f9 APPINT-33784: Project analysis task - Warn about custom component dependencies risk (#7129) 2022-01-17 12:41:42 +01:00
Jill Yan
63c037343c Revert "jill/fix/m80/APPINT-33992 (#7071)" (#7125)
This reverts commit 4c48cc91b3.
2022-01-17 12:04:07 +08:00
zyuan-talend
7e61986aa2 fix(TUP-27184):revert javajet change. (#7117) 2022-01-14 22:09:46 +08:00
Zhiwei Xue
766fe40204 fix(TUP-34469):fix comp cache path problem (#7120) 2022-01-14 19:45:31 +08:00
5667 changed files with 15847 additions and 81134 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -48,6 +48,7 @@
<plugin id="org.talend.repository.localprovider.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
<plugin id="org.talend.repository.metadata.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
<plugin id="org.talend.repository.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
<plugin id="org.talend.sqlbuilder.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
<plugin id="org.talend.repository.view.di.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
<plugin id="org.talend.repository.view.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
<plugin id="org.talend.testutils" download-size="0" install-size="0" version="0.0.0" unpack="false"/>

View File

@@ -248,5 +248,12 @@
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.talend.designer.esb.components.rs.consumer"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View File

@@ -46,4 +46,5 @@
<plugin id="org.talend.libraries.slf4j" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.xml" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.zmq" download-size="0" install-size="0" version="0.0.0"/>
<plugin id="org.talend.libraries.esb" download-size="0" install-size="0" version="0.0.0"/>
</feature>

View File

@@ -1,20 +0,0 @@
prefs.configuration.LINK_STYLE.AUTO=Auto
prefs.configuration.title=Map components preferences :
prefs.configuration.LINK_STYLE.LINE=Lines (fast)
prefs.configuration.LINK_STYLE.BEZIER_CURVE=Curves
prefs.configuration.LINK_STYLE=Default mapping links display as :
DraggingInfosPopup.draggingEntry=Dragging {0} entry.
DraggingInfosPopup.dropInvalid=\n<< Drop invalid >>\n
DraggingInfosPopup.draggingEntries=Dragging {0} entries.
DraggingInfosPopup.dropInvalidWithKey=\n<< Drop invalid >>\nPress both Shift and Ctrl keys to map one to one and overwrite
DraggingInfosPopup.overwriteMode=\ > Overwrite mode
DraggingInfosPopup.appendMode=\ > Append mode
DraggingInfosPopup.appendModeToOverwrite=\ > Append mode (Ctrl key to overwrite)
DraggingInfosPopup.insertAllSelectedEntries=\ > Insert all selected entries
DraggingInfosPopup.insertRemainingEntries=\ > Insert remaining entries
DraggingInfosPopup.eachSourceEntryExpressionToEachTargetExpression=> Each source entry expression to each target expression
DraggingInfosPopup.eachSourceEntryToEachTargetExpression=> Each source entry to each target expression
DraggingInfosPopup.allSourceEntriesExpressionToASingleOneTargetExpressionShiftKey=> All source entries expression to a single one target expression (Shift key to change mapping)
DraggingInfosPopup.allSourceEntriesExpressionToASingleOneTargetExpression=> All source entries expression to a single one target expression
DraggingInfosPopup.allSourceEntriesToASingleOneTargetExpressionShiftKey=> All source entries to a single one target expression (Shift key to change mapping)
DraggingInfosPopup.allSourceEntriesToASingleOneTargetExpression=> All source entries to a single one target expression

View File

@@ -6,7 +6,7 @@ prefs.configuration.LINK_STYLE.LINE=Lignes (rapide)
DraggingInfosPopup.draggingEntry=Glissement de {0} entr\u00E9e(s).
DraggingInfosPopup.dropInvalid=\n<< D\u00E9p\u00F4t impossible >>\n
DraggingInfosPopup.draggingEntries=Glissement de {0} entr\u00E9es.
DraggingInfosPopup.dropInvalidWithKey=\n<<D\u00E9p\u00F4t impossible>>\n : appuyez sur Maj et Ctrl pour mapper en un pour un et \u00E9craser
DraggingInfosPopup.dropInvalidWithKey=\n<< D\u00E9p\u00F4t impossible >>\nAppuyez sur Maj et Ctrl pour mapper en un pour un et \u00E9craser
DraggingInfosPopup.overwriteMode= > Mode \u00E9crasement
DraggingInfosPopup.appendMode= > Mode \u00E9criture \u00E0 la suite
DraggingInfosPopup.appendModeToOverwrite= > Mode \u00E9criture \u00E0 la suite (Ctrl pour \u00E9craser)

View File

@@ -6,7 +6,7 @@ prefs.configuration.LINK_STYLE.LINE=\u76F4\u7DDA\uFF08\u9AD8\u901F\uFF09
DraggingInfosPopup.draggingEntry={0}\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u3044\u307E\u3059\u3002
DraggingInfosPopup.dropInvalid=\n<< \u7121\u52B9\u306A\u30C9\u30ED\u30C3\u30D7 >>\n
DraggingInfosPopup.draggingEntries={0}\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u3044\u307E\u3059\u3002
DraggingInfosPopup.dropInvalidWithKey=\n<< \u7121\u52B9\u306A\u30C9\u30ED\u30C3\u30D7 >>\n\u4E00\u5BFE\u4E00\u30DE\u30C3\u30D4\u30F3\u30B0\u3057\u3001\u4E0A\u66F8\u304D\u3059\u308B\u5834\u5408\u306F\u3001Shift\u30AD\u30FC\u3068Ctrl\u30AD\u30FC\u3092\u540C\u6642\u306B\u62BC\u3057\u307E\u3059
DraggingInfosPopup.dropInvalidWithKey=\n<< \u7121\u52B9\u306A\u30C9\u30ED\u30C3\u30D7 >>\nShift\u30AD\u30FC\u3068Ctrl\u30AD\u30FC\u3092\u540C\u6642\u306B\u62BC\u3059\u3068\u30011\u5BFE1\u3067\u30DE\u30C3\u30D4\u30F3\u30B0\u3055\u308C\u3066\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3059
DraggingInfosPopup.overwriteMode= > \u4E0A\u66F8\u304D\u30E2\u30FC\u30C9
DraggingInfosPopup.appendMode= > \u8FFD\u52A0\u30E2\u30FC\u30C9
DraggingInfosPopup.appendModeToOverwrite= > \u8FFD\u52A0\u30E2\u30FC\u30C9(\u4E0A\u66F8\u304D\u3059\u308B\u306B\u306F[Ctrl]\u30AD\u30FC)

View File

@@ -6,7 +6,7 @@ prefs.configuration.LINK_STYLE.LINE=\u76F4\u7EBF (\u5FEB)
DraggingInfosPopup.draggingEntry=\u62D6\u52A8 {0} \u6761\u76EE
DraggingInfosPopup.dropInvalid=\n<< \u65E0\u6548\u91CA\u653E >>\n
DraggingInfosPopup.draggingEntries=\u62D6\u52A8 {0} \u4E2A\u6761\u76EE\u3002
DraggingInfosPopup.dropInvalidWithKey=\n<<\u65E0\u6548\u653E\u7F6E>>\n\u6309\u4F4F Shift \u548C Ctrl \u952E\u4EE5\u8FDB\u884C\u4E00\u5BF9\u4E00\u6620\u5C04\u5E76\u6539\u5199
DraggingInfosPopup.dropInvalidWithKey=\n<< \u65E0\u6548\u653E\u7F6E >>\n\u6309\u4F4F Shift \u548C Ctrl \u952E\u4EE5\u8FDB\u884C\u4E00\u5BF9\u4E00\u6620\u5C04\u5E76\u6539\u5199
DraggingInfosPopup.overwriteMode= > \u91CD\u5199\u6A21\u5F0F
DraggingInfosPopup.appendMode= >\u9644\u52A0\u6A21\u5F0F
DraggingInfosPopup.appendModeToOverwrite= > \u8FFD\u52A0\u6A21\u5F0F (Ctrl \u952E\u6765\u6539\u5199)

View File

@@ -1,20 +0,0 @@
AlfrescoModelDialog.missingAspectDefinitions.msg=The chosen aspects refer to unknown Alfresco aspect(s) : ${0}.\nPlease provide the alfresco model files that define them.
AlfrescoModelDialog.modelTable.title=Title
AlfrescoModelDialog.availableAspects=Available Aspects
AlfrescoModelDialog.missingAspectDefinitions.title=Missing aspect definitions
AlfrescoOutputManager.schemaError.title=Error in schema
AlfrescoModelDialog.missingTypeDefinitions.msg=The chosen type refers to unknown Alfresco type(s) or aspect(s) : ${0}.\nPlease provide the alfresco model files that define them.
AlfrescoModelDialog.missingTypeDefinitions.title=Missing type definitions
AlfrescoModelDialog.add=Add...
AlfrescoOutputModelManager.errorReadingModel=Error reading Alfresco model file
AlfrescoModelDialog.aspects=Aspects
AlfrescoOutputManager.schemaError.msg=Please synchronize schema first
AlfrescoOutputModelManager.alreadyAdded=This model has already been added
AlfrescoModelDialog.removeModelFailed=Failed to remove model
AlfrescoOutputModelManager.prefixConflict=Unable to add the model, prefix conflict with previously added model for
AlfrescoOutputModelManager.notYetAdded=This model has not yet been added
AlfrescoModelDialog.type=Type
AlfrescoModelDialog.addModelFailed=Failed to add model
AlfrescoModelDialog.modelTable.name=Name
AlfrescoModelDialog.remove=Remove
AlfrescoOutputManager.failedLoadModel=Failed to load model from component metadata, reinitializing

View File

@@ -13,8 +13,8 @@ AlfrescoModelDialog.addModelFailed=\u30E2\u30C7\u30EB\u8FFD\u52A0\u306B\u5931\u6
AlfrescoModelDialog.remove=\u524A\u9664
AlfrescoModelDialog.removeModelFailed=\u30E2\u30C7\u30EB\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F
AlfrescoModelDialog.missingTypeDefinitions.title=\u578B\u5B9A\u7FA9\u304C\u3042\u308A\u307E\u305B\u3093
AlfrescoModelDialog.missingTypeDefinitions.msg=\u9078\u629E\u3057\u305F\u65B9\u306F\u4E0D\u660E\u306EAlfresco\u578B\u3082\u3057\u304F\u306F\u30A2\u30B9\u30DA\u30AF\u30C8: ${0}\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002\n\u305D\u308C\u3089\u3092\u5B9A\u7FA9\u3057\u305FAlfresco\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u63D0\u4F9B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
AlfrescoModelDialog.missingTypeDefinitions.msg=\u9078\u629E\u3055\u308C\u305F\u30BF\u30A4\u30D7\u306F\u3001Alfresco\u306E\u4E0D\u660E\u306A\u30BF\u30A4\u30D7\u307E\u305F\u306F\u30A2\u30B9\u30DA\u30AF\u30C8: ${0}\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002\n\u305D\u308C\u3089\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308Balfresco\u306E\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
AlfrescoModelDialog.missingAspectDefinitions.title=\u30A2\u30B9\u30DA\u30AF\u30C8\u5B9A\u7FA9\u304C\u3042\u308A\u307E\u305B\u3093\u3002
AlfrescoModelDialog.missingAspectDefinitions.msg=\u9078\u629E\u3055\u308C\u305F\u30A2\u30B9\u30DA\u30AF\u30C8\u306F\u4E0D\u660E\u306EAlfresco\u30A2\u30B9\u30DA\u30AF\u30C8: ${0}\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002\n\u305D\u308C\u3089\u3092\u5B9A\u7FA9\u3057\u305FAlfresco\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u63D0\u4F9B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
AlfrescoModelDialog.missingAspectDefinitions.msg=\u9078\u629E\u3055\u308C\u305F\u30A2\u30B9\u30DA\u30AF\u30C8\u306F\u3001Alfresco\u306E\u4E0D\u660E\u306A\u30A2\u30B9\u30DA\u30AF\u30C8: ${0}\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002\n\u305D\u308C\u3089\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308Balfresco\u306E\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002
AlfrescoModelDialog.modelTable.title=\u30BF\u30A4\u30C8\u30EB
AlfrescoModelDialog.modelTable.name=\u540D\u524D

View File

@@ -13,8 +13,8 @@ AlfrescoModelDialog.addModelFailed=\u6DFB\u52A0\u6A21\u578B\u5931\u8D25
AlfrescoModelDialog.remove=\u79FB\u9664
AlfrescoModelDialog.removeModelFailed=\u79FB\u9664\u6A21\u578B\u5931\u8D25
AlfrescoModelDialog.missingTypeDefinitions.title=\u7F3A\u7701\u7C7B\u578B\u5B9A\u4E49
AlfrescoModelDialog.missingTypeDefinitions.msg=\u6240\u9009\u62E9\u7684\u7C7B\u578B\u6D89\u53CA\u4E00\u4E2A\u6216\u591A\u4E2A\u672A\u77E5\u7684 Alfresco \u7C7B\u578B\u6216asepct: ${0}.\n \u8BF7\u63D0\u4F9B\u5B9A\u4E49\u8FD9\u4E9B \u7C7B\u578B\u6216 aspect \u7684 Alfresco \u6A21\u578B\u6587\u4EF6\u3002
AlfrescoModelDialog.missingTypeDefinitions.msg=\u6240\u9009\u62E9\u7684\u7C7B\u578B\u6D89\u53CA\u672A\u77E5\u7684 Alfresco \u7C7B\u578B\u6216\u65B9\u9762: ${0}\u3002\n\u8BF7\u63D0\u4F9B\u5B9A\u4E49\u8FD9\u4E9B aspect \u7684 Alfresco \u6A21\u578B\u6587\u4EF6\u3002
AlfrescoModelDialog.missingAspectDefinitions.title=\u7F3A\u7701\u65B9\u9762\u5B9A\u4E49
AlfrescoModelDialog.missingAspectDefinitions.msg=\u6240\u9009\u62E9\u7684\u65B9\u9762\u6D89\u53CA\u4E00\u4E2A\u6216\u591A\u4E2A\u672A\u77E5\u7684 Alfresco aspect: ${0}.\n \u8BF7\u63D0\u4F9B\u5B9A\u4E49\u8FD9\u4E9B aspect \u7684 Alfresco \u6A21\u578B\u6587\u4EF6\u3002
AlfrescoModelDialog.missingAspectDefinitions.msg=\u6240\u9009\u62E9\u7684\u65B9\u9762\u6D89\u53CA\u672A\u77E5\u7684Alfresco\u65B9\u9762: ${0}.\n\u8BF7\u63D0\u4F9B\u5B9A\u4E49\u8FD9\u4E9B aspect \u7684 Alfresco \u6A21\u578B\u6587\u4EF6\u3002
AlfrescoModelDialog.modelTable.title=\u6807\u9898
AlfrescoModelDialog.modelTable.name=\u540D\u79F0

View File

@@ -7,7 +7,6 @@ bin.includes = plugin.xml,\
jet_stub/,\
plugin.properties,\
plugin_de.properties,\
plugin_en.properties,\
plugin_es.properties,\
plugin_fr.properties,\
plugin_ja.properties,\

View File

@@ -91,6 +91,7 @@ if((codePart.equals(ECodePart.END))&&(stat || logstashCurrent)){
String sourceNodeId = source.getUniqueName();
String sourceNodeLabel = NodeUtil.getLabel(source);
String targetNodeLabel = NodeUtil.getLabel(node);
String sourceNodeComponent = source.getComponent().getName();
@@ -122,6 +123,7 @@ if((codePart.equals(ECodePart.END))&&(stat || logstashCurrent)){
String sourceNodeId = source.getUniqueName();
String sourceNodeLabel = NodeUtil.getLabel(source);
String targetNodeLabel = NodeUtil.getLabel(node);
String sourceNodeComponent = source.getComponent().getName();

View File

@@ -137,7 +137,7 @@
}
%>
currentComponent="<%=node.getUniqueName() %>";
<%
connSet = new HashSet<IConnection>();
connSet.addAll(node.getIncomingConnections(EConnectionType.FLOW_MAIN));
@@ -155,6 +155,17 @@
//about performance monitor, no way to support more than one job catcher component, also that is not necessary
final String subprocessName4Catcher = logstashCurrent ? jobCatcherNodes.get(0).getDesignSubjobStartNode().getUniqueName() : null;
if(logstashCurrent) {
String currentLabel = ElementParameterParser.getValue(node, "__LABEL__");
if(currentLabel==null || "".equals(currentLabel) || "__UNIQUE_NAME__".equals(currentLabel) || cid.endsWith(NodeUtil.getLabel(node))) {
//not generate the unnecessary statement if label is default one
} else {
%>
cLabel="<%=NodeUtil.getLabel(node)%>";
<%
}
}
if ((codePart.equals(ECodePart.BEGIN))&&(stat || logstashCurrent)&&connSet.size()>0) {
if(containsTPartitioner) {
%>
@@ -197,6 +208,7 @@
String sourceNodeId = source.getUniqueName();
String sourceNodeLabel = NodeUtil.getLabel(source);
String targetNodeLabel = NodeUtil.getLabel(node);
String sourceNodeComponent = source.getComponent().getName();
@@ -230,6 +242,7 @@
String sourceNodeId = source.getUniqueName();
String sourceNodeLabel = NodeUtil.getLabel(source);
String targetNodeLabel = NodeUtil.getLabel(node);
String sourceNodeComponent = source.getComponent().getName();
@@ -254,6 +267,7 @@
String sourceNodeId = source.getUniqueName();
String sourceNodeLabel = NodeUtil.getLabel(source);
String targetNodeLabel = NodeUtil.getLabel(node);
String sourceNodeComponent = source.getComponent().getName();
@@ -287,6 +301,7 @@
String sourceNodeId = source.getUniqueName();
String sourceNodeLabel = NodeUtil.getLabel(source);
String targetNodeLabel = NodeUtil.getLabel(node);
String sourceNodeComponent = source.getComponent().getName();

View File

@@ -223,7 +223,7 @@
public boolean useDatastax(INode node){
String dbVersion = ElementParameterParser.getValue(node, "__DB_VERSION__");
String apiType = ElementParameterParser.getValue(node, "__API_TYPE__");
return "CASSANDRA_2_2".equals(dbVersion) || "CASSANDRA_3_0".equals(dbVersion) || ("CASSANDRA_2_0_0".equals(dbVersion) && "DATASTAX".equals(apiType));
return "CASSANDRA_2_2".equals(dbVersion) || "CASSANDRA_3_0".equals(dbVersion) || "CASSANDRA_4_0".equals(dbVersion) || ("CASSANDRA_2_0_0".equals(dbVersion) && "DATASTAX".equals(apiType));
}
}
%>
@@ -321,6 +321,8 @@
globalMap.put(GLOBAL_CONNECTION_POOL_KEY, connectionPool);
}
<%}%>
private final static java.util.Properties jobInfo = new java.util.Properties();
public static void main(String[] args){
final <%=className %> <%=className %>Class = new <%=className %>();
@@ -334,6 +336,42 @@
System.exit(exitCode);
}
private void getjobInfo() {
final String TEMPLATE_PATH = "src/main/templates/jobInfo_template.properties";
final String BUILD_PATH = "../jobInfo.properties";
final String path = this.getClass().getResource("").getPath();
if(path.lastIndexOf("target") > 0) {
final java.io.File templateFile = new java.io.File(
path.substring(0, path.lastIndexOf("target")).concat(TEMPLATE_PATH));
if (templateFile.exists()) {
readJobInfo(templateFile);
return;
}
}
readJobInfo(new java.io.File(BUILD_PATH));
}
private void readJobInfo(java.io.File jobInfoFile){
if(jobInfoFile.exists()) {
try {
jobInfo.load(new java.io.FileInputStream(jobInfoFile));
} catch (IOException e) {
<%if(isLog4jEnabled){%>
log.debug("Read jobInfo.properties file fail: " + e.getMessage());
<%}%>
}
}
<%if(isLog4jEnabled){%>
log.info(String.format("Project name: %s\tJob name: %s\tGIT Commit ID: %s\tTalend Version: %s",
projectName,jobName,jobInfo.getProperty("gitCommitId"), "<%=System.getProperties().getProperty("talend.studio.version")%>"));
<%}%>
}
<%
if (isTestContainer) {
@@ -514,17 +552,37 @@
}
org.apache.logging.log4j.core.config.Configurator.setLevel(org.apache.logging.log4j.LogManager.getRootLogger().getName(), log.getLevel());
<%}%>
}
log.info("TalendJob: '<%=codeGenArgument.getJobName()%>' - Start.");
<%}%>
<%
INode jobCatcherNode = null;
}
getjobInfo();
log.info("TalendJob: '<%=codeGenArgument.getJobName()%>' - Start.");
<%}%>
<%
INode jobCatcherNode = null;
int threadPoolSize = 0;
boolean tRESTRequestLoopExists = false;
for (INode nodeInProcess : process.getGeneratingNodes()) {
String componentName = nodeInProcess.getComponent().getName();
if("tJobStructureCatcher".equals(componentName)) {
if(jobCatcherNode==null && "tJobStructureCatcher".equals(componentName)) {
jobCatcherNode = nodeInProcess;
break;
continue;
}
if(!nodeInProcess.isActivate()) continue;
if("tRESTRequestLoop".equals(componentName)) {
tRESTRequestLoopExists = true;
continue;
}
if("tWriteXMLFieldOut".equals(componentName)) {
IConnection nextMergeConn = NodeUtil.getNextMergeConnection(nodeInProcess);
if(nextMergeConn == null || nextMergeConn.getInputId()==1){
threadPoolSize++;
}
}
}
@@ -651,15 +709,15 @@
%>
boolean inOSGi = routines.system.BundleUtils.inOSGi();
if (inOSGi) {
java.util.Dictionary<String, Object> jobProperties = routines.system.BundleUtils.getJobProperties(jobName);
if (jobProperties != null && jobProperties.get("context") != null) {
contextStr = (String)jobProperties.get("context");
}
}
try {
java.util.Dictionary<String, Object> jobProperties = null;
if (inOSGi) {
jobProperties = routines.system.BundleUtils.getJobProperties(jobName);
if (jobProperties != null && jobProperties.get("context") != null) {
contextStr = (String)jobProperties.get("context");
}
}
//call job/subjob with an existing context, like: --context=production. if without this parameter, there will use the default context instead.
java.io.InputStream inContext = <%=className%>.class.getClassLoader().getResourceAsStream("<%=jobClassPackageFolder%>/contexts/" + contextStr + ".properties");
if (inContext == null) {
@@ -669,8 +727,17 @@
try {
//defaultProps is in order to keep the original context value
if(context != null && context.isEmpty()) {
defaultProps.load(inContext);
context = new ContextProperties(defaultProps);
defaultProps.load(inContext);
if (inOSGi && jobProperties != null) {
java.util.Enumeration<String> keys = jobProperties.keys();
while (keys.hasMoreElements()) {
String propKey = keys.nextElement();
if (defaultProps.containsKey(propKey)) {
defaultProps.put(propKey, (String) jobProperties.get(propKey));
}
}
}
context = new ContextProperties(defaultProps);
}
} finally {
inContext.close();
@@ -856,7 +923,7 @@
}
%>
//Resume: jobStart
resumeUtil.addLog("JOB_STARTED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "", "","","","",resumeUtil.convertToJsonText(context,parametersToEncrypt));
resumeUtil.addLog("JOB_STARTED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "", "","","","",resumeUtil.convertToJsonText(context,ContextProperties.class,parametersToEncrypt));
<%
if (stats) {
@@ -1129,9 +1196,15 @@ this.globalResumeTicket = false;//to run others jobs
if (!componentName.equals("tJobStructureCatcher") && !componentName.equals("tLogCatcher") && !componentName.equals("tFlowMeterCatcher") && !componentName.equals("tAssertCatcher") && !componentName.equals("tStatCatcher") && !componentName.equals("tAsyncIn")) {
%>
<%=createCallProcess(rootNode, className, false) %>
<% }
}
}// end if(isRunInMultiThread)
<%
if (process.getNodesOfType("tStatCatcher").size() > 0) {
%>
<%=statsErrorHandlingAfterMainCall(rootNode, process.getNodesOfType("tStatCatcher"))%>
<%
}
}
}
}// end if(isRunInMultiThread)
%>
this.globalResumeTicket = true;//to run tPostJob
@@ -1189,6 +1262,26 @@ this.globalResumeTicket = true;//to run tPostJob
e.printStackTrace();
}
}
<%
}
//tRESTRequest may appear in microservice, the code may be called before call submit(task) method, so can't shutdown it here
if(!tRESTRequestLoopExists && threadPoolSize>0) {
%>
es.shutdown();
<%//shutdownNow should never be executed, only for safe%>
try {
if(!es.awaitTermination(60, java.util.concurrent.TimeUnit.SECONDS)) {
es.shutdownNow();
if(!es.awaitTermination(60, java.util.concurrent.TimeUnit.SECONDS)) {
}
}
} catch (java.lang.InterruptedException ie) {
es.shutdownNow();
} catch (java.lang.Exception e) {
}
<%
}
%>
@@ -1245,7 +1338,7 @@ if (execStat) {
returnCode = errorCode.intValue();
}
resumeUtil.addLog("JOB_ENDED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "", "","" + returnCode,"","","");
resumeUtil.flush();
return returnCode;
}
@@ -1360,16 +1453,27 @@ if (execStat) {
Object obj_cluster;
Object obj_conn;
<% for (INode cassandraDbNode : cassandraComponentsList) {
if((new API_selector()).useDatastax(cassandraDbNode)) { %>
obj_cluster = globalMap.remove("cluster_<%=cassandraDbNode.getUniqueName()%>");
obj_conn = globalMap.remove("connection_<%=cassandraDbNode.getUniqueName()%>");
if(obj_conn != null) {
((com.datastax.driver.core.Session) obj_conn).close();
}
if(obj_cluster != null) {
((com.datastax.driver.core.Cluster) obj_cluster).close();
}
<% } else { %>
String dbVersionCassandra = ElementParameterParser.getValue(cassandraDbNode, "__DB_VERSION__");
if((new API_selector()).useDatastax(cassandraDbNode)) {
if("CASSANDRA_4_0".equals(dbVersionCassandra)) {
%>
obj_conn = globalMap.remove("connection_<%=cassandraDbNode.getUniqueName()%>");if(obj_conn != null) {
((com.datastax.oss.driver.api.core.CqlSession) obj_conn).close();
}
<%
} else {
%>
obj_cluster = globalMap.remove("cluster_<%=cassandraDbNode.getUniqueName()%>");
obj_conn = globalMap.remove("connection_<%=cassandraDbNode.getUniqueName()%>");
if(obj_conn != null) {
((com.datastax.driver.core.Session) obj_conn).close();
}
if(obj_cluster != null) {
((com.datastax.driver.core.Cluster) obj_cluster).close();
}
<%
}
} else { %>
obj_conn = globalMap.remove("cluster_<%=cassandraDbNode.getUniqueName()%>");
if(obj_conn!=null) {
((me.prettyprint.hector.api.Cluster) obj_conn).getConnectionManager().shutdown();

View File

@@ -42,10 +42,10 @@ public class CLASS
//List< ? extends IConnection> onSubJobErrorConns = rootNode.getOutgoingConnections(EConnectionType.ON_SUBJOB_ERROR);
//if(onSubJobErrorConns!=null){
// for(IConnection conn : onSubJobErrorConns) {
// for(IConnection conn : onSubJobErrorConns) {
// toReturn += createCallProcess(conn.getTarget(), className, isMultiThread);
// }
//}
//}
if(isMultiThread){
toReturn += "\n}catch (java.lang.Error e_" + rootNode.getUniqueName() + ") {\n";
toReturn += "globalMap.put(\""+rootNode.getUniqueName()+ "_SUBPROCESS_STATE\", -1);\n";
@@ -55,7 +55,20 @@ public class CLASS
toReturn += "\n}";
return toReturn;
}
public String statsErrorHandlingAfterMainCall(INode rootNode, List<? extends INode> statsNodes) {
String catchErrorReturn = "catch (Error error_" + rootNode.getUniqueName() + " ) {\n";
catchErrorReturn+="end = System.currentTimeMillis();\n";
for (INode statCatcherNode : statsNodes) {
catchErrorReturn += statCatcherNode.getUniqueName() + ".addMessage(\"failure\", (end-startTime));\n";
catchErrorReturn += "try {\n " + statCatcherNode.getDesignSubjobStartNode().getUniqueName() + "Process(globalMap);\n";
catchErrorReturn += "} catch (Exception e_" + statCatcherNode.getUniqueName() + ") {\n";
catchErrorReturn += "e_" + statCatcherNode.getUniqueName() + ".printStackTrace();\n}\n";
}
catchErrorReturn+= "throw error_" + rootNode.getUniqueName() + ";\n}\n";
return catchErrorReturn;
}
public String generate(Object argument) {
return "";
}

View File

@@ -170,16 +170,8 @@ class IndexedRecordToRowStructGenerator {
if (columnName.equals(dynamicColName)) {
%>
java.util.Map<String, Object> dynamicValue_<%=cid%> = (java.util.Map<String, Object>) <%=codeVarSchemaEnforcer%>.get(<%=i%>);
org.apache.avro.Schema dynSchema_<%=cid%> = ((org.talend.codegen.enforcer.OutgoingDynamicSchemaEnforcer) <%=codeVarSchemaEnforcer%>).getDynamicFieldsSchema();
for (org.apache.avro.Schema.Field dynamicField_<%=cid%> : dynSchema_<%=cid%>.getFields()){
String name = dynamicField_<%=cid%>.name();
if("true".equals(dynamicField_<%=cid%>.getProp("ENABLE_SPECIAL_TABLENAME"))){
dynamicValue_<%=cid%>.put(dynamicField_<%=cid%>.getProp("talend.field.dbColumnName"), dynamicValue_<%=cid%>.get(name));
dynamicValue_<%=cid%>.remove(name);
}
}
for (java.util.Map.Entry<String, Object> dynamicValueEntry_<%=cid%> : dynamicValue_<%=cid%>.entrySet()) {
<%=codeVarDynamic%>.setColumnValue(<%=codeVarDynamic%>.getIndex(dynamicValueEntry_<%=cid%>.getKey()), dynamicValueEntry_<%=cid%>.getValue());
<%=codeVarDynamic%>.addColumnValue(dynamicValueEntry_<%=cid%>.getValue());
}
<%=codeVarRowStruct%>.<%=dynamicColName%> = <%=codeVarDynamic%>;
<%

View File

@@ -343,6 +343,10 @@ public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> get<%=Ch
public Integer errorCode = null;
private String currentComponent = "";
<%
// is necessary? avoid some compiler issue as var name not found? TODO consider remove it, also the currentComponent above
%>
private String cLabel = null;
<%
//tParallelize will wrap globalMap with synchronizedMap
if(isRunInMultiThread || NodeUtil.containsMultiThreadComponent(process)){
%>
@@ -385,11 +389,101 @@ public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> get<%=Ch
<%
INode jobCatcherNode = null;
//one matched component or part, one thread
//why not computed by cpu or resource : please image this case :
//loop==>(input==>(twritexmlfield A)==>(twritexmlfield B)==>(twritexmlfield C)==>output), dead lock as cycle dependency and only one thead in thread pool
//maybe newCachedThreadPool is a better idea, but that have risk for creating more threads, then more memory for TDI-47230
//why not generate thread pool object in subprocess scope :
// 1: major reason : difficult to control the var scope, somewhere can't access it, then compiler issue
// 2: we may need this thread pool for bigger scope, not only for twritexmlfield/twritejsonfield in future
// 3: we don't suppose this thread pool cost big resource after all tasks done, so we can shutdown it more later,
// for example, most time, user will use less than 3 twritexmlfield in one job, then 3 threads thread pool, we can close them in job finish code part,
// not a big cost to keep that. And of course, we best to start&clean it in subprocess finish, but that's risk of 1 above.
int threadPoolSize = 0;
boolean tHMapExists = false;
boolean tHMapOutExists = false;
boolean tRESTRequestLoopExists = false;
for (INode nodeInProcess : processNodes) {
String componentName = nodeInProcess.getComponent().getName();
if("tJobStructureCatcher".equals(componentName)) {
if(jobCatcherNode==null && "tJobStructureCatcher".equals(componentName)) {
jobCatcherNode = nodeInProcess;
break;
continue;
}
if(!nodeInProcess.isActivate()) continue;
if("tHMap".equals(componentName)) {
tHMapExists = true;
continue;
}
if("tHMapOut".equals(componentName)) {
tHMapOutExists = true;
continue;
}
if("tRESTRequestLoop".equals(componentName)) {
tRESTRequestLoopExists = true;
continue;
}
if("tWriteXMLFieldOut".equals(componentName)) {
IConnection nextMergeConn = NodeUtil.getNextMergeConnection(nodeInProcess);
if(nextMergeConn == null || nextMergeConn.getInputId()==1){
threadPoolSize++;
}
}
}
if(threadPoolSize>0) {
if(tRESTRequestLoopExists) {//miscroservice
%>
private class DaemonThreadFactory implements java.util.concurrent.ThreadFactory {
java.util.concurrent.ThreadFactory factory = java.util.concurrent.Executors.defaultThreadFactory();
public java.lang.Thread newThread(java.lang.Runnable r) {
java.lang.Thread t = factory.newThread(r);
t.setDaemon(true);
return t;
}
}
<%
}
if(tHMapExists || tHMapOutExists) {
%>
private final java.util.concurrent.ExecutorService es = java.util.concurrent.Executors.newFixedThreadPool(<%=threadPoolSize%> <%if(tRESTRequestLoopExists) {%>,new DaemonThreadFactory()<%}%>);
<%
} else {
%>
private final java.util.concurrent.ExecutorService es = java.util.concurrent.Executors.newCachedThreadPool(<%if(tRESTRequestLoopExists) {%>new DaemonThreadFactory()<%}%>);
<%
}
if(tRESTRequestLoopExists) {//miscroservice
%>
{
java.lang.Runtime.getRuntime().addShutdownHook(new java.lang.Thread() {
public void run() {
es.shutdown();
try {
if(!es.awaitTermination(60, java.util.concurrent.TimeUnit.SECONDS)) {
es.shutdownNow();
if(!es.awaitTermination(60, java.util.concurrent.TimeUnit.SECONDS)) {
}
}
} catch (java.lang.InterruptedException ie) {
es.shutdownNow();
} catch (java.lang.Exception e) {
}
}
});
}
<%
}
}
@@ -507,7 +601,10 @@ private class TalendException extends Exception {
private java.util.Map<String, Object> globalMap = null;
private Exception e = null;
private String currentComponent = null;
private String cLabel = null;
private String virtualComponentName = null;
public void setVirtualComponentName (String virtualComponentName){
@@ -519,6 +616,11 @@ private class TalendException extends Exception {
this.globalMap = globalMap;
this.e = e;
}
private TalendException(Exception e, String errorComponent, String errorComponentLabel, final java.util.Map<String, Object> globalMap) {
this(e, errorComponent, globalMap);
this.cLabel = errorComponentLabel;
}
public Exception getException() {
return this.e;
@@ -578,6 +680,15 @@ private class TalendException extends Exception {
<%
boolean needCatchTalendException = false;
if(enableLogStash) {
%>
if(enableLogStash) {
<%=jobCatcherNode.getUniqueName() %>.addJobExceptionMessage(currentComponent, cLabel, null, e);
<%=jobCatcherNode.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
}
<%
}
if (process.getNodesOfType("tLogCatcher").size() > 0) {
List<INode> logCatchers = (List<INode>)process.getNodesOfType("tLogCatcher");
for (INode logCatcher : logCatchers) {
@@ -588,7 +699,7 @@ private class TalendException extends Exception {
<%
}
}
INode virtualNCatchNode = null;
boolean hasRealCatchNode = false;
for (INode logCatcher : logCatchers) {

View File

@@ -71,7 +71,7 @@
}
}
TalendException te = new TalendException(e, currentComponent, globalMap);
TalendException te = new TalendException(e, currentComponent, cLabel, globalMap);
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>

View File

@@ -200,6 +200,7 @@ for (IConnection iterateConn : iterateConnSet) { //1
this.isRunning = true;
String currentComponent = "";
String cLabel = null;
java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){

View File

@@ -67,7 +67,7 @@
this.errorCode = localErrorCode;
}
}
pool.setErrorThread(this, new TalendException(e, currentComponent, globalMap));
pool.setErrorThread(this, new TalendException(e, currentComponent, cLabel, globalMap));
//pool.setErrorThread(this,e);
pool.stopAllThreads();
}finally{
@@ -117,7 +117,7 @@
} catch (InterruptedException e) {
e.printStackTrace();
} catch (java.lang.Exception te) {
throw new TalendException(te, currentComponent, globalMap);
throw new TalendException(te, currentComponent, cLabel, globalMap);
}
<%
}else{
@@ -228,7 +228,7 @@
<%
}
%>
TalendException te = new TalendException(e, currentComponent, globalMap);
TalendException te = new TalendException(e, currentComponent, cLabel, globalMap);
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>

View File

@@ -20,6 +20,7 @@
org.talend.core.model.process.IHashConfiguration
org.talend.core.model.process.IHashableColumn
org.talend.core.model.utils.NodeUtil
org.talend.core.model.utils.TalendTextUtils
"
class="SubProcessHeader"
skeleton="subprocess_header_java.skeleton"
@@ -183,6 +184,48 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
public <%= typeToGenerate %> get<%=column.getLabel().substring(0, 1).toUpperCase()%><%=column.getLabel().substring(1)%> () {
return this.<%=column.getLabel()%>;
}
public Boolean <%=column.getLabel()%>IsNullable(){
return <%=column.isNullable()%>;
}
public Boolean <%=column.getLabel()%>IsKey(){
return <%=column.isKey()%>;
}
public Integer <%=column.getLabel()%>Length(){
return <%=column.getLength()%>;
}
public Integer <%=column.getLabel()%>Precision(){
return <%=column.getPrecision()%>;
}
public String <%=column.getLabel()%>Default(){
<% if (column.getDefault() == null) { %>
return null;
<% } else { %>
return "<%=TalendTextUtils.escapeJavaText(TalendTextUtils.removeQuotes(column.getDefault()))%>";
<% } %>
}
public String <%=column.getLabel()%>Comment(){
<% if (column.getComment() == null) { %>
return null;
<% } else { %>
return "<%=TalendTextUtils.escapeJavaText(TalendTextUtils.removeQuotes(column.getComment()))%>";
<% } %>
}
public String <%=column.getLabel()%>Pattern(){
<% if (column.getPattern() == null) { %>
return null;
<% } else { %>
return "<%=TalendTextUtils.escapeJavaText(TalendTextUtils.removeQuotes(column.getPattern()))%>";
<% } %>
}
public String <%=column.getLabel()%>OriginalDbColumnName(){
<% if (column.getOriginalDbColumnName() == null) { %>
return null;
<% } else { %>
return "<%=TalendTextUtils.escapeJavaText(TalendTextUtils.removeQuotes(column.getOriginalDbColumnName()))%>";
<% } %>
}
<%
if((conn.getLineStyle() == EConnectionType.FLOW_REF) && conn.getTarget().getUniqueName().startsWith("tXMLMap") && "id_Document".equals(javaType.getId())) {
%>
@@ -1598,6 +1641,7 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
this.isRunning = true;
String currentComponent = "";
String cLabel = null;
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
@@ -1631,6 +1675,7 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
int iterateLoop = 0;
<%}%>
String currentComponent = "";
String cLabel = null;
java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();
try {

View File

@@ -1,5 +0,0 @@
providerName=www.example.org
pluginName=EmittersPool Model
components=Components
trunjob=tRunJob
format=Format

View File

@@ -10,6 +10,7 @@ CodeGenerator.getGraphicalNode2=------process.getGeneratingNodes()------
CodeGenerator.JET.TimeOut=JET initialisation Time Out
CodeGenerator.newLine=\n\n\n\n
CodeGenerator.Node.NotFound=Node not found in current process
CodeGenerator.Components.NotFound={0}: Component is missing: {1}; use -D{2}=false in your studio or commandline to skip this check, and a warning message will be logged.
JavaRoutineSynchronizer.UnsupportedOperation.Exception1=method not implemented: org.talend.designer.codegen.JavaRoutineSynchronizer line:49
JavaRoutineSynchronizer.UnsupportedOperation.Exception2=method not implemented: org.talend.designer.codegen.JavaRoutineSynchronizer line:58
JetSkeletonManager.unableLoad=unable to load skeleton update cache file

View File

@@ -1,148 +0,0 @@
JavaRoutineSynchronizer.UnsupportedOperation.Exception1=method not implemented: org.talend.designer.codegen.JavaRoutineSynchronizer line:49
CodeGeneratorEmittersPoolFactory.JETEmitters.NoPresent=JETEmitters Project not present, full reinitialize is needed
generatedcode.footerprocess.nbcharsgenerated={0} characters generated by {1}
CodeGeneratorEmittersPoolFactory.Class.NotFound=Template still present, but class {0} has disapeared from workspace. This unit needs to be recompiled.
CodeGeneratorEmittersPoolFactory.PersitentData.Error=Persitent data cannot be saved :
generatedcode.copyright.title=Copyright (c) 2005-2011, Talend Inc.
CodeGeneratorEmittersPoolFactory.initMessage=Generation Engine Initialization in progress...
generatedcode.copyright.body5=(http://www.gnu.org/licenses/lgpl.html).
EmfEmittersPersistence.CodeGen.DataMissing=Missing code generation data. Starting full code generation.
CodeGenerator.JET.TimeOut=JET initialisation Time Out
generatedcode.copyright.body4=You may distribute this code under the terms of the GNU LGPL license
CodeGenerator.Node.NotFound=Node not found in current process
generatedcode.copyright.body3=You can find more information about Talend products at www.talend.com.
EmittersPoolFactoryImpl.Class.IllegalArg=The class ' {0}' is not a valid classifier
generatedcode.copyright.body2=/ JobDesigner (CodeGenerator version {0}).
JavaRoutineSynchronizer.UnsupportedOperation.Exception2=method not implemented: org.talend.designer.codegen.JavaRoutineSynchronizer line:58
CodeGenerator.getGraphicalNode1=------process.getGraphicalNodes()------
CodeGenerator.getGraphicalNode2=------process.getGeneratingNodes()------
CodeGenerator.newLine=\n\n\n\n
JetSkeletonManager.unableLoad=unable to load skeleton update cache file
JetSkeletonManager.unableSave=unable to save skeleton update cache file
JetSkeletonManager.updateProblem=when update skeleton persistence data, there have some problems
CodeGeneratorEmittersPoolFactory.codeThread=Code generation background thread
CodeGeneratorEmittersPoolFactory.componentCompiled=Components compiled in {0} ms
CodeGeneratorEmittersPoolFactory.failCompail=Components compile fail : \r\n
CodeGeneratorEmittersPoolFactory.initialException=Exception during Initialization
CodeGeneratorEmittersPoolFactory.jetEmitterInitialException=Error during JetEmitter initalization
CodeGeneratorService.invalidLanguage1=invalid language type.
CodeGeneratorService.invalidLanguage2=invalid language type.
CodeGenInit.addMarkers=Adding markers to workspace
CodeGenInit.createProject=create {0} project
CodeGenInit.deleteProject=delete {0} project
CodeGenInit.initTemplate=init Templates
CodeGenInit.removeLink=Remove linked resources
CodeGenInit.saveWorkspace=Saving workspace
DocumentRootImpl.mixed=\ (mixed:
NodesSubTree.enableParallel=__ENABLE_PARALLEL__
PoolTypeImpl.persistentPool= \ (persistentPool:
TalendJetEmitter.compileFail=\ compile fail : {0} : {1}
TalendJetEmitter.exception=Exception on
JetFilesProviderManager.unableLoad=Unable to load {0}JetFilesProviderManager.unableLoad
CodeGeneratorEmittersPoolFactory.dialogContent=JetEmitter Generation is canceled,to avoid problems cause by this, please press Ctrl+Shift+F3 to generate again\!
CodeGeneratorEmittersPoolFactory.operationCanceled=Operation Canceled
ComponentsFactory.afterSystemComponent=after system component
ComponentsFactory.componentNotFound=Component folder not found\:
ComponentsFactory.load.components=Load Components...
ComponentsFactory.parentNotRecompiled=Warning\: parents of *.inc.javajet are not recompiled \!
ComponentsLocalProviderService.componentLoadError=Component load error
ComponentsLocalProviderService.talendExchangeError=Talend Exchange Error
ComponentsPreferencePage.ButtonLabel0=Ok
ComponentsPreferencePage.configuration.LINK_STYLE=Default mapping links display as :
ComponentsPreferencePage.rowLimit=Row limit
ComponentsPreferencePage.WarningMsg=You need to restart Talend Open Studio to load extra components.
ComponentsPreferencePage.WarningTitle=Warning
ComponentsPreferencePage.directoryFieldLabel=User component folder\:
ComponentsProviderManager.unableLoad=unable to load component provider
ComponenttRunJobPreferencePage.label=Don't show corresponding job after double click on a tRunJob Component.
ComponentJobletPreferencePage.label=Don't show corresponding job after double click on a Joblet Component.
ComponenttRunJobPreferencePage.showCorrespondingJob=Show corresponding job after double click on a tRunJob Component.
XsdValidationCacheManager.unableLoadxsd=unable to load xsd validation cache file
XsdValidationCacheManager.unableSavexsd=unable to save xsd validation cache file
prefs.configuration.LINK_STYLE.AUTO=Auto
prefs.configuration.LINK_STYLE.BEZIER_CURVE=Curves
prefs.configuration.LINK_STYLE.LINE=Lines (fast)
FAMILY.AS400=AS400
FAMILY.Access=Access
FAMILY.Alfresco=Alfresco
FAMILY.Business=Business
FAMILY.Business_Intelligence=Business Intelligence
FAMILY.CentricCRM=CentricCRM
FAMILY.Charts=Charts
FAMILY.Connections=Connections
FAMILY.Custom_Code=Custom Code
FAMILY.DB2=DB2
FAMILY.DB_Generic=DB Generic
FAMILY.DB_JDBC=DB JDBC
FAMILY.DB_SCD=DB SCD
FAMILY.Data_Quality=Data Quality
FAMILY.Databases=Databases
FAMILY.ELT=ELT
FAMILY.ESB=ESB
FAMILY.EXASolution=EXASolution
FAMILY.eXist=eXist
FAMILY.FTP=FTP
FAMILY.Fields=Fields
FAMILY.File=File
FAMILY.FireBird=FireBird
FAMILY.Greenplum=Greenplum
FAMILY.HSQLDb=HSQLDb
FAMILY.Healthcare=Healthcare
FAMILY.Hive=Hive
FAMILY.Informix=Informix
FAMILY.Ingres=Ingres
FAMILY.Input=Input
FAMILY.Interbase=Interbase
FAMILY.Internet=Internet
FAMILY.Jasper=Jasper
FAMILY.JavaDB=JavaDB
FAMILY.JDBC=JDBC
FAMILY.LDAP=LDAP
FAMILY.Logs_Errors=Logs & Errors
FAMILY.MS_SQL_Server=MS SQL Server
FAMILY.MSSql=MSSql
FAMILY.Management=Management
FAMILY.MaxDB=MaxDB
FAMILY.Microsoft_AX=Microsoft AX
FAMILY.Microsoft_CRM=Microsoft CRM
FAMILY.Misc=Misc
FAMILY.MySQL=MySQL
FAMILY.Netezza=Netezza
FAMILY.OLAP_Cube=OLAP Cube
FAMILY.Oracle=Oracle
FAMILY.Orchestration=Orchestration
FAMILY.Output=Output
FAMILY.ParAccel=ParAccel
FAMILY.PostgreSQL=PostgreSQL
FAMILY.PostgresPlus=PostgresPlus
FAMILY.Processing=Processing
FAMILY.SAP=SAP
FAMILY.Sas=Sas
FAMILY.SCD=SCD
FAMILY.SCP=SCP
FAMILY.SPSS=SPSS
FAMILY.SQLite=SQLite
FAMILY.Salesforce=Salesforce
FAMILY.SugarCRM=SugarCRM
FAMILY.Sybase=Sybase
FAMILY.System=System
FAMILY.Technical=Technical
FAMILY.Teradata=Teradata
FAMILY.Vertica=Vertica
FAMILY.VtigerCRM=VtigerCRM
FAMILY.XML=XML
CodeGeneratorEmittersPoolFactory.updatePaletteForEditors=Update the palette for editors
ComponentsPreferencePage.componentAssist=Enable Component Creation Assistant
ComponentsPreferencePage.notValidDirectory=Your selection will result in folder nesting, which is not recommended. Do you want to continue anyway?
ComponentsFactory.loadComponents.missingFolder=The folder "{0}" is missing in the plugin "{1}".
ComponentsPreferencePage_SuccessTitle=Success
ComponentsPreferencePage_SuccessMessage1=Need restart studio to load the new components. Else, will be loaded in next time when start.
ComponentsPreferencePage_SuccessMessage2=Do you want to restart right now?
ComponentsPreferencePage.installComponentsFailure=Install components failure
generatedcode.copyright.body1=This source code has been automatically generated by {0}
ComponentsFactory.init.waitForFinish.timeout=Can't initialise ComponentsFactory, please try again.
FAMILY.Data_Privacy=Data Privacy
ComponentsPreferencePage.enableOnLineHelp=Enable online help for components
ComponentsPreferencePage.titleInstallHelp=Install offline help feature?
ComponentsPreferencePage.msgInstallHelp=This will open additional packages dialog to install offline help feature, do you want to continue?
ComponentsPreferencePage.grpHelp=Help

View File

@@ -10,6 +10,7 @@ CodeGenerator.getGraphicalNode2=------process.getGeneratingNodes()------
CodeGenerator.JET.TimeOut=D\u00E9lai d'initialisation JET d\u00E9pass\u00E9
CodeGenerator.newLine=\n\n\n\n
CodeGenerator.Node.NotFound=N\u0153ud introuvable dans le processus courant
CodeGenerator.Components.NotFound={0}\u00A0: Le composant est manquant\u00A0: {1}; utilisez -D{2}=false dans votre Studio ou CommandLine pour ignorer cette v\u00E9rification. Un message d'avertissement sera enregistr\u00E9 dans les logs.
JavaRoutineSynchronizer.UnsupportedOperation.Exception1=M\u00E9thode non impl\u00E9ment\u00E9e : org.talend.designer.codegen.JavaRoutineSynchronizer line:49
JavaRoutineSynchronizer.UnsupportedOperation.Exception2=M\u00E9thode non impl\u00E9ment\u00E9e : org.talend.designer.codegen.JavaRoutineSynchronizer line:58
JetSkeletonManager.unableLoad=Impossible de charger le fichier de cache de la mise \u00E0 jour du squelette

View File

@@ -10,11 +10,12 @@ CodeGenerator.getGraphicalNode2=------process.getGeneratingNodes()------
CodeGenerator.JET.TimeOut=JET\u306E\u521D\u671F\u5316\u51E6\u7406\u304C\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F
CodeGenerator.newLine=\n\n\n\n
CodeGenerator.Node.NotFound=\u73FE\u5728\u306E\u30D7\u30ED\u30BB\u30B9\u306B\u30CE\u30FC\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
CodeGenerator.Components.NotFound={0}: \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u304C\u6B20\u843D\u3057\u3066\u3044\u307E\u3059: {1}\u3002Studio\u3067 -D{2}=false\u3092\u4F7F\u3046\u3068\u3053\u306E\u30C1\u30A7\u30C3\u30AF\u304C\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u3001\u8B66\u544A\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u30ED\u30B0\u30D5\u30A1\u30A4\u30EB\u306B\u8A18\u9332\u3055\u308C\u307E\u3059\u3002
JavaRoutineSynchronizer.UnsupportedOperation.Exception1=\u30E1\u30BD\u30C3\u30C9\u304C\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\\: org.talend.designer.codegen.JavaRoutineSynchronizer line\\:49
JavaRoutineSynchronizer.UnsupportedOperation.Exception2=\u30E1\u30BD\u30C3\u30C9\u304C\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\\: org.talend.designer.codegen.JavaRoutineSynchronizer line\\:58
JetSkeletonManager.unableLoad=\u30B9\u30B1\u30EB\u30C8\u30F3\u66F4\u65B0\u30AD\u30E3\u30C3\u30B7\u30E5\u30D5\u30A1\u30A4\u30EB\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093
JetSkeletonManager.unableSave=\u30B9\u30B1\u30EB\u30C8\u30F3\u66F4\u65B0\u30AD\u30E3\u30C3\u30B7\u30E5\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093
JetSkeletonManager.updateProblem=\u30B9\u30B1\u30EB\u30C8\u30F3\u6C38\u7D9A\u30C7\u30FC\u30BF\u66F4\u65B0\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F,
JetSkeletonManager.unableLoad=\u30B9\u30B1\u30EB\u30C8\u30F3\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30AD\u30E3\u30C3\u30B7\u30E5\u30D5\u30A1\u30A4\u30EB\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093
JetSkeletonManager.unableSave=\u30B9\u30B1\u30EB\u30C8\u30F3\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30AD\u30E3\u30C3\u30B7\u30E5\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093
JetSkeletonManager.updateProblem=\u30B9\u30B1\u30EB\u30C8\u30F3\u6C38\u7D9A\u30C7\u30FC\u30BF\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F,
EmfEmittersPersistence.CodeGen.DataMissing=\u30B3\u30FC\u30C9\u751F\u6210\u306E\u30C7\u30FC\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u5B8C\u5168\u306A\u30B3\u30FC\u30C9\u751F\u6210\u3092\u958B\u59CB\u3057\u3066\u3044\u307E\u3059\u3002
CodeGeneratorEmittersPoolFactory.PersitentData.Error=\u6301\u7D9A\u30C7\u30FC\u30BF\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093:
CodeGeneratorEmittersPoolFactory.JETEmitters.NoPresent=JETEmitter \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3001\u5168\u4F53\u306E\u518D\u521D\u671F\u5316\u304C\u5FC5\u8981\u3067\u3059\u3002
@@ -28,7 +29,7 @@ CodeGeneratorEmittersPoolFactory.initialException=\u521D\u671F\u5316\u4E2D\u306B
CodeGeneratorEmittersPoolFactory.initMessage=\u751F\u6210\u30A8\u30F3\u30B8\u30F3\u306E\u521D\u671F\u5316\u4E2D...
CodeGeneratorEmittersPoolFactory.jetEmitterInitialException=JetEmitter\u306E\u521D\u671F\u5316\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
CodeGeneratorEmittersPoolFactory.operationCanceled=\u64CD\u4F5C\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F
CodeGeneratorEmittersPoolFactory.updatePaletteForEditors=\u30D1\u30EC\u30C3\u30C8\u3092\u66F4\u65B0
CodeGeneratorEmittersPoolFactory.updatePaletteForEditors=\u30D1\u30EC\u30C3\u30C8\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
CodeGeneratorService.invalidLanguage1=\u7121\u52B9\u306A\u8A00\u8A9E\u30BF\u30A4\u30D7\u3067\u3059\u3002
CodeGeneratorService.invalidLanguage2=\u7121\u52B9\u306A\u8A00\u8A9E\u30BF\u30A4\u30D7\u3067\u3059\u3002
CodeGenInit.addMarkers=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u30DE\u30FC\u30AB\u30FC\u3092\u8FFD\u52A0\u4E2D
@@ -65,7 +66,7 @@ ComponenttRunJobPreferencePage.label=tRunJob\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3
ComponentJobletPreferencePage.label=Joblet\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u5F8C\u3001\u5BFE\u5FDC\u30B8\u30E7\u30D6\u3092\u8868\u793A\u3057\u306A\u3044\u3002
ComponentsPreferencePage_SuccessTitle=\u6210\u529F
ComponentsPreferencePage_SuccessMessage1=\u65B0\u898F\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30ED\u30FC\u30C9\u3059\u308B\u305F\u3081\u306B\u306F\u3001Studio\u3092\u518D\u8D77\u52D5\u3057\u307E\u3059\u3002\u307E\u305F\u306F\u6B21\u56DE\u306E\u958B\u59CB\u6642\u306B\u30ED\u30FC\u30C9\u3055\u308C\u307E\u3059\u3002
ComponentsPreferencePage_SuccessMessage2=\u518D\u8D77\u52D5\u3057\u307E\u3059\u304B\uFF1F
ComponentsPreferencePage_SuccessMessage2=\u518D\u8D77\u52D5\u3057\u307E\u3059\u304B?
ComponentsPreferencePage.enableOnLineHelp=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30AA\u30F3\u30E9\u30A4\u30F3\u30D8\u30EB\u30D7\u3092\u6709\u52B9\u5316
ComponentsPreferencePage.titleInstallHelp=\u30AA\u30D5\u30E9\u30A4\u30F3\u30D8\u30EB\u30D7\u6A5F\u80FD\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u307E\u3059\u304B?
ComponentsPreferencePage.msgInstallHelp=\u3053\u308C\u306B\u3088\u3063\u3066\u8FFD\u52A0\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30C0\u30A4\u30A2\u30ED\u30B0\u304C\u958B\u304D\u3001\u30AA\u30D5\u30E9\u30A4\u30F3\u30D8\u30EB\u30D7\u6A5F\u80FD\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u307E\u3059\u3002\u7D9A\u884C\u3057\u307E\u3059\u304B?

View File

@@ -10,6 +10,7 @@ CodeGenerator.getGraphicalNode2=\u8FDB\u7A0B\u5F97\u5230\u751F\u6210\u8282\u70B9
CodeGenerator.JET.TimeOut=JET \u521D\u59CB\u5316\u8D85\u65F6
CodeGenerator.newLine=\n\n\n\n
CodeGenerator.Node.NotFound=\u5728\u5F53\u524D
CodeGenerator.Components.NotFound={0}: \u7EC4\u4EF6\u7F3A\u5931: {1}; \u5728 Studio \u6216\u547D\u4EE4\u884C\u4E2D\u4F7F\u7528 -D{2}=false \u53EF\u8DF3\u8FC7\u6B64\u9879\u68C0\u67E5\uFF0C\u540C\u65F6\u89E6\u53D1\u8B66\u544A\u6D88\u606F\u3002
JavaRoutineSynchronizer.UnsupportedOperation.Exception1=\u65B9\u6CD5\u672A\u5B9E\u65BD\uFF1Aorg.talend.designer.codegen.JavaRoutineSynchronizer line:49
JavaRoutineSynchronizer.UnsupportedOperation.Exception2=\u65B9\u6CD5\u672A\u5B9E\u65BD\uFF1Aorg.talend.designer.codegen.JavaRoutineSynchronizer line:58
JetSkeletonManager.unableLoad=\u65E0\u6CD5\u52A0\u8F7D\u4E3B\u5E72\u66F4\u65B0\u7F13\u5B58\u6587\u4EF6

View File

@@ -66,6 +66,7 @@ import org.talend.designer.codegen.model.CodeGeneratorEmittersPoolFactory;
import org.talend.designer.codegen.model.CodeGeneratorInternalTemplatesFactoryProvider;
import org.talend.designer.codegen.proxy.JetProxy;
import org.talend.designer.core.generic.model.Component;
import org.talend.designer.core.model.components.DummyComponent;
import org.talend.designer.runprocess.ProcessorUtilities;
/**
@@ -845,6 +846,25 @@ public class CodeGenerator implements ICodeGenerator {
IComponentFileNaming componentFileNaming = ComponentsFactoryProvider.getFileNamingInstance();
IComponent component = node.getComponent();
if (component instanceof DummyComponent) {
if (((DummyComponent) component).isMissingComponent()) {
String processName = "";
try {
IProcess proc = node.getProcess();
processName = proc.getName() + " " + proc.getVersion();
} catch (Exception e) {
ExceptionHandler.process(e);
}
if (IProcess.ERR_ON_COMPONENT_MISSING) {
throw new CodeGeneratorException(Messages.getString("CodeGenerator.Components.NotFound", processName,
component.getName(), IProcess.PROP_ERR_ON_COMPONENT_MISSING));
}
if (ECodePart.BEGIN.equals(part)) {
log.warn(Messages.getString("CodeGenerator.Components.NotFound", processName, component.getName(),
IProcess.PROP_ERR_ON_COMPONENT_MISSING));
}
}
}
// some code unification to handle all component types the same way.
String templateURI = component.getTemplateFolder() + TemplateUtil.DIR_SEP
+ componentFileNaming.getJetFileName(component.getTemplateNamePrefix(), language.getExtension(), part);

View File

@@ -152,7 +152,9 @@ public class CodeGeneratorService implements ICodeGeneratorService {
ComponentsFactoryProvider.getInstance().resetCache();
ILibraryManagerService librairesManagerService = (ILibraryManagerService) GlobalServiceRegister.getDefault().getService(
ILibraryManagerService.class);
librairesManagerService.clearCache();
//TUP-31721: The generated studio index will include every possible values with TP_ALL license .
//Studio 8 will not re-generate the index after applying patch and installing any component.
librairesManagerService.clearCache(false);
CorePlugin.getDefault().getLibrariesService().syncLibraries();
Job job = CodeGeneratorEmittersPoolFactory.initialize();
// achen modify to record ctrl+shift+f3 is pressed to fix bug 0006107

View File

@@ -8,7 +8,6 @@ bin.includes = META-INF/,\
model/,\
content/,\
plugin_de.properties,\
plugin_en.properties,\
plugin_fr.properties,\
plugin_it.properties,\
plugin_ja.properties,\

View File

@@ -1,5 +0,0 @@
Exchange=Exchange
DownloadComponenentsAction.Label=Download Selected Components
RefreshComponenentsAction.Label=Refresh Components List
providerName=www.example.org
pluginName=Exchange Model

View File

@@ -1,101 +0,0 @@
ExchangeView.Exchange=Exchange
AvailableExtensionsComposite.ExtensionName=Extension Name
AvailableExtensionsComposite.Version=Version
AvailableExtensionsComposite.Rating=Rating
AvailableExtensionsComposite.Author=Author
AvailableExtensionsComposite.FilterTitle=Filter
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Install
AvailableExtensionsComposite.ViewDetail.WriteReview=Write a review
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailure=Insertion Review failure.
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailureTip=You should check it.
DownloadedExtensionsComposite.ExtensionName=Extension Name
DownloadedExtensionsComposite.DownloadedVersion=Downloaded Version
DownloadedExtensionsComposite.DownloadDate=Download Date
DownloadedExtensionsComposite.OperateStatus=Operate Status
DownloadedExtensionsComposite.installOperateStatus=Install
DownloadedExtensionsComposite.installedOperateStatus=Installed
DownloadedExtensionsComposite.updateOperateStatus=Update
MyExtensionsComposite.ExtensionName=Extension Name
MyExtensionsComposite.Version=Version
MyExtensionsComposite.UploadDate=Upload Date
MyExtensionsComposite.AddNewExtensionTitle=Add New Extension
MyExtensionsComposite.UpLoadNewVersionOperateStatus=Upload New Version
MyExtensionsComposite.UpdateOperateStatus=Update
MyExtensionsComposite.ModifyOperateStatus=Modify
MyExtensionsComposite.DeleteOperateStatus=Delete
MyExtensionsComposite.Form.Return=Return
MyExtensionsComposite.Form.ExtensionTitle=Extension Title
MyExtensionsComposite.Form.InitialVersion=Initial Version
MyExtensionsComposite.Form.Compatibility=Compatibility
MyExtensionsComposite.Form.Compatibility.AllVersions=All versions
MyExtensionsComposite.Form.Compatibility.Version=Version
MyExtensionsComposite.Form.Compatibility.AndOlder=and older
MyExtensionsComposite.Form.Compatibility.AndNewer=and newer
MyExtensionsComposite.Form.Compatibility.AllVersionsExcept=All versions except:
MyExtensionsComposite.Form.Compatibility.OnlyTheseVersions=Only these versions:
MyExtensionsComposite.Form.Description=Description
MyExtensionsComposite.Form.Visibility=Visibility
MyExtensionsComposite.Form.Visibility.Public=Public(visible by all)
MyExtensionsComposite.Form.Visibility.Private=Private(visible by me)
MyExtensionsComposite.Form.Upload=Upload
MyExtensionsComposite.Form.Upload.SelectAnItem=Select an item from the currently open project
MyExtensionsComposite.Form.Upload.File=File:
MyExtensionsComposite.Form.Upload.Browse=Browse...
MyExtensionsComposite.Form.Upload.Browse.SelectFile=Select a File of the extension to upload
MyExtensionsComposite.Form.DeleteExtensionTile=Delete Extension
MyExtensionsComposite.Form.DeleteExtensionMessage=Are you sure you want to delete this Extension?
MyExtensionsComposite.Form.UploadExtension=Upload Extension
MyExtensionsComposite.Form.UpdateExtension=Update Extension
MyExtensionsComposite.Form.ModifyExtension=Modify Extension
RefreshJob.FindExtensions.Title=Finding available extensions
RefreshJob.FindExtensions.Message=Finding extensions from exchange...
ShowContributedExtensionsJob.ShowContributedExtensions.Title=Finding contributed extensions
ShowContributedExtensionsJob.ShowContributedExtensions.Message=Finding contributed extensions from exchange...
ShowInstalledExtensionsJob.ShowInstalledExtensions.Title=Finding installed extensions
ShowInstalledExtensionsJob.ShowInstalledExtensions.Message=Finding installed extensions from exchange...
DeleteExtensionJob.DeleteExtensionJob.Title=Delete an extension...
DeleteExtensionJob.DeleteExtensionJob.Message=Delete an extension...
DeleteExtensionJob.DeleteFailure=Delete failure.
DeleteExtensionJob.DeleteFailureTip=You should check it.
ModifyExtensionJob.Title=Modify an extension...
ModifyExtensionJob.Message=Modify an extension...
ModifyExtensionJob.ModifyFailure=Modify failure.
ModifyExtensionJob.ModifyFailureTip=You should check it.
InstalledExtensionJob.Title=Installed an extension...
InstalledExtensionJob.Message=Installed an extension...
InsertionExtensionAction.InstalledFailure=Installed failure.
InsertionExtensionAction.InstalledFailureTip=You should check it.
UploadRevisionJob.Title=Upload Revision...
UploadRevisionJob.Message=Upload Revision...
UploadRevisionAction.InstalledFailure=Upload Revision failure.
UploadRevisionAction.InstalledFailureTip=You should check it.
DownloadComponenentsAction.installExchange=Install Exchange Components
DownloadComponenentsAction.DownloadTaskTitle=Downloading files from Exchange
DownloadComponenentsAction.DownloadTaskName=Downloading file from url:
DownloadComponenentsAction.ReloadPalette=Reloading palette...
DownloadComponenentsAction.DownloadFailure=Download failure.
DownloadComponenentsAction.DownloadFailureTip=You must change the Download Settings.
ExchangeWebService.insertionExtensionSuccessful=Insertion Extension successful.
ExchangeWebService.downloadingExtensionSuccessful=Downloaded Extension successful.
ExchangeWebService.deleteExtensionSuccessful=Deleted Extension successful.
ExchangeWebService.insertReviewSuccessful=Insertion Review successful.
ExchangeWebService.updateRevisionSuccessful=Update Revision successful.
ExchangeWebService.insertionRevisionSuccessful=Insertion Revision successful.
ImportExchangeDialog.dialogTitle=Select an item from Talend Exchange
ImportExchangeDialog.WARNING=WARNING
ImportExchangeDialog.NOTSELECTWARNING=Please select one item from table.
ImportExchangeDialog.downloadProgressBar=Download Item,Please Wait\!
ImportExchangeDialog.EXTENSION_NAME=Extension Name
ImportExchangeDialog.AUTHOR_NAME=Author Name
ImportExchangeDialog.LATEST_REVISION=Latest Revision
ImportExchangeDialog.EXTENSION_DESCRIPTION=Extension Description
ImportExchangeDialog.REFRESH_BUTTON=Refresh
ImportExchangeDialog.REFRESHING_PROGRESSBAR=Refreshing\! Please Wait.....
ImportExchangeDialog.OPERATION_CANCELLED=Operation was cancelled
Exchange.logon.error=Exchange user have not been registered, please register using the preferences .
ImportExchangeDialog.download.extensions=Download extensions\! Please Wait\!
DownloadComponenentsAction_restartMessage=Install the new component successfully, but need to restart studio to load it, do you want to restart now?
DownloadComponenentsAction_restartTitle=Need restart
DownloadComponenentsAction_failureTitle=Failure
DownloadComponenentsAction_failureMessage=Fail to install the component {0}, need check the component is valid or not.
DownloadComponenentsAction.installComponentsTitle=Install components

View File

@@ -14,13 +14,13 @@ DownloadedExtensionsComposite.DownloadDate=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\
DownloadedExtensionsComposite.OperateStatus=\u30B9\u30C6\u30FC\u30BF\u30B9\u64CD\u4F5C
DownloadedExtensionsComposite.installOperateStatus=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
DownloadedExtensionsComposite.installedOperateStatus=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F
DownloadedExtensionsComposite.updateOperateStatus=\u66F4\u65B0
DownloadedExtensionsComposite.updateOperateStatus=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
MyExtensionsComposite.ExtensionName=Extension\u540D
MyExtensionsComposite.Version=\u30D0\u30FC\u30B8\u30E7\u30F3
MyExtensionsComposite.UploadDate=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u65E5\u4ED8
MyExtensionsComposite.AddNewExtensionTitle=\u65B0\u898FExtension\u8FFD\u52A0
MyExtensionsComposite.UpLoadNewVersionOperateStatus=\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
MyExtensionsComposite.UpdateOperateStatus=\u66F4\u65B0
MyExtensionsComposite.UpdateOperateStatus=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
MyExtensionsComposite.ModifyOperateStatus=\u5909\u66F4
MyExtensionsComposite.DeleteOperateStatus=\u524A\u9664
MyExtensionsComposite.Form.Return=\u623B\u308A\u5024
@@ -45,7 +45,7 @@ MyExtensionsComposite.Form.Upload.Browse.SelectFile=\u30A2\u30C3\u30D7\u30ED\u30
MyExtensionsComposite.Form.DeleteExtensionTile=Extension\u524A\u9664
MyExtensionsComposite.Form.DeleteExtensionMessage=\u3053\u306E\u62E1\u5F35\u5B50\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
MyExtensionsComposite.Form.UploadExtension=Extension\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
MyExtensionsComposite.Form.UpdateExtension=Extension\u66F4\u65B0
MyExtensionsComposite.Form.UpdateExtension=Extension\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
MyExtensionsComposite.Form.ModifyExtension=Extension\u4FEE\u6B63
Exchange.logon.error=Exchange\u30E6\u30FC\u30B6\u30FC\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u521D\u671F\u8A2D\u5B9A\u3092\u4F7F\u7528\u3057\u3066\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002
RefreshJob.FindExtensions.Title=\u53D6\u5F97\u53EF\u80FD\u306Aextensions
@@ -77,7 +77,7 @@ DownloadComponenentsAction_failureMessage=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u
DownloadComponenentsAction.installExchange=Exchange\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
DownloadComponenentsAction.DownloadTaskTitle=Exchange\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9
DownloadComponenentsAction.DownloadTaskName=\u30D5\u30A1\u30A4\u30EB\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u4E2D URL \\:
DownloadComponenentsAction.ReloadPalette=\u30D1\u30EC\u30C3\u30C8\u306E\u66F4\u65B0...
DownloadComponenentsAction.ReloadPalette=\u30D1\u30EC\u30C3\u30C8\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8...
DownloadComponenentsAction.DownloadFailure=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u5931\u6557\u3002
DownloadComponenentsAction.DownloadFailureTip=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u8A2D\u5B9A\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002
DownloadComponenentsAction.installComponentsTitle=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
@@ -85,7 +85,7 @@ ExchangeWebService.insertionExtensionSuccessful=Extension\u306E\u30A4\u30F3\u30B
ExchangeWebService.downloadingExtensionSuccessful=Extension\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u6210\u529F\u3002
ExchangeWebService.deleteExtensionSuccessful=Extension\u524A\u9664\u6210\u529F\u3002
ExchangeWebService.insertReviewSuccessful=Review\u633F\u5165\u6210\u529F\u3002
ExchangeWebService.updateRevisionSuccessful=\u30EA\u30D3\u30B8\u30E7\u30F3\u66F4\u65B0\u6210\u529F\u3002
ExchangeWebService.updateRevisionSuccessful=\u30EA\u30D3\u30B8\u30E7\u30F3\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u6210\u529F\u3002
ExchangeWebService.insertionRevisionSuccessful=\u30EA\u30D3\u30B8\u30E7\u30F3\u633F\u5165\u6210\u529F\u3002
ImportExchangeDialog.dialogTitle=Talend Exchange \u304B\u3089\u9805\u76EE\u306E\u9078\u629E
ImportExchangeDialog.WARNING=\u8B66\u544A
@@ -97,5 +97,5 @@ ImportExchangeDialog.LATEST_REVISION=\u6700\u65B0\u30EA\u30D3\u30B8\u30E7\u30F3
ImportExchangeDialog.EXTENSION_DESCRIPTION=\u62E1\u5F35\u306E\u8AAC\u660E
ImportExchangeDialog.download.extensions=\u62E1\u5F35\u6A5F\u80FD\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u4E2D\u3067\u3059\u3002\u66AB\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
ImportExchangeDialog.REFRESH_BUTTON=\u66F4\u65B0
ImportExchangeDialog.REFRESHING_PROGRESSBAR=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5\u4E2D\u3067\u3059\u3002\u66AB\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
ImportExchangeDialog.REFRESHING_PROGRESSBAR=\u66F4\u65B0\u4E2D\u3067\u3059\u3002\u66AB\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
ImportExchangeDialog.OPERATION_CANCELLED=\u64CD\u4F5C\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>1.6.4-20210713</version>
<version>1.6.6-20220707</version>
<packaging>jar</packaging>
<name>adal4j</name>
<description>
@@ -104,7 +104,7 @@
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
<version>2.8.9</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>

View File

@@ -37,7 +37,18 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
</dependency>
<!-- Spring 3 dependencies -->
<dependency>
<groupId>org.springframework</groupId>

View File

@@ -1,69 +0,0 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.components</groupId>
<artifactId>checkArchive</artifactId>
<version>1.2-20210901</version>
<name>checkArchive</name>
<description>Dependence for tFileArchive and tFileUnAchive</description>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
<java.source.version>1.8</java.source.version>
</properties>
<distributionManagement>
<snapshotRepository>
<id>talend_nexus_deployment</id>
<url>${talend.nexus.url}/nexus/content/repositories/TalendOpenSourceSnapshot/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</snapshotRepository>
<repository>
<id>talend_nexus_deployment</id>
<url>${talend.nexus.url}/nexus/content/repositories/TalendOpenSourceRelease/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</distributionManagement>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.21</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java.source.version}</source>
<target>${java.source.version}</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<compilerArgument>-XDignore.symbol.file</compilerArgument>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -230,9 +230,9 @@
<scope>compile</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
<scope>runtime</scope>
<optional>true</optional>
</dependency>

View File

@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend</groupId>
<artifactId>talendMQRFH2</artifactId>
<version>1.0.1-20190206</version>
<version>1.2.0-20220707</version>
<packaging>jar</packaging>
<properties>
@@ -36,20 +36,10 @@
</distributionManagement>
<dependencies>
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mq</artifactId>
<version>8.0.0.9</version>
</dependency>
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mqjms</artifactId>
<version>8.0.0.9</version>
</dependency>
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mq.allclient</artifactId>
<version>8.0.0.9</version>
<version>9.2.5.0</version>
</dependency>
<dependency>
<groupId>org.talend.libraries</groupId>
@@ -67,9 +57,9 @@
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
</dependency>
</dependencies>

View File

@@ -6,7 +6,7 @@
<!-- #################################################### -->
<!-- modification 1: config -->
<property name="jar.name" value="MsmqTalend-1.0.0.jar" />
<property name="jar.name" value="MsmqTalend-1.0.5.jar" />
<property name="component.name" value="tMicrosoftMQInput" />
<property name="author.name" value="ytao" />

View File

@@ -113,9 +113,9 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
<scope>test</scope>
</dependency>
<!-- JUnit -->

View File

@@ -46,11 +46,6 @@
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
@@ -64,9 +59,9 @@
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
</dependency>
<!--test-->

View File

@@ -45,9 +45,9 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
<scope>test</scope>
</dependency>
<dependency>

View File

@@ -6,7 +6,7 @@
<groupId>org.talend.components.lib</groupId>
<artifactId>job-audit</artifactId>
<version>1.4</version>
<version>1.5</version>
<properties>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>

View File

@@ -30,5 +30,8 @@ public interface JobAuditLogger extends EventAuditLogger {
@AuditEvent(category = "schema", message = "{connection_name} : {schema} from {source_id} to {target_id}", level = LogLevel.INFO)
void schema(Context context);
@AuditEvent(category = "exception", message = "Exception", level = LogLevel.INFO)
void exception(Context context);
}

View File

@@ -3,10 +3,17 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.components</groupId>
<artifactId>talend-mscrm</artifactId>
<version>3.9-20210713</version>
<version>3.14-20220707</version>
<packaging>jar</packaging>
<name>talend-mscrm</name>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.talendforge.org/modules/licenses/APACHE_v2.txt</url>
<distribution>may be downloaded from the Maven repository</distribution>
</license>
</licenses>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -18,14 +25,15 @@
<httpclient.version>4.5.13</httpclient.version>
<httpcore.version>4.4.13</httpcore.version>
<junit.version>4.13.2</junit.version>
<adal4j.version>1.6.4-20210713</adal4j.version>
<jackson.version>2.11.4</jackson.version>
<adal4j.version>1.6.6-20220707</adal4j.version>
<jackson.version>2.13.2</jackson.version>
<jackson-databind.version>2.13.2.2</jackson-databind.version>
<!-- plugin's versions -->
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
</properties>
<repositories>
<repository>
<id>talend_nexus_deployment</id>
@@ -60,7 +68,7 @@
</releases>
</repository>
</distributionManagement>
<dependencies>
<dependency>
<groupId>org.apache.axis2</groupId>
@@ -68,9 +76,9 @@
<version>${axis2.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.5</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
@@ -93,7 +101,7 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.olingo</groupId>
<artifactId>odata-client-core</artifactId>
@@ -135,11 +143,6 @@
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>${adal4j.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
@@ -155,6 +158,17 @@
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j</artifactId>
<version>1.11.2</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
</dependencies>
<build>
<resources>

View File

@@ -0,0 +1,164 @@
package com.microsoft.aad.msal4j;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import org.slf4j.LoggerFactory;
import com.nimbusds.oauth2.sdk.ParseException;
import com.nimbusds.oauth2.sdk.auth.ClientAuthentication;
import com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod;
import com.nimbusds.oauth2.sdk.auth.ClientSecretPost;
import com.nimbusds.oauth2.sdk.auth.PrivateKeyJWT;
import com.nimbusds.oauth2.sdk.auth.Secret;
import com.nimbusds.oauth2.sdk.id.ClientID;
import static com.microsoft.aad.msal4j.ParameterValidationUtils.validateNotNull;
public class OauthClientApplication extends AbstractClientApplicationBase implements IConfidentialClientApplication {
private ClientAuthentication clientAuthentication;
private CustomJWTAuthentication customJWTAuthentication;
private boolean clientCertAuthentication = false;
private ClientCertificate clientCertificate;
private boolean sendX5c;
private final String username;
private final String password;
private OauthClientApplication(OauthClientApplication.Builder builder) {
super(builder);
validateNotNull("username", builder.username);
validateNotNull("password", builder.password);
sendX5c = builder.sendX5c;
log = LoggerFactory.getLogger(ConfidentialClientApplication.class);
initClientAuthentication(builder.clientCredential);
this.username = builder.username;
this.password = builder.password;
}
@Override
public CompletableFuture<IAuthenticationResult> acquireToken(ClientCredentialParameters parameters) {
validateNotNull("parameters", parameters);
RequestContext context = new RequestContext(this, PublicApi.ACQUIRE_TOKEN_FOR_CLIENT, parameters);
OauthCredentialRequest clientCredentialRequest = new OauthCredentialRequest(parameters,
username, password,this, context);
return this.executeRequest(clientCredentialRequest);
}
@Override
public CompletableFuture<IAuthenticationResult> acquireToken(OnBehalfOfParameters parameters) {
throw new IllegalStateException("Use ConfidentialClientApplication instead");
}
private void initClientAuthentication(IClientCredential clientCredential) {
validateNotNull("clientCredential", clientCredential);
if (clientCredential instanceof ClientSecret) {
clientAuthentication = new ClientSecretPost(new ClientID(clientId()), new Secret(((ClientSecret) clientCredential).clientSecret()));
} else if (clientCredential instanceof ClientCertificate) {
this.clientCertAuthentication = true;
this.clientCertificate = (ClientCertificate) clientCredential;
clientAuthentication = buildValidClientCertificateAuthority();
} else if (clientCredential instanceof ClientAssertion) {
clientAuthentication = createClientAuthFromClientAssertion((ClientAssertion) clientCredential);
} else {
throw new IllegalArgumentException("Unsupported client credential");
}
}
@Override
protected ClientAuthentication clientAuthentication() {
if (clientCertAuthentication) {
final Date currentDateTime = new Date(System.currentTimeMillis());
final Date expirationTime = ((PrivateKeyJWT) clientAuthentication).getJWTAuthenticationClaimsSet().getExpirationTime();
if (expirationTime.before(currentDateTime)) {
//The asserted private jwt with the client certificate can expire so rebuild it when the
clientAuthentication = buildValidClientCertificateAuthority();
}
}
return clientAuthentication;
}
private ClientAuthentication buildValidClientCertificateAuthority() {
ClientAssertion clientAssertion = JwtHelper.buildJwt(clientId(), clientCertificate, this.authenticationAuthority.selfSignedJwtAudience(), sendX5c);
return createClientAuthFromClientAssertion(clientAssertion);
}
private ClientAuthentication createClientAuthFromClientAssertion(final ClientAssertion clientAssertion) {
final Map<String, List<String>> map = new HashMap<>();
try {
map.put("client_assertion_type", Collections.singletonList(ClientAssertion.assertionType));
map.put("client_assertion", Collections.singletonList(clientAssertion.assertion()));
return PrivateKeyJWT.parse(map);
} catch (final ParseException e) {
//This library is not supposed to validate Issuer and subject values.
//The next lines of code ensures that exception is not thrown.
if (e.getMessage().contains("Issuer and subject in client JWT assertion must designate the same client identifier")) {
return new CustomJWTAuthentication(ClientAuthenticationMethod.PRIVATE_KEY_JWT, clientAssertion, new ClientID(clientId()));
}
throw new MsalClientException(e);
}
}
/**
* Creates instance of Builder of ConfidentialClientApplication
*
* @param clientId Client ID (Application ID) of the application as registered
* in the application registration portal (portal.azure.com)
* @param clientCredential The client credential to use for token acquisition.
* @return instance of Builder of ConfidentialClientApplication
*/
public static OauthClientApplication.Builder builder(String clientId, IClientCredential clientCredential, String username, String password) {
return new OauthClientApplication.Builder(clientId, clientCredential, username, password);
}
public static class Builder extends AbstractClientApplicationBase.Builder<OauthClientApplication.Builder> {
private IClientCredential clientCredential;
private final String username;
private final String password;
private boolean sendX5c = true;
private Builder(String clientId, IClientCredential clientCredential, String username, String password) {
super(clientId);
this.clientCredential = clientCredential;
this.username = username;
this.password = password;
}
/**
* Specifies if the x5c claim (public key of the certificate) should be sent to the STS.
* Default value is true
*
* @param val true if the x5c should be sent. Otherwise false
* @return instance of the Builder on which method was called
*/
public OauthClientApplication.Builder sendX5c(boolean val) {
this.sendX5c = val;
return self();
}
@Override
public OauthClientApplication build() {
return new OauthClientApplication(this);
}
@Override
protected OauthClientApplication.Builder self() {
return this;
}
}
@java.lang.SuppressWarnings("all")
public boolean sendX5c() {
return this.sendX5c;
}
}

View File

@@ -0,0 +1,20 @@
package com.microsoft.aad.msal4j;
import com.nimbusds.oauth2.sdk.ResourceOwnerPasswordCredentialsGrant;
import com.nimbusds.oauth2.sdk.auth.Secret;
class OauthCredentialRequest extends MsalRequest {
ClientCredentialParameters parameters;
OauthCredentialRequest(ClientCredentialParameters parameters, String username, String password,
OauthClientApplication application, RequestContext requestContext) {
super(application, createMsalGrant(parameters, username, password), requestContext);
this.parameters = parameters;
}
private static OAuthAuthorizationGrant createMsalGrant(ClientCredentialParameters parameters,
String username, String password) {
return new OAuthAuthorizationGrant(new ResourceOwnerPasswordCredentialsGrant(username, new Secret(
password)), parameters.scopes(), parameters.claims());
}
}

View File

@@ -60,12 +60,13 @@ public class ClientConfigurationFactory {
}
public final static ClientConfiguration buildOAuthPremiseClientConfiguration(String userName, String password, String authoryEndpoint,
String serviceAPI, String clientId, String redirectUrl, String forcedResource) {
String serviceAPI, String clientId, String clientSecret, String redirectUrl, String forcedResource) {
ClientConfiguration clientConfiguration = new ClientConfiguration(AuthStrategyEnum.OAUTH_PREMISE);
clientConfiguration.setUserName(userName);
clientConfiguration.setPassword(password);
clientConfiguration.setAuthoryEndpoint(authoryEndpoint);
clientConfiguration.setClientId(clientId);
clientConfiguration.setClientSecret(clientSecret);
clientConfiguration.setRedirectURL(redirectUrl);
clientConfiguration.setServiceAPI(serviceAPI);
clientConfiguration.setForceResource(forcedResource);

View File

@@ -116,11 +116,8 @@ public class DynamicsCRMClient implements IHttpClientFactoryObserver {
public DynamicsCRMClient(ClientConfiguration clientConfiguration, String serviceRootURL, String entitySet)
throws AuthenticationException {
this.clientConfiguration = clientConfiguration;
this.serviceRootURL = serviceRootURL;
this.entitySet = entitySet;
init();
}

View File

@@ -146,6 +146,10 @@ public class OAuthPremiseStrategyImpl implements IAuthStrategy {
body.put("redirect_uri", conf.getRedirectURL());
body.put("client_id", conf.getClientId());
if(conf.getClientSecret() != null && !"".equals(conf.getClientSecret().trim())){
body.put("client_secret", conf.getClientSecret());
}
RequestHttpContext queryContext = new RequestHttpContext("POST",
computeTokenUrl(conf.getAuthoryEndpoint()),
Collections.emptyMap(),

View File

@@ -13,14 +13,12 @@
package org.talend.ms.crm.odata.authentication;
import java.net.Proxy;
import java.util.Collections;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import javax.naming.AuthenticationException;
import javax.naming.ServiceUnavailableException;
import com.microsoft.aad.adal4j.ClientCredential;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.olingo.client.api.communication.request.ODataRequest;
import org.apache.olingo.commons.api.http.HttpHeader;
@@ -28,15 +26,19 @@ import org.talend.ms.crm.odata.ClientConfiguration;
import org.talend.ms.crm.odata.ProxyProvider;
import org.talend.ms.crm.odata.httpclientfactory.IHttpclientFactoryObservable;
import org.talend.ms.crm.odata.httpclientfactory.OAuthHttpClientFactory;
import com.microsoft.aad.adal4j.AuthenticationContext;
import com.microsoft.aad.adal4j.AuthenticationResult;
import com.microsoft.aad.msal4j.ClientCredentialFactory;
import com.microsoft.aad.msal4j.ClientCredentialParameters;
import com.microsoft.aad.msal4j.ConfidentialClientApplication;
import com.microsoft.aad.msal4j.IAuthenticationResult;
import com.microsoft.aad.msal4j.OauthClientApplication;
import com.microsoft.aad.msal4j.PublicClientApplication;
import com.microsoft.aad.msal4j.UserNamePasswordParameters;
public class OAuthStrategyImpl implements IAuthStrategy {
private ClientConfiguration conf;
private AuthenticationResult authResult;
private IAuthenticationResult authResult;
private IHttpclientFactoryObservable httpClientFactory;
@@ -71,12 +73,12 @@ public class OAuthStrategyImpl implements IAuthStrategy {
@Override
public void configureRequest(ODataRequest request) {
request.addCustomHeader(HttpHeader.AUTHORIZATION, "Bearer " + authResult.getAccessToken());
request.addCustomHeader(HttpHeader.AUTHORIZATION, "Bearer " + authResult.accessToken());
}
@Override
public void configureRequest(HttpRequestBase request) {
request.addHeader(HttpHeader.AUTHORIZATION, "Bearer " + authResult.getAccessToken());
request.addHeader(HttpHeader.AUTHORIZATION, "Bearer " + authResult.accessToken());
}
@Override
@@ -115,34 +117,71 @@ public class OAuthStrategyImpl implements IAuthStrategy {
}
}
private Future<AuthenticationResult> acquireToken(AuthenticationContext context) throws Exception {
Future<AuthenticationResult> future;
private Future<IAuthenticationResult> acquireToken(PublicClientApplication context) throws Exception {
Future<IAuthenticationResult> future;
UserNamePasswordParameters parameters = UserNamePasswordParameters.builder(
Collections.singleton(conf.getResource() + "/.default"), conf.getUserName(), conf.getPassword().toCharArray()).build();
future = context.acquireToken(parameters);
return future;
if(conf.getAppRegisteredType() == ClientConfiguration.AppRegisteredType.NATIVE_APP){
future = context.acquireToken(conf.getResource(), conf.getClientId(), conf.getUserName(), conf.getPassword(), null);
}
else if(conf.getAppRegisteredType() == ClientConfiguration.AppRegisteredType.WEB_APP && conf.getWebAppPermission() == ClientConfiguration.WebAppPermission.DELEGATED){
future = context.acquireToken(conf.getResource(), new ClientCredential(conf.getClientId(), conf.getClientSecret()), conf.getUserName(), conf.getPassword(), null);
}
else{
throw new Exception("Can't retrieve token with this configuration : registered application type: "+conf.getAppRegisteredType()+", Web application permission: "+conf.getWebAppPermission());
}
return future;
}
private Future<IAuthenticationResult> acquireToken(OauthClientApplication context) throws Exception {
ClientCredentialParameters parameters = ClientCredentialParameters.builder(
Collections.singleton(conf.getResource() + "/.default")).build();
return context.acquireToken(parameters);
}
private AuthenticationResult getAccessToken() throws ServiceUnavailableException {
AuthenticationContext context = null;
AuthenticationResult result = null;
private IAuthenticationResult getAccessToken() throws ServiceUnavailableException {
if(conf.getAppRegisteredType() == ClientConfiguration.AppRegisteredType.NATIVE_APP){
return getAccessTokenNative();
} if(conf.getAppRegisteredType() == ClientConfiguration.AppRegisteredType.WEB_APP && conf.getWebAppPermission() == ClientConfiguration.WebAppPermission.DELEGATED){
return getAccessTokenWebApp();
} else {
throw new RuntimeException("Can't retrieve token with this configuration : registered application type: "+conf.getAppRegisteredType()+", Web application permission: "+conf.getWebAppPermission());
}
}
private IAuthenticationResult getAccessTokenNative() throws ServiceUnavailableException {
PublicClientApplication context = null;
IAuthenticationResult result = null;
ExecutorService service = null;
try {
service = Executors.newFixedThreadPool(1);
context = new AuthenticationContext(conf.getAuthoryEndpoint(), false, service);
Proxy proxy = ProxyProvider.getProxy();
PublicClientApplication.Builder contextBuilder = PublicClientApplication.builder(conf.getClientId()).authority("https://login.microsoftonline.com/organizations");
if (proxy != null) {
contextBuilder = contextBuilder.proxy(proxy);
}
context = contextBuilder.build();
Future<IAuthenticationResult> future = this.acquireToken(context);
result = future.get();
} catch (Exception e) {
throw new ServiceUnavailableException(e.getMessage());
} finally {
service.shutdown();
}
if (result == null) {
throw new ServiceUnavailableException("Authenticated failed! Please check your configuration!");
}
return result;
}
private IAuthenticationResult getAccessTokenWebApp() throws ServiceUnavailableException {
OauthClientApplication context = null;
IAuthenticationResult result = null;
ExecutorService service = null;
try {
service = Executors.newFixedThreadPool(1);
OauthClientApplication.Builder contextBuilder = OauthClientApplication.builder(conf.getClientId(),
ClientCredentialFactory.createFromSecret(conf.getClientSecret()), conf.getUserName(), conf.getPassword())
.authority(conf.getAuthoryEndpoint());
Proxy proxy = ProxyProvider.getProxy();
if (proxy != null) {
context.setProxy(proxy);
contextBuilder.proxy(proxy);
}
Future<AuthenticationResult> future = this.acquireToken(context);
context = contextBuilder.build();
Future<IAuthenticationResult> future = this.acquireToken(context);
result = future.get();
} catch (Exception e) {
throw new ServiceUnavailableException(e.getMessage());

View File

@@ -59,8 +59,6 @@ public final class HttpClient {
redirect = true;
}
//final HttpHeaders headers = resp.headers();
final Optional<String> location = response.getFirstValueHeader("location");
@@ -127,4 +125,4 @@ public final class HttpClient {
public RequestHttpContext getRequestHttpContext() {
return requestHttpContext;
}
}
}

View File

@@ -15,7 +15,7 @@ public final class HttpResponse {
private Map<String, List<String>> headers;
private String body;
private Optional<String> code = null;//Optional.empty();
private Optional<String> code = null;
public static HttpResponse fromHttpUrlConnection(HttpURLConnection conn) throws IOException {
final int status = conn.getResponseCode();
@@ -82,12 +82,12 @@ public final class HttpResponse {
return Optional.empty();
}
final List<String> ss = values.get();
if(ss.size() <= 0){
final List<String> v = values.get();
if (v.size() <= 0) {
return Optional.empty();
}
return Optional.ofNullable(ss.get(0));
return Optional.ofNullable(v.get(0));
}
public String getBody() {
@@ -107,11 +107,13 @@ public final class HttpResponse {
if (!optLocation.isPresent()) {
return Optional.empty();
}
final String[] split = optLocation.get().split("&|\\?");
final Optional<String> optCode = Arrays.stream(split).filter(e -> e.startsWith("code=")).findFirst();
final String optLocationValue = optLocation.get();
final String[] split = optLocationValue.split("&|\\?");
final Optional<String> optCode = Arrays.stream(split).filter(e -> e.startsWith("code=")).findFirst();
if (optCode.isPresent()) {
String code = optCode.get().substring(5);
final String optCodeValue = optCode.get();
String code = optCodeValue.substring(5);
return Optional.ofNullable(code);
}

View File

@@ -6,12 +6,12 @@
<groupId>org.talend.components</groupId>
<artifactId>talend-scp-helper</artifactId>
<version>1.0</version>
<version>1.1</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<ssd.version>2.5.1</ssd.version>
<ssd.version>2.8.0</ssd.version>
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
</properties>

View File

@@ -1,31 +1,32 @@
package org.talend.components.talendscp;
import org.apache.sshd.client.channel.ChannelExec;
import org.apache.sshd.scp.client.AbstractScpClient;
import org.apache.sshd.scp.client.DefaultScpClient;
import org.apache.sshd.scp.client.DefaultScpStreamResolver;
import org.apache.sshd.scp.client.ScpClient;
import org.apache.sshd.client.session.ClientSession;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.file.FileSystemFactory;
import org.apache.sshd.common.file.util.MockFileSystem;
import org.apache.sshd.common.file.util.MockPath;
import org.apache.sshd.scp.common.ScpFileOpener;
import org.apache.sshd.scp.common.ScpHelper;
import org.apache.sshd.common.util.ValidateUtils;
import org.apache.sshd.scp.common.ScpTransferEventListener;
import org.apache.sshd.scp.common.helpers.ScpTimestampCommandDetails;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.FileSystem;
import java.nio.file.Path;
import java.nio.file.attribute.FileTime;
import java.nio.file.attribute.PosixFilePermission;
import java.util.Collection;
import java.util.Collections;
import java.util.EnumSet;
import org.apache.sshd.client.channel.ChannelExec;
import org.apache.sshd.client.scp.AbstractScpClient;
import org.apache.sshd.client.scp.DefaultScpClient;
import org.apache.sshd.client.scp.DefaultScpStreamResolver;
import org.apache.sshd.client.scp.ScpClient;
import org.apache.sshd.client.session.ClientSession;
import org.apache.sshd.common.FactoryManager;
import org.apache.sshd.common.file.FileSystemFactory;
import org.apache.sshd.common.file.util.MockFileSystem;
import org.apache.sshd.common.file.util.MockPath;
import org.apache.sshd.common.scp.ScpFileOpener;
import org.apache.sshd.common.scp.ScpHelper;
import org.apache.sshd.common.scp.ScpTimestamp;
import org.apache.sshd.common.scp.ScpTransferEventListener;
import org.apache.sshd.common.util.ValidateUtils;
/*
What we do here is just overwrite the ScpHelper to throw Exception when scp return status 1
@@ -40,7 +41,8 @@ public class TalendScpClient extends DefaultScpClient {
}
@Override public void upload(InputStream local, String remote, long size, Collection<PosixFilePermission> perms,
ScpTimestamp time) throws IOException {
ScpTimestampCommandDetails time) throws IOException {
int namePos = ValidateUtils.checkNotNullAndNotEmpty(remote, "No remote location specified").lastIndexOf('/');
String name = (namePos < 0) ?
remote :

View File

@@ -1,11 +1,11 @@
package org.talend.components.talendscp;
import org.apache.sshd.client.scp.AbstractScpClientCreator;
import org.apache.sshd.client.scp.ScpClient;
import org.apache.sshd.client.scp.ScpClientCreator;
import org.apache.sshd.scp.client.AbstractScpClientCreator;
import org.apache.sshd.scp.client.ScpClient;
import org.apache.sshd.scp.client.ScpClientCreator;
import org.apache.sshd.client.session.ClientSession;
import org.apache.sshd.common.scp.ScpFileOpener;
import org.apache.sshd.common.scp.ScpTransferEventListener;
import org.apache.sshd.scp.common.ScpFileOpener;
import org.apache.sshd.scp.common.ScpTransferEventListener;
public class TalendScpClientCreator extends AbstractScpClientCreator implements ScpClientCreator {
public static final TalendScpClientCreator INSTANCE = new TalendScpClientCreator();

View File

@@ -6,11 +6,12 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.FileSystem;
import org.apache.sshd.common.scp.ScpException;
import org.apache.sshd.common.scp.ScpFileOpener;
import org.apache.sshd.common.scp.ScpHelper;
import org.apache.sshd.common.scp.ScpTransferEventListener;
import org.apache.sshd.scp.common.ScpException;
import org.apache.sshd.scp.common.ScpFileOpener;
import org.apache.sshd.scp.common.ScpHelper;
import org.apache.sshd.scp.common.ScpTransferEventListener;
import org.apache.sshd.common.session.Session;
import org.apache.sshd.scp.common.helpers.ScpAckInfo;
public class TalendScpHelper extends ScpHelper {
@@ -20,8 +21,9 @@ public class TalendScpHelper extends ScpHelper {
}
@Override
public int readAck(boolean canEof) throws IOException {
int c = in.read();
public ScpAckInfo readAck(boolean canEof) throws IOException {
final ScpAckInfo scpAckInfo = ScpAckInfo.readAck(this.in, this.csIn, canEof);
int c = scpAckInfo == null ? -1 : scpAckInfo.getStatusCode();
switch (c) {
case -1:
if (log.isDebugEnabled()) {
@@ -31,12 +33,12 @@ public class TalendScpHelper extends ScpHelper {
throw new EOFException("readAck - EOF before ACK");
}
break;
case OK:
case ScpAckInfo.OK:
if (log.isDebugEnabled()) {
log.debug("readAck({})[EOF={}] read OK", this, canEof);
}
break;
case WARNING: {
case ScpAckInfo.WARNING: {
if (log.isDebugEnabled()) {
log.debug("readAck({})[EOF={}] read warning message", this, canEof);
}
@@ -45,7 +47,7 @@ public class TalendScpHelper extends ScpHelper {
log.warn("readAck({})[EOF={}] - Received warning: {}", this, canEof, line);
throw new ScpException("received error: " + line, c);
}
case ERROR: {
case ScpAckInfo.ERROR: {
if (log.isDebugEnabled()) {
log.debug("readAck({})[EOF={}] read error message", this, canEof);
}
@@ -58,6 +60,6 @@ public class TalendScpHelper extends ScpHelper {
default:
break;
}
return c;
return scpAckInfo;
}
}

View File

@@ -60,9 +60,9 @@
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
</dependency>

View File

@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.components</groupId>
<artifactId>talend-ws</artifactId>
<version>1.0.5-20210629</version>
<version>1.0.6-20220304</version>
<packaging>jar</packaging>
<properties>
@@ -12,7 +12,7 @@
<talend.nexus.url>https://artifacts-oss.talend.com</talend.nexus.url>
<cxf.version>3.3.10</cxf.version>
<cxf.version>3.4.4</cxf.version>
<odata.version>4.3.0</odata.version>
<slf4j.version>1.7.12</slf4j.version>
<httpclient.version>4.5.13</httpclient.version>

View File

@@ -1,8 +0,0 @@
org.talend.ws.exception.IllegalPropertyAccessException=Unable to access property {0} which is not accessible for type {1}
org.talend.ws.exception.NoSuchPropertyException=Property {0} does not exist for type {1}
org.talend.ws.exception.Instantiation=Unable to instantiate class of type {0}
org.talend.ws.exception.InvocationTargetPropertyAccessor=A property accessor has thrown an exception : property {0} of class {1}
org.talend.ws.exception.illegalAccessValueOf=Unable to call method valueOf for enum type {0}
org.talend.ws.exception.Unknown=An unknown exception has been thrown
org.talend.ws.exception.InvalidEnumValueException=Value {0} is not valid for enum {1}
org.talend.ws.exception.InvalidParameterAnyType=You must specify a map like this for anyTypes : {anyType: value, anyType_type: qname} pour les anyType

View File

@@ -1,7 +1,7 @@
org.talend.ws.exception.IllegalPropertyAccessException={0} \u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002\u3053\u308C\u306F {1} \u578B\u306E\u305F\u3081\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002
org.talend.ws.exception.NoSuchPropertyException=\u30BF\u30A4\u30D7{1}\u306E\u30D7\u30ED\u30D1\u30C6\u30A3{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
org.talend.ws.exception.Instantiation={0} \u578B\u306E\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002
org.talend.ws.exception.InvocationTargetPropertyAccessor=\u30D7\u30ED\u30D1\u30C6\u30A3\u30A2\u30AF\u30BB\u30B9\u306B\u3088\u308A\u3001\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F\uFF1A\u30AF\u30E9\u30B9 {1} \u306E\u30D7\u30ED\u30D1\u30C6\u30A3 {0}
org.talend.ws.exception.InvocationTargetPropertyAccessor=\u30D7\u30ED\u30D1\u30C6\u30A3\u30A2\u30AF\u30BB\u30C3\u30B5\u30FC\u304C\u4F8B\u5916\u3092\u8FD4\u3057\u307E\u3057\u305F: \u30AF\u30E9\u30B9 {1} \u306E\u30D7\u30ED\u30D1\u30C6\u30A3 {0}
org.talend.ws.exception.illegalAccessValueOf=\u5217\u6319\u578B {0} \u306EvalueOf\u30E1\u30BD\u30C3\u30C9\u3092\u547C\u3073\u51FA\u3059\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
org.talend.ws.exception.Unknown=\u4E0D\u660E\u306A\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F
org.talend.ws.exception.InvalidEnumValueException=\u5024 {0} \u306Fenum\u578B {1} \u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002

View File

@@ -57,11 +57,6 @@
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
@@ -75,9 +70,9 @@
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.19</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>

View File

@@ -5,7 +5,7 @@
<groupId>org.talend</groupId>
<artifactId>talendMQConnectionUtil</artifactId>
<version>1.0.1-20190215</version>
<version>1.2.0-20220707</version>
<packaging>jar</packaging>
<name>talendMQConnectionUtil</name>
@@ -55,13 +55,8 @@
</dependency>
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mq</artifactId>
<version>8.0.0.9</version>
</dependency>
<dependency>
<groupId>com.ibm.mq</groupId>
<artifactId>com.ibm.mqjms</artifactId>
<version>8.0.0.9</version>
<artifactId>com.ibm.mq.allclient</artifactId>
<version>9.2.5.0</version>
</dependency>
<dependency>
<groupId>javax.resource</groupId>
@@ -71,7 +66,7 @@
<dependency>
<groupId>org.talend</groupId>
<artifactId>talendMQRFH2</artifactId>
<version>1.0.1-20190206</version>
<version>1.2.0-20220707</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>

View File

@@ -50,12 +50,31 @@
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.2</version>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>

View File

@@ -0,0 +1,29 @@
package org.talend.msg.utils;
import org.apache.poi.hsmf.exceptions.ChunkNotFoundException;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import java.io.File;
import java.io.IOException;
public class MsgMailUtilTest {
@Rule
public TemporaryFolder folder = new TemporaryFolder();
@Test
public void test() throws IOException, ChunkNotFoundException {
File outDir = folder.newFolder("out");
MsgMailUtil msgMailUtil_tFileInputMail_1 = new MsgMailUtil(this.getClass().getClassLoader().getResource("test.msg").getPath(),
outDir.getAbsolutePath());
msgMailUtil_tFileInputMail_1.getAttachments();
Assert.assertEquals("Chaudhari,Pankaj", msgMailUtil_tFileInputMail_1.processMessage("From"));
}
}

View File

@@ -4,7 +4,16 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.talend.components</groupId>
<artifactId>talendzip</artifactId>
<version>1.2-20210901</version>
<version>1.3</version>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.talendforge.org/modules/licenses/APACHE_v2.txt</url>
<distribution>may be downloaded from the Maven repository</distribution>
</license>
</licenses>
<build>
<plugins>
<plugin>
@@ -52,7 +61,7 @@
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.3</version>
<version>2.10.0</version>
</dependency>
<dependency>
@@ -61,10 +70,5 @@
<version>1.21</version>
</dependency>
<dependency>
<groupId>org.talend.components</groupId>
<artifactId>checkArchive</artifactId>
<version>1.2-20210901</version>
</dependency>
</dependencies>
</project>

View File

@@ -1,184 +1,183 @@
package org.talend.archive;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.GZIPInputStream;
import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.commons.compress.archivers.zip.ZipFile;
// import javax.crypto.Cipher;
public class IntegrityUtil {
/**
* Is used to check if the zip file is corrupted/destroyed
*
* @param file
* @return
*/
public static boolean isZipValid(final File file) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
return true;
} catch (IOException e) {
return false;
} finally {
try {
if (zipFile != null) {
zipFile.close();
zipFile = null;
}
} catch (IOException e) {
}
}
}
public static void validate(final File file) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
} catch (IOException e) {
} finally {
try {
if (zipFile != null) {
zipFile.close();
zipFile = null;
}
} catch (IOException e) {
}
}
}
/**
* To check if the encrpted zip file is corrupted or not
*
* @param file
* @param password
* @return
*/
public static boolean isEncryptedZipValid(final File file, String password) {
ZipArchiveInputStream input = null;
InputStream target = null;
try {
target = new FileInputStream(file);
target = new CipherInputStream(target, createCipher(Cipher.DECRYPT_MODE, password));
input = new ZipArchiveInputStream(target);
ArchiveEntry entry = input.getNextEntry();
return true;
} catch (IOException e) {
return false;
} catch (Exception e) {
return false;
} finally {
try {
if (input != null) {
input.close();
input = null;
}
if (target != null) {
target.close();
target = null;
}
} catch (IOException e) {
}
}
}
/**
* Used to check tar.gz/.tgz/.gz file is corrupted/destroyed
*
* @param fileName
* @return
*/
public static boolean isGZIPValid(final String fileName) {
GZIPInputStream inputStream = null;
InputStream is = null;
try {
is = new FileInputStream(new File(fileName));
inputStream = new GZIPInputStream(is);
return true;
} catch (IOException e) {
return false;
}finally {
try {
if (inputStream != null) {
inputStream.close();
inputStream = null;
} else if(is != null) {
is.close();
is = null;
}
} catch (IOException e) {
}
}
}
/**
* Used to check tar.tar file is corrupted/destroyed
*
* @param fileName
* @return
*/
public static boolean isTarValid(final String fileName) {
TarArchiveInputStream inputStream = null;
InputStream is = null;
try {
is = new FileInputStream(new File(fileName));
inputStream = new TarArchiveInputStream(is);
return inputStream.canReadEntryData(inputStream.getNextEntry());
} catch (IOException e) {
return false;
}finally {
try {
if (inputStream != null) {
inputStream.close();
inputStream = null;
} else if(is != null) {
is.close();
is = null;
}
} catch (IOException e) {
}
}
}
/**
*
* @param mode
* @param password
* @return
* @throws Exception
*/
public static Cipher createCipher(int mode, String password) throws Exception {
String alg = "PBEWithSHA1AndDESede"; // BouncyCastle has better algorithms
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(alg);
SecretKey secretKey = keyFactory.generateSecret(keySpec);
Cipher cipher = Cipher.getInstance("PBEWithSHA1AndDESede");
cipher.init(mode, secretKey, new PBEParameterSpec("saltsalt".getBytes(), 2000));
return cipher;
}
}
package com.talend.compress.zip;
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.commons.compress.archivers.zip.ZipFile;
import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.GZIPInputStream;
// import javax.crypto.Cipher;
public class IntegrityUtil {
/**
* Is used to check if the zip file is corrupted/destroyed
*
* @param file
* @return
*/
public static boolean isZipValid(final File file) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
return true;
} catch (IOException e) {
return false;
} finally {
try {
if (zipFile != null) {
zipFile.close();
zipFile = null;
}
} catch (IOException e) {
}
}
}
public static void validate(final File file) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
} catch (IOException e) {
} finally {
try {
if (zipFile != null) {
zipFile.close();
zipFile = null;
}
} catch (IOException e) {
}
}
}
/**
* To check if the encrpted zip file is corrupted or not
*
* @param file
* @param password
* @return
*/
public static boolean isEncryptedZipValid(final File file, String password) {
ZipArchiveInputStream input = null;
InputStream target = null;
try {
target = new FileInputStream(file);
target = new CipherInputStream(target, createCipher(Cipher.DECRYPT_MODE, password));
input = new ZipArchiveInputStream(target);
ArchiveEntry entry = input.getNextEntry();
return true;
} catch (IOException e) {
return false;
} catch (Exception e) {
return false;
} finally {
try {
if (input != null) {
input.close();
input = null;
}
if (target != null) {
target.close();
target = null;
}
} catch (IOException e) {
}
}
}
/**
* Used to check tar.gz/.tgz/.gz file is corrupted/destroyed
*
* @param fileName
* @return
*/
public static boolean isGZIPValid(final String fileName) {
GZIPInputStream inputStream = null;
InputStream is = null;
try {
is = new FileInputStream(new File(fileName));
inputStream = new GZIPInputStream(is);
return true;
} catch (IOException e) {
return false;
}finally {
try {
if (inputStream != null) {
inputStream.close();
inputStream = null;
} else if(is != null) {
is.close();
is = null;
}
} catch (IOException e) {
}
}
}
/**
* Used to check tar.tar file is corrupted/destroyed
*
* @param fileName
* @return
*/
public static boolean isTarValid(final String fileName) {
TarArchiveInputStream inputStream = null;
InputStream is = null;
try {
is = new FileInputStream(new File(fileName));
inputStream = new TarArchiveInputStream(is);
return inputStream.canReadEntryData(inputStream.getNextEntry());
} catch (IOException e) {
return false;
}finally {
try {
if (inputStream != null) {
inputStream.close();
inputStream = null;
} else if(is != null) {
is.close();
is = null;
}
} catch (IOException e) {
}
}
}
/**
*
* @param mode
* @param password
* @return
* @throws Exception
*/
public static Cipher createCipher(int mode, String password) throws Exception {
String alg = "PBEWithSHA1AndDESede"; // BouncyCastle has better algorithms
PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(alg);
SecretKey secretKey = keyFactory.generateSecret(keySpec);
Cipher cipher = Cipher.getInstance("PBEWithSHA1AndDESede");
cipher.init(mode, secretKey, new PBEParameterSpec("saltsalt".getBytes(), 2000));
return cipher;
}
}

View File

@@ -1,10 +1,11 @@
package com.talend.compress.zip;
import java.io.File;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Optional;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.FileHeader;
public class Unzip {
@@ -96,9 +97,10 @@ public class Unzip {
"Please enter the password and try again..");
}
ZipFile zipFile = new ZipFile(sourceZip);
ZipFile zipFile = new ZipFile(sourceZip,password.toCharArray());
if(encording != null){
zipFile.setFileNameCharset(encording);
zipFile.setCharset(Charset.forName(encording));
}
if (checkArchive) {
@@ -108,10 +110,6 @@ public class Unzip {
}
}
if (zipFile.isEncrypted()) {
zipFile.setPassword(password);
}
List fileHeaderList = zipFile.getFileHeaders();
if (fileHeaderList == null) {
@@ -130,7 +128,7 @@ public class Unzip {
filename = filename.substring(filename.lastIndexOf('/') + 1);
}
zipFile.extractFile(fileHeader, targetDir, null, filename);
zipFile.extractFile(fileHeader, targetDir, filename);
util.addUnzippedFiles(targetDir, filename);
}
}
@@ -147,7 +145,7 @@ public class Unzip {
}
if (checkArchive) {
if (!org.talend.archive.IntegrityUtil.isEncryptedZipValid(file,
if (!IntegrityUtil.isEncryptedZipValid(file,
password)) {
throw new RuntimeException("The file " + sourceZip
+ " is corrupted, process terminated...");
@@ -158,7 +156,7 @@ public class Unzip {
try {
is = new java.io.FileInputStream(sourceZip);
is = new javax.crypto.CipherInputStream(is,
org.talend.archive.IntegrityUtil.createCipher(
IntegrityUtil.createCipher(
javax.crypto.Cipher.DECRYPT_MODE, password));
org.apache.commons.compress.archivers.zip.ZipArchiveInputStream input = new org.apache.commons.compress.archivers.zip.ZipArchiveInputStream(
new java.io.BufferedInputStream(is),Optional.ofNullable(encording).orElse("UTF8"));
@@ -184,7 +182,7 @@ public class Unzip {
// apache common compress impl
public void doUnzipWithoutDecryption() throws Exception {
if (checkArchive
&& !org.talend.archive.IntegrityUtil
&& !IntegrityUtil
.isZipValid(new java.io.File(sourceZip))) {
Thread.sleep(1000); // To make the process terminated after the
// System.out.println

View File

@@ -5,16 +5,20 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.GZIPOutputStream;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;
import net.lingala.zip4j.model.enums.AesKeyStrength;
import net.lingala.zip4j.model.enums.CompressionLevel;
import net.lingala.zip4j.model.enums.CompressionMethod;
import net.lingala.zip4j.model.enums.EncryptionMethod;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
import org.apache.commons.compress.compressors.gzip.GzipUtils;
@@ -26,7 +30,7 @@ public class Zip {
private String targetZip;
private boolean overwriteExistTargetZip = true;
private boolean makeTargetDir = false;
private int compressLevel = 4;
private CompressionLevel compressLevel = CompressionLevel.MEDIUM_FAST;
private String encoding = "ISO-8859-15";
private boolean allFiles = true;
@@ -40,8 +44,8 @@ public class Zip {
private boolean useZip4jEncryption = false;
private int encryptionMethod = Zip4jConstants.ENC_METHOD_AES;
private int aesKeyStrength = Zip4jConstants.AES_STRENGTH_256;
private EncryptionMethod encryptionMethod = EncryptionMethod.AES;
private AesKeyStrength aesKeyStrength = AesKeyStrength.KEY_STRENGTH_256;
private String archiveFormat = "zip";
private boolean syncFlush;
@@ -79,19 +83,29 @@ public class Zip {
}
public void setCompressLevel(int compressLevel) {
this.compressLevel = compressLevel;
switch (compressLevel){
case 0:
this.compressLevel = CompressionLevel.NO_COMPRESSION;
break;
case 4:
this.compressLevel = CompressionLevel.MEDIUM_FAST;
break;
case 9:
this.compressLevel = CompressionLevel.ULTRA;
break;
}
}
public void setMakeTargetDir(boolean makeTargetDir) {
this.makeTargetDir = makeTargetDir;
}
public void setEncryptionMethod(int encryptionMethod) {
this.encryptionMethod = encryptionMethod;
public void setEncryptionMethod(String encryptionMethod) {
this.encryptionMethod = EncryptionMethod.valueOf(encryptionMethod);
}
public void setAesKeyStrength(int aesKeyStrength) {
this.aesKeyStrength = aesKeyStrength;
this.aesKeyStrength = AesKeyStrength.getAesKeyStrengthFromRawCode(aesKeyStrength);
}
public String getArchiveFormat() {
@@ -185,7 +199,7 @@ public class Zip {
targetFile.setLastModified(System.currentTimeMillis());
FileOutputStream fos = new FileOutputStream(targetFile);
final boolean syncFlush = this.syncFlush;
final int compressLevel = this.compressLevel;
final int compressLevel = this.compressLevel.getLevel();
TarArchiveOutputStream taos = new TarArchiveOutputStream(new GZIPOutputStream(fos, syncFlush) {
{
this.def.setLevel(compressLevel);
@@ -222,7 +236,7 @@ public class Zip {
OutputStream out = new FileOutputStream(tarFile);
try {
final boolean syncFlush = this.syncFlush;
final int compressLevel = this.compressLevel;
final int compressLevel = this.compressLevel.getLevel();
GZIPOutputStream gcos = new GZIPOutputStream(out, syncFlush) {
{
this.def.setLevel(compressLevel);
@@ -247,7 +261,7 @@ public class Zip {
try {
output_stream = new java.io.FileOutputStream(targetZip);
if (isEncrypted && !"".equals(password)) {
output_stream = new javax.crypto.CipherOutputStream(output_stream, org.talend.archive.IntegrityUtil.createCipher(
output_stream = new javax.crypto.CipherOutputStream(output_stream, IntegrityUtil.createCipher(
javax.crypto.Cipher.ENCRYPT_MODE, password));
}
} catch (Exception e) {
@@ -260,7 +274,7 @@ public class Zip {
org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream out = null;
out = new org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream(
new java.io.BufferedOutputStream(output_stream));
out.setLevel(compressLevel);
out.setLevel(compressLevel.getLevel());
// set filename & comment encoding
out.setEncoding(encoding);
if ("ALWAYS".equals(zip64Mode)) {
@@ -302,26 +316,26 @@ public class Zip {
// zip4j impl
private void doZip2(final File source, final List<File> list) throws Exception {
ZipFile zipFile = new ZipFile(targetZip);
ZipFile zipFile = new ZipFile(targetZip,password.toCharArray());
if ("UTF-8".equalsIgnoreCase(encoding)) {
encoding = "UTF8";
}
zipFile.setFileNameCharset(encoding);
zipFile.setCharset(Charset.forName(encoding));
ZipParameters params = new ZipParameters();
params.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
params.setCompressionMethod(CompressionMethod.DEFLATE);
params.setCompressionLevel(compressLevel);
if (isEncrypted && !"".equals(password)) {
params.setEncryptFiles(true);
params.setEncryptionMethod(encryptionMethod);
if (Zip4jConstants.ENC_METHOD_AES == encryptionMethod) {
if (encryptionMethod == EncryptionMethod.AES) {
params.setAesKeyStrength(aesKeyStrength);
}
params.setPassword(password);
}
params.setDefaultFolderPath(source.getAbsoluteFile().getPath());
zipFile.addFiles((ArrayList) list, params);
zipFile.addFiles(list, params);
}
}

View File

@@ -19,8 +19,6 @@ bin.excludes = components/tAlfrescoOutput/wstx-lgpl-3.2.7.jar,\
components/tRSSInput/nekohtml.jar,\
components/tAlfrescoOutput/wstx-lgpl-3.2.7.jar,\
components/tAdvancedXMLMapHash/trove.jar,\
components/tCloudStart/logback-core-1.0.9.jar,\
components/tCloudStart/logback-classic-1.0.9.jar,\
components/tLineChart/jcommon-1.0.6.jar,\
components/tMomInput/jnp-client.jar,\
components/tMomInput/javassist.jar,\

View File

@@ -1,2 +0,0 @@
LONG_NAME=\u039A\u03BB\u03B5\u03AF\u03BD\u03B5\u03B9 \u03BC\u03B9\u03B1 \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 AS400.
CONNECTION.NAME=\u039B\u03AF\u03C3\u03C4\u03B1 \u03A3\u03C5\u03C3\u03C4\u03B1\u03C4\u03B9\u03BA\u03CE\u03BD \u03A3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03C9\u03BD

View File

@@ -1,3 +0,0 @@
HELP=org.talend.help.tAS400Close
LONG_NAME=Close a selected AS400 connection.
CONNECTION.NAME=Component List

View File

@@ -1 +0,0 @@
CONNECTION.NAME=\uCEF4\uD3EC\uB10C\uD2B8\uBAA9\uB85D

View File

@@ -1,3 +0,0 @@
CLOSE.NAME=\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF \u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\u03C2
LONG_NAME=\u039F\u03BB\u03BF\u03BA\u03BB\u03B7\u03C1\u03CE\u03BD\u03B5\u03B9 \u03CC\u03BB\u03B5\u03C2 \u03C4\u03B9\u03C2 \u03C3\u03C5\u03BD\u03B1\u03BB\u03BB\u03B1\u03B3\u03AD\u03C2 \u03C0\u03BF\u03C5 \u03B4\u03B5\u03BD \u03AD\u03C7\u03BF\u03C5\u03BD \u03BF\u03BB\u03BF\u03BA\u03BB\u03B7\u03C1\u03C9\u03B8\u03B5\u03AF \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03B7 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 AS400
CONNECTION.NAME=\u039B\u03AF\u03C3\u03C4\u03B1 \u03A3\u03C5\u03C3\u03C4\u03B1\u03C4\u03B9\u03BA\u03CE\u03BD \u03A3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03C9\u03BD

View File

@@ -1,4 +0,0 @@
CLOSE.NAME=Close Connection
HELP=org.talend.help.tAS400Commit
LONG_NAME=Commits all transactions not already commited in the selected AS400 connection
CONNECTION.NAME=Component List

View File

@@ -1 +0,0 @@
CONNECTION.NAME=\uCEF4\uD3EC\uB10C\uD2B8\uBAA9\uB85D

View File

@@ -1,2 +0,0 @@
CLOSE.NAME=Zamknij po\u0142\u0105czenie
CONNECTION.NAME=Lista komponent\u00F3w

View File

@@ -1,2 +0,0 @@
CLOSE.NAME=Fechar conex\u00E3o
CONNECTION.NAME=Lista de componentes

View File

@@ -1,4 +0,0 @@
HOST.NAME=\u0627\u0644\u0645\u0636\u064A\u0641
PASS.NAME=\u0631\u0645\u0632 \u0627\u0644\u0645\u0631\u0648\u0631
AUTO_COMMIT.NAME=\u062A\u0623\u0643\u064A\u062F \u062D\u0641\u0638 \u0622\u0644\u064A
DBNAME.NAME=\u0642\u0627\u0639\u062F\u0629 \u0628\u064A\u0627\u0646\u0627\u062A

View File

@@ -1,16 +0,0 @@
ENCODING.NAME=\u039A\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7
HOST.NAME=\u039A\u03CC\u03BC\u03B2\u03BF\u03C2
LONG_NAME=\u0394\u03B7\u03BC\u03B9\u03BF\u03C5\u03C1\u03B3\u03B5\u03AF \u03BC\u03B9\u03B1 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7 \u03C3\u03B5 \u03BC\u03B9\u03B1 \u03B2\u03AC\u03C3\u03B7 \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD AS400
NULL_CHAR.NAME=\u03A7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B1\u03C2 Null
PASS.NAME=\u039A\u03C9\u03B4\u03B9\u03BA\u03AE \u03BB\u03AD\u03BE\u03B7
PORT.NAME=\u0398\u03CD\u03C1\u03B1
PROPERTIES.NAME=\u03A0\u03C1\u03CC\u03C3\u03B8\u03B5\u03C4\u03B5\u03C2 \u03A0\u03B1\u03C1\u03AC\u03BC\u03B5\u03C4\u03C1\u03BF\u03B9 JDBC
USER.NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7
DB_VERSION.NAME=\u0388\u03BA\u03B4\u03BF\u03C3\u03B7 \u0392\u03B4
DB_VERSION.ITEM.V5R2_V5R4=V5R2 \u03C3\u03B5 V5R4 (Deprecated)
DB_VERSION.ITEM.V5R3_V6R1=V5R3 \u03C3\u03B5 V6R1 (Deprecated)
USE_SHARED_CONNECTION.NAME=\u03A7\u03C1\u03AE\u03C3\u03B7 \u03AE \u039A\u03B1\u03C4\u03B1\u03C7\u03CE\u03C1\u03B7\u03C3\u03B7 \u03BC\u03B9\u03B1\u03C2 \u03B4\u03B9\u03B1\u03BC\u03BF\u03B9\u03C1\u03B1\u03B6\u03CC\u03BC\u03B5\u03BD\u03B7\u03C2 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\u03C2 \u0392\u0394
SHARED_CONNECTION_NAME.NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u0394\u03B9\u03B1\u03BC\u03BF\u03B9\u03C1\u03B1\u03B6\u03CC\u03BC\u03B5\u03BD\u03B7\u03C2 \u03A3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\u03C2 \u0392\u0394
AUTO_COMMIT.NAME=\u0391\u03C5\u03C4\u03CC\u03BC\u03B1\u03C4\u03B7 \u0394\u03AD\u03C3\u03BC\u03B5\u03C5\u03C3\u03B7
TYPE.NAME=\u039F\u03B4\u03B7\u03B3\u03CC\u03C2 \u0392\u03AC\u03C3\u03B7\u03C2 \u0394\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD
PROPERTY.NAME=\u03A4\u03CD\u03C0\u03BF\u03C2 \u0399\u03B4\u03B9\u03CC\u03C4\u03B7\u03C4\u03B1\u03C2

View File

@@ -1,21 +0,0 @@
ENCODING.NAME=Encoding
HELP=org.talend.help.tAS400Connection
HOST.NAME=Host
LONG_NAME=Creates a connection to an AS400 database
NULL_CHAR.NAME=Null Char
PASS.NAME=Password
PORT.NAME=Port
PROPERTIES.NAME=Additional JDBC Parameters
USER.NAME=Username
DB_VERSION.NAME=DB Version
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4 (Deprecated)
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1 (Deprecated)
USE_SHARED_CONNECTION.NAME=Use or register a shared DB Connection
SHARED_CONNECTION_NAME.NAME=Shared DB Connection Name
AUTO_COMMIT.NAME=Auto Commit
TYPE.NAME=Database Driver
PROPERTY.NAME=Property Type
DB_VERSION.ITEM.V6R1_V7R2=V6R1 to V7R2
DBNAME.NAME=Database
NB_LINE.NAME=Number of line
DB_VERSION.ITEM.V7R1_V7R3=V7R1 to V7R3

View File

@@ -1,8 +0,0 @@
HOST.NAME=Host
PASS.NAME=Lozinka
PORT.NAME=Port
PROPERTIES.NAME=Dodatni JDBC Parametri
USER.NAME=Korisni\u010Dko ime
DB_VERSION.ITEM.V5R2_V5R4=V5R2 u V5R4
DB_VERSION.ITEM.V5R3_V6R1=V5R3 u V6R1
PROPERTY.NAME=Tip svojstva

View File

@@ -1,2 +0,0 @@
PASS.NAME=\uBE44\uBC00\uBC88\uD638
USER.NAME=\uC0AC\uC6A9\uC790

View File

@@ -1,4 +0,0 @@
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1

View File

@@ -1,12 +0,0 @@
ENCODING.NAME=Kodowanie
HOST.NAME=Host
NULL_CHAR.NAME=Znak Null
PASS.NAME=Has\u0142o
PORT.NAME=Port
USER.NAME=Nazwa u\u017Cytkownika
DB_VERSION.NAME=Wersja bazy danych
DB_VERSION.ITEM.V5R2_V5R4=V5R2 na V5R4
DB_VERSION.ITEM.V5R3_V6R1=V5R3 na V6R1
AUTO_COMMIT.NAME=Auto Commit
TYPE.NAME=Sterownik bazy danych
PROPERTY.NAME=Typ w\u0142a\u015Bciwo\u015Bci

View File

@@ -1,5 +0,0 @@
HOST.NAME=Host
NULL_CHAR.NAME=Caracter nulo
PASS.NAME=Senha
PORT.NAME=Porta
AUTO_COMMIT.NAME=Auto Commit

View File

@@ -1,6 +0,0 @@
ENCODING.NAME=Incodare
HOST.NAME=host
PASS.NAME=parola
PORT.NAME=port
USER.NAME=Nume utilizator
USE_SHARED_CONNECTION.NAME=Inregistreaz\u0103 sau folose\u015Fte legatur\u0103 DB partajat\u0103

View File

@@ -1,3 +0,0 @@
PASS.NAME=\u015Eifre
PORT.NAME=Port
USER.NAME=Kullan\u0131c\u0131 Ad\u0131

View File

@@ -1,4 +0,0 @@
PASS.NAME=\u0631\u0645\u0632 \u0627\u0644\u0645\u0631\u0648\u0631
SCHEMA_DB.NAME=\u0645\u062E\u0637\u0637
SCHEMA.NAME=\u0645\u062E\u0637\u0637
DBNAME.NAME=\u0642\u0627\u0639\u062F\u0629 \u0628\u064A\u0627\u0646\u0627\u062A

View File

@@ -1,23 +0,0 @@
HOST.NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u03BA\u03CC\u03BC\u03B2\u03BF\u03C5
LONG_NAME=\u0394\u03B9\u03B1\u03B2\u03AC\u03B6\u03B5\u03B9 \u03AD\u03BD\u03B1\u03BD \u03C0\u03AF\u03BD\u03B1\u03BA\u03B1 \u03BA\u03B1\u03B9 \u03B5\u03BE\u03AC\u03B3\u03B5\u03B9 \u03C0\u03B5\u03B4\u03AF\u03B1 \u03B2\u03AC\u03C3\u03B5\u03B9 \u03B5\u03BD\u03CC\u03C2 \u03B5\u03C1\u03C9\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2 SQL
PASS.NAME=\u039A\u03C9\u03B4\u03B9\u03BA\u03AE \u03BB\u03AD\u03BE\u03B7
PROPERTIES.NAME=\u03A0\u03C1\u03CC\u03C3\u03B8\u03B5\u03C4\u03B5\u03C2 \u03A0\u03B1\u03C1\u03AC\u03BC\u03B5\u03C4\u03C1\u03BF\u03B9 JDBC
QUERY.NAME=\u0395\u03C1\u03CE\u03C4\u03B7\u03BC\u03B1
QUERYSTORE.NAME=\u03A4\u03CD\u03C0\u03BF\u03C2 \u0395\u03C1\u03C9\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2
SCHEMA_DB.NAME=\u03A3\u03C7\u03AE\u03BC\u03B1
USER.NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u03C7\u03C1\u03AE\u03C3\u03C4\u03B7
USE_EXISTING_CONNECTION.NAME=\u03A7\u03C1\u03AE\u03C3\u03B7 \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03C3\u03B1\u03C2 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03B7\u03C2
TRIM_ALL_COLUMN.NAME=\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 \u03BA\u03B5\u03BD\u03CE\u03BD \u03B1\u03C0\u03CC \u03CC\u03BB\u03B5\u03C2 \u03C4\u03B9\u03C2 \u03C3\u03C4\u03AE\u03BB\u03B5\u03C2 String/Char
TRIM_COLUMN.NAME=\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 \u03BA\u03B5\u03BD\u03CE\u03BD \u03B1\u03C0\u03CC \u03C3\u03C4\u03AE\u03BB\u03B7
TRIM_COLUMN.ITEM.TRIM=\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 \u039A\u03B5\u03BD\u03CE\u03BD
TABLE.NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u03A0\u03AF\u03BD\u03B1\u03BA\u03B1
DB_VERSION.NAME=\u0388\u03BA\u03B4\u03BF\u03C3\u03B7 \u0392\u03B4
DB_VERSION.ITEM.V5R2_V5R4=V5R2 \u03C3\u03B5 V5R4 (Deprecated)
DB_VERSION.ITEM.V5R3_V6R1=V5R3 \u03C3\u03B5 V6R1 (Deprecated)
GUESS_SCHEMA.NAME=\u0395\u03B9\u03BA\u03B1\u03C3\u03AF\u03B1 \u03A3\u03C7\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2
CONNECTION.NAME=\u039B\u03AF\u03C3\u03C4\u03B1 \u03A3\u03C5\u03C3\u03C4\u03B1\u03C4\u03B9\u03BA\u03CE\u03BD \u03A3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03C9\u03BD
PROPERTY.NAME=\u03A4\u03CD\u03C0\u03BF\u03C2 \u0399\u03B4\u03B9\u03CC\u03C4\u03B7\u03C4\u03B1\u03C2
TYPE.NAME=\u039F\u03B4\u03B7\u03B3\u03CC\u03C2 \u0392\u03AC\u03C3\u03B7\u03C2 \u0394\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03C9\u03BD
SCHEMA.NAME=\u03A3\u03C7\u03AE\u03BC\u03B1
ENCODING.NAME=\u039A\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7
MAPPING.NAME=\u03A7\u03B1\u03C1\u03C4\u03BF\u03B3\u03C1\u03AC\u03C6\u03B7\u03C3\u03B7

View File

@@ -1,28 +0,0 @@
HELP=org.talend.help.tAS400Input
HOST.NAME=Host name
LONG_NAME=Reads a table and extracts fields based on an SQL query
PASS.NAME=Password
PROPERTIES.NAME=Additional JDBC Parameters
QUERY.NAME=Query
QUERYSTORE.NAME=Query Type
SCHEMA_DB.NAME=Schema
USER.NAME=Username
USE_EXISTING_CONNECTION.NAME=Using an existing connection
TRIM_ALL_COLUMN.NAME=Trim all the String/Char columns
TRIM_COLUMN.NAME=Trim column
TRIM_COLUMN.ITEM.TRIM=Trim
TABLE.NAME=Table Name
DB_VERSION.NAME=DB Version
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4 (Deprecated)
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1 (Deprecated)
GUESS_SCHEMA.NAME=Guess Schema
CONNECTION.NAME=Component List
PROPERTY.NAME=Property Type
TYPE.NAME=Database Driver
SCHEMA.NAME=Schema
ENCODING.NAME=Encoding
MAPPING.NAME=Mapping
DB_VERSION.ITEM.V6R1_V7R2=V6R1 to V7R2
DBNAME.NAME=Database
NB_LINE.NAME=Number of line
DB_VERSION.ITEM.V7R1_V7R3=V7R1 to V7R3

View File

@@ -1,10 +0,0 @@
PASS.NAME=Lozinka
PROPERTIES.NAME=Dodatni JDBC Parametri
SCHEMA_DB.NAME=\n\n\t\n\nCollection\n\nSchema
USER.NAME=Korisni\u010Dko ime
USE_EXISTING_CONNECTION.NAME=Koristi postoje\u0107u konekciju
TABLE.NAME=Naziv tablice
DB_VERSION.ITEM.V5R2_V5R4=V5R2 u V5R4
DB_VERSION.ITEM.V5R3_V6R1=V5R3 u V6R1
PROPERTY.NAME=Tip svojstva
SCHEMA.NAME=\n\n\t\n\nCollection\n\nSchema

View File

@@ -20,7 +20,7 @@ MAPPING.NAME=\u30DE\u30C3\u30D4\u30F3\u30B0
SET_QUERY_TIMEOUT.NAME=\u30AF\u30A8\u30EA\u30FC\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3092\u8A2D\u5B9A
QUERY_TIMEOUT_IN_SECONDS.NAME=\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\uFF08\u79D2\uFF09
NB_LINE.NAME=\u884C\u6570
GUESS_SCHEMA.NAME=\u30B9\u30AD\u30FC\u30DE\u306E\u63A8\u6E2C
GUESS_SCHEMA.NAME=\u30B9\u30AD\u30FC\u30DE\u3092\u63A8\u6E2C
CONNECTION.NAME=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30EA\u30B9\u30C8
PROPERTY.NAME=\u30D7\u30ED\u30D1\u30C6\u30A3\u30BF\u30A4\u30D7
TYPE.NAME=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30C9\u30E9\u30A4\u30D0\u30FC

View File

@@ -1,4 +0,0 @@
PASS.NAME=\uBE44\uBC00\uBC88\uD638
USER.NAME=\uC0AC\uC6A9\uC790
TABLE.NAME=\uD14C\uC774\uBE14\uBA85
CONNECTION.NAME=\uCEF4\uD3EC\uB10C\uD2B8\uBAA9\uB85D

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