Compare commits
428 Commits
master
...
dochkas/TD
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0eb53e059d | ||
|
|
d16d0f4639 | ||
|
|
a52dcc6092 | ||
|
|
03e74037a7 | ||
|
|
945ca09529 | ||
|
|
51634ddae4 | ||
|
|
194538b2e8 | ||
|
|
3d71f80ea7 | ||
|
|
8593003ad1 | ||
|
|
b76efa649b | ||
|
|
c7e8398eda | ||
|
|
b1026c9515 | ||
|
|
52bc20ba6c | ||
|
|
9b3fc383a6 | ||
|
|
b1403a7512 | ||
|
|
09847a84e0 | ||
|
|
a0b3c983fb | ||
|
|
43c4e71705 | ||
|
|
3a53d8a958 | ||
|
|
f6233bb17d | ||
|
|
a092a9caab | ||
|
|
d8c18ff269 | ||
|
|
ff24577e43 | ||
|
|
2fdda554d8 | ||
|
|
7bd4190816 | ||
|
|
6d1c78e5e1 | ||
|
|
b0d427b936 | ||
|
|
0042ffa19e | ||
|
|
c4efcea671 | ||
|
|
c2a61959da | ||
|
|
19b29ea519 | ||
|
|
cac9e1f72e | ||
|
|
2d6fc1c328 | ||
|
|
5c3637bfee | ||
|
|
3e6c3d65a5 | ||
|
|
4320d5a6d4 | ||
|
|
1cc40dac56 | ||
|
|
b56d39476c | ||
|
|
10ebfa7c56 | ||
|
|
864565e5f8 | ||
|
|
d4db372bd9 | ||
|
|
68a69cad7f | ||
|
|
88ec878129 | ||
|
|
03fd7be5b8 | ||
|
|
1281774f65 | ||
|
|
3b73492a15 | ||
|
|
d692b7c0d0 | ||
|
|
3e57b5c1f5 | ||
|
|
e04186b994 | ||
|
|
449699463f | ||
|
|
b6bc8f8bb4 | ||
|
|
ee41b11458 | ||
|
|
cd0a376742 | ||
|
|
0e942c29ec | ||
|
|
263c68aa1c | ||
|
|
9c734ed1ab | ||
|
|
34ea4e2000 | ||
|
|
3a7cdb4a7d | ||
|
|
b3f59bb007 | ||
|
|
5dacef1e96 | ||
|
|
50390195d3 | ||
|
|
fda862cc39 | ||
|
|
f8cc41a85e | ||
|
|
080d15bb46 | ||
|
|
6ef21d35df | ||
|
|
bfd6eeb40c | ||
|
|
a88cecbea1 | ||
|
|
98dced7251 | ||
|
|
2e80d7e136 | ||
|
|
1675c694a4 | ||
|
|
d08c179dec | ||
|
|
4422793a56 | ||
|
|
b0d9c95d5a | ||
|
|
5639383b2b | ||
|
|
6ae35f5f87 | ||
|
|
f82cc232e2 | ||
|
|
9c90588ab5 | ||
|
|
ddff7906c8 | ||
|
|
ffddff1dbb | ||
|
|
59a4f69506 | ||
|
|
06b2da94fc | ||
|
|
2a8024f79e | ||
|
|
7f6d815c1f | ||
|
|
31092cc40f | ||
|
|
b7d9ba140c | ||
|
|
686564ae5e | ||
|
|
71e030028b | ||
|
|
d981791b42 | ||
|
|
82f35f6e41 | ||
|
|
99d434d29b | ||
|
|
f8865cb213 | ||
|
|
dd9fd8cb24 | ||
|
|
6655f97987 | ||
|
|
4e7e7e3f92 | ||
|
|
8200e6db62 | ||
|
|
55ce5dea3c | ||
|
|
cc71d9db71 | ||
|
|
dff68c17f2 | ||
|
|
1d99eba2b7 | ||
|
|
251293a356 | ||
|
|
2ad83e745a | ||
|
|
bc7b87956d | ||
|
|
fd8cf997dc | ||
|
|
6318139dd4 | ||
|
|
9f034e9752 | ||
|
|
22168da847 | ||
|
|
024fbf3e6f | ||
|
|
7e4f1971ab | ||
|
|
e24bc3e0c6 | ||
|
|
77e3b8bb8a | ||
|
|
89433520a1 | ||
|
|
e22fe46720 | ||
|
|
deb67d297d | ||
|
|
a9d6a44b7f | ||
|
|
fc81e0bd2f | ||
|
|
8faa1bba22 | ||
|
|
5ff663a025 | ||
|
|
e610fc7c78 | ||
|
|
71adfe57ed | ||
|
|
6da3235e82 | ||
|
|
9a9348dbd7 | ||
|
|
ef141d231f | ||
|
|
ba9b07a7ef | ||
|
|
ac33871bcf | ||
|
|
be61612d11 | ||
|
|
78f11e1915 | ||
|
|
1c2cc10d46 | ||
|
|
a3efe44a58 | ||
|
|
ec95a0660d | ||
|
|
5dad003e3a | ||
|
|
286748d5e0 | ||
|
|
68e17cf5c9 | ||
|
|
c577b2214d | ||
|
|
bca61021d8 | ||
|
|
42456991d0 | ||
|
|
2dfd3d1208 | ||
|
|
9c7f9f8765 | ||
|
|
d3608fce0a | ||
|
|
cf6ad2ea56 | ||
|
|
0fc2cb145b | ||
|
|
9fdefd85a8 | ||
|
|
841e254160 | ||
|
|
b773a3822f | ||
|
|
8e7c5367d6 | ||
|
|
285c1cd61c | ||
|
|
563429e649 | ||
|
|
23b3fbdcf1 | ||
|
|
954dd78d68 | ||
|
|
56200c66e8 | ||
|
|
bd99549311 | ||
|
|
b689b068e4 | ||
|
|
a898ccc320 | ||
|
|
6280d524ff | ||
|
|
d62e535ed0 | ||
|
|
872b792ad1 | ||
|
|
bc84f657ba | ||
|
|
15cf7ddb70 | ||
|
|
6f4ea42405 | ||
|
|
732d3f1479 | ||
|
|
d504323cc1 | ||
|
|
474360f154 | ||
|
|
617f0d2e2c | ||
|
|
2b6b3cbd4d | ||
|
|
2bf70b9940 | ||
|
|
49a00f57d1 | ||
|
|
f21f45c28d | ||
|
|
0c4dfba75c | ||
|
|
08b2202bf4 | ||
|
|
d26fb2cc29 | ||
|
|
7f0bc14fd6 | ||
|
|
ada20f06cb | ||
|
|
469fce3a70 | ||
|
|
a5f73b2d14 | ||
|
|
b521f4208a | ||
|
|
e462d54ebb | ||
|
|
13ea203175 | ||
|
|
e6d62056f3 | ||
|
|
340ee0738a | ||
|
|
55afb8808a | ||
|
|
9fe757d8ac | ||
|
|
c4b5674205 | ||
|
|
32ab9862cf | ||
|
|
a78d75cd75 | ||
|
|
20589b75f2 | ||
|
|
0d5ce18334 | ||
|
|
062c36b33c | ||
|
|
5f9c3c089e | ||
|
|
160fe02147 | ||
|
|
c01f9c84c7 | ||
|
|
3612331c6b | ||
|
|
8de3f29911 | ||
|
|
69e7b7fa77 | ||
|
|
399df5fe10 | ||
|
|
2fe7acf5ac | ||
|
|
d0cb6c1337 | ||
|
|
df355a4388 | ||
|
|
d5cb99e5a7 | ||
|
|
eae6a2c262 | ||
|
|
d40c50f1ba | ||
|
|
33809a44b2 | ||
|
|
e0ea03fcfe | ||
|
|
6a5ab216e4 | ||
|
|
b184ad5fa4 | ||
|
|
966c4a2958 | ||
|
|
35af8a3dc5 | ||
|
|
fe3a94ae72 | ||
|
|
7968396091 | ||
|
|
575670e424 | ||
|
|
7c5c9fd082 | ||
|
|
3b04b8651d | ||
|
|
7ebc296617 | ||
|
|
d7739e23c5 | ||
|
|
862bf636ca | ||
|
|
e59ce89834 | ||
|
|
31eb56130e | ||
|
|
360bb6ad19 | ||
|
|
a20d1f73cb | ||
|
|
9367f9e4e2 | ||
|
|
1716c4a53d | ||
|
|
31abe8e412 | ||
|
|
dba8a49c0d | ||
|
|
fe27538b5f | ||
|
|
ad56c1e790 | ||
|
|
64c6017cce | ||
|
|
ff5018893a | ||
|
|
8faa657699 | ||
|
|
38b038211c | ||
|
|
3416273d30 | ||
|
|
981ee4e4fc | ||
|
|
1a26148bae | ||
|
|
e2b381c4fe | ||
|
|
5e6ce92172 | ||
|
|
18f254a8ce | ||
|
|
15b4174ae0 | ||
|
|
09a762aff3 | ||
|
|
ef18108de7 | ||
|
|
4f5dd9ea91 | ||
|
|
a591b3be76 | ||
|
|
a8d70de160 | ||
|
|
8d114ee5ac | ||
|
|
d8be371e3f | ||
|
|
c46bb87b51 | ||
|
|
bfab7d73ff | ||
|
|
b25bdb5cd8 | ||
|
|
c22e448f2e | ||
|
|
c126c49bb0 | ||
|
|
a276d55584 | ||
|
|
b21c2e8854 | ||
|
|
aa58b1798c | ||
|
|
55a214d78b | ||
|
|
9ca063156f | ||
|
|
61d8175d80 | ||
|
|
738b55f748 | ||
|
|
0ae5d46067 | ||
|
|
15aff46503 | ||
|
|
4ca2a26c61 | ||
|
|
8590938a0c | ||
|
|
fb709ec46e | ||
|
|
2b9b21b2ed | ||
|
|
54375a9349 | ||
|
|
fa924629aa | ||
|
|
f00f9c3c39 | ||
|
|
9151de9cde | ||
|
|
a597e57466 | ||
|
|
e5f763b4e1 | ||
|
|
c3426fdd2f | ||
|
|
d3f6f5b292 | ||
|
|
941da0bc39 | ||
|
|
d0f9060bd4 | ||
|
|
02ed52e0cc | ||
|
|
e976c9bf62 | ||
|
|
bfbf2bbf36 | ||
|
|
af3fd09333 | ||
|
|
f16c97d6bd | ||
|
|
4c0894125f | ||
|
|
f56ea273f8 | ||
|
|
e52b6fd10f | ||
|
|
51432e83c6 | ||
|
|
982a048e43 | ||
|
|
b1f26c263b | ||
|
|
5e89b28c72 | ||
|
|
53328080a5 | ||
|
|
044548edc1 | ||
|
|
af479b6e6a | ||
|
|
c12301d5a3 | ||
|
|
459cb23bae | ||
|
|
2896cb57d4 | ||
|
|
ece6b4cd0d | ||
|
|
cdd89534b9 | ||
|
|
e64820cab0 | ||
|
|
6b82e95328 | ||
|
|
b59ff111a5 | ||
|
|
7f018d34f1 | ||
|
|
2281fab273 | ||
|
|
87c369ca1e | ||
|
|
346755a798 | ||
|
|
6373dabd6f | ||
|
|
74cf2ca49d | ||
|
|
13d4589675 | ||
|
|
921629ac8f | ||
|
|
e59cadab69 | ||
|
|
64c85d2f10 | ||
|
|
20a1cd9476 | ||
|
|
2a4d97e2f9 | ||
|
|
5dfb2fa414 | ||
|
|
635ef37f93 | ||
|
|
cc8ff04ccb | ||
|
|
1112ea17e2 | ||
|
|
aaaf1e0ba5 | ||
|
|
05d204762f | ||
|
|
759c85b2f9 | ||
|
|
63c037343c | ||
|
|
7e61986aa2 | ||
|
|
766fe40204 | ||
|
|
dea6be3175 | ||
|
|
8da7c1aa17 | ||
|
|
b8191aa46c | ||
|
|
532b8200f1 | ||
|
|
dff1b037c0 | ||
|
|
4c48cc91b3 | ||
|
|
49493eb6de | ||
|
|
86de9b6f45 | ||
|
|
ffd5625247 | ||
|
|
a81d38bb2a | ||
|
|
2ce8037e4e | ||
|
|
2d02f681d9 | ||
|
|
52c8a51e2b | ||
|
|
bb2b0c89f4 | ||
|
|
ef8bd6950a | ||
|
|
fea9ec3fb9 | ||
|
|
f996786ed7 | ||
|
|
156ffa5b3f | ||
|
|
241a784b36 | ||
|
|
9492ef6034 | ||
|
|
f806f96585 | ||
|
|
3457ffb30f | ||
|
|
08f1d92ee6 | ||
|
|
5cb031a8ed | ||
|
|
daeea2641a | ||
|
|
f78696e776 | ||
|
|
02738c0a79 | ||
|
|
a992419605 | ||
|
|
ffd2e378ae | ||
|
|
c59a2743de | ||
|
|
e8e4751a2e | ||
|
|
4cc46a0bc7 | ||
|
|
0a21c8d735 | ||
|
|
aee76ce19a | ||
|
|
78a28bc217 | ||
|
|
89f29eecc2 | ||
|
|
7444c68931 | ||
|
|
a7d2ebbfe1 | ||
|
|
db2e13c963 | ||
|
|
b0700e6aba | ||
|
|
450c4062ef | ||
|
|
878c793b30 | ||
|
|
162d69539c | ||
|
|
3ce05e9d7f | ||
|
|
bb173c5e77 | ||
|
|
340f572844 | ||
|
|
028ffd2beb | ||
|
|
2c3708280a | ||
|
|
1a5cc1038d | ||
|
|
a74752e87d | ||
|
|
8bdc378efd | ||
|
|
99beb58953 | ||
|
|
1a7409fcb7 | ||
|
|
036219f5ca | ||
|
|
7ed3514e38 | ||
|
|
25d47c6db3 | ||
|
|
e31db9e33a | ||
|
|
7bd2e943ed | ||
|
|
4a1012dba8 | ||
|
|
12782d28c9 | ||
|
|
9cf5e2a29e | ||
|
|
1ef9cf8cd1 | ||
|
|
951055f00c | ||
|
|
ec4be52d06 | ||
|
|
c04240ee23 | ||
|
|
53a35c7551 | ||
|
|
5f966a7796 | ||
|
|
b384608b4c | ||
|
|
bdfe560cb4 | ||
|
|
979574709e | ||
|
|
2b76ccc994 | ||
|
|
5f172ec096 | ||
|
|
15b20a6b4a | ||
|
|
352b69ee78 | ||
|
|
d4eb8346cc | ||
|
|
3072be03f6 | ||
|
|
2587b78d01 | ||
|
|
96daa21f6f | ||
|
|
05928ddb45 | ||
|
|
f574223e1d | ||
|
|
5e0191fc6b | ||
|
|
e4bc47faf4 | ||
|
|
15485b8073 | ||
|
|
e54a5539a3 | ||
|
|
dc2fe3ebff | ||
|
|
3393c79cfc | ||
|
|
ce827cf975 | ||
|
|
3aa81c490d | ||
|
|
1bce339197 | ||
|
|
8a9c24f80a | ||
|
|
ec3be21f28 | ||
|
|
ec4b7f1862 | ||
|
|
87b2d61e0c | ||
|
|
3aeb0f435f | ||
|
|
d3e732661d | ||
|
|
4b02eab8ce | ||
|
|
df2cac92df | ||
|
|
7ee99a9e56 | ||
|
|
d9ad02e2b6 | ||
|
|
74b894166d | ||
|
|
d6d2dfdb6f | ||
|
|
b08087e24a | ||
|
|
4308b888d7 | ||
|
|
04448025a4 | ||
|
|
a56fab7f5b | ||
|
|
f2422727b3 | ||
|
|
94f818195d | ||
|
|
8679592c7e | ||
|
|
086d2763f3 | ||
|
|
939dd01908 | ||
|
|
5dfcdcfe5b | ||
|
|
d04e966718 | ||
|
|
4294ecd024 | ||
|
|
1d2d17d71d |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -9,4 +9,4 @@
|
||||
</parent>
|
||||
<artifactId>org.talend.gmf.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
</project>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.azurestorage.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.azurestorage.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.googledrive.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.googledrive.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.jira.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.jira.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.marketo.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.marketo.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.marklogic.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.marklogic.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.netsuite.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.netsuite.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.salesforce.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.salesforce.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.snowflake.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.snowflake.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.splunk.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.0.1-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.studio.components.tcompv0.splunk.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
</project>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
<plugin id="org.talend.libraries.palo" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<plugin id="org.talend.libraries.persist.lookup" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
<plugin id="org.talend.libraries.salesforce" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<plugin id="org.talend.libraries.servlet" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<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>
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -3,18 +3,18 @@ prefs.configuration.LINK_STYLE=\u30C7\u30D5\u30A9\u30EB\u30C8\u30DE\u30C3\u30D4\
|
||||
prefs.configuration.LINK_STYLE.AUTO=\u81EA\u52D5
|
||||
prefs.configuration.LINK_STYLE.BEZIER_CURVE=\u66F2\u7DDA
|
||||
prefs.configuration.LINK_STYLE.LINE=\u76F4\u7DDA\uFF08\u9AD8\u901F\uFF09
|
||||
DraggingInfosPopup.draggingEntry={0}\u30A8\u30F3\u30C8\u30EA\u3092\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u3044\u307E\u3059\u3002
|
||||
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\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.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 >>\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)
|
||||
DraggingInfosPopup.insertAllSelectedEntries= > \u9078\u629E\u3057\u305F\u3059\u3079\u3066\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u633F\u5165\u3057\u307E\u3059
|
||||
DraggingInfosPopup.insertRemainingEntries= > \u6B8B\u308A\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u633F\u5165\u3057\u307E\u3059
|
||||
DraggingInfosPopup.eachSourceEntryExpressionToEachTargetExpression=> \u5404\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u5404\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u5F0F
|
||||
DraggingInfosPopup.eachSourceEntryToEachTargetExpression=> \u5404\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u5404\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA
|
||||
DraggingInfosPopup.allSourceEntriesExpressionToASingleOneTargetExpressionShiftKey=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u5F0F (\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u5909\u66F4\u3059\u308B\u306B\u306FShift\u30AD\u30FC)
|
||||
DraggingInfosPopup.allSourceEntriesExpressionToASingleOneTargetExpression=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u5F0F
|
||||
DraggingInfosPopup.allSourceEntriesToASingleOneTargetExpressionShiftKey=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA (\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u5909\u66F4\u3059\u308B\u306B\u306FShift\u30AD\u30FC)
|
||||
DraggingInfosPopup.allSourceEntriesToASingleOneTargetExpression=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA
|
||||
DraggingInfosPopup.insertAllSelectedEntries= > \u9078\u629E\u3057\u305F\u3059\u3079\u3066\u306E\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u633F\u5165\u3057\u307E\u3059
|
||||
DraggingInfosPopup.insertRemainingEntries= > \u6B8B\u308A\u306E\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u633F\u5165\u3057\u307E\u3059
|
||||
DraggingInfosPopup.eachSourceEntryExpressionToEachTargetExpression=> \u5404\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u5404\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u30FC\u5F0F
|
||||
DraggingInfosPopup.eachSourceEntryToEachTargetExpression=> \u5404\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u5404\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u30FC
|
||||
DraggingInfosPopup.allSourceEntriesExpressionToASingleOneTargetExpressionShiftKey=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u30FC\u5F0F (\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u5909\u66F4\u3059\u308B\u306B\u306FShift\u30AD\u30FC)
|
||||
DraggingInfosPopup.allSourceEntriesExpressionToASingleOneTargetExpression=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u30FC\u5F0F
|
||||
DraggingInfosPopup.allSourceEntriesToASingleOneTargetExpressionShiftKey=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u30FC (\u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u5909\u66F4\u3059\u308B\u306B\u306FShift\u30AD\u30FC)
|
||||
DraggingInfosPopup.allSourceEntriesToASingleOneTargetExpression=> 1\u3064\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u5F0F\u306B\u5BFE\u3059\u308B\u3059\u3079\u3066\u306E\u30BD\u30FC\u30B9\u30A8\u30F3\u30C8\u30EA\u30FC
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -4,7 +4,7 @@ AlfrescoOutputManager.schemaError.msg=\u6700\u521D\u306B\u30B9\u30AD\u30FC\u30DE
|
||||
AlfrescoOutputModelManager.alreadyAdded=\u3053\u306E\u30E2\u30C7\u30EB\u306F\u65E2\u306B\u8FFD\u52A0\u6E08\u307F\u3067\u3059\u3002
|
||||
AlfrescoOutputModelManager.errorReadingModel=Alfresco\u30E2\u30C7\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u8FBC\u307F\u30A8\u30E9\u30FC
|
||||
AlfrescoOutputModelManager.notYetAdded=\u3053\u306E\u30E2\u30C7\u30EB\u306F\u307E\u3060\u8FFD\u52A0\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
||||
AlfrescoOutputModelManager.prefixConflict=\u5148\u306B\u8FFD\u52A0\u3055\u308C\u305F\u30E2\u30C7\u30EB\u306E\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u306E\u885D\u7A81\u306E\u305F\u3081\u3001\u30E2\u30C7\u30EB\u306E\u8FFD\u52A0\u304C\u51FA\u6765\u307E\u305B\u3093\u3002
|
||||
AlfrescoOutputModelManager.prefixConflict=\u5148\u306B\u8FFD\u52A0\u3055\u308C\u305F\u30E2\u30C7\u30EB\u306E\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u306E\u885D\u7A81\u306E\u305F\u3081\u3001\u30E2\u30C7\u30EB\u306E\u8FFD\u52A0\u304C\u3067\u304D\u307E\u305B\u3093\u3002
|
||||
AlfrescoModelDialog.type=\u30BF\u30A4\u30D7
|
||||
AlfrescoModelDialog.aspects=\u30A2\u30B9\u30DA\u30AF\u30C8
|
||||
AlfrescoModelDialog.availableAspects=\u53EF\u80FD\u306A\u30A2\u30B9\u30DA\u30AF\u30C8
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,\
|
||||
|
||||
@@ -90,11 +90,9 @@ if((codePart.equals(ECodePart.END))&&(stat || logstashCurrent)){
|
||||
INode source = con.getSource();
|
||||
String sourceNodeId = source.getUniqueName();
|
||||
|
||||
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
|
||||
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel.trim());
|
||||
|
||||
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
|
||||
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel.trim());
|
||||
String sourceNodeLabel = NodeUtil.getLabel(source);
|
||||
|
||||
String targetNodeLabel = NodeUtil.getLabel(node);
|
||||
|
||||
String sourceNodeComponent = source.getComponent().getName();
|
||||
for (INode jobStructureCatcher : jobCatcherNodes) {
|
||||
@@ -124,11 +122,9 @@ if((codePart.equals(ECodePart.END))&&(stat || logstashCurrent)){
|
||||
INode source = con.getSource();
|
||||
String sourceNodeId = source.getUniqueName();
|
||||
|
||||
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
|
||||
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel.trim());
|
||||
String sourceNodeLabel = NodeUtil.getLabel(source);
|
||||
|
||||
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
|
||||
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel.trim());
|
||||
String targetNodeLabel = NodeUtil.getLabel(node);
|
||||
|
||||
String sourceNodeComponent = source.getComponent().getName();
|
||||
for (INode jobStructureCatcher : jobCatcherNodes) {
|
||||
|
||||
@@ -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) {
|
||||
%>
|
||||
@@ -196,11 +207,9 @@
|
||||
INode source = con.getSource();
|
||||
String sourceNodeId = source.getUniqueName();
|
||||
|
||||
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
|
||||
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel.trim());
|
||||
String sourceNodeLabel = NodeUtil.getLabel(source);
|
||||
|
||||
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
|
||||
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel.trim());
|
||||
String targetNodeLabel = NodeUtil.getLabel(node);
|
||||
|
||||
String sourceNodeComponent = source.getComponent().getName();
|
||||
%>
|
||||
@@ -232,11 +241,9 @@
|
||||
INode source = con.getSource();
|
||||
String sourceNodeId = source.getUniqueName();
|
||||
|
||||
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
|
||||
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel.trim());
|
||||
|
||||
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
|
||||
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel.trim());
|
||||
String sourceNodeLabel = NodeUtil.getLabel(source);
|
||||
|
||||
String targetNodeLabel = NodeUtil.getLabel(node);
|
||||
|
||||
String sourceNodeComponent = source.getComponent().getName();
|
||||
%>
|
||||
@@ -259,11 +266,9 @@
|
||||
INode source = con.getSource();
|
||||
String sourceNodeId = source.getUniqueName();
|
||||
|
||||
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
|
||||
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel.trim());
|
||||
|
||||
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
|
||||
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel.trim());
|
||||
String sourceNodeLabel = NodeUtil.getLabel(source);
|
||||
|
||||
String targetNodeLabel = NodeUtil.getLabel(node);
|
||||
|
||||
String sourceNodeComponent = source.getComponent().getName();
|
||||
|
||||
@@ -295,11 +300,9 @@
|
||||
INode source = con.getSource();
|
||||
String sourceNodeId = source.getUniqueName();
|
||||
|
||||
String sourceLabel = ElementParameterParser.getValue(source, "__LABEL__");
|
||||
String sourceNodeLabel = ((sourceLabel==null || "__UNIQUE_NAME__".equals(sourceLabel) || sourceLabel.contains("\"")) ? sourceNodeId : sourceLabel.trim());
|
||||
String sourceNodeLabel = NodeUtil.getLabel(source);
|
||||
|
||||
String targetLabel = ElementParameterParser.getValue(node, "__LABEL__");
|
||||
String targetNodeLabel = ((targetLabel==null || "__UNIQUE_NAME__".equals(targetLabel) || targetLabel.contains("\"")) ? node.getUniqueName() : targetLabel.trim());
|
||||
String targetNodeLabel = NodeUtil.getLabel(node);
|
||||
|
||||
String sourceNodeComponent = source.getComponent().getName();
|
||||
|
||||
@@ -434,8 +437,7 @@
|
||||
|
||||
if(logstashCurrent) {
|
||||
for (INode jobStructureCatcher : jobCatcherNodes) {
|
||||
String label = ElementParameterParser.getValue(node, "__LABEL__");
|
||||
String nodeLabel = ((label==null || "__UNIQUE_NAME__".equals(label) || label.contains("\"")) ? node.getUniqueName() : label.trim());
|
||||
String nodeLabel = NodeUtil.getLabel(node);
|
||||
%>
|
||||
if(enableLogStash) {
|
||||
<%=jobStructureCatcher.getUniqueName() %>.addCM("<%=node.getUniqueName()%>", "<%=nodeLabel%>", "<%=node.getComponent().getName()%>");
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 "";
|
||||
}
|
||||
|
||||
@@ -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%>;
|
||||
<%
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
TalendException te = new TalendException(e, currentComponent, globalMap);
|
||||
TalendException te = new TalendException(e, currentComponent, cLabel, globalMap);
|
||||
<%
|
||||
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
|
||||
%>
|
||||
|
||||
@@ -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())){
|
||||
|
||||
@@ -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())){
|
||||
%>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
providerName=www.example.org
|
||||
pluginName=EmittersPool Model
|
||||
components=Components
|
||||
trunjob=tRunJob
|
||||
format=Format
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -48,7 +49,7 @@ ComponentsFactory.componentNotFound=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u
|
||||
ComponentsFactory.load.components=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30ED\u30FC\u30C9...
|
||||
ComponentsFactory.parentNotRecompiled=\u8B66\u544A: *.inc.javajet\u306E\u89AA\u306F\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
||||
ComponentsFactory.loadComponents.missingFolder=\u30D7\u30E9\u30B0\u30A4\u30F3"{1}"\u306B\u30D5\u30A9\u30EB\u30C0\u30FC"{0}"\u304C\u3042\u308A\u307E\u305B\u3093\u3002
|
||||
ComponentsFactory.init.waitForFinish.timeout=ComponentsFactory\u3092\u521D\u671F\u5316\u3067\u304D\u307E\u305B\u3093\u3002\u3082\u3046\u4E00\u5EA6\u8A66\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
ComponentsFactory.init.waitForFinish.timeout=ComponentsFactory\u3092\u521D\u671F\u5316\u3067\u304D\u307E\u305B\u3093\u3002\u3084\u308A\u76F4\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
ComponentsLocalProviderService.componentLoadError=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30ED\u30FC\u30C9\u30A8\u30E9\u30FC
|
||||
ComponentsLocalProviderService.talendExchangeError=Talend Exchange \u30A8\u30E9\u30FC
|
||||
ComponentsPreferencePage.ButtonLabel0=OK
|
||||
@@ -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?
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,\
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
Exchange=Exchange
|
||||
DownloadComponenentsAction.Label=Download Selected Components
|
||||
RefreshComponenentsAction.Label=Refresh Components List
|
||||
providerName=www.example.org
|
||||
pluginName=Exchange Model
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -56,7 +56,7 @@ ShowInstalledExtensionsJob.ShowInstalledExtensions.Title=extensions\u3092\u30A4\
|
||||
ShowInstalledExtensionsJob.ShowInstalledExtensions.Message=exchange\u304B\u3089extensions\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u2026
|
||||
DeleteExtensionJob.DeleteExtensionJob.Title=Extension\u3092\u524A\u9664\u3057\u307E\u3059\u2026
|
||||
DeleteExtensionJob.DeleteExtensionJob.Message=Extension\u3092\u524A\u9664\u3057\u307E\u3059\u2026
|
||||
DeleteExtensionJob.DeleteFailure=\u524A\u9664\u51FA\u6765\u307E\u305B\u3093
|
||||
DeleteExtensionJob.DeleteFailure=\u524A\u9664\u3067\u304D\u307E\u305B\u3093
|
||||
DeleteExtensionJob.DeleteFailureTip=\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
ModifyExtensionJob.Title=Extension\u3092\u4FEE\u6B63\u2026
|
||||
ModifyExtensionJob.Message=Extension\u3092\u4FEE\u6B63\u2026
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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" />
|
||||
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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-->
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<groupId>org.talend.components.lib</groupId>
|
||||
<artifactId>talend-aws</artifactId>
|
||||
<version>1.0</version>
|
||||
<version>1.1</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>talend-aws</name>
|
||||
@@ -41,8 +41,8 @@
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.amazonaws</groupId>
|
||||
<artifactId>aws-java-sdk</artifactId>
|
||||
<version>1.11.848</version>
|
||||
<artifactId>aws-java-sdk-bundle</artifactId>
|
||||
<version>1.12.285</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
|
||||
@@ -15,8 +15,8 @@ import java.util.concurrent.Future;
|
||||
|
||||
import javax.net.ssl.SSLProtocolException;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import com.amazonaws.thirdparty.apache.logging.Log;
|
||||
import com.amazonaws.thirdparty.apache.logging.LogFactory;
|
||||
|
||||
import com.amazonaws.AmazonClientException;
|
||||
import com.amazonaws.SdkClientException;
|
||||
|
||||
@@ -8,8 +8,8 @@ import java.util.concurrent.Callable;
|
||||
import com.amazonaws.SdkClientException;
|
||||
import com.amazonaws.services.s3.AmazonS3;
|
||||
import com.amazonaws.services.s3.model.GetObjectRequest;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import com.amazonaws.thirdparty.apache.logging.Log;
|
||||
import com.amazonaws.thirdparty.apache.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* Helper class to get a part from s3,
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.talend.aws;
|
||||
|
||||
import com.amazonaws.services.s3.model.ResponseHeaderOverrides;
|
||||
import com.amazonaws.services.s3.transfer.PersistableTransfer;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.amazonaws.thirdparty.jackson.annotation.JsonProperty;
|
||||
|
||||
/**
|
||||
* An opaque token that holds some private state and can be used to resume a
|
||||
|
||||
@@ -19,8 +19,8 @@ import com.amazonaws.services.s3.transfer.internal.TransferManagerUtils;
|
||||
import com.amazonaws.services.s3.transfer.internal.TransferStateChangeListener;
|
||||
import com.amazonaws.services.s3.transfer.internal.TransferProgressUpdatingListener;
|
||||
import com.amazonaws.util.VersionInfoUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import com.amazonaws.thirdparty.apache.logging.Log;
|
||||
import com.amazonaws.thirdparty.apache.logging.LogFactory;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -69,13 +69,13 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>2.13.2</version>
|
||||
<version>2.17.1</version>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>2.13.2</version>
|
||||
<version>2.17.1</version>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
@@ -97,4 +97,4 @@
|
||||
</pluginManagement>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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 :
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
|
||||
}
|
||||
Binary file not shown.
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,\
|
||||
|
||||
@@ -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
|
||||
@@ -1,3 +0,0 @@
|
||||
HELP=org.talend.help.tAS400Close
|
||||
LONG_NAME=Close a selected AS400 connection.
|
||||
CONNECTION.NAME=Component List
|
||||
@@ -1 +0,0 @@
|
||||
CONNECTION.NAME=\uCEF4\uD3EC\uB10C\uD2B8\uBAA9\uB85D
|
||||
@@ -1 +0,0 @@
|
||||
CONNECTION.NAME=Lista komponent\u00F3w
|
||||
@@ -1 +0,0 @@
|
||||
CONNECTION.NAME=Lista de componentes
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
CLOSE.NAME=Zatvori konekciju
|
||||
@@ -1 +0,0 @@
|
||||
CONNECTION.NAME=\uCEF4\uD3EC\uB10C\uD2B8\uBAA9\uB85D
|
||||
@@ -1,2 +0,0 @@
|
||||
CLOSE.NAME=Zamknij po\u0142\u0105czenie
|
||||
CONNECTION.NAME=Lista komponent\u00F3w
|
||||
@@ -1,2 +0,0 @@
|
||||
CLOSE.NAME=Fechar conex\u00E3o
|
||||
CONNECTION.NAME=Lista de componentes
|
||||
@@ -47,8 +47,6 @@
|
||||
<PARAMETER NAME="DB_VERSION" FIELD="CLOSED_LIST" NUM_ROW="2"
|
||||
REPOSITORY_VALUE="DB_VERSION">
|
||||
<ITEMS DEFAULT="V7R1_V7R3">
|
||||
<ITEM NAME="V5R2_V5R4" VALUE="jt400_V5R2.jar"/>
|
||||
<ITEM NAME="V5R3_V6R1" VALUE="jt400_V5R3.jar" />
|
||||
<ITEM NAME="V6R1_V7R2" VALUE="jt400_V6R1.jar" />
|
||||
<ITEM NAME="V7R1_V7R3" VALUE="jt400-9.8.jar" />
|
||||
</ITEMS>
|
||||
@@ -145,12 +143,10 @@
|
||||
|
||||
<CODEGENERATION>
|
||||
<IMPORTS>
|
||||
<IMPORT NAME="Driver-V5R2_V5R4" MODULE="jt400_V5R2.jar" MVN="mvn:org.talend.libraries/jt400_V5R2/6.0.0" REQUIRED_IF="DB_VERSION == 'jt400_V5R2.jar'" />
|
||||
<IMPORT NAME="Driver-V5R3_V6R1" MODULE="jt400_V5R3.jar" MVN="mvn:org.talend.libraries/jt400_V5R3/6.0.0" REQUIRED_IF="DB_VERSION == 'jt400_V5R3.jar'" />
|
||||
<IMPORT NAME="Driver-V6R1_V7R2" MODULE="jt400_V6R1.jar" MVN="mvn:org.talend.libraries/jt400_V6R1/6.0.0" REQUIRED_IF="DB_VERSION == 'jt400_V6R1.jar'" />
|
||||
<IMPORT NAME="Driver-V7R1_V7R3" MODULE="jt400-9.8.jar" MVN="mvn:net.sf.jt400/jt400/9.8" REQUIRED_IF="DB_VERSION == 'jt400-9.8.jar'" />
|
||||
<IMPORT NAME="slf4j-api-1.7.25.jar" MODULE="slf4j-api-1.7.25.jar" MVN="mvn:org.slf4j/slf4j-api/1.7.25" REQUIRED_IF="USE_SHARED_CONNECTION =='true'" />
|
||||
<IMPORT NAME="slf4j-log4j12-1.7.25.jar" MODULE="slf4j-log4j12-1.7.25.jar" MVN="mvn:org.slf4j/slf4j-log4j12/1.7.25" REQUIRED_IF="USE_SHARED_CONNECTION =='true'" />
|
||||
<IMPORT NAME="slf4j-api-1.7.29.jar" MODULE="slf4j-api-1.7.29.jar" MVN="mvn:org.slf4j/slf4j-api/1.7.29" REQUIRED_IF="USE_SHARED_CONNECTION =='true'" />
|
||||
<IMPORT NAME="slf4j-log4j12-1.7.29.jar" MODULE="slf4j-log4j12-1.7.29.jar" MVN="mvn:org.slf4j/slf4j-log4j12/1.7.29" REQUIRED_IF="USE_SHARED_CONNECTION =='true'" />
|
||||
</IMPORTS>
|
||||
</CODEGENERATION>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user