Compare commits

...

60 Commits

Author SHA1 Message Date
kjwang-talend
30b49bf9cc fix(TUP-17996):When Deploying one customer's job in CI, the build failed with error: constant string too long (#1403)
fix(TUP-17996):When Deploying one customer's job in CI, the build failed with error: constant string too long
https://jira.talendforge.org/browse/TUP-17996
2019-03-04 10:40:30 +08:00
apoltavtsev
a9fac457b2 TUP-17093:[Talend Studio] Compilation error not shown on a box 2018-10-09 10:43:25 +03:00
hcyi
be4b6f8883 TPS-2684:[6.3.1] Guess schema is not working in case of tMSSQLinput
component
2018-09-10 16:04:12 +08:00
zwxue
e612ab83de fix(TUP-20223):Wrong branch value in the jobs generated by CI. 2018-09-10 10:39:03 +08:00
Laurent BOURGEOIS
c54b63aa4f fix(TBD-7495): Add checkbox to transform date type in timestamp (#2593) (#2635) (#2664) 2018-09-05 16:53:00 +02:00
Chao MENG
71aac01583 fix(TUP-20391): Migration tasks are re-executed and encrypting passwords
https://jira.talendforge.org/browse/TUP-20391
2018-07-18 18:12:41 +08:00
Chao MENG
6def743f0b fix(TUP-20391): Migration tasks are re-executed and encrypting passwords
(#2492)

fix(TUP-20391): Migration tasks are re-executed and encrypting passwords
https://jira.talendforge.org/browse/TUP-20391

Conflicts:
	main/plugins/org.talend.repository/src/main/java/org/talend/repository/model/migration/UnifyPasswordEncryption4ContextMigrationTask.java
2018-07-17 11:08:13 +08:00
hcyi
1d6c17de39 fix(TUP-19277):Errors when creating tSASoutput component from SAS (#1877)
metadata connection.
2018-05-02 10:22:15 +08:00
nrousseau
3ed6a8f9c3 fix(TUP-19758) generate code even if the jars are missing (#2065) 2018-04-23 14:23:31 +08:00
hwang
75e6c14f1b Revert "fix(TPS-2281):[6.3.1] Build Job very slow compared to version 5 even with TPS-1656 (TUP-17149)"
This reverts commit 87ad1be8cc.
2018-01-16 15:31:29 +08:00
hwang
b0d93eb010 Revert "TUP-17149:Build Job very slow compared to version 5 even with TPS-1656 (#1212)"
This reverts commit 4fd4cc00fc.
2018-01-16 15:31:24 +08:00
hwang
54551850d7 Revert "TUP-17149:Build Job very slow compared to version 5 even with TPS-1656"
This reverts commit 368fb9766e.
2018-01-16 15:31:18 +08:00
hwang
87ad1be8cc fix(TPS-2281):[6.3.1] Build Job very slow compared to version 5 even
with TPS-1656 (TUP-17149)
2018-01-15 15:46:15 +08:00
wchen-talend
4fd4cc00fc TUP-17149:Build Job very slow compared to version 5 even with TPS-1656
(#1212)
2018-01-15 14:10:31 +08:00
wchen-talend
368fb9766e TUP-17149:Build Job very slow compared to version 5 even with TPS-1656 2018-01-15 14:07:45 +08:00
hcyi
b25a9dec5c fix(TUP-18492): Stats Logs still use JTDS driver even select
Microsoft.Microsoft.
2017-12-05 11:05:24 +08:00
hcyi
6b65e0c041 fix (TUP-18492): Stats&Logs still use JTDS driver even select Microsoft 2017-12-05 11:00:45 +08:00
zwxue
f41c0331bf fix(TUP-18278):Could not find or load main class exception after (#1547) 2017-11-06 14:32:30 +08:00
wchen-talend
88b16605f4 fix(TUP-18738):UHG - Configuring SVN Polling from TAC (#1681) 2017-11-06 12:10:57 +08:00
GGu
76a5c7e3f3 bug(TUP-18570/Maven): update the project pom with reference projects 2017-10-30 10:45:07 +08:00
wchen-talend
8205741178 TPS-2146:[6.3.1] tLibraryLoad doesn't display the jars available in
local maven (TUP-18489)
2017-10-09 12:17:06 +08:00
seloen
4ee4d14d60 bugfix(TUP-17050):tmap looses setting for Die on error
*add a if judge in initCurrentModel() method

https://jira.talendforge.org/browse/TUP-17050
2017-09-11 14:56:48 +08:00
hcyi
5680735ab9 TPS-2104:Opening a BD job from the search feature in Studio transforms
it into a DI job
2017-09-11 14:52:38 +08:00
GGu
d84cef3f76 fix(TUP-18405/module): enable to update the list of modules parameter 2017-08-21 11:17:05 +08:00
apoltavtsev
83d892d71b TPS-2091 Fix for TESB-20067 is merged from master 2017-08-14 10:54:04 +03:00
zwxue
8533bd5f6d TUP-16573: cmdline generate time increase as the tasks number increase. 2017-07-24 14:37:52 +08:00
kjwang-talend
c36bdef220 fix(TUP-17642):6.3.1 studio takes about 25 mins to update project (#1273)
* fix(TUP-17642):6.3.1 studio takes about 25 mins to update project
settings for about 200 jobs in the GIT project.
https://jira.talendforge.org/browse/TUP-17642

* fix(TUP-17642):6.3.1 studio takes about 25 mins to update project
settings for about 200 jobs in the GIT project.
https://jira.talendforge.org/browse/TUP-17642

* fix(TUP-17642):6.3.1 studio takes about 25 mins to update project
settings for about 200 jobs in the GIT project.
https://jira.talendforge.org/browse/TUP-17642
2017-07-24 14:17:54 +08:00
wchen-talend
a31207d0a6 TUP-17072:Misleading Task Generation Status when jars are missing 2017-07-11 11:33:43 +08:00
nrousseau
d500eda261 TUP-17072:Misleading Task Generation Status when jars are missing
(#1071)
2017-07-11 11:33:11 +08:00
zwxue
c5dacdf731 fix(TUP-18158):tELTOracleMap / ELT Oracle Map Editor / left panel empty
after migration from 6.1.1 to 6.3.1.
2017-07-10 14:15:53 +08:00
hcyi
61294e6df8 TUP-18046:Cannot Retrieve Columns from Metadata MapRDB Database (#1448)
* TUP-18046:Cannot Retrieve Columns from Metadata MapRDB Database
Connection.

* TUP-18046:update,Cannot Retrieve Columns from Metadata MapRDB Database
Connection
2017-07-03 17:27:13 +08:00
hcyi
5264deeb27 TUP-18046:Cannot Retrieve Columns from Metadata MapRDB Database (#1445)
Connection.
2017-07-03 17:26:17 +08:00
Pingwen Lin
c50e6c531e TPS-2013 [6.3.1]Support of AWS ELB for MDM Cluster(TMDM-11072) (#1466) 2017-06-30 01:34:25 -05:00
hcyi
50bf46b627 TUP-17849:tWebservice wsdl wizard don't works. (#1301) 2017-05-26 17:18:13 +08:00
hwang-talend
b4c319fc1a fix(TUP-17538):"The connected components in a job must not form a closed (#1189)
loop"
2017-05-11 14:14:23 +08:00
hwang
694b61884b TUP-16161: code improve 2017-05-11 14:10:57 +08:00
hwang-talend
b970acaff8 TUP-16161:Different behavior on triggers between 611 and 621 (#887) 2017-05-11 14:10:35 +08:00
wchen-talend
c9db9f05b3 TUP-17245:Link names are renamed in jobs as Main1 when migrating from
5.4.1 to 6.2.1
2017-04-24 16:01:51 +08:00
Yucheng Bai
7352e86d4e TUP-17246: OSX hits GC Overhead Error modifying salesforce metadata in (#1057)
jobs
2017-04-24 15:54:13 +08:00
hwang-talend
42fe37ba62 TUP-17194:Error with a job using nested joblets with MDM components (#1041) 2017-04-24 15:13:28 +08:00
ycbai
edb7d1939f TUP-17424: Cann't retrieve schem for HDFS only on 623 2017-04-11 10:08:37 +08:00
GGu
8cfb8a6160 TUP-17017: enable to use reference template for reference jobs. (#1081) 2017-04-10 12:07:17 +08:00
hwang
1ce2c6f609 TUP-17214:Problem by using joblets from the reference project 2017-03-20 15:20:23 +08:00
hwang
5b4cfd7590 TUP-17214:Problem by using joblets from the reference project 2017-03-20 15:20:08 +08:00
hwang
d61f305cc9 TUP-17201:Upgrade issue with Jobs referencing joblets from a reference 2017-03-20 14:17:29 +08:00
hwang
34fc84da95 TUP-17201:Upgrade issue with Jobs referencing joblets from a reference
project.
2017-03-20 14:15:46 +08:00
wchen-talend
141bbee806 TUP-17120:Changing the order of output rows from tSAPBapi component
breaks the code generation
2017-03-07 11:07:47 +08:00
iwangtalend
cde4fcb03f Merge pull request #1034 from Talend/feature/DEVOPS-1729/patch/6.3.1_nexus
DEVOPS-1729 Nexus migration: Update URLs [patch/6.3.1]
2017-03-02 16:42:06 +01:00
build-talend
9963060e8f DEVOPS-1729 Nexus migration: Update URLs 2017-03-02 16:32:57 +01:00
jzhao
cc2f257a02 feat(TDI-35748):salesforce connection save and reuse session (#916)
* migration from old framework
* add directory mapping with widget type
2017-02-20 18:35:27 +08:00
Yucheng Bai
43ff058114 TUP-16774: File Widget of session directory in metadata for salesforce (#937) 2017-02-20 18:34:54 +08:00
Pingwen Lin
e00bdf3df1 TPS-1762 [6.3.1]Data Services with MDM Connection - behaviour change from 6.1.1(TMDM-10433)
TMDM-10433 : Data Services with MDM Connection - behaviour change from 6.1.1 (#915)
2017-01-25 11:13:50 +08:00
Carsten Biermann
2d84ef06e4 [DEVOPS-1556] New NOTICE file 2016-12-16 09:25:04 +01:00
ycbai
956882cddf TUP-16607: Generation issue on ELTMap component using Alias 2016-12-14 19:39:34 +08:00
qiongli
c40653dd6c TDQ-13026 consider the sub-job and joblet dependecies wherether include (#871)
tRuleSurvivorship node when export job.
2016-12-14 17:14:41 +08:00
guol
ff62f42cc5 Revert "TDI-36791 fix add Junit: ELT Map queries : compilation error with quotes https://jira.talendforge.org/browse/TDI-36791"
This reverts commit c3a34fa06b.
2016-12-12 17:52:21 +08:00
guol
48b4dd6e25 Revert "TDI-36791 fix: ELT Map queries : compilation error with quotes https://jira.talendforge.org/browse/TDI-36791"
This reverts commit a204e266e8.
2016-12-12 17:52:12 +08:00
Vladimir Bogatyrov
9595f27eca [TESB-18057] Fix 2016-12-12 08:28:59 +02:00
qiongli
6c642e7389 TDQ-12474 add a profiler "include-survivorship-rules" to export (#861)
survivorship rules. it only execute when the "include-items" not be
added.
2016-12-12 10:54:53 +08:00
Carsten Biermann
de0d82ca0f Set versions for 6.3.1 2016-12-07 14:07:38 +00:00
223 changed files with 4231 additions and 3001 deletions

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.componentdesigner.nl</artifactId> <artifactId>org.talend.componentdesigner.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.componentdesigner.rcp.nl</artifactId> <artifactId>org.talend.componentdesigner.rcp.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.abstractmap.nl</artifactId> <artifactId>org.talend.designer.abstractmap.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.alfrescooutput.nl</artifactId> <artifactId>org.talend.designer.alfrescooutput.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.business.diagram.nl</artifactId> <artifactId>org.talend.designer.business.diagram.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.codegen.nl</artifactId> <artifactId>org.talend.designer.codegen.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.components.exchange.nl</artifactId> <artifactId>org.talend.designer.components.exchange.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.core.nl</artifactId> <artifactId>org.talend.designer.core.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.dbmap.nl</artifactId> <artifactId>org.talend.designer.dbmap.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.documentation.nl</artifactId> <artifactId>org.talend.designer.documentation.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.fileoutputxml.nl</artifactId> <artifactId>org.talend.designer.fileoutputxml.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.gefabstractmap.nl</artifactId> <artifactId>org.talend.designer.gefabstractmap.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.hl7.nl</artifactId> <artifactId>org.talend.designer.hl7.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.mapper.nl</artifactId> <artifactId>org.talend.designer.mapper.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.maven.job.nl</artifactId> <artifactId>org.talend.designer.maven.job.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.rowgenerator.nl</artifactId> <artifactId>org.talend.designer.rowgenerator.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.runprocess.nl</artifactId> <artifactId>org.talend.designer.runprocess.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.scd.nl</artifactId> <artifactId>org.talend.designer.scd.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.webservice.nl</artifactId> <artifactId>org.talend.designer.webservice.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.xmlmap.nl</artifactId> <artifactId>org.talend.designer.xmlmap.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.expressionbuilder.nl</artifactId> <artifactId>org.talend.expressionbuilder.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.presentation.onboarding.resource.nl</artifactId> <artifactId>org.talend.presentation.onboarding.resource.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.presentation.onboarding.resource.tos.nl</artifactId> <artifactId>org.talend.presentation.onboarding.resource.tos.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.repository.ftp.nl</artifactId> <artifactId>org.talend.repository.ftp.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.repository.json.nl</artifactId> <artifactId>org.talend.repository.json.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.repository.nl</artifactId> <artifactId>org.talend.repository.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.repository.view.di.nl</artifactId> <artifactId>org.talend.repository.view.di.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.sbi.engines.client.nl</artifactId> <artifactId>org.talend.sbi.engines.client.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.spagic.engines.client.nl</artifactId> <artifactId>org.talend.spagic.engines.client.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.sqlbuilder.nl</artifactId> <artifactId>org.talend.sqlbuilder.nl</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.componentdesigner.feature</artifactId> <artifactId>org.talend.componentdesigner.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.business.feature</artifactId> <artifactId>org.talend.designer.business.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.feature</artifactId> <artifactId>org.talend.designer.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.rcp.branding.tos.feature</artifactId> <artifactId>org.talend.rcp.branding.tos.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.rcp.branding.tos.test.feature</artifactId> <artifactId>org.talend.rcp.branding.tos.test.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.repository.feature</artifactId> <artifactId>org.talend.repository.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.sbi.feature</artifactId> <artifactId>org.talend.sbi.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.spagic.feature</artifactId> <artifactId>org.talend.spagic.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.tos.components.feature</artifactId> <artifactId>org.talend.tos.components.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.tos.feature</artifactId> <artifactId>org.talend.tos.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.tos.libraries.feature</artifactId> <artifactId>org.talend.tos.libraries.feature</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.componentdesigner.rcp</artifactId> <artifactId>org.talend.componentdesigner.rcp</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.componentdesigner</artifactId> <artifactId>org.talend.componentdesigner</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.abstractmap</artifactId> <artifactId>org.talend.designer.abstractmap</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.alfrescooutput</artifactId> <artifactId>org.talend.designer.alfrescooutput</artifactId>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.business.diagram</artifactId> <artifactId>org.talend.designer.business.diagram</artifactId>

View File

@@ -711,6 +711,7 @@ this.globalResumeTicket = false;//to run others jobs
//5. all others sub-job (MultiThread mode) //5. all others sub-job (MultiThread mode)
if(isRunInMultiThread){ if(isRunInMultiThread){
%>final Thread launchingThread = Thread.currentThread();<%
for (INode rootNode : rootNodes) { for (INode rootNode : rootNodes) {
String componentName = rootNode.getComponent().getName(); String componentName = rootNode.getComponent().getName();
String uniqueName = rootNode.getUniqueName(); String uniqueName = rootNode.getUniqueName();
@@ -748,6 +749,10 @@ this.globalResumeTicket = false;//to run others jobs
status = localStatus; status = localStatus;
} }
if ("true".equals(((java.util.Map) threadLocal.get()).get("JobInterrupted"))) {
launchingThread.interrupt();
}
runningThreadCount.add(-1); runningThreadCount.add(-1);
} }
} }
@@ -757,13 +762,22 @@ this.globalResumeTicket = false;//to run others jobs
} }
} }
%> %>
boolean interrupted = false;
while (runningThreadCount.getCount() > 0) { while (runningThreadCount.getCount() > 0) {
try { try {
Thread.sleep(10); Thread.sleep(10);
} catch (java.lang.InterruptedException e) {
interrupted = true;
} catch (java.lang.Exception e) { } catch (java.lang.Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
if (interrupted) {
Thread.currentThread().interrupt();
}
<% <%
} else { // isRunInMultiThread //5. all others sub-job (SingleThread mode) } else { // isRunInMultiThread //5. all others sub-job (SingleThread mode)
for (INode rootNode : rootNodes) { for (INode rootNode : rootNodes) {
@@ -1110,13 +1124,16 @@ if (execStat) {
<% if(exist_tMDM) { %> <% if(exist_tMDM) { %>
private void closeMDMConnections() { private void closeMDMConnections() {
try { try {
<% for (INode mdmComponent : mdmComponentsList) { %> java.util.Iterator keySets = globalMap.keySet().iterator();
org.talend.mdm.webservice.TMDMService service_<%=mdmComponent.getUniqueName() %> = (org.talend.mdm.webservice.TMDMService)globalMap.get("TMDMService_<%=mdmComponent.getUniqueName() %>"); while (keySets.hasNext()) {
if(service_<%=mdmComponent.getUniqueName() %> != null) String key = keySets.next().toString();
{ if (key.startsWith("TMDMService_tMDMConnection_")) {
service_<%=mdmComponent.getUniqueName() %>.logout(new org.talend.mdm.webservice.WSLogout()); org.talend.mdm.webservice.TMDMService service = (org.talend.mdm.webservice.TMDMService)globalMap.get(key);
if (service != null) {
service.logout(new org.talend.mdm.webservice.WSLogout());
}
}
} }
<% } %>
} catch (java.lang.Exception e) { } catch (java.lang.Exception e) {
} }
} }
@@ -1229,11 +1246,13 @@ if (execStat) {
<% } %> <% } %>
<% for (INode mdmNode : mdmComponentsList) {%> <% for (INode mdmNode : mdmComponentsList) {%>
connections.put("TMDMService_<%=mdmNode.getUniqueName() %>", globalMap.get("TMDMService_<%=mdmNode.getUniqueName() %>")); connections.put("mdmUrl_<%=mdmNode.getUniqueName() %>", globalMap.get("mdmUrl_<%=mdmNode.getUniqueName() %>"));
<% if( "false".equals(ElementParameterParser.getValue(mdmNode, "__AUTO_COMMIT__"))) {%> connections.put("username_<%=mdmNode.getUniqueName() %>", globalMap.get("username_<%=mdmNode.getUniqueName() %>"));
connections.put("mdmTransaction_<%=mdmNode.getUniqueName() %>", globalMap.get("mdmTransaction_<%=mdmNode.getUniqueName() %>")); connections.put("password_<%=mdmNode.getUniqueName() %>", globalMap.get("password_<%=mdmNode.getUniqueName() %>"));
<% } connections.put("useTransaction_<%=mdmNode.getUniqueName() %>", globalMap.get("useTransaction_<%=mdmNode.getUniqueName() %>"));
} %> connections.put("useClientTranId_<%=mdmNode.getUniqueName() %>", globalMap.get("useClientTranId_<%=mdmNode.getUniqueName() %>"));
<% } %>
<% for (INode paloNode : paloComponentsList) { %> <% for (INode paloNode : paloComponentsList) { %>
connections.put("p_<%=paloNode.getUniqueName() %>", globalMap.get("p_<%=paloNode.getUniqueName() %>")); connections.put("p_<%=paloNode.getUniqueName() %>", globalMap.get("p_<%=paloNode.getUniqueName() %>"));
connections.put("pConn_<%=paloNode.getUniqueName() %>", globalMap.get("pConn_<%=paloNode.getUniqueName() %>")); connections.put("pConn_<%=paloNode.getUniqueName() %>", globalMap.get("pConn_<%=paloNode.getUniqueName() %>"));

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.codegen</artifactId> <artifactId>org.talend.designer.codegen</artifactId>

View File

@@ -63,6 +63,7 @@ import org.talend.core.model.components.ComponentCategory;
import org.talend.core.model.components.ComponentManager; import org.talend.core.model.components.ComponentManager;
import org.talend.core.model.components.ComponentProviderInfo; import org.talend.core.model.components.ComponentProviderInfo;
import org.talend.core.model.components.ComponentUtilities; import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.EComponentType;
import org.talend.core.model.components.IComponent; import org.talend.core.model.components.IComponent;
import org.talend.core.model.components.IComponentsFactory; import org.talend.core.model.components.IComponentsFactory;
import org.talend.core.model.components.IComponentsHandler; import org.talend.core.model.components.IComponentsHandler;
@@ -82,6 +83,7 @@ import org.talend.designer.core.model.components.ComponentFilesNaming;
import org.talend.designer.core.model.components.EmfComponent; import org.talend.designer.core.model.components.EmfComponent;
import org.talend.designer.core.model.process.AbstractProcessProvider; import org.talend.designer.core.model.process.AbstractProcessProvider;
import org.talend.designer.core.model.process.GenericProcessProvider; import org.talend.designer.core.model.process.GenericProcessProvider;
import org.talend.designer.core.ui.editor.jobletcontainer.JobletUtil;
/** /**
* Component factory that look for each component and load their information. <br/> * Component factory that look for each component and load their information. <br/>
@@ -770,6 +772,32 @@ public class ComponentsFactory implements IComponentsFactory {
return null; return null;
} }
@Override
public IComponent getJobletComponent(String name, String paletteType) {
if (componentList == null) {
init(false);
}
for (IComponent comp : componentList) {
if(comp.getComponentType() != EComponentType.JOBLET){
continue;
}
String comName = comp.getName();
if(comp != null && paletteType.equals(comp.getPaletteType())){
if (comName.equals(name)) {
return comp;
}else if(new JobletUtil().matchExpression(comName)){
String[] names = comName.split(":"); //$NON-NLS-1$
comName = names[1];
if (comName.equals(name)) {
return comp;
}
}
}
}
return null;
}
@Override @Override
public void initializeComponents(IProgressMonitor monitor) { public void initializeComponents(IProgressMonitor monitor) {
this.monitor = monitor; this.monitor = monitor;

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.components.exchange</artifactId> <artifactId>org.talend.designer.components.exchange</artifactId>

View File

@@ -1,6 +1,7 @@
package com.talend.mdm.transaction.client; package com.talend.mdm.transaction.client;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpException;
@@ -10,26 +11,29 @@ import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.DeleteMethod; import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.PostMethod;
@SuppressWarnings("nls")
public class MDMTransaction { public class MDMTransaction {
public static final String JVM_STICKY_SESSION = "sticky_session"; //$NON-NLS-1$
public static final String DEFAULT_STICKY_SESSION = "JSESSIONID"; //$NON-NLS-1$
private String url; private String url;
private String id; private String id;
private String username; private String username;
private String password; private String password;
private String sessionId;
private List<String> cookies;
public void commit() throws IOException { public void commit() throws IOException {
HttpClient client = new HttpClient(); HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
new UsernamePasswordCredentials(username, password));
HttpMethod method = new PostMethod(url + "/" + id); HttpMethod method = new PostMethod(url + "/" + id);
method.setDoAuthentication(true); method.setDoAuthentication(true);
try { try {
method.setRequestHeader("Cookie", getStickySession() + "=" + sessionId); //$NON-NLS-1$ //$NON-NLS-2$ for (String cookie : cookies) {
method.addRequestHeader("Cookie", cookie);
}
client.executeMethod(method); client.executeMethod(method);
} catch (HttpException e) { } catch (HttpException e) {
throw e; throw e;
@@ -47,13 +51,14 @@ public class MDMTransaction {
public void rollback() throws IOException { public void rollback() throws IOException {
HttpClient client = new HttpClient(); HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
new UsernamePasswordCredentials(username, password));
HttpMethod method = new DeleteMethod(url + "/" + id); HttpMethod method = new DeleteMethod(url + "/" + id);
method.setDoAuthentication(true); method.setDoAuthentication(true);
try { try {
method.setRequestHeader("Cookie", getStickySession() + "=" + sessionId); //$NON-NLS-1$ //$NON-NLS-2$ for (String cookie : cookies) {
method.addRequestHeader("Cookie", cookie);
}
client.executeMethod(method); client.executeMethod(method);
} catch (HttpException e) { } catch (HttpException e) {
throw e; throw e;
@@ -65,7 +70,8 @@ public class MDMTransaction {
int statuscode = method.getStatusCode(); int statuscode = method.getStatusCode();
if (statuscode >= 400) { if (statuscode >= 400) {
throw new MDMTransactionException("Rollback failed. The rollback operation has returned the code " + statuscode + "."); throw new MDMTransactionException(
"Rollback failed. The rollback operation has returned the code " + statuscode + ".");
} }
} }
@@ -89,19 +95,12 @@ public class MDMTransaction {
this.password = password; this.password = password;
} }
public String getSessionId() { public List<String> getCookies() {
return sessionId; return cookies;
} }
public void setSessionId(String sessionId) { public void setCookies(List<String> cookies) {
this.sessionId = sessionId; this.cookies = cookies;
} }
public static String getStickySession() {
String stickySession = System.getProperty(JVM_STICKY_SESSION);
if(stickySession == null) {
stickySession = DEFAULT_STICKY_SESSION;
}
return stickySession;
}
} }

View File

@@ -1,6 +1,8 @@
package com.talend.mdm.transaction.client; package com.talend.mdm.transaction.client;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpClient;
@@ -10,13 +12,10 @@ import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PutMethod; import org.apache.commons.httpclient.methods.PutMethod;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@SuppressWarnings("nls")
public class MDMTransactionClient { public class MDMTransactionClient {
private static final Log LOG = LogFactory.getLog(MDMTransactionClient.class);
public static MDMTransaction newTransaction(String url, String username, String password) throws IOException { public static MDMTransaction newTransaction(String url, String username, String password) throws IOException {
HttpClient client = new HttpClient(); HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password)); client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
@@ -25,11 +24,11 @@ public class MDMTransactionClient {
PutMethod put = new PutMethod(url); PutMethod put = new PutMethod(url);
put.setDoAuthentication(true); put.setDoAuthentication(true);
String tid; String tid;
String sessionID; List<String> cookies;
try { try {
client.executeMethod(put); client.executeMethod(put);
tid = put.getResponseBodyAsString(); tid = put.getResponseBodyAsString();
sessionID = parseSessionID(put); cookies = parseCookies(put);
} catch (HttpException e) { } catch (HttpException e) {
throw e; throw e;
} catch (IOException e) { } catch (IOException e) {
@@ -43,30 +42,30 @@ public class MDMTransactionClient {
result.setId(tid); result.setId(tid);
result.setUsername(username); result.setUsername(username);
result.setPassword(password); result.setPassword(password);
result.setSessionId(sessionID); result.setCookies(cookies);
return result; return result;
} }
public static String getMDMTransactionURL(String url, boolean isNewServer) { public static String getMDMTransactionURL(String url, boolean isNewServer) {
if(url == null || "".equals(url)) { if (url == null || "".equals(url)) {
return ""; return "";
} }
int count = 3; int count = 3;
int i=0; int i = 0;
for(;i<url.length();i++) { for (; i < url.length(); i++) {
char c = url.charAt(i); char c = url.charAt(i);
if('/' == c) { if ('/' == c) {
count--; count--;
} }
if(count == 0) { if (count == 0) {
break; break;
} }
} }
String result = url.substring(0, i); String result = url.substring(0, i);
if(isNewServer){ if (isNewServer) {
result += "/talendmdm/services/rest/transactions"; result += "/talendmdm/services/rest/transactions";
} else { } else {
result += "/datamanager/services/transactions"; result += "/datamanager/services/transactions";
@@ -75,17 +74,17 @@ public class MDMTransactionClient {
return result; return result;
} }
public static String getSessionID(String url, String username, String password) throws IOException { public static List<String> getCookies(String url, String username, String password) throws IOException {
HttpClient client = new HttpClient(); HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password)); client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
client.getParams().setAuthenticationPreemptive(true); client.getParams().setAuthenticationPreemptive(true);
GetMethod get = new GetMethod(url); GetMethod get = new GetMethod(url);
get.setDoAuthentication(true); get.setDoAuthentication(true);
String sessionID; List<String> cookies;
try { try {
client.executeMethod(get); client.executeMethod(get);
sessionID = parseSessionID(get); cookies = parseCookies(get);
} catch (HttpException e) { } catch (HttpException e) {
throw e; throw e;
} catch (IOException e) { } catch (IOException e) {
@@ -93,44 +92,16 @@ public class MDMTransactionClient {
} finally { } finally {
get.releaseConnection(); get.releaseConnection();
} }
return sessionID; return cookies;
} }
private static String parseSessionID(HttpMethod method) { private static List<String> parseCookies(HttpMethod method) {
String sessionID = null; List<String> cookies = new ArrayList<String>();
String stickySession = MDMTransaction.getStickySession(); Header[] setCookie = method.getResponseHeaders("Set-Cookie");
Header[] setCookie = method.getResponseHeaders("Set-Cookie"); //$NON-NLS-1$ for (Header header : setCookie) {
for(Header header : setCookie) { cookies.add(header.getValue());
String headerValue = header.getValue();
if(headerValue.startsWith(stickySession + "=")) { //$NON-NLS-1$
int beginIndex = (stickySession + "=").length(); //$NON-NLS-1$
int endIndex = headerValue.indexOf(";", beginIndex); //$NON-NLS-1$
sessionID = headerValue.substring(beginIndex, endIndex);
break;
} }
} return cookies;
if(sessionID == null) {
if(LOG.isDebugEnabled()) {
LOG.warn("Cookie for sticky session not found!"); //$NON-NLS-1$
}
sessionID = ""; //$NON-NLS-1$
}
return sessionID;
}
public static void main(String[] args) throws IOException {
String sessionID = MDMTransactionClient.getSessionID("http://localhost:8621/talendmdm/services/rest/transactions", "administrator", "administrator");
System.out.println(sessionID);
MDMTransaction mt = MDMTransactionClient.newTransaction("http://localhost:8180/talendmdm/services/rest/transactions", "administrator", "administrator");
mt.commit();
MDMTransaction mt1 = MDMTransactionClient.newTransaction("http://localhost:8180/talendmdm/services/rest/transactions", "administrator", "administrator");
mt1.rollback();
String url = "http://localhost:8180/talend/TalendPort";
String mdmurl = MDMTransactionClient.getMDMTransactionURL(url, true);
System.out.println(mdmurl);
} }
} }

View File

@@ -11,7 +11,7 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cxf.version>3.1.1</cxf.version> <cxf.version>3.1.1</cxf.version>
<talend.nexus.url>http://newbuild.talend.com:8081</talend.nexus.url> <talend.nexus.url>https://artifacts-zl.talend.com</talend.nexus.url>
</properties> </properties>
<distributionManagement> <distributionManagement>

View File

@@ -14,7 +14,7 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<talend.nexus.url>http://newbuild.talend.com:8081</talend.nexus.url> <talend.nexus.url>https://artifacts-zl.talend.com</talend.nexus.url>
</properties> </properties>
<distributionManagement> <distributionManagement>

View File

@@ -15,7 +15,7 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cxf.version>3.1.1</cxf.version> <cxf.version>3.1.1</cxf.version>
<talend.nexus.url>http://newbuild.talend.com:8081</talend.nexus.url> <talend.nexus.url>https://artifacts-zl.talend.com</talend.nexus.url>
</properties> </properties>
<distributionManagement> <distributionManagement>

View File

@@ -11,7 +11,7 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cxf.version>3.1.1</cxf.version> <cxf.version>3.1.1</cxf.version>
<talend.nexus.url>http://newbuild.talend.com:8081</talend.nexus.url> <talend.nexus.url>https://artifacts-zl.talend.com</talend.nexus.url>
</properties> </properties>
<distributionManagement> <distributionManagement>

View File

@@ -15,7 +15,7 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<cxf.version>3.1.1</cxf.version> <cxf.version>3.1.1</cxf.version>
<talend.nexus.url>http://newbuild.talend.com:8081</talend.nexus.url> <talend.nexus.url>https://artifacts-zl.talend.com</talend.nexus.url>
</properties> </properties>
<distributionManagement> <distributionManagement>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.components.libs</artifactId> <artifactId>org.talend.designer.components.libs</artifactId>

View File

@@ -36,6 +36,7 @@ String trans = "mdmTrans_" + connection;
org.talend.mdm.bulkload.client.BulkloadClient bulkloadClient_<%=cid %> = new org.talend.mdm.bulkload.client.BulkloadClient(<%=mdmUrl %>, <%=username %>, decryptedPassword_<%=cid %>, null, <%=dataCluster %> + "<%=isStaging?"#STAGING":""%>", <%=dataEntity %>, <%=dataModule %>); org.talend.mdm.bulkload.client.BulkloadClient bulkloadClient_<%=cid %> = new org.talend.mdm.bulkload.client.BulkloadClient(<%=mdmUrl %>, <%=username %>, decryptedPassword_<%=cid %>, null, <%=dataCluster %> + "<%=isStaging?"#STAGING":""%>", <%=dataEntity %>, <%=dataModule %>);
<%if(useTransaction) {%> <%if(useTransaction) {%>
if(globalMap.get("useTransaction_<%=connection %>") != null && (Boolean)globalMap.get("useTransaction_<%=connection %>")) {
String transKey_<%=cid %> = "<%=trans%>_" + Thread.currentThread().getThreadGroup().getName(); String transKey_<%=cid %> = "<%=trans%>_" + Thread.currentThread().getThreadGroup().getName();
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null) { if(mdmTransaction_<%=cid %> == null) {
@@ -47,13 +48,13 @@ org.talend.mdm.bulkload.client.BulkloadClient bulkloadClient_<%=cid %> = new org
String username_<%=cid %> = (String)globalMap.get("username_<%=connection %>"); String username_<%=cid %> = (String)globalMap.get("username_<%=connection %>");
String password_<%=cid %> = (String)globalMap.get("password_<%=connection %>"); String password_<%=cid %> = (String)globalMap.get("password_<%=connection %>");
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) { if((Boolean)globalMap.get("useClientTranId_<%=connection %>")) {
String sessionID_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid %>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
} else { } else {
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -62,7 +63,8 @@ org.talend.mdm.bulkload.client.BulkloadClient bulkloadClient_<%=cid %> = new org
<% logUtil.debug("\"Got transaction successfully with key=\" + transKey_" + cid);%> <% logUtil.debug("\"Got transaction successfully with key=\" + transKey_" + cid);%>
} }
bulkloadClient_<%=cid %>.setTransactionId(mdmTransaction_<%=cid %>.getId()); bulkloadClient_<%=cid %>.setTransactionId(mdmTransaction_<%=cid %>.getId());
bulkloadClient_<%=cid %>.setSessionId(mdmTransaction_<%=cid%>.getSessionId()); bulkloadClient_<%=cid %>.setCookies(mdmTransaction_<%=cid%>.getCookies());
}
<%}%> <%}%>
bulkloadClient_<%=cid %>.startThreadCount(); bulkloadClient_<%=cid %>.startThreadCount();

View File

@@ -71,13 +71,13 @@ int nb_line_<%=cid %> = 0;
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null){ if(mdmTransaction_<%=cid %> == null){
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){ if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid%>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
}else{ }else{
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -89,8 +89,7 @@ int nb_line_<%=cid %> = 0;
context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>);
java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>(); java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>();
String cookie_<%=cid %> = com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId(); httpHeaders_<%=cid %>.put("Cookie", mdmTransaction_<%=cid %>.getCookies());
httpHeaders_<%=cid %>.put("Cookie", java.util.Arrays.asList(cookie_<%=cid %>));
context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>);
globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>); globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>);

View File

@@ -139,13 +139,13 @@ int nb_line_rejected_<%=cid %> = 0;
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null){ if(mdmTransaction_<%=cid %> == null){
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){ if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid%>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
}else{ }else{
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -157,8 +157,7 @@ int nb_line_rejected_<%=cid %> = 0;
context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>);
java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>(); java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>();
String cookie_<%=cid %> = com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId(); httpHeaders_<%=cid %>.put("Cookie", mdmTransaction_<%=cid %>.getCookies());
httpHeaders_<%=cid %>.put("Cookie", java.util.Arrays.asList(cookie_<%=cid %>));
context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>);
globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>); globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>);

View File

@@ -114,13 +114,13 @@ if ((metadatas != null) && (metadatas.size() > 0)) {//1
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null){ if(mdmTransaction_<%=cid %> == null){
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){ if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid%>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
}else{ }else{
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -132,8 +132,7 @@ if ((metadatas != null) && (metadatas.size() > 0)) {//1
context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>);
java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>(); java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>();
String cookie_<%=cid %> = com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId(); httpHeaders_<%=cid %>.put("Cookie", mdmTransaction_<%=cid %>.getCookies());
httpHeaders_<%=cid %>.put("Cookie", java.util.Arrays.asList(cookie_<%=cid %>));
context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>);
globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>); globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>);

View File

@@ -76,13 +76,13 @@ int nb_line_<%=cid %> = 0;
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null){ if(mdmTransaction_<%=cid %> == null){
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){ if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid%>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
}else{ }else{
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -94,8 +94,7 @@ int nb_line_<%=cid %> = 0;
context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>);
java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>(); java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>();
String cookie_<%=cid %> = com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId(); httpHeaders_<%=cid %>.put("Cookie", mdmTransaction_<%=cid %>.getCookies());
httpHeaders_<%=cid %>.put("Cookie", java.util.Arrays.asList(cookie_<%=cid %>));
context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>);
globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>); globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>);

View File

@@ -69,13 +69,13 @@ int nb_line_<%=cid %> = 0;
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null){ if(mdmTransaction_<%=cid %> == null){
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){ if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid%>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
}else{ }else{
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -87,8 +87,7 @@ int nb_line_<%=cid %> = 0;
context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>);
java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>(); java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>();
String cookie_<%=cid %> = com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId(); httpHeaders_<%=cid %>.put("Cookie", mdmTransaction_<%=cid %>.getCookies());
httpHeaders_<%=cid %>.put("Cookie", java.util.Arrays.asList(cookie_<%=cid %>));
context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>);
globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>); globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>);

View File

@@ -112,13 +112,13 @@ if ((metadatas != null) && (metadatas.size() > 0)) {
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null){ if(mdmTransaction_<%=cid %> == null){
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){ if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid%>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
}else{ }else{
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -130,8 +130,7 @@ if ((metadatas != null) && (metadatas.size() > 0)) {
context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>);
java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>(); java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>();
String cookie_<%=cid %> = com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId(); httpHeaders_<%=cid %>.put("Cookie", mdmTransaction_<%=cid %>.getCookies());
httpHeaders_<%=cid %>.put("Cookie", java.util.Arrays.asList(cookie_<%=cid %>));
context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>);
globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>); globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>);

View File

@@ -143,13 +143,13 @@ int nb_line_rejected_<%=cid %> = 0;
com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>); com.talend.mdm.transaction.client.MDMTransaction mdmTransaction_<%=cid %> = (com.talend.mdm.transaction.client.MDMTransaction)globalMap.get(transKey_<%=cid %>);
if(mdmTransaction_<%=cid %> == null){ if(mdmTransaction_<%=cid %> == null){
if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){ if((Boolean)globalMap.get("useClientTranId_<%=connection %>")){
String sessionID_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getSessionID(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>); List<String> cookies_<%=cid%> = com.talend.mdm.transaction.client.MDMTransactionClient.getCookies(turl_<%=cid%>,username_<%=cid%>,password_<%=cid%>);
mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction(); mdmTransaction_<%=cid %> = new com.talend.mdm.transaction.client.MDMTransaction();
mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>); mdmTransaction_<%=cid %>.setUrl(turl_<%=cid %>);
mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID()); mdmTransaction_<%=cid %>.setId("<%=cid %>_" + java.util.UUID.randomUUID());
mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>); mdmTransaction_<%=cid %>.setUsername(username_<%=cid %>);
mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>); mdmTransaction_<%=cid %>.setPassword(password_<%=cid %>);
mdmTransaction_<%=cid %>.setSessionId(sessionID_<%=cid%>); mdmTransaction_<%=cid %>.setCookies(cookies_<%=cid%>);
}else{ }else{
<% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%> <% logUtil.debug("\"Attempt to get a remote transaction from url: \" + murl_" + cid);%>
mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>); mdmTransaction_<%=cid %> = com.talend.mdm.transaction.client.MDMTransactionClient.newTransaction(turl_<%=cid %>,username_<%=cid %>,password_<%=cid %>);
@@ -161,8 +161,7 @@ int nb_line_rejected_<%=cid %> = 0;
context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.headers.Header.HEADER_LIST, soapHeaders_<%=cid %>);
java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>(); java.util.Map<String, java.util.List<String>> httpHeaders_<%=cid %> = new java.util.HashMap<String, java.util.List<String>>();
String cookie_<%=cid %> = com.talend.mdm.transaction.client.MDMTransaction.getStickySession() + "=" + mdmTransaction_<%=cid%>.getSessionId(); httpHeaders_<%=cid %>.put("Cookie", mdmTransaction_<%=cid %>.getCookies());
httpHeaders_<%=cid %>.put("Cookie", java.util.Arrays.asList(cookie_<%=cid %>));
context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>); context_<%=cid %>.put(org.apache.cxf.message.Message.PROTOCOL_HEADERS, httpHeaders_<%=cid %>);
globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>); globalMap.put(transKey_<%=cid %>, mdmTransaction_<%=cid %>);

View File

@@ -203,12 +203,12 @@ for(int i = 0; i &lt; result.length; i++){
<IMPORTS> <IMPORTS>
<IMPORT NAME="WebServiceInput" MODULE="WebServiceInput.jar" MVN="mvn:org.talend.libraries/WebServiceInput/6.0.0" <IMPORT NAME="WebServiceInput" MODULE="WebServiceInput.jar" MVN="mvn:org.talend.libraries/WebServiceInput/6.0.0"
REQUIRED="true" /> REQUIRED="true" />
<IMPORT NAME="SOAP-axis" MODULE="axis.jar" MVN="mvn:org.talend.libraries/axis/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.apache.axis2/lib/axis.jar" REQUIRED="true" /> <IMPORT NAME="SOAP-axis" MODULE="axis-p1.jar" MVN="mvn:org.talend.libraries/axis-p1/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.apache.axis2/lib/axis-p1.jar" REQUIRED="true" />
<IMPORT NAME="SOAP-jaxrpc" MODULE="jaxrpc.jar" MVN="mvn:org.talend.libraries/jaxrpc/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.jax/lib/jaxrpc.jar" <IMPORT NAME="SOAP-jaxrpc" MODULE="jaxrpc.jar" MVN="mvn:org.talend.libraries/jaxrpc/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.jax/lib/jaxrpc.jar"
REQUIRED="true" /> REQUIRED="true" />
<IMPORT NAME="SOAP-saaj" MODULE="saaj.jar" MVN="mvn:org.talend.libraries/saaj/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.saaj/lib/saaj.jar" REQUIRED="true" /> <IMPORT NAME="SOAP-saaj" MODULE="saaj.jar" MVN="mvn:org.talend.libraries/saaj/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.saaj/lib/saaj.jar" REQUIRED="true" />
<IMPORT NAME="WSDL4J-1_6_3" MODULE="wsdl4j-1.6.3.jar" MVN="mvn:org.talend.libraries/wsdl4j-1.6.3/6.0.0" <IMPORT NAME="WSDL4J-1_6_3" MODULE="wsdl4j-1.6.3.jar" MVN="mvn:org.talend.libraries/wsdl4j-1.6.3/6.0.0"
BundleID="org.apache.servicemix.bundles.wsdl4j" REQUIRED="true" /> REQUIRED="true" />
<IMPORT NAME="SOAP-discovery" <IMPORT NAME="SOAP-discovery"
MODULE="commons-discovery-0.2.jar" MVN="mvn:org.talend.libraries/commons-discovery-0.2/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-discovery-0.2.jar" REQUIRED="true" /> MODULE="commons-discovery-0.2.jar" MVN="mvn:org.talend.libraries/commons-discovery-0.2/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-discovery-0.2.jar" REQUIRED="true" />
<IMPORT NAME="SOAP-logging" MODULE="commons-logging-1.1.jar" MVN="mvn:org.talend.libraries/commons-logging-1.1/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-logging-1.1.jar" <IMPORT NAME="SOAP-logging" MODULE="commons-logging-1.1.jar" MVN="mvn:org.talend.libraries/commons-logging-1.1/6.0.0" UrlPath="platform:/plugin/org.talend.libraries.apache.common/lib/commons-logging-1.1.jar"

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.components.localprovider</artifactId> <artifactId>org.talend.designer.components.localprovider</artifactId>

View File

@@ -133,6 +133,11 @@
name="widget.type.jsonTable" name="widget.type.jsonTable"
widgetType="widget.type.jsonTable"> widgetType="widget.type.jsonTable">
</Mapping> </Mapping>
<Mapping
mapFieldType="DIRECTORY"
name="widget.type.directory"
widgetType="widget.type.directory">
</Mapping>
</extension> </extension>
<extension <extension
point="org.talend.designer.core.generators"> point="org.talend.designer.core.generators">

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.core.generic</artifactId> <artifactId>org.talend.designer.core.generic</artifactId>

View File

@@ -378,7 +378,7 @@ public class GenericElementParameter extends ElementParameter {
return; return;
} }
for (IElementParameter parameter : schemaParameters) { for (IElementParameter parameter : schemaParameters) {
if (currentContext.equals(parameter.getContext())) { if (parameter != this && currentContext.equals(parameter.getContext())) {
parameter.setValue(newSchema); parameter.setValue(newSchema);
} }
} }

View File

@@ -15,6 +15,8 @@ tSalesforceConnection.bulkConnection=BULK_CONNECTION
tSalesforceConnection.needCompression=NEED_COMPRESSION tSalesforceConnection.needCompression=NEED_COMPRESSION
tSalesforceConnection.httpTraceMessage=HTTP_TRACEMESSAGE tSalesforceConnection.httpTraceMessage=HTTP_TRACEMESSAGE
tSalesforceConnection.httpChunked=USE_HTTP_CHUNKED tSalesforceConnection.httpChunked=USE_HTTP_CHUNKED
tSalesforceConnection.reuseSession=USE_SAVE_SESSION
tSalesforceConnection.sessionDirectory=SESSION_DIRECTORY
tSalesforceConnection.clientId=CLIENT_ID tSalesforceConnection.clientId=CLIENT_ID
tSalesforceConnection.timeout=TIMEOUT tSalesforceConnection.timeout=TIMEOUT
tSalesforceConnection.proxy.useProxy=USE_PROXY tSalesforceConnection.proxy.useProxy=USE_PROXY
@@ -51,6 +53,8 @@ tSalesforceInput.connection.bulkConnection=CONNECTION
tSalesforceInput.connection.needCompression=NEED_COMPRESSION tSalesforceInput.connection.needCompression=NEED_COMPRESSION
tSalesforceInput.connection.httpTraceMessage=HTTP_TRACEMESSAGE tSalesforceInput.connection.httpTraceMessage=HTTP_TRACEMESSAGE
tSalesforceInput.connection.httpChunked=USE_HTTP_CHUNKED tSalesforceInput.connection.httpChunked=USE_HTTP_CHUNKED
tSalesforceInput.connection.reuseSession=USE_SAVE_SESSION
tSalesforceInput.connection.sessionDirectory=SESSION_DIRECTORY
tSalesforceInput.connection.clientId=CLIENT_ID tSalesforceInput.connection.clientId=CLIENT_ID
tSalesforceInput.connection.timeout=TIMEOUT tSalesforceInput.connection.timeout=TIMEOUT
tSalesforceInput.connection.proxy.useProxy=USE_PROXY tSalesforceInput.connection.proxy.useProxy=USE_PROXY
@@ -87,6 +91,8 @@ tSalesforceOutput.connection.bulkConnection=CONNECTION
tSalesforceOutput.connection.needCompression=NEED_COMPRESSION tSalesforceOutput.connection.needCompression=NEED_COMPRESSION
tSalesforceOutput.connection.httpTraceMessage=HTTP_TRACEMESSAGE tSalesforceOutput.connection.httpTraceMessage=HTTP_TRACEMESSAGE
tSalesforceOutput.connection.httpChunked=USE_HTTP_CHUNKED tSalesforceOutput.connection.httpChunked=USE_HTTP_CHUNKED
tSalesforceOutput.connection.reuseSession=USE_SAVE_SESSION
tSalesforceOutput.connection.sessionDirectory=SESSION_DIRECTORY
tSalesforceOutput.connection.clientId=CLIENT_ID tSalesforceOutput.connection.clientId=CLIENT_ID
tSalesforceOutput.connection.timeout=TIMEOUT tSalesforceOutput.connection.timeout=TIMEOUT
tSalesforceOutput.connection.proxy.useProxy=USE_PROXY tSalesforceOutput.connection.proxy.useProxy=USE_PROXY
@@ -174,6 +180,8 @@ tSalesforceGetDeleted.connection.bulkConnection=CONNECTION
tSalesforceGetDeleted.connection.needCompression=NEED_COMPRESSION tSalesforceGetDeleted.connection.needCompression=NEED_COMPRESSION
tSalesforceGetDeleted.connection.httpTraceMessage=HTTP_TRACEMESSAGE tSalesforceGetDeleted.connection.httpTraceMessage=HTTP_TRACEMESSAGE
tSalesforceGetDeleted.connection.httpChunked=USE_HTTP_CHUNKED tSalesforceGetDeleted.connection.httpChunked=USE_HTTP_CHUNKED
tSalesforceGetDeleted.connection.reuseSession=USE_SAVE_SESSION
tSalesforceGetDeleted.connection.sessionDirectory=SESSION_DIRECTORY
tSalesforceGetDeleted.connection.clientId=CLIENT_ID tSalesforceGetDeleted.connection.clientId=CLIENT_ID
tSalesforceGetDeleted.connection.timeout=TIMEOUT tSalesforceGetDeleted.connection.timeout=TIMEOUT
tSalesforceGetDeleted.connection.proxy.useProxy=USE_PROXY tSalesforceGetDeleted.connection.proxy.useProxy=USE_PROXY
@@ -205,6 +213,8 @@ tSalesforceGetUpdated.connection.bulkConnection=CONNECTION
tSalesforceGetUpdated.connection.needCompression=NEED_COMPRESSION tSalesforceGetUpdated.connection.needCompression=NEED_COMPRESSION
tSalesforceGetUpdated.connection.httpTraceMessage=HTTP_TRACEMESSAGE tSalesforceGetUpdated.connection.httpTraceMessage=HTTP_TRACEMESSAGE
tSalesforceGetUpdated.connection.httpChunked=USE_HTTP_CHUNKED tSalesforceGetUpdated.connection.httpChunked=USE_HTTP_CHUNKED
tSalesforceGetUpdated.connection.reuseSession=USE_SAVE_SESSION
tSalesforceGetUpdated.connection.sessionDirectory=SESSION_DIRECTORY
tSalesforceGetUpdated.connection.clientId=CLIENT_ID tSalesforceGetUpdated.connection.clientId=CLIENT_ID
tSalesforceGetUpdated.connection.timeout=TIMEOUT tSalesforceGetUpdated.connection.timeout=TIMEOUT
tSalesforceGetUpdated.connection.proxy.useProxy=USE_PROXY tSalesforceGetUpdated.connection.proxy.useProxy=USE_PROXY
@@ -277,6 +287,8 @@ tSalesforceGetServerTimestamp.module.main.schema=SCHEMA
tSalesforceGetServerTimestamp.module.main.schema.connector=FLOW->MAIN tSalesforceGetServerTimestamp.module.main.schema.connector=FLOW->MAIN
tSalesforceGetServerTimestamp.connection.needCompression=NEED_COMPRESSION tSalesforceGetServerTimestamp.connection.needCompression=NEED_COMPRESSION
tSalesforceGetServerTimestamp.connection.httpChunked=USE_HTTP_CHUNKED tSalesforceGetServerTimestamp.connection.httpChunked=USE_HTTP_CHUNKED
tSalesforceGetServerTimestamp.connection.reuseSession=USE_SAVE_SESSION
tSalesforceGetServerTimestamp.connection.sessionDirectory=SESSION_DIRECTORY
tSalesforceGetServerTimestamp.connection.clientId=CLIENT_ID tSalesforceGetServerTimestamp.connection.clientId=CLIENT_ID
tSalesforceGetServerTimestamp.connection.timeout=TIMEOUT tSalesforceGetServerTimestamp.connection.timeout=TIMEOUT
tSalesforceGetServerTimestamp.connection.proxy.useProxy=USE_PROXY tSalesforceGetServerTimestamp.connection.proxy.useProxy=USE_PROXY

View File

@@ -848,5 +848,12 @@
activate="true" activate="true"
class="org.talend.designer.core.ui.viewer.proposal.TalendCompletionProposalComputer"> class="org.talend.designer.core.ui.viewer.proposal.TalendCompletionProposalComputer">
</javaCompletionProposalComputer> </javaCompletionProposalComputer>
</extension>
<extension
point="org.talend.core.repository.login.task">
<loginTask
class="org.talend.designer.core.ui.preferences.PreferencePreInitailizeTask"
priority="normal">
</loginTask>
</extension> </extension>
</plugin> </plugin>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>org.talend.studio</groupId> <groupId>org.talend.studio</groupId>
<artifactId>tdi-studio-se</artifactId> <artifactId>tdi-studio-se</artifactId>
<version>6.3.1-SNAPSHOT</version> <version>6.3.1</version>
<relativePath>../../../</relativePath> <relativePath>../../../</relativePath>
</parent> </parent>
<artifactId>org.talend.designer.core</artifactId> <artifactId>org.talend.designer.core</artifactId>

View File

@@ -730,6 +730,8 @@ PerformancePreferencePage.checkVersion=Check only the last version when updating
PerformancePreferencePage.addOrDeleteVariable=Propagate add/delete variable changes in repository contexts PerformancePreferencePage.addOrDeleteVariable=Propagate add/delete variable changes in repository contexts
PerformancePreferencePage.ActivedTimeoutSetting=Activate the timeout for database connection. PerformancePreferencePage.ActivedTimeoutSetting=Activate the timeout for database connection.
PerformancePreferencePage.ConnectionTimeout=Connection timeout (seconds) PerformancePreferencePage.ConnectionTimeout=Connection timeout (seconds)
PerformancePreferencePage.HBaseOrMaprDBScanLimit=HBase/MapR-DB scan limit (for retrieving schema)
PerformancePreferencePage.HBaseOrMaprDBScanLimitTip=If set it by zero, will be same as deactiving the limit.
PerformancePreferencePage.CodeFormatTimeout=Code Format timeout (seconds) PerformancePreferencePage.CodeFormatTimeout=Code Format timeout (seconds)
PerformancePreferencePage.ConnectionTimeoutTip=If set it by zero, will be same as deactiving the timeout. PerformancePreferencePage.ConnectionTimeoutTip=If set it by zero, will be same as deactiving the timeout.
PerformancePreferencePage.autoUpdateDoc=Automatic update of corresponding documentation of job/joblet PerformancePreferencePage.autoUpdateDoc=Automatic update of corresponding documentation of job/joblet
@@ -952,3 +954,16 @@ MainComposite.NameFormatError=Name contains incorrect characters.
MainComposite.SameAsProjectname=Name is same as project name. MainComposite.SameAsProjectname=Name is same as project name.
ProcessController.UseDynamicJobSelectionDialog.message=Context param will be retreive from job : {0} ! ProcessController.UseDynamicJobSelectionDialog.message=Context param will be retreive from job : {0} !
InstallModuleDialog.text=Module
InstallModuleDialog.message=Select a module !
InstallModuleDialog.platfromBtn=Platform
InstallModuleDialog.repositoryBtn=Artifact Repository(local m2/nexus)
InstallModuleDialog.repository.name=File Name
InstallModuleDialog.repository.mvnURI=Maven URI
InstallModuleDialog.repository.name.error=Please input a valid module name !
InstallModuleDialog.repository.message=Please input the jar name and click the detect button !
InstallModuleDialog.repository.error=This jar is not installed in the artifact repository, please install it !
InstallModuleDialog.detectButton.text=Detect artifact install status
InstallModuleDialog.browseFileBtn=Browse a Module File
InstallModuleDialog.browseFile.error=Please select a file to install !

View File

@@ -733,6 +733,16 @@ public class DesignerCoreService implements IDesignerCoreService {
return 0; return 0;
} }
@Override
public int getHBaseOrMaprDBScanLimit() {
final IPreferenceStore preferenceStore = DesignerPlugin.getDefault().getPreferenceStore();
if (preferenceStore != null) {
return preferenceStore.getInt(ITalendCorePrefConstants.HBASE_OR_MAPRDB_SCAN_LIMIT);
}
// disable
return 0;
}
/* /*
* (non-Javadoc) * (non-Javadoc)
* *

View File

@@ -12,12 +12,14 @@
// ============================================================================ // ============================================================================
package org.talend.designer.core; package org.talend.designer.core;
import org.eclipse.jface.action.IAction;
import org.talend.commons.exception.PersistenceException; import org.talend.commons.exception.PersistenceException;
import org.talend.core.IService; import org.talend.core.IService;
import org.talend.core.model.properties.ProcessItem; import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.Property; import org.talend.core.model.properties.Property;
import org.talend.designer.core.ui.editor.ProcessEditorInput; import org.talend.designer.core.ui.editor.ProcessEditorInput;
import org.talend.designer.core.ui.editor.process.Process; import org.talend.designer.core.ui.editor.process.Process;
import org.talend.repository.model.RepositoryNode;
/** /**
* DOC talend class global comment. Detailled comment * DOC talend class global comment. Detailled comment
@@ -28,6 +30,8 @@ public interface ICreateMRProcessService extends IService {
public ProcessEditorInput getMRProcessEditorInput(ProcessItem processItem, boolean load) throws PersistenceException; public ProcessEditorInput getMRProcessEditorInput(ProcessItem processItem, boolean load) throws PersistenceException;
public ProcessEditorInput getMRProcessEditorInput(ProcessItem processItem, boolean load, boolean lastVersion, boolean readOnly) public ProcessEditorInput getMRProcessEditorInput(ProcessItem processItem, boolean load, boolean lastVersion,
throws PersistenceException; boolean readOnly) throws PersistenceException;
public IAction getEditProcessAction(RepositoryNode result);
} }

View File

@@ -12,12 +12,14 @@
// ============================================================================ // ============================================================================
package org.talend.designer.core; package org.talend.designer.core;
import org.eclipse.jface.action.IAction;
import org.talend.commons.exception.PersistenceException; import org.talend.commons.exception.PersistenceException;
import org.talend.core.IService; import org.talend.core.IService;
import org.talend.core.model.properties.ProcessItem; import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.Property; import org.talend.core.model.properties.Property;
import org.talend.designer.core.ui.editor.ProcessEditorInput; import org.talend.designer.core.ui.editor.ProcessEditorInput;
import org.talend.designer.core.ui.editor.process.Process; import org.talend.designer.core.ui.editor.process.Process;
import org.talend.repository.model.RepositoryNode;
/** /**
* DOC zwzhao class global comment. Detailled comment * DOC zwzhao class global comment. Detailled comment
@@ -34,4 +36,6 @@ public interface ICreateStormProcessService extends IService {
public ProcessEditorInput getStromProcessEditorInput(ProcessItem processItem, boolean load, boolean lastVersion, public ProcessEditorInput getStromProcessEditorInput(ProcessItem processItem, boolean load, boolean lastVersion,
boolean readOnly) throws PersistenceException; boolean readOnly) throws PersistenceException;
public IAction getEditProcessAction(RepositoryNode result);
} }

View File

@@ -161,4 +161,9 @@ public abstract class AbstractComponent implements IComponent {
public boolean isAllowedPropagated() { public boolean isAllowedPropagated() {
return true; return true;
} }
@Override
public String getOriginalName(){
return getName();
}
} }

View File

@@ -434,17 +434,19 @@ public class ConnectionManager {
String connectorName, String connectionName) { String connectorName, String connectionName) {
newlineStyle = lineStyle; newlineStyle = lineStyle;
boolean isMainConn = lineStyle==EConnectionType.FLOW_MAIN ;
if (source.equals(newTarget)) { if (source.equals(newTarget)) {
return false; return false;
} }
if ((source.getDesignSubjobStartNode().getOutgoingConnections(EConnectionType.ON_SUBJOB_OK).size() != 0 || source final INode designSubjobStartNode = source.getDesignSubjobStartNode();
.getDesignSubjobStartNode().getOutgoingConnections(EConnectionType.ON_SUBJOB_ERROR).size() != 0) if ((designSubjobStartNode.getOutgoingConnections(EConnectionType.ON_SUBJOB_OK).size() != 0 ||
&& !newTarget.checkIfCanBeStart() && !((Node) newTarget).isJoblet()) { designSubjobStartNode.getOutgoingConnections(EConnectionType.ON_SUBJOB_ERROR).size() != 0)
&& !newTarget.checkIfCanBeStart() && isMainConn && !((Node) newTarget).isJoblet()) {
return false; return false;
} }
if ((source.getDesignSubjobStartNode().getIncomingConnections(EConnectionType.ON_SUBJOB_OK).size() != 0 || source if ((designSubjobStartNode.getIncomingConnections(EConnectionType.ON_SUBJOB_OK).size() != 0 ||
.getDesignSubjobStartNode().getIncomingConnections(EConnectionType.ON_SUBJOB_ERROR).size() != 0) designSubjobStartNode.getIncomingConnections(EConnectionType.ON_SUBJOB_ERROR).size() != 0)
&& !newTarget.checkIfCanBeStart() && !((Node) newTarget).isJoblet()) { && !newTarget.checkIfCanBeStart() && isMainConn && !((Node) newTarget).isJoblet()) {
return false; return false;
} }
if (newTarget.getJobletNode() != null) { if (newTarget.getJobletNode() != null) {

View File

@@ -216,6 +216,11 @@ public class JobContextLoadComponent implements IComponent {
return this.getClass().getName(); return this.getClass().getName();
} }
@Override
public String getOriginalName(){
return getName();
}
@Override @Override
public String getOriginalFamilyName() { public String getOriginalFamilyName() {
return "Virtual"; //$NON-NLS-1$ return "Virtual"; //$NON-NLS-1$

View File

@@ -132,6 +132,11 @@ public abstract class AbstractStatsLogsComponent implements IComponent {
return this.getClass().getName(); return this.getClass().getName();
} }
@Override
public String getOriginalName(){
return getName();
}
// no use for virtual component // no use for virtual component
@Override @Override
public String getPathSource() { public String getPathSource() {

View File

@@ -20,7 +20,9 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IPreferenceStore;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.conn.DatabaseConnStrUtil; import org.talend.core.database.conn.DatabaseConnStrUtil;
import org.talend.core.language.ECodeLanguage; import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager; import org.talend.core.language.LanguageManager;
@@ -551,6 +553,15 @@ public class StatsAndLogsManager {
private static void setConnectionParameter(DataNode connectionNode, IProcess process, String connectionUID, private static void setConnectionParameter(DataNode connectionNode, IProcess process, String connectionUID,
DataNode dataNode, List<DataNode> nodeList) { DataNode dataNode, List<DataNode> nodeList) {
// db type
String dbType = null;
IElementParameter dbTypeParameter = connectionNode.getElementParameter("TYPE");//$NON-NLS-1$
if (dbTypeParameter != null) {
Object dbTypeObj = dbTypeParameter.getValue();
if (dbTypeObj != null) {
dbType = dbTypeObj.toString();
}
}
if (connectionNode.getElementParameter(EParameterName.HOST.getName()) != null) { if (connectionNode.getElementParameter(EParameterName.HOST.getName()) != null) {
connectionNode.getElementParameter(EParameterName.HOST.getName()).setValue( connectionNode.getElementParameter(EParameterName.HOST.getName()).setValue(
process.getElementParameter(EParameterName.HOST.getName()).getValue()); process.getElementParameter(EParameterName.HOST.getName()).getValue());
@@ -619,6 +630,12 @@ public class StatsAndLogsManager {
connectionNode.getElementParameter(EParameterName.DB_VERSION.getName()).setValue( connectionNode.getElementParameter(EParameterName.DB_VERSION.getName()).setValue(
process.getElementParameter(EParameterName.DB_VERSION.getName()).getValue()); process.getElementParameter(EParameterName.DB_VERSION.getName()).getValue());
} }
if (StringUtils.isNotEmpty(dbType) && EDatabaseTypeName.MSSQL.getXmlName().equalsIgnoreCase(dbType)) {
if (connectionNode.getElementParameter("DRIVER") != null) {//$NON-NLS-1$
connectionNode.getElementParameter("DRIVER") //$NON-NLS-1$
.setValue(process.getElementParameter(EParameterName.DB_VERSION.getName()).getValue());
}
}
if (connectionNode.getElementParameter(EParameterName.PROPERTIES.getName()) != null) { if (connectionNode.getElementParameter(EParameterName.PROPERTIES.getName()) != null) {
connectionNode.getElementParameter(EParameterName.PROPERTIES.getName()).setValue( connectionNode.getElementParameter(EParameterName.PROPERTIES.getName()).setValue(
process.getElementParameter(EParameterName.PROPERTIES.getName()).getValue()); process.getElementParameter(EParameterName.PROPERTIES.getName()).getValue());

View File

@@ -18,7 +18,6 @@ import java.util.List;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Event;
import org.eclipse.ui.IActionDelegate2; import org.eclipse.ui.IActionDelegate2;
import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindow;
@@ -26,6 +25,7 @@ import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.talend.core.PluginChecker; import org.talend.core.PluginChecker;
import org.talend.core.model.repository.ERepositoryObjectType; import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.designer.core.i18n.Messages; import org.talend.designer.core.i18n.Messages;
import org.talend.designer.core.utils.DesignerUtilities;
import org.talend.repository.ui.dialog.OpenJobSelectionDialog; import org.talend.repository.ui.dialog.OpenJobSelectionDialog;
import org.talend.repository.ui.dialog.RepositoryReviewDialog; import org.talend.repository.ui.dialog.RepositoryReviewDialog;
@@ -52,20 +52,10 @@ public class OpenJobAction extends Action implements IWorkbenchWindowActionDeleg
final OpenJobSelectionDialog dialog = new OpenJobSelectionDialog(window.getShell(), repObjectTypes); final OpenJobSelectionDialog dialog = new OpenJobSelectionDialog(window.getShell(), repObjectTypes);
if (dialog.open() == RepositoryReviewDialog.OK) { if (dialog.open() == RepositoryReviewDialog.OK) {
EditProcess editProcess = new EditProcess() { IAction action = DesignerUtilities.getEditProcessAction(dialog.getResult());
if (action != null) {
/* action.run();
* (non-Javadoc)
*
* @see org.talend.repository.ui.actions.AContextualAction#getSelection()
*/
@Override
public ISelection getSelection() {
return new StructuredSelection(dialog.getResult());
} }
};
editProcess.run();
} }
} }

View File

@@ -21,6 +21,7 @@ import org.talend.designer.core.i18n.Messages;
import org.talend.designer.core.model.components.EParameterName; import org.talend.designer.core.model.components.EParameterName;
import org.talend.designer.core.ui.editor.process.Process; import org.talend.designer.core.ui.editor.process.Process;
import org.talend.designer.core.ui.editor.properties.controllers.ConnectionListController; import org.talend.designer.core.ui.editor.properties.controllers.ConnectionListController;
import org.talend.designer.core.utils.UpgradeElementHelper;
/** /**
* Command that change the label of a connection. <br/> * Command that change the label of a connection. <br/>
@@ -86,6 +87,9 @@ public class ChangeConnTextCommand extends Command {
if (externalNode != null) { if (externalNode != null) {
externalNode.renameOutputConnection(oldName, newName); externalNode.renameOutputConnection(oldName, newName);
} }
UpgradeElementHelper.renameData(connection.getTarget(), oldName, newName);
((Process) connection.getSource().getProcess()).checkProcess(); ((Process) connection.getSource().getProcess()).checkProcess();
} }
@@ -120,6 +124,8 @@ public class ChangeConnTextCommand extends Command {
if (externalNode != null) { if (externalNode != null) {
externalNode.renameOutputConnection(newName, oldName); externalNode.renameOutputConnection(newName, oldName);
} }
UpgradeElementHelper.renameData(connection.getTarget(), newName, oldName);
((Process) connection.getSource().getProcess()).checkProcess(); ((Process) connection.getSource().getProcess()).checkProcess();
} }
} }

View File

@@ -13,6 +13,8 @@
package org.talend.designer.core.ui.editor.cmd; package org.talend.designer.core.ui.editor.cmd;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; import java.util.List;
import org.eclipse.gef.commands.Command; import org.eclipse.gef.commands.Command;
@@ -61,17 +63,31 @@ public class ChangeOutputConnectionOrderCommand extends Command {
*/ */
@Override @Override
public void execute() { public void execute() {
List<IMetadataTable> metadataList = new ArrayList<IMetadataTable>(); List<IMetadataTable> connectionMetadatas = new ArrayList<IMetadataTable>();
for (IConnection connection : connectionInNewOrder) { for (IConnection connection : connectionInNewOrder) {
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
if (!metadataList.contains(connection.getMetadataTable())) { if (!connectionMetadatas.contains(connection.getMetadataTable())) {
metadataList.add(connection.getMetadataTable()); connectionMetadatas.add(connection.getMetadataTable());
} }
} }
} }
if (!metadataList.isEmpty()) { List<IMetadataTable> metadataList = multipleOutputNode.getMetadataList();
multipleOutputNode.setMetadataList(metadataList); Collections.sort(metadataList, new Comparator<IMetadataTable>() {
@Override
public int compare(IMetadataTable o1, IMetadataTable o2) {
int index1 = connectionMetadatas.indexOf(o1);
if (index1 == -1) {
index1 = 0;
} }
int index2 = connectionMetadatas.indexOf(o2);
if (index2 == -1) {
index2 = 0;
}
return index1 - index2;
}
});
multipleOutputNode.setOutgoingConnections(connectionInNewOrder); multipleOutputNode.setOutgoingConnections(connectionInNewOrder);
connectionInNewOrder.get(0).updateAllId(); connectionInNewOrder.get(0).updateAllId();
((Process) multipleOutputNode.getProcess()).checkStartNodes(); ((Process) multipleOutputNode.getProcess()).checkStartNodes();
@@ -85,18 +101,31 @@ public class ChangeOutputConnectionOrderCommand extends Command {
*/ */
@Override @Override
public void undo() { public void undo() {
List<IMetadataTable> metadataList = new ArrayList<IMetadataTable>(); List<IMetadataTable> connectionMetadatas = new ArrayList<IMetadataTable>();
// if (hasBuiltInConnector) {
for (IConnection connection : connectionInOldOrder) { for (IConnection connection : connectionInOldOrder) {
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) { if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
if (!metadataList.contains(connection.getMetadataTable())) { if (!connectionMetadatas.contains(connection.getMetadataTable())) {
metadataList.add(connection.getMetadataTable()); connectionMetadatas.add(connection.getMetadataTable());
} }
} }
} }
// }
multipleOutputNode.setMetadataList(metadataList); List<IMetadataTable> metadataList = multipleOutputNode.getMetadataList();
Collections.sort(metadataList, new Comparator<IMetadataTable>() {
@Override
public int compare(IMetadataTable o1, IMetadataTable o2) {
int index1 = connectionMetadatas.indexOf(o1);
if (index1 == -1) {
index1 = 0;
}
int index2 = connectionMetadatas.indexOf(o2);
if (index2 == -1) {
index2 = 0;
}
return index1 - index2;
}
});
multipleOutputNode.setOutgoingConnections(connectionInOldOrder); multipleOutputNode.setOutgoingConnections(connectionInOldOrder);
connectionInOldOrder.get(0).updateAllId(); connectionInOldOrder.get(0).updateAllId();

View File

@@ -273,13 +273,18 @@ public class PropertyChangeCommand extends Command {
} }
List<? extends IConnection> connections = ((Node) elem).getOutgoingConnections(); List<? extends IConnection> connections = ((Node) elem).getOutgoingConnections();
for (IConnection connection : connections) { for (IConnection connection : connections) {
if (!connection.getName().equals(oldELTValue)) {
// do nothing when custom connection name.
continue;
}
INode targetNode = connection.getTarget(); INode targetNode = connection.getTarget();
String componentName = targetNode.getComponent().getName(); String componentName = targetNode.getComponent().getName();
if (componentName.matches("tELT.+Map")) { //$NON-NLS-1$ if (componentName.matches("tELT.+Map")) { //$NON-NLS-1$
if (GlobalServiceRegister.getDefault().isServiceRegistered(IDbMapDesignerService.class)) { if (GlobalServiceRegister.getDefault().isServiceRegistered(IDbMapDesignerService.class)) {
IDbMapDesignerService service = (IDbMapDesignerService) GlobalServiceRegister.getDefault() IDbMapDesignerService service = (IDbMapDesignerService) GlobalServiceRegister.getDefault().getService(
.getService(IDbMapDesignerService.class); IDbMapDesignerService.class);
updateELTMapComponentCommand = service.getUpdateELTMapComponentCommand(targetNode, connection, oldELTValue, newELTValue); updateELTMapComponentCommand = service.getUpdateELTMapComponentCommand(targetNode, connection,
oldELTValue, newELTValue);
updateELTMapComponentCommand.execute(); updateELTMapComponentCommand.execute();
} }
} }
@@ -449,7 +454,10 @@ public class PropertyChangeCommand extends Command {
if (currentParam.getName().equals(EParameterName.PROCESS_TYPE_PROCESS.getName())) { if (currentParam.getName().equals(EParameterName.PROCESS_TYPE_PROCESS.getName())) {
toUpdate = true; toUpdate = true;
} }
// TUP-18405, need update module list
if (currentParam.getFieldType() == EParameterFieldType.MODULE_LIST) {
toUpdate = true;
}
if (toUpdate) { if (toUpdate) {
elem.setPropertyValue(updataComponentParamName, Boolean.TRUE); elem.setPropertyValue(updataComponentParamName, Boolean.TRUE);
} }

View File

@@ -86,6 +86,17 @@ public class JobletUtil {
return false; return false;
} }
public boolean isJoblet(NodeType node){
EList listParamType = node.getElementParameter();
for(Object o : listParamType){
ElementParameterType ele = ((ElementParameterType)o);
if(ele.getName()!=null && ele.getName().equals(EParameterName.FAMILY.getName()) && ele.getValue()!=null){
return ele.getValue().equals(IComponent.JOBLET_FAMILY);
}
}
return false;
}
public List<INodeConnector> createConnectors(INode node, IProcess2 process) { public List<INodeConnector> createConnectors(INode node, IProcess2 process) {
List<INodeConnector> listConnector = new ArrayList<INodeConnector>(); List<INodeConnector> listConnector = new ArrayList<INodeConnector>();
if (process == null) { if (process == null) {
@@ -846,17 +857,7 @@ public class JobletUtil {
if(expression == null){ if(expression == null){
return false; return false;
} }
Perl5Matcher matcher = new Perl5Matcher(); if(expression.contains(":")){//$NON-NLS-1$
Perl5Compiler compiler = new Perl5Compiler();
Pattern pattern = null;
try {
pattern = compiler.compile("[0-9a-zA-Z_]{1,}:[0-9a-zA-Z_]{1,}"); //$NON-NLS-1$
} catch (MalformedPatternException e) {
CommonExceptionHandler.process(e);
}
if (matcher.matches(expression, pattern)) {
return true; return true;
} }
return false; return false;

View File

@@ -3622,7 +3622,7 @@ public class Node extends Element implements IGraphicalNode {
if (currentNode.getIncomingConnections().size() > 1) { if (currentNode.getIncomingConnections().size() > 1) {
List<INode> nodeList = new ArrayList<INode>(); List<INode> nodeList = new ArrayList<INode>();
Set<INode> nodeSet = new HashSet<INode>(); Set<INode> nodeSet = new HashSet<INode>();
getAllSourceNode(currentNode, nodeList); getAllMainConnSourceNode(currentNode, nodeList);
for (INode node : nodeList) { for (INode node : nodeList) {
nodeSet.add(node); nodeSet.add(node);
} }
@@ -3631,12 +3631,15 @@ public class Node extends Element implements IGraphicalNode {
return false; return false;
} }
private static void getAllSourceNode(INode source, List<INode> list) { private static void getAllMainConnSourceNode(INode source, List<INode> list) {
List<? extends IConnection> connections = source.getIncomingConnections(); List<? extends IConnection> connections = source.getIncomingConnections();
for (IConnection connection : connections) { for (IConnection connection : connections) {
if(connection.getLineStyle() != EConnectionType.FLOW_MAIN){
continue;
}
INode node = connection.getSource(); INode node = connection.getSource();
list.add(node); list.add(node);
getAllSourceNode(node, list); getAllMainConnSourceNode(node, list);
} }
} }
public boolean isSchemaSynchronized() { public boolean isSchemaSynchronized() {

View File

@@ -2212,16 +2212,20 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
if(!unloadedNode.isEmpty()){ if(!unloadedNode.isEmpty()){
List<NodeType> tempNodes = new ArrayList<NodeType>(unloadedNode); List<NodeType> tempNodes = new ArrayList<NodeType>(unloadedNode);
JobletUtil jobletUtil = new JobletUtil();
for(NodeType unNode:tempNodes){ for(NodeType unNode:tempNodes){
listParamType = unNode.getElementParameter(); listParamType = unNode.getElementParameter();
String componentName = unNode.getComponentName(); String componentName = unNode.getComponentName();
if(!isCurrentProject && !componentName.contains(":")){ if(!isCurrentProject && !componentName.contains(":")){
componentName = ProjectManager.getInstance().getProject(this.getProperty()).getLabel() +":"+componentName; //$NON-NLS-1$ componentName = ProjectManager.getInstance().getProject(this.getProperty()).getLabel() +":"+componentName; //$NON-NLS-1$
}else if(new JobletUtil().matchExpression(componentName)){ }else if(jobletUtil.matchExpression(componentName)){
String[] names = componentName.split(":"); //$NON-NLS-1$ String[] names = componentName.split(":"); //$NON-NLS-1$
componentName = names[1]; componentName = names[1];
} }
IComponent component = ComponentsFactoryProvider.getInstance().get(componentName, componentsType); IComponent component = ComponentsFactoryProvider.getInstance().get(componentName, componentsType);
if(component == null && jobletUtil.isJoblet(unNode)){
component = ComponentsFactoryProvider.getInstance().getJobletComponent(componentName, componentsType);
}
if(component!=null){ if(component!=null){
unloadedNode.remove(unNode); unloadedNode.remove(unNode);
nc = loadNode(unNode, component, nodesHashtable, listParamType); nc = loadNode(unNode, component, nodesHashtable, listParamType);
@@ -3163,7 +3167,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
} }
public String generateUniqueNodeName(INode node) { public String generateUniqueNodeName(INode node) {
String baseName = node.getComponent().getName(); String baseName = node.getComponent().getOriginalName();
return UniqueNodeNameGenerator.generateUniqueNodeName(baseName, uniqueNodeNameList); return UniqueNodeNameGenerator.generateUniqueNodeName(baseName, uniqueNodeNameList);
} }

View File

@@ -1478,12 +1478,16 @@ public abstract class AbstractElementPropertySectionController implements Proper
String driverClass = getValueFromRepositoryName(element, EConnectionParameterName.DRIVER_CLASS.getName(), String driverClass = getValueFromRepositoryName(element, EConnectionParameterName.DRIVER_CLASS.getName(),
basePropertyParameter); basePropertyParameter);
String dbVersion = getValueFromRepositoryName(element, "DB_VERSION", basePropertyParameter); String driverName = getValueFromRepositoryName(element, "DB_VERSION", basePropertyParameter); //$NON-NLS-1$
if (EDatabaseVersion4Drivers.VERTICA_5_1.getVersionValue().equals(dbVersion) if (StringUtils.isBlank(driverName) && EDatabaseTypeName.MSSQL.getDisplayName().equals(connParameters.getDbType())) {
|| EDatabaseVersion4Drivers.VERTICA_6.getVersionValue().equals(dbVersion) driverName = getValueFromRepositoryName(element, "DRIVER", basePropertyParameter); //$NON-NLS-1$
|| EDatabaseVersion4Drivers.VERTICA_6_1_X.getVersionValue().equals(dbVersion) }
|| EDatabaseVersion4Drivers.VERTICA_7.getVersionValue().equals(dbVersion)) { String dbVersionName = EDatabaseVersion4Drivers.getDbVersionName(type, driverName);
connParameters.setDbVersion(dbVersion); connParameters.setDbVersion(dbVersionName);
if (EDatabaseVersion4Drivers.VERTICA_5_1.getVersionValue().equals(dbVersionName)
|| EDatabaseVersion4Drivers.VERTICA_6.getVersionValue().equals(dbVersionName)
|| EDatabaseVersion4Drivers.VERTICA_6_1_X.getVersionValue().equals(dbVersionName)
|| EDatabaseVersion4Drivers.VERTICA_7.getVersionValue().equals(dbVersionName)) {
driverClass = EDatabase4DriverClassName.VERTICA2.getDriverClass(); driverClass = EDatabase4DriverClassName.VERTICA2.getDriverClass();
} }

View File

@@ -203,8 +203,11 @@ public class ComponentListController extends AbstractElementPropertySectionContr
for (Node curNode : nodesToUpdate) { for (Node curNode : nodesToUpdate) {
for (IElementParameter curParam : curNode.getElementParameters()) { for (IElementParameter curParam : curNode.getElementParameters()) {
if (curParam.getFieldType().equals(EParameterFieldType.COMPONENT_LIST)) { if (curParam.getFieldType().equals(EParameterFieldType.COMPONENT_LIST)) {
String value = (String)curParam.getValue();
if (oldConnectionName.equals(curParam.getValue())) { if (oldConnectionName.equals(curParam.getValue())) {
curParam.setValue(newConnectionName); curParam.setValue(newConnectionName);
} else if (value != null && value.startsWith(oldConnectionName + "_")) {
curParam.setValue(value.replaceFirst(oldConnectionName + "_", newConnectionName + "_"));
} }
} else if (curParam.getFieldType().equals(EParameterFieldType.TABLE)) { } else if (curParam.getFieldType().equals(EParameterFieldType.TABLE)) {
final Object[] itemsValue = curParam.getListItemsValue(); final Object[] itemsValue = curParam.getListItemsValue();
@@ -220,6 +223,8 @@ public class ComponentListController extends AbstractElementPropertySectionContr
if (connectionName.equals(oldConnectionName)) { if (connectionName.equals(oldConnectionName)) {
// note: change from "Integer" value stored to "String" value // note: change from "Integer" value stored to "String" value
curLine.put(param.getName(), newConnectionName); curLine.put(param.getName(), newConnectionName);
}else if (connectionName != null && connectionName.startsWith(oldConnectionName + "_")) {
curParam.setValue(connectionName.replaceFirst(oldConnectionName + "_", newConnectionName + "_"));
} }
} else if (value instanceof String) { } else if (value instanceof String) {
curLine.put(param.getName(), newConnectionName); curLine.put(param.getName(), newConnectionName);

View File

@@ -244,15 +244,18 @@ public class DbInfo {
} else { } else {
driverClassName = EDatabase4DriverClassName.HIVE.getDriverClass(); driverClassName = EDatabase4DriverClassName.HIVE.getDriverClass();
} }
} } else if (dbType.equals(EDatabaseTypeName.VERTICA.getXmlName())) {
driverClassName = ExtractMetaDataUtils.getInstance().getDriverClassByDbType(dbType);
if (dbType.equals(EDatabaseTypeName.VERTICA.getXmlName())) {
if (EDatabaseVersion4Drivers.VERTICA_6.getVersionValue().equals(dbVersion) if (EDatabaseVersion4Drivers.VERTICA_6.getVersionValue().equals(dbVersion)
|| EDatabaseVersion4Drivers.VERTICA_5_1.getVersionValue().equals(dbVersion) || EDatabaseVersion4Drivers.VERTICA_5_1.getVersionValue().equals(dbVersion)
|| EDatabaseVersion4Drivers.VERTICA_6_1_X.getVersionValue().equals(dbVersion) || EDatabaseVersion4Drivers.VERTICA_6_1_X.getVersionValue().equals(dbVersion)
|| EDatabaseVersion4Drivers.VERTICA_7.getVersionValue().equals(dbVersion)) { || EDatabaseVersion4Drivers.VERTICA_7.getVersionValue().equals(dbVersion)) {
driverClassName = EDatabase4DriverClassName.VERTICA2.getDriverClass(); driverClassName = EDatabase4DriverClassName.VERTICA2.getDriverClass();
} }
} else if (EDatabaseTypeName.MSSQL.getDisplayName().equals(dbType)
&& EDatabaseVersion4Drivers.MSSQL_PROP.getVersionValue().equals(dbVersion)) {
driverClassName = EDatabase4DriverClassName.MSSQL2.getDriverClass();
} else {
driverClassName = ExtractMetaDataUtils.getInstance().getDriverClassByDbType(dbType);
} }
} }

View File

@@ -14,6 +14,7 @@ package org.talend.designer.core.ui.editor.properties.controllers;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Path;
import org.eclipse.gef.commands.Command; import org.eclipse.gef.commands.Command;
import org.eclipse.jface.fieldassist.DecoratedField; import org.eclipse.jface.fieldassist.DecoratedField;
@@ -84,18 +85,15 @@ public class DirectoryController extends AbstractElementPropertySectionControlle
String propertyName = (String) btn.getData(PARAMETER_NAME); String propertyName = (String) btn.getData(PARAMETER_NAME);
Text dirPathText = (Text) hashCurControls.get(propertyName); Text dirPathText = (Text) hashCurControls.get(propertyName);
String directory = dial.open(); String directory = dial.open();
if (directory != null) { if (StringUtils.isNotBlank(directory) && !directory.equals(elem.getPropertyValue(propertyName))) {
if (!directory.equals("")) { //$NON-NLS-1$
if (!elem.getPropertyValue(propertyName).equals(directory)) {
String portableValue = Path.fromOSString(directory).toPortableString(); String portableValue = Path.fromOSString(directory).toPortableString();
dirPathText.setText(TalendTextUtils.addQuotes(portableValue)); if (!isInWizard()) {
return new PropertyChangeCommand(elem, propertyName, TalendTextUtils.addQuotes(portableValue)); portableValue = TalendTextUtils.addQuotes(portableValue);
}
} }
dirPathText.setText(portableValue);
return new PropertyChangeCommand(elem, propertyName, portableValue);
} }
return null; return null;
} }
/* /*
@@ -203,9 +201,8 @@ public class DirectoryController extends AbstractElementPropertySectionControlle
/* /*
* (non-Javadoc) * (non-Javadoc)
* *
* @see * @see org.talend.designer.core.ui.editor.properties.controllers.AbstractElementPropertySectionController#
* org.talend.designer.core.ui.editor.properties.controllers.AbstractElementPropertySectionController#estimateRowSize * estimateRowSize (org.eclipse.swt.widgets.Composite, org.talend.core.model.process.IElementParameter)
* (org.eclipse.swt.widgets.Composite, org.talend.core.model.process.IElementParameter)
*/ */
@Override @Override
public int estimateRowSize(Composite subComposite, IElementParameter param) { public int estimateRowSize(Composite subComposite, IElementParameter param) {

View File

@@ -26,9 +26,9 @@ import org.eclipse.gef.commands.Command;
import org.eclipse.jface.fieldassist.DecoratedField; import org.eclipse.jface.fieldassist.DecoratedField;
import org.eclipse.jface.fieldassist.FieldDecoration; import org.eclipse.jface.fieldassist.FieldDecoration;
import org.eclipse.jface.fieldassist.FieldDecorationRegistry; import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
import org.eclipse.jface.fieldassist.IControlCreator; import org.eclipse.jface.fieldassist.TextControlCreator;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.custom.CLabel; import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionEvent;
@@ -41,11 +41,10 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants; import org.eclipse.ui.views.properties.tabbed.ITabbedPropertyConstants;
import org.talend.commons.ui.runtime.exception.ExceptionHandler; import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.image.ImageProvider; import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.core.CorePlugin; import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister; import org.talend.core.GlobalServiceRegister;
import org.talend.core.ILibraryManagerService; import org.talend.core.ILibraryManagerService;
@@ -61,6 +60,8 @@ import org.talend.designer.core.ui.dialog.BrmsDialog;
import org.talend.designer.core.ui.dialog.IBrmsExtension; import org.talend.designer.core.ui.dialog.IBrmsExtension;
import org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand; import org.talend.designer.core.ui.editor.cmd.PropertyChangeCommand;
import org.talend.designer.core.ui.editor.nodes.Node; import org.talend.designer.core.ui.editor.nodes.Node;
import org.talend.designer.core.ui.editor.properties.controllers.creator.SelectAllTextControlCreator;
import org.talend.designer.core.ui.editor.properties.controllers.uidialog.InstallModuleDialog;
/** /**
* DOC yzhang class global comment. Detailled comment <br/> * DOC yzhang class global comment. Detailled comment <br/>
@@ -105,10 +106,10 @@ public class ModuleListController extends AbstractElementPropertySectionControll
ExceptionHandler.process(e); ExceptionHandler.process(e);
} }
// update the combo current value // update the text current value
CCombo combo = (CCombo) hashCurControls.get(propertyName); Text text = (Text) hashCurControls.get(propertyName);
if (combo != null && !combo.isDisposed()) { if (text != null && !text.isDisposed()) {
combo.setText(Path.fromOSString(file).lastSegment()); text.setText(Path.fromOSString(file).lastSegment());
} }
return new PropertyChangeCommand(elem, propertyName, lastSegment); return new PropertyChangeCommand(elem, propertyName, lastSegment);
} }
@@ -119,88 +120,32 @@ public class ModuleListController extends AbstractElementPropertySectionControll
} }
} else { } else {
FileDialog dial = new FileDialog(composite.getShell(), SWT.NONE);
dial.setFilterExtensions(FilesUtils.getAcceptJARFilesSuffix());
String file = dial.open();
if (file != null && !file.equals("")) { //$NON-NLS-1$
String propertyName = (String) button.getData(PARAMETER_NAME); String propertyName = (String) button.getData(PARAMETER_NAME);
Object value = elem.getPropertyValue(propertyName);
String initValue = value == null ? "" : TalendTextUtils.removeQuotes(value.toString());
InstallModuleDialog dial = new InstallModuleDialog(composite.getShell(), initValue);
if (Window.OK == dial.open()) {
String file = dial.getResult();
if (file != null && !file.equals("")) { //$NON-NLS-1$
String lastSegment = TalendTextUtils.addQuotes(Path.fromOSString(file).lastSegment()); String lastSegment = TalendTextUtils.addQuotes(Path.fromOSString(file).lastSegment());
try {
CorePlugin.getDefault().getLibrariesService().deployLibrary(Path.fromOSString(file).toFile().toURL());
} catch (Exception e) {
ExceptionHandler.process(e);
}
if (!elem.getPropertyValue(propertyName).equals(lastSegment)) { if (!elem.getPropertyValue(propertyName).equals(lastSegment)) {
// update the combo current value // update the text current value
CCombo combo = (CCombo) hashCurControls.get(propertyName); Text text = (Text) hashCurControls.get(propertyName);
if (combo != null && !combo.isDisposed()) { if (text != null && !text.isDisposed()) {
combo.setText(Path.fromOSString(file).lastSegment()); text.setText(Path.fromOSString(file).lastSegment());
} }
return new PropertyChangeCommand(elem, propertyName, lastSegment); return new PropertyChangeCommand(elem, propertyName, lastSegment);
} }
} }
} }
}
return null; return null;
} }
public Command createCommand(SelectionEvent selectionEvent) {
Set<String> elementsName;
Control ctrl;
elementsName = hashCurControls.keySet();
for (String name : elementsName) {
Object o = hashCurControls.get(name);
if (o instanceof Control) {
ctrl = (Control) o;
if (ctrl == null) {
hashCurControls.remove(name);
return null;
}
if (ctrl.equals(selectionEvent.getSource()) && ctrl instanceof CCombo) {
boolean isDisposed = ((CCombo) ctrl).isDisposed();
if (!isDisposed && (!elem.getPropertyValue(name).equals(((CCombo) ctrl).getText()))) {
String value = new String(""); //$NON-NLS-1$
for (int i = 0; i < elem.getElementParameters().size(); i++) {
IElementParameter param = elem.getElementParameters().get(i);
if (param.getName().equals(name)) {
for (int j = 0; j < param.getListItemsValue().length; j++) {
if (((CCombo) ctrl).getText().equals(param.getListItemsDisplayName()[j])) {
value = (String) param.getListItemsValue()[j];
}
}
}
}
if (value.equals(elem.getPropertyValue(name))) { // same
// value so
// no
// need to do
// anything
return null;
}
CorePlugin.getDefault().getLibrariesService().resetModulesNeeded();
return new PropertyChangeCommand(elem, name, value);
}
}
}
}
return null;
}
IControlCreator cbCtrl = new IControlCreator() {
@Override
public Control createControl(final Composite parent, final int style) {
CCombo cb = new CCombo(parent, style);
return cb;
}
};
/* /*
* (non-Javadoc) * (non-Javadoc)
* *
@@ -216,7 +161,7 @@ public class ModuleListController extends AbstractElementPropertySectionControll
} }
} }
DecoratedField dField = new DecoratedField(subComposite, SWT.BORDER, cbCtrl); final DecoratedField dField = new DecoratedField(subComposite, SWT.BORDER, new SelectAllTextControlCreator());
if (param.isRequired()) { if (param.isRequired()) {
FieldDecoration decoration = FieldDecorationRegistry.getDefault().getFieldDecoration( FieldDecoration decoration = FieldDecorationRegistry.getDefault().getFieldDecoration(
FieldDecorationRegistry.DEC_REQUIRED); FieldDecorationRegistry.DEC_REQUIRED);
@@ -224,14 +169,13 @@ public class ModuleListController extends AbstractElementPropertySectionControll
} }
Control cLayout = dField.getLayoutControl(); Control cLayout = dField.getLayoutControl();
CCombo combo = (CCombo) dField.getControl(); Text text = (Text) dField.getControl();
combo.setEditable(false); text.setEditable(false);
cLayout.setBackground(subComposite.getBackground()); cLayout.setBackground(subComposite.getBackground());
combo.setEnabled(!param.isReadOnly()); text.setEnabled(!param.isReadOnly());
combo.addSelectionListener(listenerSelection);
if (elem instanceof Node) { if (elem instanceof Node) {
combo.setToolTipText(VARIABLE_TOOLTIP + param.getVariableName()); text.setToolTipText(VARIABLE_TOOLTIP + param.getVariableName());
} }
CLabel labelLabel = getWidgetFactory().createCLabel(subComposite, param.getDisplayName()); CLabel labelLabel = getWidgetFactory().createCLabel(subComposite, param.getDisplayName());
@@ -267,6 +211,7 @@ public class ModuleListController extends AbstractElementPropertySectionControll
} else { } else {
data.left = new FormAttachment(labelLabel, 0, SWT.RIGHT); data.left = new FormAttachment(labelLabel, 0, SWT.RIGHT);
} }
data.right = new FormAttachment(labelLabel, STANDARD_LABEL_WIDTH * 3, SWT.RIGHT);
data.top = new FormAttachment(0, top); data.top = new FormAttachment(0, top);
cLayout.setLayoutData(data); cLayout.setLayoutData(data);
Point initialSize = dField.getLayoutControl().computeSize(SWT.DEFAULT, SWT.DEFAULT); Point initialSize = dField.getLayoutControl().computeSize(SWT.DEFAULT, SWT.DEFAULT);
@@ -286,7 +231,7 @@ public class ModuleListController extends AbstractElementPropertySectionControll
btnEdit.addSelectionListener(listenerSelection); btnEdit.addSelectionListener(listenerSelection);
// ********************** // **********************
hashCurControls.put(param.getName(), combo); hashCurControls.put(param.getName(), text);
hashCurControls.put(param.getName() + BUTTON_EDIT, btnEdit); hashCurControls.put(param.getName() + BUTTON_EDIT, btnEdit);
updateData(); updateData();
// this.dynamicTabbedPropertySection.updateColumnList(null); // this.dynamicTabbedPropertySection.updateColumnList(null);
@@ -304,7 +249,7 @@ public class ModuleListController extends AbstractElementPropertySectionControll
*/ */
@Override @Override
public int estimateRowSize(Composite subComposite, IElementParameter param) { public int estimateRowSize(Composite subComposite, IElementParameter param) {
DecoratedField dField = new DecoratedField(subComposite, SWT.BORDER, cbCtrl); DecoratedField dField = new DecoratedField(subComposite, SWT.BORDER, new TextControlCreator());
Point initialSize = dField.getLayoutControl().computeSize(SWT.DEFAULT, SWT.DEFAULT); Point initialSize = dField.getLayoutControl().computeSize(SWT.DEFAULT, SWT.DEFAULT);
dField.getLayoutControl().dispose(); dField.getLayoutControl().dispose();
@@ -380,34 +325,28 @@ public class ModuleListController extends AbstractElementPropertySectionControll
if (event.getSource() instanceof Button) { if (event.getSource() instanceof Button) {
Command cmd = createCommand((Button) event.getSource()); Command cmd = createCommand((Button) event.getSource());
executeCommand(cmd); executeCommand(cmd);
} else {
Command cmd = createCommand(event);
executeCommand(cmd);
} }
} }
}; };
@Override @Override
public void refresh(IElementParameter param, boolean check) { public void refresh(IElementParameter param, boolean check) {
CCombo combo = (CCombo) hashCurControls.get(param.getName()); Text text = (Text) hashCurControls.get(param.getName());
if (combo == null || combo.isDisposed()) { if (text == null || text.isDisposed()) {
return; return;
} }
updateData(); updateData();
String[] curNameList = param.getListItemsDisplayName();
Object value = param.getValue(); Object value = param.getValue();
combo.setItems(curNameList);
if (value instanceof String) { if (value instanceof String) {
combo.setText(TalendTextUtils.removeQuotes((String) value)); text.setText(TalendTextUtils.removeQuotes((String) value));
} }
if (param.isContextMode()) { if (param.isContextMode()) {
Button buttonEdit = (Button) hashCurControls.get(param.getName() + BUTTON_EDIT); Button buttonEdit = (Button) hashCurControls.get(param.getName() + BUTTON_EDIT);
combo.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED)); text.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
combo.setEnabled(false); text.setEnabled(false);
buttonEdit.setEnabled(false); buttonEdit.setEnabled(false);
} }
} }

View File

@@ -0,0 +1,490 @@
// ============================================================================
//
// Copyright (C) 2006-2017 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.core.ui.editor.properties.controllers.uidialog;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeoutException;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ILibraryManagerService;
import org.talend.core.model.general.ModuleNeeded;
import org.talend.core.model.general.ModuleNeeded.ELibraryInstallStatus;
import org.talend.core.nexus.NexusServerBean;
import org.talend.core.nexus.TalendLibsServerManager;
import org.talend.core.runtime.maven.MavenUrlHelper;
import org.talend.designer.core.i18n.Messages;
import org.talend.librariesmanager.model.ModulesNeededProvider;
import org.talend.librariesmanager.model.service.LibrariesIndexManager;
import org.talend.librariesmanager.ui.LibManagerUiPlugin;
/**
*
* DOC wchen class global comment. Detailled comment
*/
public class InstallModuleDialog extends TitleAreaDialog {
private Text jarPathTxt;
private Text nameTxt;
private Text uriTxt;
private Button platfromRadioBtn;
private Combo platformCombo;
private Button repositoryRadioBtn;
private Button fileRadioBtn;
private Button detectButton;
private Button fileBrowse;
private String moduleName;
private String initValue;
private final String MVN_DATA_KEY = "MVN_DATA_KEY";
/**
* DOC wchen InstallModuleDialog constructor comment.
*
* @param parentShell
*/
public InstallModuleDialog(Shell parentShell, String initValue) {
super(parentShell);
setShellStyle(SWT.CLOSE | SWT.MAX | SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE | getDefaultOrientation());
this.initValue = initValue;
}
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(Messages.getString("InstallModuleDialog.text"));//$NON-NLS-1$
}
@Override
protected Control createDialogArea(Composite parent) {
GridData data = new GridData(GridData.FILL_BOTH);
Composite container = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.marginTop = 10;
layout.marginLeft = 20;
layout.marginRight = 20;
layout.marginBottom = 50;
container.setLayout(layout);
container.setLayoutData(data);
createPlatformGroup(container);
createRepositoryGroup(container);
browseFileGroup(container);
return parent;
}
@Override
protected Control createContents(Composite parent) {
Control control = super.createContents(parent);
setPlatformGroupEnabled(true);
setRepositoryGroupEnabled(false);
setFileGroupEnabled(false);
return control;
}
private void createPlatformGroup(Composite container) {
Composite composite = new Composite(container, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
composite.setLayout(layout);
GridData data = new GridData(GridData.FILL_BOTH);
composite.setLayoutData(data);
platfromRadioBtn = new Button(composite, SWT.RADIO);
platfromRadioBtn.setText(Messages.getString("InstallModuleDialog.platfromBtn"));
platfromRadioBtn.setSelection(true);
platformCombo = new Combo(composite, SWT.READ_ONLY);
platformCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
platfromRadioBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
setPlatformGroupEnabled(true);
setRepositoryGroupEnabled(false);
setFileGroupEnabled(false);
}
});
ILibraryManagerService librairesManagerService = (ILibraryManagerService) GlobalServiceRegister.getDefault().getService(
ILibraryManagerService.class);
Set<String> jarsAvailable = librairesManagerService.list(new NullProgressMonitor());
List<ModuleNeeded> unUsedModules = ModulesNeededProvider.getUnUsedModules();
for (ModuleNeeded module : unUsedModules) {
if (module.getStatus() == ELibraryInstallStatus.INSTALLED) {
jarsAvailable.add(module.getModuleName());
}
}
String[] moduleValueArray = jarsAvailable.toArray(new String[jarsAvailable.size()]);
Comparator<String> comprarator = new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.compareToIgnoreCase(o2);
}
};
Arrays.sort(moduleValueArray, comprarator);
platformCombo.setItems(moduleValueArray);
if (jarsAvailable.contains(initValue)) {
platformCombo.setText(initValue);
} else {
platformCombo.setText(moduleValueArray[0]);
}
}
private void setPlatformGroupEnabled(boolean enable) {
platfromRadioBtn.setSelection(enable);
platformCombo.setEnabled(enable);
if (enable) {
setMessage(Messages.getString("InstallModuleDialog.message"), IMessageProvider.INFORMATION);
getButton(IDialogConstants.OK_ID).setEnabled(true);
}
}
private void createRepositoryGroup(Composite container) {
Composite composite = new Composite(container, SWT.NONE);
GridLayout layout = new GridLayout();
composite.setLayout(layout);
GridData data = new GridData(GridData.FILL_BOTH);
composite.setLayoutData(data);
repositoryRadioBtn = new Button(composite, SWT.RADIO);
repositoryRadioBtn.setText(Messages.getString("InstallModuleDialog.repositoryBtn"));
data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
repositoryRadioBtn.setLayoutData(data);
Composite subComposite = new Composite(container, SWT.NONE);
layout = new GridLayout();
layout.marginLeft = 25;
layout.numColumns = 2;
subComposite.setLayout(layout);
data = new GridData(GridData.FILL_BOTH);
subComposite.setLayoutData(data);
Label nameLabel = new Label(subComposite, SWT.NONE);
nameLabel.setText(Messages.getString("InstallModuleDialog.repository.name"));
nameTxt = new Text(subComposite, SWT.BORDER);
nameTxt.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
Label uriLabel = new Label(subComposite, SWT.NONE);
uriLabel.setText(Messages.getString("InstallModuleDialog.repository.mvnURI"));
uriTxt = new Text(subComposite, SWT.BORDER);
uriTxt.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
uriTxt.setEnabled(false);
detectButton = new Button(subComposite, SWT.NONE);
detectButton.setText(Messages.getString("InstallModuleDialog.detectButton.text"));
detectButton.setEnabled(false);
data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
data.horizontalSpan = 2;
detectButton.setLayoutData(data);
repositoryRadioBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
setPlatformGroupEnabled(false);
setRepositoryGroupEnabled(true);
setFileGroupEnabled(false);
}
});
detectButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
checkMavenRepository();
}
});
nameTxt.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
String jarName = nameTxt.getText().trim();
if (jarName.contains(".")) {
detectButton.setEnabled(true);
String mvnUriFromIndex = LibrariesIndexManager.getInstance().getMvnUriFromIndex(jarName);
if (mvnUriFromIndex != null) {
final String[] mvnUris = mvnUriFromIndex.split(MavenUrlHelper.MVN_INDEX_SPLITER);
uriTxt.setText(mvnUris[0]);
} else {
String generatedMavenURI = MavenUrlHelper.generateMvnUrlForJarName(jarName, true, true);
uriTxt.setText(generatedMavenURI);
}
setMessage(Messages.getString("InstallModuleDialog.repository.message"), IMessageProvider.ERROR);
getButton(IDialogConstants.OK_ID).setEnabled(false);
} else {
setMessage(Messages.getString("InstallModuleDialog.repository.name.error"), IMessageProvider.ERROR);
getButton(IDialogConstants.OK_ID).setEnabled(false);
}
}
});
}
private void setRepositoryGroupEnabled(boolean enable) {
repositoryRadioBtn.setSelection(enable);
nameTxt.setEnabled(enable);
// detectButton.setEnabled(enable);
if (enable) {
setMessage(Messages.getString("InstallModuleDialog.repository.message"), IMessageProvider.ERROR);
getButton(IDialogConstants.OK_ID).setEnabled(false);
}
}
private void browseFileGroup(Composite container) {
Composite composite = new Composite(container, SWT.NONE);
GridLayout layout = new GridLayout();
layout.numColumns = 3;
composite.setLayout(layout);
GridData data = new GridData(GridData.FILL_BOTH);
composite.setLayoutData(data);
fileRadioBtn = new Button(composite, SWT.RADIO);
fileRadioBtn.setText(Messages.getString("InstallModuleDialog.browseFileBtn"));
jarPathTxt = new Text(composite, SWT.BORDER);
jarPathTxt.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
fileBrowse = new Button(composite, SWT.PUSH);
fileBrowse.setText("...");//$NON-NLS-1$
fileRadioBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
setPlatformGroupEnabled(false);
setRepositoryGroupEnabled(false);
setFileGroupEnabled(true);
}
});
fileBrowse.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
handleButtonPressed();
}
});
jarPathTxt.addModifyListener(new ModifyListener() {
@Override
public void modifyText(ModifyEvent e) {
File file = new File(jarPathTxt.getText());
if (!file.exists()) {
setMessage(Messages.getString("InstallModuleDialog.browseFile.error"), IMessageProvider.ERROR);
getButton(IDialogConstants.OK_ID).setEnabled(false);
} else {
setMessage(Messages.getString("InstallModuleDialog.message"), IMessageProvider.INFORMATION);
getButton(IDialogConstants.OK_ID).setEnabled(true);
}
}
});
}
private void setFileGroupEnabled(boolean enable) {
fileRadioBtn.setSelection(enable);
jarPathTxt.setEnabled(enable);
fileBrowse.setEnabled(enable);
if (enable) {
File file = new File(jarPathTxt.getText());
if (file.exists()) {
getButton(IDialogConstants.OK_ID).setEnabled(true);
} else {
setMessage(Messages.getString("InstallModuleDialog.browseFile.error"), IMessageProvider.ERROR);
getButton(IDialogConstants.OK_ID).setEnabled(false);
}
}
}
private void checkMavenRepository() {
String jarName = nameTxt.getText().trim();
String mvnURI = uriTxt.getText().trim();
final boolean[] status = new boolean[1];
status[0] = false;
final IRunnableWithProgress acceptOursProgress = new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
String mvnUriFromIndex = LibrariesIndexManager.getInstance().getMvnUriFromIndex(jarName);
NexusServerBean customNexusServer = TalendLibsServerManager.getInstance().getCustomNexusServer();
if (mvnUriFromIndex != null && mvnUriFromIndex.split(MavenUrlHelper.MVN_INDEX_SPLITER).length > 1) {
String[] mvnURIs = mvnUriFromIndex.split(MavenUrlHelper.MVN_INDEX_SPLITER);
for (String mvnURI : mvnURIs) {
checkModuleStatus(customNexusServer, jarName, mvnURI, status);
}
} else {
checkModuleStatus(customNexusServer, jarName, mvnURI, status);
}
}
};
ProgressMonitorDialog dialog = new ProgressMonitorDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
try {
dialog.run(true, true, acceptOursProgress);
} catch (Throwable e) {
if (!(e instanceof TimeoutException)) {
ExceptionHandler.process(e);
}
}
if (!status[0]) {
setMessage(Messages.getString("InstallModuleDialog.repository.error"), IMessageProvider.ERROR);
getButton(IDialogConstants.OK_ID).setEnabled(false);
} else {
List<String> modulesNeededNames = ModulesNeededProvider.getModulesNeededNames();
if (!modulesNeededNames.contains(jarName)) {
ModulesNeededProvider.userAddUnusedModules(ELibraryInstallStatus.UNKNOWN.name(), jarName);
}
setMessage(Messages.getString("InstallModuleDialog.message"), IMessageProvider.INFORMATION);
getButton(IDialogConstants.OK_ID).setEnabled(true);
}
}
private void checkModuleStatus(NexusServerBean customNexusServer, String jarName, String mvnURI, boolean[] status) {
ModuleNeeded needed = new ModuleNeeded(jarName, null, true, mvnURI);
ELibraryInstallStatus installStatus = needed.getDeployStatus();
if (installStatus == ELibraryInstallStatus.DEPLOYED) {
status[0] |= true;
} else {
if (customNexusServer != null) {
try {
ILibraryManagerService libManagerService = (ILibraryManagerService) GlobalServiceRegister.getDefault()
.getService(ILibraryManagerService.class);
File resolveJar = libManagerService.resolveJar(TalendLibsServerManager.getInstance(), customNexusServer,
mvnURI);
if (resolveJar != null) {
status[0] |= true;
LibManagerUiPlugin.getDefault().getLibrariesService().checkLibraries();
}
} catch (Exception e) {
status[0] |= false;
}
}
}
}
private void handleButtonPressed() {
FileDialog dialog = new FileDialog(getShell());
dialog.setFilterExtensions(FilesUtils.getAcceptJARFilesSuffix());
dialog.setText(Messages.getString("InstallModuleDialog.text")); //$NON-NLS-1$
String filePath = this.jarPathTxt.getText().trim();
if (filePath.length() == 0) {
dialog.setFilterPath(ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString());
} else {
File file = new File(filePath);
if (file.exists()) {
dialog.setFilterPath(new Path(filePath).toOSString());
}
}
String result = dialog.open();
if (result != null) {
this.jarPathTxt.setText(result);
}
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.dialogs.Dialog#okPressed()
*/
@Override
protected void okPressed() {
if (platfromRadioBtn.getSelection()) {
moduleName = platformCombo.getText();
} else if (repositoryRadioBtn.getSelection()) {
moduleName = nameTxt.getText().trim();
} else {
final File file = new File(jarPathTxt.getText().trim());
final IRunnableWithProgress acceptOursProgress = new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
try {
monitor.beginTask("Install module " + file.getName(), 100);
monitor.worked(10);
CorePlugin.getDefault().getLibrariesService().deployLibrary(file.toURL());
monitor.worked(80);
moduleName = file.getName();
List<String> modulesNeededNames = ModulesNeededProvider.getModulesNeededNames();
if (!modulesNeededNames.contains(moduleName)) {
ModulesNeededProvider.userAddUnusedModules(ELibraryInstallStatus.UNKNOWN.name(), moduleName);
}
monitor.done();
} catch (IOException e) {
ExceptionHandler.process(e);
}
}
};
ProgressMonitorDialog dialog = new ProgressMonitorDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell());
try {
dialog.run(true, true, acceptOursProgress);
} catch (Throwable e) {
if (!(e instanceof TimeoutException)) {
ExceptionHandler.process(e);
}
}
}
super.okPressed();
}
public String getResult() {
return moduleName;
}
}

View File

@@ -34,6 +34,8 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
private IntegerFieldEditor dbConnTimeout; private IntegerFieldEditor dbConnTimeout;
private IntegerFieldEditor hbaseOrMaprDBScanLimit;
public PerformancePreferencePage() { public PerformancePreferencePage() {
super(GRID); super(GRID);
setPreferenceStore(DesignerPlugin.getDefault().getPreferenceStore()); setPreferenceStore(DesignerPlugin.getDefault().getPreferenceStore());
@@ -81,7 +83,6 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
textControl.setToolTipText(Messages.getString("PerformancePreferencePage.ConnectionTimeoutTip")); //$NON-NLS-1$ textControl.setToolTipText(Messages.getString("PerformancePreferencePage.ConnectionTimeoutTip")); //$NON-NLS-1$
dbConnTimeout.setValidRange(0, Short.MAX_VALUE); dbConnTimeout.setValidRange(0, Short.MAX_VALUE);
textControl.setEnabled(getPreferenceStore().getBoolean(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT_ACTIVED)); textControl.setEnabled(getPreferenceStore().getBoolean(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT_ACTIVED));
addField(dbConnTimeoutActive); addField(dbConnTimeoutActive);
addField(dbConnTimeout); addField(dbConnTimeout);
addSVNInforAutoCheckFiled(); addSVNInforAutoCheckFiled();
@@ -118,7 +119,6 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
textControl.setToolTipText(Messages.getString("PerformancePreferencePage.ConnectionTimeoutTip")); //$NON-NLS-1$ textControl.setToolTipText(Messages.getString("PerformancePreferencePage.ConnectionTimeoutTip")); //$NON-NLS-1$
dbConnTimeout.setValidRange(0, Short.MAX_VALUE); dbConnTimeout.setValidRange(0, Short.MAX_VALUE);
textControl.setEnabled(getPreferenceStore().getBoolean(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT_ACTIVED)); textControl.setEnabled(getPreferenceStore().getBoolean(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT_ACTIVED));
addField(dbConnTimeoutActive); addField(dbConnTimeoutActive);
addField(dbConnTimeout); addField(dbConnTimeout);
@@ -137,6 +137,14 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
getFieldEditorParent()); getFieldEditorParent());
codeFormatTimeout.setValidRange(1, Short.MAX_VALUE); codeFormatTimeout.setValidRange(1, Short.MAX_VALUE);
addField(codeFormatTimeout); addField(codeFormatTimeout);
hbaseOrMaprDBScanLimit = new IntegerFieldEditor(ITalendCorePrefConstants.HBASE_OR_MAPRDB_SCAN_LIMIT,
Messages.getString("PerformancePreferencePage.HBaseOrMaprDBScanLimit"), //$NON-NLS-1$
getFieldEditorParent());
Text limitTextControl = hbaseOrMaprDBScanLimit.getTextControl(getFieldEditorParent());
limitTextControl.setToolTipText(Messages.getString("PerformancePreferencePage.HBaseOrMaprDBScanLimitTip")); //$NON-NLS-1$
hbaseOrMaprDBScanLimit.setValidRange(0, Short.MAX_VALUE);
addField(hbaseOrMaprDBScanLimit);
} }
private void addSVNInforAutoCheckFiled() { private void addSVNInforAutoCheckFiled() {

View File

@@ -144,6 +144,9 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
store.setDefault(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT, 15); store.setDefault(ITalendCorePrefConstants.DB_CONNECTION_TIMEOUT, 15);
// store.setDefault(ITalendCorePrefConstants.ITEM_INDEX, false); // store.setDefault(ITalendCorePrefConstants.ITEM_INDEX, false);
// HBase or MaprDB scan limit
store.setDefault(ITalendCorePrefConstants.HBASE_OR_MAPRDB_SCAN_LIMIT, 50);
// Add dependencies routines for job // Add dependencies routines for job
store.setDefault(ITalendCorePrefConstants.ADD_USER_ROUTINES, true); store.setDefault(ITalendCorePrefConstants.ADD_USER_ROUTINES, true);
store.setDefault(ITalendCorePrefConstants.ADD_SYSTEM_ROUTINES, true); store.setDefault(ITalendCorePrefConstants.ADD_SYSTEM_ROUTINES, true);
@@ -160,7 +163,6 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
if (PluginChecker.isSVNProviderPluginLoaded()) { if (PluginChecker.isSVNProviderPluginLoaded()) {
store.setDefault(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK, true); store.setDefault(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK, true);
store.setDefault(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK_TIME_INTERVAL, 1); store.setDefault(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK_TIME_INTERVAL, 1);
store.setDefault(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK, true);
store.setDefault(ITalendCorePrefConstants.AUTO_REFRESH_LOCKS, true); store.setDefault(ITalendCorePrefConstants.AUTO_REFRESH_LOCKS, true);
store.setDefault(ITalendCorePrefConstants.PERFORMANCE_TAC_CONNECTION_TIMEOUT, 5); store.setDefault(ITalendCorePrefConstants.PERFORMANCE_TAC_CONNECTION_TIMEOUT, 5);
} }

View File

@@ -0,0 +1,49 @@
// ============================================================================
//
// Copyright (C) 2006-2017 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.core.ui.preferences;
import java.lang.reflect.InvocationTargetException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.preference.IPreferenceStore;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.prefs.ITalendCorePrefConstants;
import org.talend.designer.core.DesignerPlugin;
import org.talend.login.AbstractLoginTask;
/**
*
* DOC wchen class global comment. Detailled comment
*/
public class PreferencePreInitailizeTask extends AbstractLoginTask {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
IPreferenceStore store = DesignerPlugin.getDefault().getPreferenceStore();
String pAutoCheck = System.getProperty("svn.update.info.check");
if (pAutoCheck != null) {
boolean enableAutoCheckSvn = Boolean.valueOf(pAutoCheck);
store.setValue(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK, enableAutoCheckSvn);
}
String pInterval = System.getProperty("svn.update.info.interval");
if (pInterval != null) {
try {
int svnCheckInterval = Integer.parseInt(pInterval);
store.setValue(ITalendCorePrefConstants.SVN_UPDATE_INFO_AUTO_CHECK_TIME_INTERVAL, svnCheckInterval);
} catch (NumberFormatException e) {
ExceptionHandler.process(e);
}
}
}
}

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