Compare commits

..

688 Commits

Author SHA1 Message Date
rdubois
f5a2c0f986 Fix Feature TDI-26729 : add the lost jar for hive embedded hbasestorage
git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@110010 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-25 10:11:42 +00:00
rdubois
8bbf83f231 Fix Feature TDI-26729 : add the lost jars
git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@109965 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 16:07:18 +00:00
rdubois
2f0694b2c0 Fix Feature TDI-26729 : Support for HDP 2.0 in 5.4
git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@109959 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 15:19:56 +00:00
rdubois
9cd8098179 Fix Bug TDI-26705: Property name of ERROR_MESSAGE is inconsistent between displaying inside Outline and inside code.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@109947 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 13:02:40 +00:00
rdubois
2556c88141 Fix New Feature TDI-26855 : Support OAuth2 with Salesforce.com
git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@109946 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 12:50:51 +00:00
sgandon
f7e5b10bf0 Fix Bug TUP-1157 : trove.jar need to be downloaded in the Studio added trove.jar into tAdvancedXMLMapHash and excluded it in build_tos_bd.properties https://jira.talendforge.org/browse/TUP-1157
git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@109879 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-23 14:46:30 +00:00
rdubois
82b9b0efd6 Fix Bug TDI-27601: tOracleInput: connection closing behavior when exception occurs .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@109873 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-23 14:18:32 +00:00
gliu
b38be51002 [TESB-11687] alias problem on tESBConsumer with SR enabled
fixed on cCXF

git-svn-id: http://talendforge.org/svn/tos/branches/branch-tempbuild-5_4_0@109856 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-23 09:39:41 +00:00
rdubois
18297ffdec TDI-25351: Improve some components logs.
git-svn-id: http://talendforge.org/svn/tos/trunk@109806 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 13:48:33 +00:00
yshamin
07177a58df - added UrlPath due to point to org.talend.libraries.esb.ext/lib or org.talend.libraries.camel.alldeps/lib where stored some deps for Talend Studio
git-svn-id: http://talendforge.org/svn/tos/trunk@109799 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 12:30:13 +00:00
yshamin
74cf8683eb - added UrlPath due to point to org.talend.libraries.esb.ext/lib or org.talend.libraries.camel.alldeps/lib where stored some deps for Talend Studio
git-svn-id: http://talendforge.org/svn/tos/trunk@109794 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 12:15:02 +00:00
ldong
7ab12d0f93 fix a small pb for junit.
git-svn-id: http://talendforge.org/svn/tos/trunk@109790 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 11:02:16 +00:00
ldong
525835e509 bug TDI-27786 fixed:can't run successfully for the task with log4j setting.
git-svn-id: http://talendforge.org/svn/tos/trunk@109788 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 10:51:49 +00:00
ilazebny
edb24edf08 Update version to 5.4.0 in poms
git-svn-id: http://talendforge.org/svn/tos/trunk@109784 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 10:29:45 +00:00
wwang
01fa223a3e Fix Bug TDI-27599 : the hive components run mapreduce job use the local mashine username
https://jira.talendforge.org/browse/TDI-27599

git-svn-id: http://talendforge.org/svn/tos/trunk@109780 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 10:07:16 +00:00
amarkevich
ca8ac909eb TESB-11684 Export folder for job can not be set and rise exception if it contains spaces
git-svn-id: http://talendforge.org/svn/tos/trunk@109774 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 09:51:56 +00:00
zgao
e064aac94d [TUP-1048] [User Experience] map the help views with the actual feature in the Studio
Use inner panel of dialog.

git-svn-id: http://talendforge.org/svn/tos/trunk@109766 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 09:20:20 +00:00
hcyi
947cd85585 bug TDI-27779 fixed : Warning shell does not activate when running the job attached .
git-svn-id: http://talendforge.org/svn/tos/trunk@109762 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 08:30:14 +00:00
gliu
0928fff3a2 [TUP-1126] Enable to export dependencies for Build job/route in common way
git-svn-id: http://talendforge.org/svn/tos/trunk@109761 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 08:25:05 +00:00
jzhao
6445fea508 Fixed Bug TDI-27796: Oracle driver mismatch
https://jira.talendforge.org/browse/TDI-27796
Note:1. switch the DEFAULT_VALUE to ORACLE_11_6
2. Change the driver name in the IMPORT from ojdbc5.jar to ojdbc6.jar

git-svn-id: http://talendforge.org/svn/tos/trunk@109758 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 08:18:07 +00:00
zgao
223c8a7b69 [TESB-11668] cCxf:use registry with authn_authz policy,when client use a wrong role can get reponse without error
-- [TESB-11683] Fix javajet template to generate correct code.

git-svn-id: http://talendforge.org/svn/tos/trunk@109754 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 07:28:15 +00:00
nrousseau
79f7a9d1b6 TUP-1051: put back the hl7 lib plugin to TOS, but remove jars, or the hl7 component won't be loaded
git-svn-id: http://talendforge.org/svn/tos/trunk@109749 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 06:35:34 +00:00
nrousseau
3a8a109908 TUP-1020 : license update
git-svn-id: http://talendforge.org/svn/tos/trunk@109732 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-22 03:05:11 +00:00
rdubois
7327dcd3d6 TDI-25351: Improve some components logs.
git-svn-id: http://talendforge.org/svn/tos/trunk@109728 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 17:46:10 +00:00
sizhaoliu
f4fb0d0017 fix compile error in r109705 for NB
git-svn-id: http://talendforge.org/svn/tos/trunk@109725 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 16:38:19 +00:00
hwang
7fb003267e TDI-27612:Need to review the display of the progress bar for map reduce
git-svn-id: http://talendforge.org/svn/tos/trunk@109705 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 11:06:10 +00:00
mzhao
a4f9419ca2 Fix New Feature TDQ-8037 : Add the store on disk option in the match analysis editor
https://jira.talendforge.org/browse/TDQ-8037
Add the functionality of store on disk in match analysis editor.

git-svn-id: http://talendforge.org/svn/tos/trunk@109703 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 11:01:18 +00:00
ldong
080b058507 bug TDI-27697 fixed:Import Demo: welcome page : Getting started: User can import same demo many times , system not check whether same items exist or not.
git-svn-id: http://talendforge.org/svn/tos/trunk@109702 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 10:49:27 +00:00
zwzhao
20f2f0596f bug TDI-27793 fixed : Studio throws an error log when do check login for a OAuth2 connection saleforce.
git-svn-id: http://talendforge.org/svn/tos/trunk@109690 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 09:59:25 +00:00
ggu
651dc8afaf TDI-27739: fixed the messages issue.
git-svn-id: http://talendforge.org/svn/tos/trunk@109683 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 09:06:17 +00:00
gliu
0b8ea7b7d3 [TESB-11661] cxf generate wrong code when as clien...
[TESB-11666] fix it

git-svn-id: http://talendforge.org/svn/tos/trunk@109676 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 08:37:13 +00:00
zwzhao
7884be48eb bug TDI-27772 fixed : A Problem about REPOSITORY_VALUE "HADOOP_ADVANCED_PROPERTIES"
git-svn-id: http://talendforge.org/svn/tos/trunk@109671 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 08:02:27 +00:00
jzhao
e557293800 Fixed New Feature TDI-26873: Create connectors for Google Storage
https://jira.talendforge.org/browse/TDI-26873 
Note:1,Fixed tGSDelete don't support different key prefix in one Bucket when delete files from bucket lists.
2.Fixed NB_line is invalid when tGSGet check use keys.
3.Modify tGSDelete locate of "Buckets"

git-svn-id: http://talendforge.org/svn/tos/trunk@109668 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 07:46:44 +00:00
jyhu
3042991c0e Fix Bug TDI-26705: Property name of ERROR_MESSAGE is inconsistent between displaying inside Outline and inside code .
https://jira.talendforge.org/browse/TDI-26705


git-svn-id: http://talendforge.org/svn/tos/trunk@109667 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 07:43:41 +00:00
jzhao
38e45fc97b Fixed Bug TDI-27198: tAggregateSortedRow does not support boolean or char in group by
https://jira.talendforge.org/browse/TDI-27198 
Note:Optimize the code.

git-svn-id: http://talendforge.org/svn/tos/trunk@109656 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 06:33:51 +00:00
jzhao
ee971ba8b7 Fixed Bug TDI-27198: tAggregateSortedRow does not support boolean or char in group by
https://jira.talendforge.org/browse/TDI-27198
Note:Fixed support boolean or char not null use as group by

git-svn-id: http://talendforge.org/svn/tos/trunk@109653 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 05:32:36 +00:00
zwzhao
afa51601d5 bug TDI-27525 fixed : Red cross on a Database Icon in the repository
git-svn-id: http://talendforge.org/svn/tos/trunk@109644 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 02:20:38 +00:00
jjzhou
5c6778e302 fix Bug TDI-27241: Java code won't compile with LDAP Schema of "Long" and "Not Nullable"
https://jira.talendforge.org/browse/TDI-27241

git-svn-id: http://talendforge.org/svn/tos/trunk@109625 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 10:03:39 +00:00
wchen
625c8d1e25 bug TDI-27768 fixed: BD:tPigMap:NPE when try to add expression for output
git-svn-id: http://talendforge.org/svn/tos/trunk@109623 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 09:59:49 +00:00
wchen
e135faf61b feature TUP-911 added: Fix bug for MapperControllerDialog
git-svn-id: http://talendforge.org/svn/tos/trunk@109615 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 09:33:39 +00:00
jyhu
acc9b13d9d Fix Bug TDI-26705: Property name of ERROR_MESSAGE is inconsistent between displaying inside Outline and inside code .
https://jira.talendforge.org/browse/TDI-26705


git-svn-id: http://talendforge.org/svn/tos/trunk@109612 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 09:21:57 +00:00
hwang
c60407dd2b TDI-27612:Need to review the display of the progress bar for map reduce
git-svn-id: http://talendforge.org/svn/tos/trunk@109611 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 09:16:25 +00:00
hwang
b54dfc58bb TDI-27612:Need to review the display of the progress bar for map reduce
git-svn-id: http://talendforge.org/svn/tos/trunk@109610 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 09:15:30 +00:00
plv
b51f5aa00c bug TDI-27277:Guess Schema issue with Redshift tRedshiftInput
git-svn-id: http://talendforge.org/svn/tos/trunk@109601 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:35:50 +00:00
wchen
aa977905e6 bug TDI-27768 fixed: BD:tPigMap:NPE when try to add expression for output
git-svn-id: http://talendforge.org/svn/tos/trunk@109598 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:14:14 +00:00
sizhaoliu
7af0b59589 TDQ-8142 save the routine item only if the dependency is modified.
git-svn-id: http://talendforge.org/svn/tos/trunk@109597 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:08:29 +00:00
wwang
580b37bd83 Fix Bug TDI-27366 : fix tXMLMap Compilation errors
https://jira.talendforge.org/browse/TDI-27366

git-svn-id: http://talendforge.org/svn/tos/trunk@109584 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 05:56:15 +00:00
dlin
f8c745ac96 bug TDI-27679 fixed :Can open more than one jar install dialog box at same time
git-svn-id: http://talendforge.org/svn/tos/trunk@109579 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 04:21:15 +00:00
zwzhao
eeaa0ba6bb bug TDI-27772 fixed : A Problem about REPOSITORY_VALUE "HADOOP_ADVANCED_PROPERTIES"
git-svn-id: http://talendforge.org/svn/tos/trunk@109569 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 03:27:01 +00:00
plv
d6485fad82 bug TDI-26467:tSalesforceOutput
git-svn-id: http://talendforge.org/svn/tos/trunk@109562 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 02:07:56 +00:00
sizhaoliu
f36132f20a TDQ-8142 remove only the relationship for org.talend.dataquality.parser + avoid adding the link during export
git-svn-id: http://talendforge.org/svn/tos/trunk@109553 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 15:46:03 +00:00
sizhaoliu
ccb3e4acde TDQ-8142 add migration task to remove the relationship between the routine item and the dependency modules starting with "org.talend"
git-svn-id: http://talendforge.org/svn/tos/trunk@109551 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 15:25:38 +00:00
rdubois
be561f9004 TDI-25351: remove the password from the Log and improve some other things other components.
git-svn-id: http://talendforge.org/svn/tos/trunk@109550 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 15:20:09 +00:00
sizhaoliu
b6b5c7d9b4 TDQ-1698 externalize column headers of parser rule table
git-svn-id: http://talendforge.org/svn/tos/trunk@109546 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 13:06:18 +00:00
rdubois
0cd7db6aa9 TDI-25351: remove the password from the Log and improve some other things for the Oracle components.
git-svn-id: http://talendforge.org/svn/tos/trunk@109545 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 12:08:45 +00:00
bchen
ea1a4e4826 Fix Bug TDI-27704 : Loose meters informations when error
https://jira.talendforge.org/browse/TDI-27704
make sure run flowMeter process before subjob process to ensure the flowMeter data of current process can be recorded.

git-svn-id: http://talendforge.org/svn/tos/trunk@109534 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 09:43:09 +00:00
zwzhao
3fcbc65bcd bug TDI-27525 fixed : Red cross on a Database Icon in the repository
git-svn-id: http://talendforge.org/svn/tos/trunk@109528 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 09:11:14 +00:00
zwzhao
863defbbef bug TDI-27525 fixed : Red cross on a Database Icon in the repository
git-svn-id: http://talendforge.org/svn/tos/trunk@109524 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 08:13:22 +00:00
nrousseau
234f7e62b3 TDQ-8187 : change import system to copy the jars only after the migration task are done.
git-svn-id: http://talendforge.org/svn/tos/trunk@109522 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 07:49:19 +00:00
ggu
2a9dffd9b0 TUP-1126: fixed a mistake
git-svn-id: http://talendforge.org/svn/tos/trunk@109521 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 07:48:31 +00:00
zwzhao
07ecab2890 bug TDI-27525 fixed : Red cross on a Database Icon in the repository
git-svn-id: http://talendforge.org/svn/tos/trunk@109517 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 07:21:32 +00:00
bchen
125aab6291 Fix New Feature TDI-26511 : tMicrosoftCrmInput using 2007 endpoint which is no longer supported
https://jira.talendforge.org/browse/TDI-26511
add default schemas for input and output components, and upgrade the stub code

git-svn-id: http://talendforge.org/svn/tos/trunk@109514 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 06:44:07 +00:00
ldong
fc1e31d9bd bug TDI-27697 fixed:Import Demo: welcome page : Getting started: User can import same demo many times , system not check whether same items exist or not.
git-svn-id: http://talendforge.org/svn/tos/trunk@109513 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 06:41:09 +00:00
jzhao
bf3b02cf1c Fixed Bug TDI-27112: tHiveInput don't support select cloumn when distribute is apache1.0
https://jira.talendforge.org/browse/TDI-27112
Note:Update Hive jars from 0.8.1 to 0.9.0

git-svn-id: http://talendforge.org/svn/tos/trunk@109498 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 03:00:57 +00:00
nrousseau
3d0724ecc8 TDI-27588 : fix a small problem with component unique name
git-svn-id: http://talendforge.org/svn/tos/trunk@109495 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 02:44:11 +00:00
jyhu
cb695f2b61 Fix Bug TDI-26705: Property name of ERROR_MESSAGE is inconsistent between displaying inside Outline and inside code .
https://jira.talendforge.org/browse/TDI-26705
revert code because tuj Bug_TDI_25710_tWriteXMLField could not work.

git-svn-id: http://talendforge.org/svn/tos/trunk@109480 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 10:56:14 +00:00
nrousseau
c04d074f4f TDI-27756 : babili update
git-svn-id: http://talendforge.org/svn/tos/trunk@109463 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 09:27:25 +00:00
nrousseau
de86f0ed79 TDI-27756 : babili update
git-svn-id: http://talendforge.org/svn/tos/trunk@109455 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 08:51:01 +00:00
hwang
ac4c2129d7 TDI-27612:Need to review the display of the progress bar for map reduce
git-svn-id: http://talendforge.org/svn/tos/trunk@109454 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 08:42:32 +00:00
ldong
80b107b188 bug TDI-27573 fixed:Plugin org.talend.repository.json.nl is missing.
git-svn-id: http://talendforge.org/svn/tos/trunk@109448 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 07:54:20 +00:00
ldong
b6d0e18175 bug TDI-27573 fixed:Plugin org.talend.repository.json.nl is missing.
git-svn-id: http://talendforge.org/svn/tos/trunk@109447 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 07:53:52 +00:00
zgao
6ba982b827 [TUP-1048] [User Experience] map the help views with the actual feature in the Studio
Fix HelpAvailableDialog always triggers HELP when press F1.
And mark HelpAvailableDialog as abstract.

git-svn-id: http://talendforge.org/svn/tos/trunk@109443 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 07:31:59 +00:00
zgao
2c37f33261 [TUP-1048] [User Experience] map the help views with the actual feature in the Studio
Add help button for "Service Metadata Option Dialog".
Created a HelpAvailableDialog extends Dialog for easier create Dialog with Help Button(button UI is different than TrayDialog), just override getHelpContextId() method.

git-svn-id: http://talendforge.org/svn/tos/trunk@109439 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 07:26:19 +00:00
jjzhou
ef46882146 fix Bug TDI-27581: Need to add two parameters to define memory parameters for HDP 1.2 and HDP 1.3
https://jira.talendforge.org/browse/TDI-27581

git-svn-id: http://talendforge.org/svn/tos/trunk@109437 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 06:51:37 +00:00
nrousseau
2533eac095 TDI-27298 : fix problem with execution of jobs with ELT components
git-svn-id: http://talendforge.org/svn/tos/trunk@109431 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 06:14:51 +00:00
jyhu
8efff00035 Fix Bug TDI-26705: Property name of ERROR_MESSAGE is inconsistent between displaying inside Outline and inside code .
https://jira.talendforge.org/browse/TDI-26705

git-svn-id: http://talendforge.org/svn/tos/trunk@109428 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 04:02:13 +00:00
bchen
57b1c5a3a4 Fix New Feature TDI-27230 : Update tAssertCatcher component to expose original Exception Object
https://jira.talendforge.org/browse/TDI-27230

git-svn-id: http://talendforge.org/svn/tos/trunk@109427 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 03:38:04 +00:00
ldong
89c2f4949d a small change for the order of the log4j levels.
git-svn-id: http://talendforge.org/svn/tos/trunk@109416 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 02:17:29 +00:00
wliu
3b2dc43000 Fix workitem TDI-27272 : replace the static value with the variable.
https://jira.talendforge.org/browse/TDI-27272

git-svn-id: http://talendforge.org/svn/tos/trunk@109396 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 10:33:44 +00:00
wwang
06e58b3aa0 Fix Feature TDI-26945 : fix the issue for many connections
https://jira.talendforge.org/browse/TDI-26945

git-svn-id: http://talendforge.org/svn/tos/trunk@109390 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 10:22:07 +00:00
nrousseau
e882828e24 TDI-27588 : remove some optimization done in the TDI-27266
git-svn-id: http://talendforge.org/svn/tos/trunk@109370 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 08:04:06 +00:00
rdubois
362c12625b TDI-27594: Add the icons and change the filename default value.
git-svn-id: http://talendforge.org/svn/tos/trunk@109364 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 07:44:06 +00:00
jyhu
14cfa201fa Fix Bug TDI-27733: tLDAPInput could not get more than one column binary values from schema and no effective when use exsisting connection .
https://jira.talendforge.org/browse/TDI-27733

git-svn-id: http://talendforge.org/svn/tos/trunk@109363 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 07:42:06 +00:00
nrousseau
0f1b7a87fb TDI-26821: add DBTYPE to the possible types in the columns of the component
git-svn-id: http://talendforge.org/svn/tos/trunk@109360 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 07:21:10 +00:00
wwang
7c4894dc88 Fix Bug TDI-27700 : Support CDH4.3 and CDH4.4 in MR 1
https://jira.talendforge.org/browse/TDI-27700

git-svn-id: http://talendforge.org/svn/tos/trunk@109351 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 06:10:07 +00:00
wliu
bdb0aeaad8 Fix Bug TDI-27577 : remove the localprovider part
https://jira.talendforge.org/browse/TDI-27577

git-svn-id: http://talendforge.org/svn/tos/trunk@109350 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 06:03:59 +00:00
hcyi
0a82278a4e bug TDI-27568 fixed : add HL7 Version for the tHL7Output repository .
git-svn-id: http://talendforge.org/svn/tos/trunk@109343 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 05:36:40 +00:00
wwang
9b1ab8c1c1 Fix Bug TDI-27577 : move GetConnection.javajet from bd to tos
https://jira.talendforge.org/browse/TDI-27577

git-svn-id: http://talendforge.org/svn/tos/trunk@109340 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 04:10:05 +00:00
ggu
0c2af806d6 TUP-1126: enable export dependencies by extension point.
git-svn-id: http://talendforge.org/svn/tos/trunk@109339 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 04:01:42 +00:00
bchen
2ff1f724fc Fix New Feature TDI-27230 : Update tAssertCatcher component to expose original Exception Object
https://jira.talendforge.org/browse/TDI-27230

git-svn-id: http://talendforge.org/svn/tos/trunk@109336 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 03:41:16 +00:00
bchen
eccd812a46 Fix New Feature TDI-27230 : Update tAssertCatcher component to expose original Exception Object
https://jira.talendforge.org/browse/TDI-27230

git-svn-id: http://talendforge.org/svn/tos/trunk@109332 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 02:52:49 +00:00
wwang
3dbddff64d Fix Feature TDI-27702 : Replace the technical name from MAPR3 to MAPR301
https://jira.talendforge.org/browse/TDI-27702

git-svn-id: http://talendforge.org/svn/tos/trunk@109325 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 02:33:33 +00:00
bchen
909aee9d82 Fix Bug TDI-27652 : SAP connection not released in case of a downstream component throws an exception
https://jira.talendforge.org/browse/TDI-27652

git-svn-id: http://talendforge.org/svn/tos/trunk@109297 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:38:48 +00:00
jjzhou
ecfa8a2ad5 fix Bug TDI-27640: tFileFetch HTTPS Redirection
https://jira.talendforge.org/browse/TDI-27640

git-svn-id: http://talendforge.org/svn/tos/trunk@109288 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:31:11 +00:00
zwzhao
bd469ad16a bug TDI-6613 fixed : tSalesforceOutput : Schema issue when switching Action.
git-svn-id: http://talendforge.org/svn/tos/trunk@109284 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:15:01 +00:00
jyhu
79647a1fdf Fix Bug TDI-27608: missing support for Dynamic data type in LDAP components .
https://jira.talendforge.org/browse/TDI-27608

git-svn-id: http://talendforge.org/svn/tos/trunk@109282 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:14:53 +00:00
zgao
5cf728b19a [TESB-11135] Duplicate conditions of node parameters.(showIf in xml file and if-else in javajet).
--[TESB-11557] Simplify conditions for tRESTClient javajet template.
--[TESB-11559] Update tESBConsumer_main.skeleton after introduced NodeConnectionsHelper.
Introducing NodeConnectionsHelper for reuse get connections of node.

git-svn-id: http://talendforge.org/svn/tos/trunk@109281 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:03:00 +00:00
gliu
887d9364be [TESB-11563] Hide "Use Business Correlation" when ...
]TESB-11564] fix it

git-svn-id: http://talendforge.org/svn/tos/trunk@109280 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 09:53:31 +00:00
bchen
cdbf67a109 Fix New Feature TDI-25590 : date ranges on tmarketo component
https://jira.talendforge.org/browse/TDI-25590

git-svn-id: http://talendforge.org/svn/tos/trunk@109277 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 09:22:59 +00:00
jzhao
fad2f488f1 Fixed Bug TDI-27715: the default online wsdl is not valid anymore for all the tWebService components
https://jira.talendforge.org/browse/TDI-27715
Note:1.Change the default online wsdl of tWebService*
2.Modify TUJ

git-svn-id: http://talendforge.org/svn/tos/trunk@109273 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 08:44:24 +00:00
ldong
64244900f7 bug TDI-27711 fixed:if nothing selected,disable the finish button.
git-svn-id: http://talendforge.org/svn/tos/trunk@109270 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 07:59:01 +00:00
jzhao
213c7597bc Fixed Bug TDI-27035: tFileList sorting always case-sensitive and files double-counted
https://jira.talendforge.org/browse/TDI-27035

git-svn-id: http://talendforge.org/svn/tos/trunk@109258 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 06:05:41 +00:00
nrousseau
ba9e36f0c0 TDI-27624 : update for guava and pig jars
git-svn-id: http://talendforge.org/svn/tos/trunk@109239 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 01:38:29 +00:00
wwang
e3c6060c0b Fix Feature TDI-26729 : add the lost common-io jar
https://jira.talendforge.org/browse/TDI-26729

git-svn-id: http://talendforge.org/svn/tos/trunk@109235 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 10:30:17 +00:00
nrousseau
03a39496b9 TDI-27624 : update for guava jars
git-svn-id: http://talendforge.org/svn/tos/trunk@109230 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 10:22:20 +00:00
wchen
4984e37c41 feature TUP-911 added: add referenced project item in MapperControllerDialog
git-svn-id: http://talendforge.org/svn/tos/trunk@109221 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 10:11:26 +00:00
hcyi
6e7f4a1f6f bug TDI-27568 fixed : xml tree in both tHL7Input and tHL7Output repository are generated incorrectly .
git-svn-id: http://talendforge.org/svn/tos/trunk@109220 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 10:08:11 +00:00
jyhu
dbb23da4ee Fix Bug TDI-27601: tOracleInput: connection closing behavior when exception occurs .
https://jira.talendforge.org/browse/TDI-27601

git-svn-id: http://talendforge.org/svn/tos/trunk@109219 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 10:06:12 +00:00
wwang
dbdf2ccf0a Fix Feature TDI-27701 : Support the YANR mode for CDH4.3 and CDH4.4
https://jira.talendforge.org/browse/TDI-27701

git-svn-id: http://talendforge.org/svn/tos/trunk@109196 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 06:59:15 +00:00
wchen
4521170013 bug TDI-27658 fixed: It takes too long time for shell "Export items" after pressing Export items button.
git-svn-id: http://talendforge.org/svn/tos/trunk@109183 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 02:13:07 +00:00
rdubois
b65f799c98 TDI-27594: Add the components to subversion.
git-svn-id: http://talendforge.org/svn/tos/trunk@109175 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 12:36:54 +00:00
nrousseau
2d3b17c6e9 TDQ-7668 : update jdom dependencies for TUP part.
git-svn-id: http://talendforge.org/svn/tos/trunk@109165 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 10:38:23 +00:00
jyhu
91c63bc8c3 Fix Work Item TDI-27694: tVerticaOutputBulkExec doesn't have the checkbox "Use an existing connection" .
https://jira.talendforge.org/browse/TDI-27694

git-svn-id: http://talendforge.org/svn/tos/trunk@109141 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 08:12:48 +00:00
ggu
3e155ba2ef TUP-1120: add the checking for network function.
git-svn-id: http://talendforge.org/svn/tos/trunk@109135 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 07:50:48 +00:00
nrousseau
b371500f18 TDI-27665: add a new plugin for mdm wizard dependencies.
git-svn-id: http://talendforge.org/svn/tos/trunk@109130 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 07:17:47 +00:00
zwzhao
459700bc52 bug TUP-825 fixed : commonFilter is incorrectly installed permanently in the ProjectExplorer
git-svn-id: http://talendforge.org/svn/tos/trunk@109127 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 07:09:32 +00:00
ggu
92a9d25ea0 TUP-1119: fixed the refresh problem for Camel components
git-svn-id: http://talendforge.org/svn/tos/trunk@109114 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 06:04:50 +00:00
hcyi
52f5e93859 bug TDI-27598 fixed : can't do search for the input xml tree .
git-svn-id: http://talendforge.org/svn/tos/trunk@109103 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 02:53:46 +00:00
jjzhou
b2484c6727 fix Bug TDI-27659: make tRunJob support log4j.
https://jira.talendforge.org/browse/TDI-27659

git-svn-id: http://talendforge.org/svn/tos/trunk@109095 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 01:23:26 +00:00
amarkevich
b4d6b30865 added FeatureWrapper (https://issues.apache.org/jira/browse/CAMEL-6783)
git-svn-id: http://talendforge.org/svn/tos/trunk@109084 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 13:37:19 +00:00
jyhu
b97bd5ffa7 Fix Work Item TDI-27677: tS3Delete will delete bucket when key is empty .
https://jira.talendforge.org/browse/TDI-27677 

git-svn-id: http://talendforge.org/svn/tos/trunk@109080 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 10:46:50 +00:00
jyhu
01bbaa3463 Fix Bug TDI-27627: tS3List don't support different key prefix in one Bucket when use bucket table .
https://jira.talendforge.org/browse/TDI-27627

git-svn-id: http://talendforge.org/svn/tos/trunk@109079 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 10:42:52 +00:00
jyhu
86a34ab03d Fix Work Item TDI-27677: tS3Delete will delete bucket when key is empty .
https://jira.talendforge.org/browse/TDI-27677

git-svn-id: http://talendforge.org/svn/tos/trunk@109074 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 09:56:29 +00:00
jjzhou
ce415089d1 fix Bug TDI-27654: Exception: java.lang.NoClassDefFoundError: org/jaxen/JaxenException on Talend Dataservice
https://jira.talendforge.org/browse/TDI-27654

git-svn-id: http://talendforge.org/svn/tos/trunk@109073 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 09:51:03 +00:00
amarkevich
77bc8a6029 TESB-10959 - Can not create service reference using blueprint for sam agent and locator features
-> TESB-11299 - sync tooling part accordingly

git-svn-id: http://talendforge.org/svn/tos/trunk@109069 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 09:05:35 +00:00
jzhao
2da25bd957 Fixed BugTDI-27517: 65535 issue with many tMaps and tExtractDelimitedFields
https://jira.talendforge.org/browse/TDI-27517
Note:Only change tExtractDelimitedFields 

git-svn-id: http://talendforge.org/svn/tos/trunk@109065 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 08:56:29 +00:00
hwang
c1a57671f7 TDI-27612:Need to review the display of the progress bar for map reduce
git-svn-id: http://talendforge.org/svn/tos/trunk@109063 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 08:38:00 +00:00
wchen
dbd41d45d7 feature TUP-911 added: Fix problem for ODT item without file extension.
git-svn-id: http://talendforge.org/svn/tos/trunk@109048 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 02:09:41 +00:00
rdubois
1c56cca5ce TDI-27169 fixed: Add a variable in the tPivotToColumnsDelimited to count the number of lines written in the file.
git-svn-id: http://talendforge.org/svn/tos/trunk@109039 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-09 14:05:25 +00:00
rdubois
203b4c53e8 TMDM-6318 fixed: Hide the WITH_REPORT option and don't generate the code is the STAGING container type is chosen.
git-svn-id: http://talendforge.org/svn/tos/trunk@109034 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-09 13:19:27 +00:00
rdubois
50f1ec3713 TDI-27611 fixed: Add the REPOSITORY_VALUE for Hive kerberos feature.
git-svn-id: http://talendforge.org/svn/tos/trunk@109032 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-09 12:44:24 +00:00
jzhao
41408a5af4 Fixed New Feature TDI-26873: Create connectors for Google Storage
https://jira.talendforge.org/browse/TDI-26873
Note:Fixed some problem see the comment.

git-svn-id: http://talendforge.org/svn/tos/trunk@109018 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-09 07:05:19 +00:00
ldong
31f37feeec fix a small pb about log4j.
git-svn-id: http://talendforge.org/svn/tos/trunk@109016 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-09 06:36:38 +00:00
ldong
d3224c6a5d fix a small pb about log4j.
git-svn-id: http://talendforge.org/svn/tos/trunk@109015 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-09 06:36:30 +00:00
sgandon
38766409f2 Fix Bug TUP-1104 : Studio starting process is stuck at "synchronize repository items" if keep "Connect to TalendForge" dialog open
make sure the dialog is on top.
https://jira.talendforge.org/browse/TUP-1104

git-svn-id: http://talendforge.org/svn/tos/trunk@108984 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 12:43:24 +00:00
plv
6959730174 bug TDI-27434:'Guess query" cannot guess the right DB name
git-svn-id: http://talendforge.org/svn/tos/trunk@108969 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 09:48:01 +00:00
wwang
6f2080a967 Fix Feature TDI-26730 : Support for MapR 3.0 in 5.4
https://jira.talendforge.org/browse/TDI-26730

git-svn-id: http://talendforge.org/svn/tos/trunk@108966 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 09:34:30 +00:00
yshamin
355dfde7a4 - TESB-11465: updated components configuration after removing jars
git-svn-id: http://talendforge.org/svn/tos/trunk@108962 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 09:21:07 +00:00
jjzhou
18f866d531 fix Bug TDI-27592: Salesforce connection fails with Classloader Error
https://jira.talendforge.org/browse/TDI-27592

git-svn-id: http://talendforge.org/svn/tos/trunk@108949 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 07:42:42 +00:00
plv
365a9cb244 bug TDI-26695:guess schema fail for derby client
git-svn-id: http://talendforge.org/svn/tos/trunk@108948 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 07:39:10 +00:00
jjzhou
a97eb31d02 fix Bug TDI-26863: Syntax of generated LDIF file not valid with MS Active Directory.
https://jira.talendforge.org/browse/TDI-26863

git-svn-id: http://talendforge.org/svn/tos/trunk@108938 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 03:58:45 +00:00
zgao
11b801ecf7 [TESB-11135] Duplicate conditions of node parameters.(showIf in xml file and if-else in javajet).
Update method NodeParamsHelper.getDisplayValue(IElementParameter) use ElementParameterParser.getDisplayValue(IElementParameter), instead of copy code.

git-svn-id: http://talendforge.org/svn/tos/trunk@108928 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 02:51:05 +00:00
amarkevich
1dcd667034 TESB-11315 Failure during publish will overwrite existing artifact in artifact repository with inconsistent contents
git-svn-id: http://talendforge.org/svn/tos/trunk@108898 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-07 11:32:11 +00:00
sgandon
2e5890eeb2 Fix Bug TUP-1103 : TalendForge dialog is not displayed on MAC
fixed the issue by not creating another display, only one display is allowed on MAC.
https://jira.talendforge.org/browse/TUP-1103

git-svn-id: http://talendforge.org/svn/tos/trunk@108894 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-07 09:24:10 +00:00
nrousseau
b195da59b0 TUP-1086 : clean up jars
git-svn-id: http://talendforge.org/svn/tos/trunk@108830 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 10:47:53 +00:00
zwzhao
07968eea60 bug TDI-6613 fixed : tSalesforceOutput : Schema issue when switching Action.
git-svn-id: http://talendforge.org/svn/tos/trunk@108822 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 10:05:42 +00:00
jzhao
00f4cc47ee Fixed Bug TDI-27527: tDenormalizeSortedRow does not properly handle Integers
https://jira.talendforge.org/browse/TDI-27527


git-svn-id: http://talendforge.org/svn/tos/trunk@108818 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 09:57:50 +00:00
nrousseau
920e373c1a TUP-1086 : clean up jars, and set activate only if one class is loaded
git-svn-id: http://talendforge.org/svn/tos/trunk@108783 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 03:51:59 +00:00
jyhu
3eac659fdc Fix Backlog Task TDI-27529: Need to add repository type for DB_VERSION in the components with postgres .
https://jira.talendforge.org/browse/TDI-27529

git-svn-id: http://talendforge.org/svn/tos/trunk@108774 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 03:31:55 +00:00
jyhu
43addafc49 Fix Backlog Task TDI-27529: Need to add repository type for DB_VERSION in the components with postgres .
https://jira.talendforge.org/browse/TDI-27529

git-svn-id: http://talendforge.org/svn/tos/trunk@108771 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 03:24:50 +00:00
jyhu
d76f872886 Fix Bug TDI-27353: Check Use standard_conforming_string ON as default setting when connect to V9.X and file type is CSV on tPostgresXXBulkExec componnents .
https://jira.talendforge.org/browse/TDI-27353

git-svn-id: http://talendforge.org/svn/tos/trunk@108760 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 02:29:55 +00:00
nrousseau
8e523ffa09 TUP-1086 : svn lib update
git-svn-id: http://talendforge.org/svn/tos/trunk@108750 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 01:26:33 +00:00
jzhao
9c512411cd Add TUJ For Bug TDI-27447: tPivotToColumnsDelimited doesn't close the BufferedWriter flow and also doesn't delete the empty file when checked the "Don't generate empty file"
https://jira.talendforge.org/browse/TDI-27447
Note: Remove useless stream close.


git-svn-id: http://talendforge.org/svn/tos/trunk@108730 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 09:23:16 +00:00
jzhao
88375e280c TDI-27447: tPivotToColumnsDelimited doesn't close the BufferedWriter flow and also doesn't delete the empty file when checked the "Don't generate empty file"
https://jira.talendforge.org/browse/TDI-27447
Note:1.Fixed tPivotToColumnsDelimited
2.tFileInputARFF and tFileInputLDIF close stream

git-svn-id: http://talendforge.org/svn/tos/trunk@108718 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 08:14:22 +00:00
wwang
53111a2ee1 Fix Bug TMDM-6319 : tMDMConnection: set auto-commit to TRUE by default
https://jira.talendforge.org/browse/TMDM-6319

git-svn-id: http://talendforge.org/svn/tos/trunk@108703 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 07:37:31 +00:00
jyhu
9091fe97da Fix Bug TDI-26822: tOracleOutput with Dynamic schema and reject rows crashes if all data rejected .
https://jira.talendforge.org/browse/TDI-26822

git-svn-id: http://talendforge.org/svn/tos/trunk@108702 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 07:36:05 +00:00
jyhu
96e83b5fff Fix Feature TDI-27028: Support for Vertica 6.1.x .
https://jira.talendforge.org/browse/TDI-27028

git-svn-id: http://talendforge.org/svn/tos/trunk@108698 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 07:11:57 +00:00
jyhu
8cec9a985b Fix Bug TDI-27204: Get error of "Unexpected message type: ReadyForQuery" in tVerticaOutput when use an existing connection component and "Action on data" is "Delete" .
https://jira.talendforge.org/browse/TDI-27204 

git-svn-id: http://talendforge.org/svn/tos/trunk@108697 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 07:08:52 +00:00
wwang
440b560de6 Fix Bug TDI-27577 : HCatStorer doesn't work in the tPigStoreResult
https://jira.talendforge.org/browse/TDI-27577

git-svn-id: http://talendforge.org/svn/tos/trunk@108695 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 07:08:09 +00:00
rdubois
df23d2b0f2 TDI-27335 fixed: tMOM components fixed when using a tMomConnection
git-svn-id: http://talendforge.org/svn/tos/trunk@108643 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-27 13:21:00 +00:00
wliu
ca9d1b83c7 Fix Bug TDI-26984 : recover the old behavior
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/trunk@108602 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 11:43:49 +00:00
atelesh
562fcd101c TESB-10959 - Can not create service reference using blueprint for sam agent and locator features
-> TESB-11299 - sync tooling part accordingly

git-svn-id: http://talendforge.org/svn/tos/trunk@108594 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 10:47:25 +00:00
ggu
0e0e2b9d5d TUP-758: fixed a NPE.
at org.talend.designer.mapper.handlers.MapperSchemaTypeItemRelationshipHandler.collect(MapperSchemaTypeItemRelationshipHandler.java:59)

git-svn-id: http://talendforge.org/svn/tos/trunk@108583 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 10:22:04 +00:00
hwang
989f903799 TDI-27410:Display problem about "display statistics" in map reduce job.
git-svn-id: http://talendforge.org/svn/tos/trunk@108579 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 10:06:48 +00:00
wwang
c5d2899a9f Fix Feature TDI-26729 : Support for HDP 2.0 in 5.4
https://jira.talendforge.org/browse/TDI-26729

git-svn-id: http://talendforge.org/svn/tos/trunk@108555 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 09:15:24 +00:00
gliu
ca9933d682 Change EventFeature class according to Runtime's change
git-svn-id: http://talendforge.org/svn/tos/trunk@108554 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 09:04:32 +00:00
ldong
bee1d9b17b bug TUP-1070 fixed:Import Demo project button has Chinese info popup.
git-svn-id: http://talendforge.org/svn/tos/trunk@108551 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 08:48:46 +00:00
jyhu
ea43bd98b2 Fix Bug TDI-27556: tS3XX components only catch AmazonClientException .
https://jira.talendforge.org/browse/TDI-27556


git-svn-id: http://talendforge.org/svn/tos/trunk@108550 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 08:47:30 +00:00
wchen
555bbb417f bug TDI-27541 fixed: Wrong project detect when try to delete project
git-svn-id: http://talendforge.org/svn/tos/trunk@108530 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 07:15:55 +00:00
gliu
5bf4a4b3cc [TESB-10891] The dragged component won't auto be connected on RouteBuilder
git-svn-id: http://talendforge.org/svn/tos/trunk@108526 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 06:47:57 +00:00
nrousseau
345a561b04 TUP-1053 : license cleaning.
git-svn-id: http://talendforge.org/svn/tos/trunk@108524 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 06:34:19 +00:00
ggu
f72b86e4f6 TDI-27341: fixed the checked problem in preferences.
git-svn-id: http://talendforge.org/svn/tos/trunk@108515 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 05:29:30 +00:00
nrousseau
6ff7c1f7ce TDI-27567 : babili update
git-svn-id: http://talendforge.org/svn/tos/trunk@108514 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 05:20:49 +00:00
jyhu
0ab63cde84 Fix Feature TDI-26391: Support SAP Hana for Talend big data .
https://jira.talendforge.org/browse/TDI-26391 
Add a library for SAP Hana,remove SAP Hana support on tCreateTable

git-svn-id: http://talendforge.org/svn/tos/trunk@108506 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 04:16:02 +00:00
nrousseau
17fe7804b4 TDI-27567 : babili update
git-svn-id: http://talendforge.org/svn/tos/trunk@108500 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 03:24:33 +00:00
ldong
8a24c6d918 bug TDI-25228 fixed:Fix the awful design of this class: ExtractMetaDataUtils.
git-svn-id: http://talendforge.org/svn/tos/trunk@108492 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 02:12:57 +00:00
ldong
debe840138 bug TDI-25228 fixed:Fix the awful design of this class: ExtractMetaDataUtils.
git-svn-id: http://talendforge.org/svn/tos/trunk@108490 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 02:09:02 +00:00
ldong
3381d48247 bug TDI-25228 fixed:Fix the awful design of this class: ExtractMetaDataUtils.
git-svn-id: http://talendforge.org/svn/tos/trunk@108489 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 02:08:13 +00:00
bchen
e8707c19cc Fix New Feature TDI-26855 : Support OAuth2 with Salesforce.com
https://jira.talendforge.org/browse/TDI-26855 
revert r108195, and servlet-api-3.0.jar exists on salesforce plugin

git-svn-id: http://talendforge.org/svn/tos/trunk@108488 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 01:55:42 +00:00
jyhu
a1e950e1bf Fix Feature TDI-27028: Support for Vertica 6.1.x .
https://jira.talendforge.org/browse/TDI-27028 


git-svn-id: http://talendforge.org/svn/tos/trunk@108487 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 01:45:18 +00:00
rdubois
81e98625b8 TDI-26812 fixed: Add the support for Kerberos on the Hive components.
git-svn-id: http://talendforge.org/svn/tos/trunk@108486 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 17:20:22 +00:00
wliu
4241fd0c5e Fix Bug TDI-26984 :remove the new mode:NULL
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/trunk@108467 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 10:47:08 +00:00
zgao
b46ffb58a8 [TESB-10374] cCXF: user Credentials propagation
[TESB-11254] Add A/P Credential Propagation support from Consumer side.


git-svn-id: http://talendforge.org/svn/tos/trunk@108462 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 10:08:02 +00:00
jjzhou
f3178eb0e3 fix Work item TDI-27449: Change this in Component side : Rename the name Oracle RAC to Oracle Custom
https://jira.talendforge.org/browse/TDI-27449

git-svn-id: http://talendforge.org/svn/tos/trunk@108460 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 10:01:47 +00:00
rdubois
457a26d032 TDI-25351: Align the root logger level with the job log level if the "Use custom log4j level" has been enabled.
git-svn-id: http://talendforge.org/svn/tos/trunk@108449 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 08:27:23 +00:00
gliu
f86ad6662d [TESB-10661] cCXF: CorrelationId support
[TESB-11090] Find a way to extract CorrelationID from exchange easily

git-svn-id: http://talendforge.org/svn/tos/trunk@108439 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 07:41:48 +00:00
jzhao
9db136360b Fixed New Feature TDI-22143:Support Amazon S3 (Simple Storage Service)
https://jira.talendforge.org/browse/TDI-22143
Note:Fixed tS3BucketList 

git-svn-id: http://talendforge.org/svn/tos/trunk@108435 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 07:24:18 +00:00
bchen
1945686fb9 Fix New Feature TDI-24069 : Truncate in tDB2Output
https://jira.talendforge.org/browse/TDI-24069
add truncate and truncate reuse store function for table action

git-svn-id: http://talendforge.org/svn/tos/trunk@108425 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 03:58:09 +00:00
hcyi
7f524fca0f bug TDI-26946 fixed : ELTHiveMap : HiveQL generation not refreshed if you delete an INPUT table .
git-svn-id: http://talendforge.org/svn/tos/trunk@108422 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 03:40:33 +00:00
jzhao
3cc3ccccf7 Fixed New Feature TDI-22143:Support Amazon S3 (Simple Storage Service)
https://jira.talendforge.org/browse/TDI-22143
Note:Shutdown the S3 Client in tS3XX components and add tS3Close component

git-svn-id: http://talendforge.org/svn/tos/trunk@108419 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 03:26:23 +00:00
nrousseau
ad2867516e TDI-25871 : fix problem of wrong display of links, avoid to use xpath to get current path to link, but try to get from elements
git-svn-id: http://talendforge.org/svn/tos/trunk@108414 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 03:10:42 +00:00
jjzhou
2805176929 fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@108403 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 01:54:49 +00:00
zwzhao
1f2dff314c feature TDI-27483 : add REPOSITORY_VALUE for this component
git-svn-id: http://talendforge.org/svn/tos/trunk@108374 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 09:32:31 +00:00
jyhu
94b7231d06 Fix Bug TDI-26391: Support SAP Hana for Talend big data .
https://jira.talendforge.org/browse/TDI-26391 
move SAP Hana components from localprovider to bigdata.

git-svn-id: http://talendforge.org/svn/tos/trunk@108361 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 08:39:45 +00:00
jzhao
3477ad7ad1 Fixed New Feature TDI-26873: Create connectors for Google Storage
https://jira.talendforge.org/browse/TDI-26873
Note:1.Move components from BigData to Localprovider
2.Add additional family:Cloud for components

git-svn-id: http://talendforge.org/svn/tos/trunk@108359 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 08:29:40 +00:00
zwzhao
4b6189a8eb feature TDI-27468 : Add hadoop properties in the big data wizards
git-svn-id: http://talendforge.org/svn/tos/trunk@108356 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 08:18:32 +00:00
jjzhou
de8d031f2a fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@108350 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 08:07:52 +00:00
jyhu
5d4d38540c Fix Bug TDI-27425: The characters with accent can not be displayed by using ODBC connector.
https://jira.talendforge.org/browse/TDI-27425


git-svn-id: http://talendforge.org/svn/tos/trunk@108349 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 07:50:45 +00:00
jzhao
1c07ff19df Fixed Bug TDI-27075: tFileInputJSON or tExtractJSONFields will run in Studio but fail if job is exported and run via command line
https://jira.talendforge.org/browse/TDI-27075

git-svn-id: http://talendforge.org/svn/tos/trunk@108348 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 07:47:03 +00:00
jyhu
d1832bf79e Fix Bug TDI-27425: The characters with accent can not be displayed by using ODBC connector.
https://jira.talendforge.org/browse/TDI-27425


git-svn-id: http://talendforge.org/svn/tos/trunk@108345 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 07:36:26 +00:00
bchen
fedf65fdc5 Fix New Feature TDI-27097 : tFileInputEBCDIC needs a NB_LINE counter
https://jira.talendforge.org/browse/TDI-27097

git-svn-id: http://talendforge.org/svn/tos/trunk@108340 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 06:58:10 +00:00
hcyi
543ed3a464 bug TDI-27090 modified : Wrong pattern used in TAC for the project creation .
git-svn-id: http://talendforge.org/svn/tos/trunk@108334 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 05:57:48 +00:00
nrousseau
7dd5e2af64 TDI-27249 : fix clean statistics for TOS
git-svn-id: http://talendforge.org/svn/tos/trunk@108332 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 05:01:57 +00:00
nrousseau
80894d45e0 TDI-27227 : fix problem of invalid thread access
git-svn-id: http://talendforge.org/svn/tos/trunk@108331 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 04:44:41 +00:00
gliu
0c3ee431b6 [TESB-10374] cCXF: user Credentials propagation
[TESB-11131] Add Credential Propagation support from Consumer side

git-svn-id: http://talendforge.org/svn/tos/trunk@108330 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 03:54:26 +00:00
nrousseau
f344efe555 TDI-27535 : fix problem of null connection name
git-svn-id: http://talendforge.org/svn/tos/trunk@108316 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 11:01:04 +00:00
nrousseau
26f45f2fa0 TUP-1044: avoid to have the download of jars in background, reuse the new code of the download dialog, and force some refresh on components after install new jars.
git-svn-id: http://talendforge.org/svn/tos/trunk@108312 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 10:28:28 +00:00
bchen
4ef9ca6709 Fix New Feature TDI-26855 : Support OAuth2 with Salesforce.com
https://jira.talendforge.org/browse/TDI-26855
correct the promote message

git-svn-id: http://talendforge.org/svn/tos/trunk@108300 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 09:26:11 +00:00
wliu
e41f81d0ba tuj for Bug TDI-26984 : Add a new tuj for the new mode:NULL
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/trunk@108296 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 08:21:51 +00:00
ggu
48a89807db TUP-968: fixed the problem for win OS.
git-svn-id: http://talendforge.org/svn/tos/trunk@108295 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 08:17:35 +00:00
xqliu
6e0cdbed67 Fix New Feature TDQ-7471 : "Export report script" should now export a generated job
https://jira.talendforge.org/browse/TDQ-7471
export job script after generate the job by a report

git-svn-id: http://talendforge.org/svn/tos/trunk@108287 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 07:44:10 +00:00
nrousseau
5188b4ff2e TDI-27364 : fix the version problem for psql for the version change to have the same as the component.
git-svn-id: http://talendforge.org/svn/tos/trunk@108279 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 06:25:44 +00:00
wchen
0940110675 feature TUP-911 added: Add repository review dialog for hmap
git-svn-id: http://talendforge.org/svn/tos/trunk@108278 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 06:22:25 +00:00
wliu
c010f24b00 Fix Bug TDI-26984 : make the root table invisible
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/trunk@108272 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 03:57:51 +00:00
plv
980360fce6 bug TDI-27384:TIS isn't automatic save job after changes in SQL memory though we have checked save job before execution
git-svn-id: http://talendforge.org/svn/tos/trunk@108271 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 03:50:20 +00:00
nrousseau
edafc2e928 TDI-27350 : add missing break info for the migration
git-svn-id: http://talendforge.org/svn/tos/trunk@108269 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 03:43:56 +00:00
wliu
985bb0705b Fix Bug TDI-26984 : Add Talend license to the source code
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/trunk@108267 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 03:41:44 +00:00
wliu
fb8fc372a3 Fix Bug TDI-26984 : tHL7Output component Bug
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/trunk@108235 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 12:31:50 +00:00
dsavina
21ddcb0398 TESB-11065: added correlation feature dependency.
git-svn-id: http://talendforge.org/svn/tos/trunk@108234 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 12:08:18 +00:00
ldong
99c432c83a Feature TUP-1004 improved:fix a small pb.
git-svn-id: http://talendforge.org/svn/tos/trunk@108224 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 10:06:16 +00:00
hwang
ec370d3be3 TDI-27462:expanding Sub-jobs linked together: remove this link, or move it
git-svn-id: http://talendforge.org/svn/tos/trunk@108209 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 09:08:53 +00:00
ggu
7bb0602bf1 TUP-968: fixed a problem for compact button.
git-svn-id: http://talendforge.org/svn/tos/trunk@108206 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 08:16:15 +00:00
bchen
5f73fdd556 Fix New Feature TDI-26855 : Support OAuth2 with Salesforce.com
https://jira.talendforge.org/browse/TDI-26855
fixed a bug, when no refreshToken

git-svn-id: http://talendforge.org/svn/tos/trunk@108205 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 07:47:34 +00:00
ggu
75c4b9740f TUP-968: external modules installation
git-svn-id: http://talendforge.org/svn/tos/trunk@108204 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 07:40:21 +00:00
dsavina
21daaf8599 TESB-11065: added features dependency
git-svn-id: http://talendforge.org/svn/tos/trunk@108202 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 07:31:11 +00:00
bchen
c5e7c6b8f5 Fix New Feature TDI-26855 : Support OAuth2 with Salesforce.com
https://jira.talendforge.org/browse/TDI-26855
remove jar

git-svn-id: http://talendforge.org/svn/tos/trunk@108195 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 06:52:42 +00:00
nrousseau
069bdf3e26 TDI-27266 : enhance the build speed when generate job, and also for the export dependencies linked
git-svn-id: http://talendforge.org/svn/tos/trunk@108192 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 06:43:25 +00:00
hwang
d928eeb50e TDI-27424:Group display problem in MR job.
git-svn-id: http://talendforge.org/svn/tos/trunk@108180 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 03:23:56 +00:00
gliu
5b2b0b2cc3 feather TDI-27341 : Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@108179 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 03:09:11 +00:00
nrousseau
b05f7bb7e0 TDI-27435 : Rename automatically some row link if some are already existing.
git-svn-id: http://talendforge.org/svn/tos/trunk@108174 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 02:16:02 +00:00
wchen
d7e7fb8a2b feature TUP-911 added: Fix bug for hmap repository and initial work on repository_value for component
git-svn-id: http://talendforge.org/svn/tos/trunk@108169 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 11:17:11 +00:00
ldong
d787bb8ea8 Feature TUP-1004 improved:Improve some display for demo project import.
git-svn-id: http://talendforge.org/svn/tos/trunk@108160 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 10:08:11 +00:00
jzhao
74b0f0c540 Fixed Bug TDI-27402: tBigQueryInput: invalid_grant error when trying to run job from .bat export
https://jira.talendforge.org/browse/TDI-27402
Note: Fixed some other components tSalesForceXX and tBigQueryBulkExec/tBigQueryOutput

git-svn-id: http://talendforge.org/svn/tos/trunk@108147 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 08:21:06 +00:00
hwang
51f73d1040 TDI-27450:MR Job :After deactive components, group display not well
git-svn-id: http://talendforge.org/svn/tos/trunk@108144 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 08:19:47 +00:00
gliu
17b2f5feaa [TESB-10374] cCXF: user Credentials propagation
[TESB-11131] Add Credential Propagation support from Consumer side

git-svn-id: http://talendforge.org/svn/tos/trunk@108143 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 08:18:48 +00:00
jyhu
a9cea49cd1 Fix Bug TDI-27140: NumberFormatException when NLS is configured in French by using tOracleOutputBulkExec component .
https://jira.talendforge.org/browse/TDI-27140


git-svn-id: http://talendforge.org/svn/tos/trunk@108141 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 07:52:41 +00:00
ldong
f235b9c945 Feature TUP-1004 improved:change the location and icon of demo project import in the tool bar.
git-svn-id: http://talendforge.org/svn/tos/trunk@108129 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 07:22:39 +00:00
nrousseau
afa7656dcd TDI-27350 : set correct case for the dbtypes when migrate to avoid warnings
git-svn-id: http://talendforge.org/svn/tos/trunk@108120 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 04:34:00 +00:00
nrousseau
52c8c89041 TDI-27485 : avoid an expand all when open the repository dialog
git-svn-id: http://talendforge.org/svn/tos/trunk@108119 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 04:17:57 +00:00
hwang
0a3905be68 TDI-27419:Add metadata wizard support for SAP Hana
git-svn-id: http://talendforge.org/svn/tos/trunk@108118 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 04:01:52 +00:00
nrousseau
8922e98462 TUP-1051 : change hl7 dependencies
git-svn-id: http://talendforge.org/svn/tos/trunk@108113 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 03:17:46 +00:00
hwang
a52e5d6415 TDI-27419:Add metadata wizard support for SAP Hana
git-svn-id: http://talendforge.org/svn/tos/trunk@108106 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 02:34:07 +00:00
wwang
5896f3da25 Fix Feature TDI-27356 : Support for MapR 2.1.3
https://jira.talendforge.org/browse/TDI-27356

git-svn-id: http://talendforge.org/svn/tos/trunk@108104 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 02:32:51 +00:00
jzhao
4c38bc36f3 Fixed Backlog Task TDI-27464: Need add REPOSITORY_VALUE attribute for tHiveXXX components
https://jira.talendforge.org/browse/TDI-27464

git-svn-id: http://talendforge.org/svn/tos/trunk@108084 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-16 08:11:04 +00:00
wliu
b62311016c Fix Bug TDI-27273 : avoid the NPE when the variable value is null
https://jira.talendforge.org/browse/TDI-27273

git-svn-id: http://talendforge.org/svn/tos/trunk@108068 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-16 04:47:13 +00:00
nrousseau
1130f51295 TDI-27350 : set correct case for the dbtypes when migrate to avoid warnings
git-svn-id: http://talendforge.org/svn/tos/trunk@108063 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-16 03:56:22 +00:00
gliu
3dcecb0454 feather TDI-27341 : Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@108053 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-16 03:05:35 +00:00
jyhu
d6115fa088 Fix Bug TDI-26391: Support SAP Hana for Talend big data .
https://jira.talendforge.org/browse/TDI-26391


git-svn-id: http://talendforge.org/svn/tos/trunk@108032 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-14 08:36:22 +00:00
sgandon
675a6660fe TUP-1040 create a hook for missing bundle jars to look into java/lib folder, feature.xml update
git-svn-id: http://talendforge.org/svn/tos/trunk@108018 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 11:42:59 +00:00
sgandon
3c7d338e77 TUP-1040 create a hook for missing bundle jars to look into java/lib folder, feature.xml update
git-svn-id: http://talendforge.org/svn/tos/trunk@108014 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 11:37:16 +00:00
sgandon
4bb2310829 TUP-1040 create a hook for missing bundle jars to look into java/lib folder, feature.xml update
git-svn-id: http://talendforge.org/svn/tos/trunk@108013 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 11:36:20 +00:00
ldong
5fcead5d8a Feature TUP-1004 added:Need to review the main system of import demo.
git-svn-id: http://talendforge.org/svn/tos/trunk@108007 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 10:51:59 +00:00
nrousseau
d92a704c23 TUP-1041 : jar cleanup
git-svn-id: http://talendforge.org/svn/tos/trunk@108005 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 10:40:10 +00:00
jjzhou
85951e9530 fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107996 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 10:01:07 +00:00
plv
3ce3a400fa feather TDI-27341:Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@107994 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 09:51:20 +00:00
jjzhou
19e19aa3d6 fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107990 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 09:29:45 +00:00
ggu
8103dec3c6 TUP-1009: improve the tDqReportRun and tDBs(In)ValidRows dependencies.
git-svn-id: http://talendforge.org/svn/tos/trunk@107987 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 08:45:23 +00:00
gliu
0e8f5d9e8a feather TDI-27341 : Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@107979 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 07:51:24 +00:00
hcyi
a6d9f5980e Feature TDI-27433 added : Rename the name Oracle RAC to Oracle Custom .
git-svn-id: http://talendforge.org/svn/tos/trunk@107973 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 07:32:38 +00:00
hcyi
880e6b49ca Feature TDI-27433 added : Rename the name Oracle RAC to Oracle Custom .
git-svn-id: http://talendforge.org/svn/tos/trunk@107930 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 02:30:24 +00:00
wchen
a503006eac feature TUP-911 added: Fix bug for export item in mapping view
git-svn-id: http://talendforge.org/svn/tos/trunk@107927 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 02:18:34 +00:00
plv
fc73eb0dfe feather TDI-27341:Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@107925 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 02:08:08 +00:00
plv
8ee5fe3586 feather TDI-27341:Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@107924 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 01:59:01 +00:00
mhirt
a91b2f08a4 Fix bug TUP-1013 : Add eclipse.inf to all plugins in tos repository
git-svn-id: http://talendforge.org/svn/tos/trunk@107922 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-12 19:53:30 +00:00
mhirt
0be65af813 Fix bug TUP-1013 : Add eclipse.inf to all plugins in tos repository
git-svn-id: http://talendforge.org/svn/tos/trunk@107909 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-12 13:11:32 +00:00
zgao
cbb03b2d22 [TESB-11028] tESBConsumer/BPM Connector: user Credentials propagation use alias/passwprd
- [TESB-11060] Update UI
Add copyright & author.

git-svn-id: http://talendforge.org/svn/tos/trunk@107907 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-12 11:56:50 +00:00
zgao
47cfc50aac [TESB-11028] tESBConsumer/BPM Connector: user Credentials propagation use alias/passwprd
- [TESB-11060] Update UI
Add getVisibleStringParam(String key) method.

git-svn-id: http://talendforge.org/svn/tos/trunk@107905 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-12 11:45:38 +00:00
ycbai
e5d5d19439 bug TDI-27183 : fix the problem that cannot retrieve column family vaule from repository.
git-svn-id: http://talendforge.org/svn/tos/trunk@107899 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-12 09:58:15 +00:00
nrousseau
b84b3c6cb5 TDI-27438 : enhance the speed of resolution of routines for joblets
git-svn-id: http://talendforge.org/svn/tos/trunk@107851 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-12 02:48:02 +00:00
sizhaoliu
62df0c2313 TDQ-7635 Unify component properties layout for DQ hadoop component + migration task for adding namenodeURI and distribution fields
git-svn-id: http://talendforge.org/svn/tos/trunk@107844 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 14:45:50 +00:00
ycbai
b5ab074ccf TDI-27429 : Need to try to use the single compilation for the jet emitters instead of build project from eclipse
git-svn-id: http://talendforge.org/svn/tos/trunk@107833 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 10:12:10 +00:00
wliu
9810e318bc Fix Bug TDI-27273 : incorrect xml parameter processing with special charactors like: +
https://jira.talendforge.org/browse/TDI-27273

git-svn-id: http://talendforge.org/svn/tos/trunk@107827 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 09:38:31 +00:00
xqliu
8f86b4d08b Fix New Feature TDQ-7471 : "Export report script" should now export a generated job
https://jira.talendforge.org/browse/TDQ-7471
1) remove the menu "Export report script" and add a new menu "Export Report Job"
2) generate job from a report and export the job by one-click

git-svn-id: http://talendforge.org/svn/tos/trunk@107819 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 09:13:58 +00:00
ycbai
78a8fa2db3 TDI-27429 : Need to try to use the single compilation for the jet emitters instead of build project from eclipse
git-svn-id: http://talendforge.org/svn/tos/trunk@107811 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 08:29:10 +00:00
ycbai
0eb4b87a92 TDI-27429 : Need to try to use the single compilation for the jet emitters instead of build project from eclipse
git-svn-id: http://talendforge.org/svn/tos/trunk@107810 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 08:24:53 +00:00
wwang
f5f23c9268 Fix Feature TDI-24892 : Support for the new Hadoop version: EMC Pivotal in 5.4
https://jira.talendforge.org/browse/TDI-24892

git-svn-id: http://talendforge.org/svn/tos/trunk@107803 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 07:00:40 +00:00
sizhaoliu
b65ec6b4fc TDQ-1206 & TDQ-3356 trivial improvements:
- optimize parser code generation button for tStandardizeRow
- optimize survivorship rule generation button for tRuleSurvivorship

git-svn-id: http://talendforge.org/svn/tos/trunk@107794 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 15:28:49 +00:00
ldong
b8d12b82e3 Feature TDI-27057 improved:finished five subtasks.
git-svn-id: http://talendforge.org/svn/tos/trunk@107789 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 11:04:07 +00:00
ldong
dd7220bd34 Feature TDI-27057 improved:finished five subtasks.
git-svn-id: http://talendforge.org/svn/tos/trunk@107788 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 11:03:48 +00:00
jjzhou
eecbefa7d0 fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351 

git-svn-id: http://talendforge.org/svn/tos/trunk@107785 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 10:34:36 +00:00
jjzhou
66914f021e fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107782 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 10:22:15 +00:00
plv
213ea717ed feather TDI-27341:Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@107781 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 10:19:38 +00:00
ggu
b146b7bed3 TUP-1009: refactor the relationship builder.
git-svn-id: http://talendforge.org/svn/tos/trunk@107773 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 08:36:42 +00:00
hcyi
d114c9a49c bug TDI-5898 fixed : GlobalMap set by tMap aren't display in completion .
git-svn-id: http://talendforge.org/svn/tos/trunk@107765 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 07:59:02 +00:00
zgao
ae9ec7520e [TESB-10369] tESBConsumer: support Encryption/Signature
└[TESB-11150] Update code generation of tESBConsumer end.
Introducing a class named NodeParamsHelper to inquiry parameter values of one node.

git-svn-id: http://talendforge.org/svn/tos/trunk@107761 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 07:45:39 +00:00
gliu
8b0b252f39 [TESB-10661] cCXF: CorrelationId support
[TESB-11090] Find a way to extract CorrelationID from exchange easily

git-svn-id: http://talendforge.org/svn/tos/trunk@107755 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 07:20:11 +00:00
zwzhao
7964af82c4 feature TDI-26868 : Update GUI for salesforce with OAuth
git-svn-id: http://talendforge.org/svn/tos/trunk@107752 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 06:11:47 +00:00
zwzhao
718dc2d781 feature TDI-26868 : Update GUI for salesforce with OAuth
git-svn-id: http://talendforge.org/svn/tos/trunk@107751 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 06:08:00 +00:00
zwzhao
14918b5fcf feature TDI-26868 : Update GUI for salesforce with OAuth
git-svn-id: http://talendforge.org/svn/tos/trunk@107749 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 06:06:09 +00:00
hwang
4e93fcab64 TDI-23013 :Undo of delete for links to joblet not correct when joblet expanded
git-svn-id: http://talendforge.org/svn/tos/trunk@107748 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 05:26:43 +00:00
hwang
3b915dc55e TDI-27395:If a node have two input connections, one is merge, another is subjobok, then you delete the merge one, will get an NEP,and every time when you open the job, you will get he NEP
git-svn-id: http://talendforge.org/svn/tos/trunk@107744 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 03:59:16 +00:00
gliu
5d271271e7 [TESB-10661] cCXF: CorrelationId support
[TESB-11090] Find a way to extract CorrelationID from exchange easily

git-svn-id: http://talendforge.org/svn/tos/trunk@107742 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 03:40:13 +00:00
nrousseau
fa44e122a0 TDI-27292 : set again the same code as before when initialize the product, to reinitialize the .Java project
git-svn-id: http://talendforge.org/svn/tos/trunk@107740 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 03:00:44 +00:00
jjzhou
e78c26381e fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107726 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 10:54:08 +00:00
gliu
80310f258b [TESB-10374] cCXF: user Credentials propogation
[TESB-11130] Extract Existing SAML Token from request

git-svn-id: http://talendforge.org/svn/tos/trunk@107721 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 09:47:06 +00:00
fwang
448cfaed1b bug TDI-27257 fixed:duplicate routine items display when "Setup routine dependencies"
git-svn-id: http://talendforge.org/svn/tos/trunk@107719 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 09:34:28 +00:00
wliu
cdc7043397 Fix workitem TDI-27272 : Using apache codec in commons-codec-1.7.jar to replace the bonita codec in the tBonitaInstantiateProcess for the mode:"HTTP Client"
https://jira.talendforge.org/browse/TDI-27272

git-svn-id: http://talendforge.org/svn/tos/trunk@107714 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 08:46:39 +00:00
wliu
fa098e3a79 Fix workitem TDI-27272 : Using apache codec in commons-codec-1.7.jar to replace the bonita codec in the tBonitaInstantiateProcess for the mode:"HTTP Client"
https://jira.talendforge.org/browse/TDI-27273

git-svn-id: http://talendforge.org/svn/tos/trunk@107707 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 08:18:32 +00:00
nrousseau
9407106625 TDI-27292 : sets back the build of jet emitters project at the begining when start the studio
git-svn-id: http://talendforge.org/svn/tos/trunk@107690 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 04:10:57 +00:00
nrousseau
90b7538059 TDI-26994 : improve the edition of tJava, use one ExecutionLimiter to avoid to call the generation too often.
git-svn-id: http://talendforge.org/svn/tos/trunk@107683 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 03:13:02 +00:00
sizhaoliu
39f9f57169 TDQ-7731 : for tDqReportRun, fix problem with contextualized file connection, and correct some other issues to make tDqReportRun run well,
git-svn-id: http://talendforge.org/svn/tos/trunk@107677 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 16:15:36 +00:00
hwang
2501994a3d TDI-27389:Hide reduce progressbar,when group does not contain reduce
git-svn-id: http://talendforge.org/svn/tos/trunk@107660 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 09:46:51 +00:00
wliu
11701465da Fix Bug TDI-26945 : fix the version and breaks to correct one
https://jira.talendforge.org/browse/TDI-26945

git-svn-id: http://talendforge.org/svn/tos/trunk@107645 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 07:55:02 +00:00
hwang
d7da78ab1d TDI-27032:Response to schema prompt when adding component to flow remembered
git-svn-id: http://talendforge.org/svn/tos/trunk@107636 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 06:47:28 +00:00
wliu
70f4741591 Fix Bug TDI-27365 : tSAPInput_end.javajet doesn't generated code correctly
https://jira.talendforge.org/browse/TDI-27365

git-svn-id: http://talendforge.org/svn/tos/trunk@107619 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 03:31:05 +00:00
hwang
b9c621961e TDI-27374:Green nodeContainer is not big enough to show map/reduce proressbar
git-svn-id: http://talendforge.org/svn/tos/trunk@107617 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 02:57:03 +00:00
jjzhou
bb68d3f5b8 fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107613 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 01:21:52 +00:00
sizhaoliu
a52003e249 TUP-833 move Preference Store usage out of org.talend.core.runtime plugin
git-svn-id: http://talendforge.org/svn/tos/trunk@107606 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 14:53:11 +00:00
rdubois
d75e6f1916 TMDM-5992 fixed: Add a drop down list to define the data container type (STAGING or MASTER).
git-svn-id: http://talendforge.org/svn/tos/trunk@107601 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 12:04:54 +00:00
jjzhou
af8fc6f7f8 fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107599 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 11:00:26 +00:00
ggu
f025fc43a0 TUP-758: refactor the extension point.
git-svn-id: http://talendforge.org/svn/tos/trunk@107587 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 10:02:20 +00:00
plv
1627fc3b7d feather TDI-27341:Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@107567 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 07:09:48 +00:00
hcyi
ed0db25db9 bug TDI-27090 fixed : Wrong pattern used in TAC for the project creation .
git-svn-id: http://talendforge.org/svn/tos/trunk@107563 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 06:30:39 +00:00
bchen
b9a3365c59 Fix Bug TDI-27303 : tSAPInput component to enable starting ftp and http based programs
https://jira.talendforge.org/browse/TDI-27303

git-svn-id: http://talendforge.org/svn/tos/trunk@107562 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 06:03:52 +00:00
jjzhou
621b30af7a fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107540 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 10:36:37 +00:00
jzhao
d33ba0fb2f Fixed New Feature TDI-26873: Create connectors for Google Storage
https://jira.talendforge.org/browse/TDI-26873

git-svn-id: http://talendforge.org/svn/tos/trunk@107535 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 10:13:25 +00:00
gliu
b184611040 [TESB-10661] cCXF: CorrelationId support
git-svn-id: http://talendforge.org/svn/tos/trunk@107527 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 09:47:45 +00:00
hcyi
9744d2a0cd Feature TDI-27278 modified : tXmlMap expression column losed underline after search .
git-svn-id: http://talendforge.org/svn/tos/trunk@107516 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 08:08:41 +00:00
bchen
46888a585a Fix Bug TDI-27166 : SALESFORCE BULK API BUG (CONSUMES TOO MANY API CALLS) - SOLVED
https://jira.talendforge.org/browse/TDI-27166
missing <TEMPLATE_PARAM SOURCE="self.UPSERT_RELATION"   TARGET="tSOB.UPSERT_RELATION" /> on r106997

git-svn-id: http://talendforge.org/svn/tos/trunk@107514 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 08:03:23 +00:00
jyhu
8c8734d349 Fix Bug TDI-26924: Mail cannot be processed correctly by using tFileInputMail.
https://jira.talendforge.org/browse/TDI-26924


git-svn-id: http://talendforge.org/svn/tos/trunk@107512 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 07:55:08 +00:00
plv
c4411295f5 feather TDI-27295:Rename Export Job / Export Route to standard terminology, Build Job or Build Route
git-svn-id: http://talendforge.org/svn/tos/trunk@107500 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 06:34:27 +00:00
bchen
4c554e8fba Fix Bug TDI-27261 : NPE when doing parallel lookups
https://jira.talendforge.org/browse/TDI-27261
wrap global resource with synchronizedMap when there is a tParallelize

git-svn-id: http://talendforge.org/svn/tos/trunk@107496 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 06:02:28 +00:00
wwang
1cf629fbc1 Fix Bug TDI-27351 : Update tMDMBulkload library to fix incorrect transaction id
https://jira.talendforge.org/browse/TDI-27351

git-svn-id: http://talendforge.org/svn/tos/trunk@107486 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 02:43:25 +00:00
nrousseau
abda23b4cf TUP-973 : remove some GUI dependencies from ContextUtils
git-svn-id: http://talendforge.org/svn/tos/trunk@107484 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 02:17:19 +00:00
hcyi
2d3507add1 Feature TDI-27278 modified : for the tXmlMap tree node columns .
git-svn-id: http://talendforge.org/svn/tos/trunk@107472 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 10:22:18 +00:00
nrousseau
ba4c44545b TUP-1006 : update brandings
git-svn-id: http://talendforge.org/svn/tos/trunk@107463 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 08:34:03 +00:00
plv
12dde24386 feather TDI-27341:Add a new shortcut for the component creation
git-svn-id: http://talendforge.org/svn/tos/trunk@107456 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 07:34:33 +00:00
hcyi
eed51db90c bug TDI-26953 modified : tMap drag-and-drop column names case-sensitive .
git-svn-id: http://talendforge.org/svn/tos/trunk@107453 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 07:00:10 +00:00
hcyi
71c520a8f0 bug TDI-26860 fixed : tFileOutputMSXML didn't get the Related Column when using "import XML tree" from an XSD .
git-svn-id: http://talendforge.org/svn/tos/trunk@107447 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 06:03:16 +00:00
ggu
9531a8b4e3 TUP-998: add import system JUnit.
git-svn-id: http://talendforge.org/svn/tos/trunk@107442 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 03:57:40 +00:00
dlin
fefce14c26 bug TUP-1000 fixed : Cannot set workspace value which the real directory doesn't exist.
git-svn-id: http://talendforge.org/svn/tos/trunk@107437 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 03:10:53 +00:00
rdubois
45c3c92ff2 TMDM-5992 fixed: Add a drop down list to define the data container type (STAGING or MASTER).
git-svn-id: http://talendforge.org/svn/tos/trunk@107430 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 14:35:25 +00:00
ggu
c950a80aa5 TUP-758: enhance the import handler.
git-svn-id: http://talendforge.org/svn/tos/trunk@107421 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 10:27:45 +00:00
ldong
2269ad098e Feature TDI-27057 improved:improve the export of log4j.xml and remove the apply-log4j-children choice.
git-svn-id: http://talendforge.org/svn/tos/trunk@107420 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 10:20:23 +00:00
ldong
1f865a6557 Feature TDI-27057 improved:improve the export of log4j.xml and remove the apply-log4j-children choice.
git-svn-id: http://talendforge.org/svn/tos/trunk@107417 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 10:07:15 +00:00
ldong
6d86ded874 Feature TDI-27057 improved:improve the export of log4j.xml and remove the apply-log4j-children choice.
git-svn-id: http://talendforge.org/svn/tos/trunk@107416 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 10:06:48 +00:00
wchen
bcb8cb4707 feature TUP-911 added: Add "Advanced data mapper" (Oakland) artifact in Studio repository view
git-svn-id: http://talendforge.org/svn/tos/trunk@107408 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 08:13:04 +00:00
dsavina
da3373aa7a TESB-10984 : corrected template generation.
git-svn-id: http://talendforge.org/svn/tos/trunk@107404 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 07:02:27 +00:00
hwang
53b407b893 TDI-27221:Enhance the display of the mapreduce group
git-svn-id: http://talendforge.org/svn/tos/trunk@107402 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 06:57:13 +00:00
jjzhou
4730d257f2 fix Bug TDI-27283: Please hide two properties on tLDAPRenameEntry when check Use an existing connection
https://jira.talendforge.org/browse/TDI-27283

git-svn-id: http://talendforge.org/svn/tos/trunk@107378 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 02:41:59 +00:00
dlin
dcead5e7c8 bug TDI-19286 fixed : Login_ After click 'restart' on login page, can not restart successfully, still show the same error message.
git-svn-id: http://talendforge.org/svn/tos/trunk@107369 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 11:21:07 +00:00
jjzhou
615f055fe0 fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107364 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 10:14:18 +00:00
ggu
a49358ae91 TUP-758: enhance the extension point.
git-svn-id: http://talendforge.org/svn/tos/trunk@107359 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 09:50:28 +00:00
hcyi
16b40cc907 bug TDI-5839 fixed : Renaming variable in tMap doesn't affect Expression-Filter .
git-svn-id: http://talendforge.org/svn/tos/trunk@107354 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 09:28:55 +00:00
wwang
980f8b1a35 Fix Feature TDI-26945 : add database support for hive components
https://jira.talendforge.org/browse/TDI-26945

git-svn-id: http://talendforge.org/svn/tos/trunk@107347 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 08:54:35 +00:00
wliu
450f7f4077 Fix Bug TDI-27296 : only add a return line
https://jira.talendforge.org/browse/TDI-27296

git-svn-id: http://talendforge.org/svn/tos/trunk@107341 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 07:40:58 +00:00
plv
358a59f82e TDI-27295:Rename Export Job / Export Route to standard terminology, Build Job or Build Route
git-svn-id: http://talendforge.org/svn/tos/trunk@107340 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 07:23:26 +00:00
jyhu
dddc90f262 Fix Bug TDI-27114: tCreatetable does not have the "schema" blank in basic settings.
https://jira.talendforge.org/browse/TDI-27114
change the breaks and version for migration task.


git-svn-id: http://talendforge.org/svn/tos/trunk@107337 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 06:55:35 +00:00
bchen
5ae2fb75e6 Fix New Feature TDI-26855 : Support OAuth2 with Salesforce.com
https://jira.talendforge.org/browse/TDI-26855
support OAuth2 on all tSalesforce components, SOAP and Bulk

git-svn-id: http://talendforge.org/svn/tos/trunk@107326 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 04:39:36 +00:00
jyhu
ceb2c27e08 Fix Bug TDI-27114: tCreatetable does not have the "schema" blank in basic settings.
https://jira.talendforge.org/browse/TDI-27114 
Add double Quote when schema_db is empty.

git-svn-id: http://talendforge.org/svn/tos/trunk@107323 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 04:28:47 +00:00
wliu
ea6ac87b4d Fix TDI-26878 : commit the source code for mdm_transaction.jar
https://jira.talendforge.org/browse/TDI-26878

git-svn-id: http://talendforge.org/svn/tos/trunk@107321 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 04:21:07 +00:00
hwang
baa1dd3074 TDI-27032:Response to schema prompt when adding component to flow remembered
git-svn-id: http://talendforge.org/svn/tos/trunk@107313 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 03:23:10 +00:00
nrousseau
f5bcd4b83f TDI-26994 : fix / improve again for the edition for the tJava
git-svn-id: http://talendforge.org/svn/tos/trunk@107310 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 03:09:08 +00:00
hcyi
ab956d0900 Feature TDI-26691 modified : wrong scroll to find the column needed for the search map big tables .
git-svn-id: http://talendforge.org/svn/tos/trunk@107303 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 02:26:21 +00:00
plv
8a3fdf8232 bug TDI-26547:Problems with update detection for tMap repository schemas
git-svn-id: http://talendforge.org/svn/tos/trunk@107302 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 02:20:57 +00:00
hwang
8d0010a30f Bug TDI-27262 :MR Job:after collapse , line which link to two componets lost
git-svn-id: http://talendforge.org/svn/tos/trunk@107300 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 01:58:27 +00:00
zwzhao
5438869a12 bug TUP-866 fixed : Wrong javajet code in components causes no error message
git-svn-id: http://talendforge.org/svn/tos/trunk@107299 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 01:52:25 +00:00
jyhu
a668805656 Fix Bug TDI-27114: tCreatetable does not have the "schema" blank in basic settings.
https://jira.talendforge.org/browse/TDI-27114


git-svn-id: http://talendforge.org/svn/tos/trunk@107297 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 01:44:02 +00:00
rdubois
a90f0fd6c3 TDI-27114: revert r107254
git-svn-id: http://talendforge.org/svn/tos/trunk@107267 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 13:01:57 +00:00
jyhu
18fedaa0a7 Fix Bug TDI-27114: tCreatetable does not have the "schema" blank in basic settings.
https://jira.talendforge.org/browse/TDI-27114


git-svn-id: http://talendforge.org/svn/tos/trunk@107254 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 10:50:20 +00:00
hcyi
b86cf70f55 Feature TDI-27278 modified : add search for the columns ( main task TDI-26691 )
git-svn-id: http://talendforge.org/svn/tos/trunk@107247 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 10:12:09 +00:00
hwang
5d42456af6 TESB-10891:revert code
git-svn-id: http://talendforge.org/svn/tos/trunk@107236 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 08:55:44 +00:00
wwang
6b89b22058 Fix Feature TDI-26878 : need the jars for anytime for commit, rollback, bulk
https://jira.talendforge.org/browse/TDI-26878

git-svn-id: http://talendforge.org/svn/tos/trunk@107233 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 08:47:28 +00:00
wwang
0e27ebe347 Fix Feature TDI-26878 : Create and update tMDM* components to control transactions from a job
https://jira.talendforge.org/browse/TDI-26878

git-svn-id: http://talendforge.org/svn/tos/trunk@107229 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 08:30:46 +00:00
ldong
8a856177e4 bug TDI-27159 fixed:Enable parallel execution:Number of parallel is truncated.
git-svn-id: http://talendforge.org/svn/tos/trunk@107226 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 08:25:33 +00:00
hwang
0e695a65e0 TDI-27156:MR Job:Fail to D&D a component to the middle of two components in MR job
git-svn-id: http://talendforge.org/svn/tos/trunk@107224 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 08:16:20 +00:00
gliu
ef6fdd88df [TESB-10891] tESBConsumer when user Credentials propogation drag txmlmap to job there is java.lang.NullPointerException
git-svn-id: http://talendforge.org/svn/tos/trunk@107221 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 08:13:47 +00:00
jyhu
b597d2e63a Fix Bug TDI-26987: File will be changed when copy from one table to another by use postgres DB.
https://jira.talendforge.org/browse/TDI-26987


git-svn-id: http://talendforge.org/svn/tos/trunk@107219 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-28 07:29:17 +00:00
zgao
bb354004a3 [TESB-6784] Class name of bean can not update automatically when update the name of bean after updating code of bean
Add "Beans" type for node which need update after edit properties.(Was "Routines" only.)

git-svn-id: http://talendforge.org/svn/tos/trunk@107179 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 10:05:18 +00:00
ldong
1dc9418345 Feature TDI-23145 added:Set the default color of the logging output to something less visible than 'red' or keep 'red' for WARN and ERROR only.
git-svn-id: http://talendforge.org/svn/tos/trunk@107176 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 10:00:34 +00:00
fwang
394ebecf93 bug TDI-27137 fixed:Function for "Guess Schema" can not be used for JavaDB Embeded Database.
git-svn-id: http://talendforge.org/svn/tos/trunk@107167 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 09:39:34 +00:00
wchen
c0f63f7bba feature TUP-911 added: Add "Advanced data mapper" (Oakland) artifact in Studio repository view
git-svn-id: http://talendforge.org/svn/tos/trunk@107158 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 08:42:34 +00:00
ggu
3f38947f15 TUP-758: add ui plugin for importexport.
git-svn-id: http://talendforge.org/svn/tos/trunk@107146 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 06:05:26 +00:00
nrousseau
93613420e0 TDI-27265 : put the data collector in another thread when starts, and ensure that the preferences are stored to avoid to call again the data collector later
git-svn-id: http://talendforge.org/svn/tos/trunk@107145 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 06:02:33 +00:00
hcyi
c283d67184 Feature TDI-26691 : Add search option in the tMap / tXmlMap / tPigMap / tELTMap for large schemas .
git-svn-id: http://talendforge.org/svn/tos/trunk@107142 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 04:47:49 +00:00
nrousseau
79e1c95580 TDI-27079 : put back the initialization of jet emitters when start the product, and avoid a build of the project at the end, since we already check all jet emitters one by one in some other classes
git-svn-id: http://talendforge.org/svn/tos/trunk@107141 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 03:49:38 +00:00
hwang
6e63c78551 TDI-27173:Invisible Components in job design
git-svn-id: http://talendforge.org/svn/tos/trunk@107131 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 02:31:58 +00:00
jjzhou
02260172be fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107109 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 10:56:15 +00:00
jjzhou
0a2488503d fix Bug TDI-25351: Talend needs to generate a detailed job log file without having to put tWarn on every component used
https://jira.talendforge.org/browse/TDI-25351

git-svn-id: http://talendforge.org/svn/tos/trunk@107107 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 10:37:41 +00:00
dsavina
692fac811e TESB-10867 Add authorization support on server side. [tRESTRequest] Template generation for server job
git-svn-id: http://talendforge.org/svn/tos/trunk@107106 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 10:37:00 +00:00
hcyi
74272c6d11 bug TDI-26953 fixed : tMap drag-and-drop column names case-sensitive .
git-svn-id: http://talendforge.org/svn/tos/trunk@107105 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 10:36:07 +00:00
gliu
ceef5e88bc [TESB-6766] Loop connection name for cLoop component is not right
tried to set the default connection label same as connection name

git-svn-id: http://talendforge.org/svn/tos/trunk@107084 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 08:33:26 +00:00
ldong
0f7b4e6fc1 bug TDI-27250 fixed:Job cannot export when set the "export type" as Axis Webservice(WAR).
git-svn-id: http://talendforge.org/svn/tos/trunk@107081 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 07:58:30 +00:00
wliu
57df5e8cfb Fix Bug TDI-27194 : tBonitaInstantiateProcess: switch from 'Java Client' to 'Http client' still export dependencies
https://jira.talendforge.org/browse/TDI-27194

git-svn-id: http://talendforge.org/svn/tos/trunk@107076 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 06:47:11 +00:00
plv
0e4e297058 bug TDI-27223:MR Job:Detect dependenics: No response when click this option
git-svn-id: http://talendforge.org/svn/tos/trunk@107073 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 06:25:33 +00:00
ggu
f306889cdf TUP-758: add import function for DI.
git-svn-id: http://talendforge.org/svn/tos/trunk@107067 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 06:12:04 +00:00
nrousseau
4ba0773cce TDI-27148 : review the speed of initialization of libraries, and avoid as well some duplicate cleanup of java project when start
git-svn-id: http://talendforge.org/svn/tos/trunk@107059 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 03:08:23 +00:00
gliu
7a9f21fa76 [TESB-10895] Auto connect the inserted Component if the component is created on a Connection
remove warnings 

git-svn-id: http://talendforge.org/svn/tos/trunk@107058 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 02:55:06 +00:00
gliu
52f25ed6a4 [TESB-6766] Loop connection name for cLoop component is not right
tried to set the default connection label same as connection name

git-svn-id: http://talendforge.org/svn/tos/trunk@107057 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 02:54:46 +00:00
zwzhao
06050e8a4f bug TDI-26923 fixed : Shell "Update Detection" is activated when running the job after unchecking some columns of copybook schema in component view.
git-svn-id: http://talendforge.org/svn/tos/trunk@107039 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 10:36:49 +00:00
hcyi
c1a22a040a bug TDI-27091 modified : Schema type changes from Repository to Built-in after unchecking some columns in component view .
git-svn-id: http://talendforge.org/svn/tos/trunk@107029 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 10:19:21 +00:00
hwang
e23acff4c2 https://jira.talendforge.org/browse/TDI-26496
git-svn-id: http://talendforge.org/svn/tos/trunk@107018 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 09:38:58 +00:00
fwang
b2c0adc46e bug TDI-24379 fixed:Job which use routines when open,change the routines' name,the class name didn't change.
git-svn-id: http://talendforge.org/svn/tos/trunk@107013 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 09:14:47 +00:00
nrousseau
b23a271249 TDI-25023 : set the editor history to 0, which will limit the memory used after open several times editors. (since open/close will keep things in memory)
git-svn-id: http://talendforge.org/svn/tos/trunk@107012 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 09:10:13 +00:00
hwang
2330a1c0c3 TDI-27052:remove the migration which is no use
git-svn-id: http://talendforge.org/svn/tos/trunk@107010 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 08:55:45 +00:00
nrousseau
ff4de91bc4 TDI-27052 : fix some problems of rename / change version, clean and optimize the code related. Fix at the same time one bug of Open Another version and create a new item.
git-svn-id: http://talendforge.org/svn/tos/trunk@107008 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 08:36:51 +00:00
gliu
5ffd9f65b0 [TESB-6766] Loop connection name for cLoop component is not right
tried to set the default connection label same as connection name

git-svn-id: http://talendforge.org/svn/tos/trunk@107006 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 08:23:41 +00:00
bchen
559e9164b2 Fix Bug TDI-27166 : SALESFORCE BULK API BUG (CONSUMES TOO MANY API CALLS) - SOLVED
https://jira.talendforge.org/browse/TDI-27166

git-svn-id: http://talendforge.org/svn/tos/trunk@106997 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 07:36:52 +00:00
ldong
607ddea546 Feature TDI-27057 improved:fix two bugs of log4j.
git-svn-id: http://talendforge.org/svn/tos/trunk@106990 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 07:08:57 +00:00
gliu
6827ec5fe6 [TESB-10895] Auto connect the inserted Component if the component is created on a Connection
git-svn-id: http://talendforge.org/svn/tos/trunk@106985 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 05:56:47 +00:00
gliu
355f377000 [TESB-10667] [tESBProviderRequest] re-select current service operation will unset the selection.
git-svn-id: http://talendforge.org/svn/tos/trunk@106981 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 05:45:57 +00:00
zwzhao
5146f453f0 bug TDI-26807 fixed : Cannot link two subjobs with 'On Subjob Ok' and 'On Subjob Error' on tRowGenerator and tFixedflowInput
git-svn-id: http://talendforge.org/svn/tos/trunk@106976 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 03:52:18 +00:00
hwang
6749a2850a TDI-27217:MR Job:Add column to tRowgenerator , NPE error
git-svn-id: http://talendforge.org/svn/tos/trunk@106938 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-22 07:35:22 +00:00
wwang
e046f32d9c Fix Bug TDI-27125 : fix the order issue for xml generated
https://jira.talendforge.org/browse/TDI-27125

git-svn-id: http://talendforge.org/svn/tos/trunk@106901 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-22 02:10:34 +00:00
gliu
43a3d191c1 [TESB-10871] Oracle datasource must be correct when Checked Use existing connection on tOracleOutput, tOracleInput, tOracleRow
git-svn-id: http://talendforge.org/svn/tos/trunk@106879 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 09:54:39 +00:00
gliu
aeb25cd0e8 [TESB-10871] Oracle datasource must be correct when Checked Use existing connection on tOracleOutput, tOracleInput, tOracleRow
git-svn-id: http://talendforge.org/svn/tos/trunk@106876 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 09:47:12 +00:00
fwang
136b0c4356 bug TDI-26719 fixed:New change for user component can not be push to Palette in time.
git-svn-id: http://talendforge.org/svn/tos/trunk@106875 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 09:46:40 +00:00
hwang
c09927caec TDI-27173:Invisible Components in job design
git-svn-id: http://talendforge.org/svn/tos/trunk@106862 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 07:33:38 +00:00
ldong
5bf65124ad Feature TDI-27057 added:Add Log4J xml to the Project Settings.
git-svn-id: http://talendforge.org/svn/tos/trunk@106858 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 07:25:14 +00:00
ldong
5ad21c235a Feature TDI-27057 added:Add Log4J xml to the Project Settings.
git-svn-id: http://talendforge.org/svn/tos/trunk@106857 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 07:24:43 +00:00
plv
47faf5d2bd bug TDI-26631:Dynamic parameter name should be selectable
git-svn-id: http://talendforge.org/svn/tos/trunk@106853 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 06:59:41 +00:00
hcyi
4ea2ef7752 bug TDI-27187 fixed : Routine filter can not work well in page "browse talend exchange" .
git-svn-id: http://talendforge.org/svn/tos/trunk@106815 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-20 08:54:40 +00:00
jyhu
b0e5da9005 Fix Bug TDI-26390: No way to set the additional parameters on t(DB)Connection .
https://jira.talendforge.org/browse/TDI-26390

git-svn-id: http://talendforge.org/svn/tos/trunk@106784 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-20 03:09:31 +00:00
hwang
113e7b0228 TDI-27052:Project can not be opened after migrate from 5.1.2 to 5.3.1
git-svn-id: http://talendforge.org/svn/tos/trunk@106783 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-20 03:00:45 +00:00
hwang
cc02e14d53 TDI-27052:Project can not be opened after migrate from 5.1.2 to 5.3.1
git-svn-id: http://talendforge.org/svn/tos/trunk@106779 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-20 01:37:15 +00:00
nrousseau
12e2ee1e8b TDI-26821 : fix NPE since not all components have advanced parameters
git-svn-id: http://talendforge.org/svn/tos/trunk@106771 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 11:07:16 +00:00
wchen
dd241ed4d3 bug TDI-26576 fixed: Can drop additional columns into linked tMap output with repository schema
git-svn-id: http://talendforge.org/svn/tos/trunk@106765 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 09:38:50 +00:00
zgao
e244495d39 [TESB-10850] Generated Blueprint is wrong if export a Route from EE studio and import into a SE studio.
Fix import route  was exported from EE studio with checked [Use Service Registry] or [Authorization] .

git-svn-id: http://talendforge.org/svn/tos/trunk@106762 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 09:10:47 +00:00
fwang
cc39b6149a bug TDI-26821 fixed:add an ability to set default value on dbType
git-svn-id: http://talendforge.org/svn/tos/trunk@106757 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 09:02:19 +00:00
zgao
faa8d28a51 [TESB-10850] Generated Blueprint is wrong if export a Route from EE studio and import into a SE studio.
Fix import route  was exported from EE studio with checked [Use Service Registry] or [Authorization] .

git-svn-id: http://talendforge.org/svn/tos/trunk@106746 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 06:57:45 +00:00
zwzhao
6f07525db1 bug TUP-969 fixed : There is an exception when logon Project in Linux.
git-svn-id: http://talendforge.org/svn/tos/trunk@106741 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 05:39:47 +00:00
fwang
7bae639194 bug TDI-26821 fixed:add an ability to set default value on dbType
git-svn-id: http://talendforge.org/svn/tos/trunk@106739 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 05:28:04 +00:00
gliu
c70031bd69 [TESB-9821] "Deactivate current Subjob" in the Mediation view when clicking on a Route component
git-svn-id: http://talendforge.org/svn/tos/trunk@106738 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 04:01:40 +00:00
zwzhao
a236219e03 bug TUP-969 fixed : There is an exception when logon Project in Linux.
git-svn-id: http://talendforge.org/svn/tos/trunk@106736 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 03:38:52 +00:00
jyhu
7fc4a12558 Fix Feature TDI-22143 Support to integrate with Amazon S3 (Simple Storage Service)
https://jira.talendforge.org/browse/TDI-22143
fixed for problem

git-svn-id: http://talendforge.org/svn/tos/trunk@106715 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 10:45:38 +00:00
hwang
b6a6ccd1da TDI-27052:Project can not be opened after migrate from 5.1.2 to 5.3.1
git-svn-id: http://talendforge.org/svn/tos/trunk@106703 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 09:51:56 +00:00
ggu
182001e9bb add the miss lib for TOS_ESB
git-svn-id: http://talendforge.org/svn/tos/trunk@106698 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 09:17:47 +00:00
jyhu
975adb0fbe Fix Backlog Task TDI-26955: Need to add the schema to the oracle output components in ORACLE RAC mode (other modes are ok).
https://jira.talendforge.org/browse/TDI-26955
Add the schema to tOracleSCDELT in ORACLE OCI mode
Add the schema to oracle components in ORACLE RAC mode

git-svn-id: http://talendforge.org/svn/tos/trunk@106689 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 07:14:31 +00:00
gliu
67d288469b [TESB-10786] cCxf can't use service registry and locator at same time.
git-svn-id: http://talendforge.org/svn/tos/trunk@106688 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 07:10:32 +00:00
ldong
9e127b6af8 Feature TDI-27057 improved:fix a bug about common-logging.properties.
git-svn-id: http://talendforge.org/svn/tos/trunk@106675 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 02:48:30 +00:00
ldong
e05792d574 Feature TDI-27057 improved:fix a bug about common-logging.properties.
git-svn-id: http://talendforge.org/svn/tos/trunk@106674 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 02:48:07 +00:00
ggu
6a5917eff5 TUP-966: add some wizard for import
git-svn-id: http://talendforge.org/svn/tos/trunk@106671 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 02:14:20 +00:00
jyhu
aa31b534dc Fix Feature TDI-22143 Support to integrate with Amazon S3 (Simple Storage Service)
https://jira.talendforge.org/browse/TDI-22143


git-svn-id: http://talendforge.org/svn/tos/trunk@106658 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 10:16:09 +00:00
ldong
8b4b70cfcc Feature TDI-27057 improved:improve a small display.
git-svn-id: http://talendforge.org/svn/tos/trunk@106650 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 08:26:21 +00:00
nrousseau
6f7ede6ff5 TUP-948 : fix problem of lock, where it will try to lock each opened job editor
git-svn-id: http://talendforge.org/svn/tos/trunk@106617 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 03:55:25 +00:00
ldong
2eebe2bdbe Feature TDI-27057 added:Add Log4J xml to the Project Settings.
git-svn-id: http://talendforge.org/svn/tos/trunk@106613 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 03:43:14 +00:00
ldong
3ad0dbc8af Feature TDI-27057 added:Add Log4J xml to the Project Settings.
git-svn-id: http://talendforge.org/svn/tos/trunk@106612 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 03:42:26 +00:00
nrousseau
35ebe5f3d6 TUP-949 : avoid to force to display the problem view if this one is not visible already.
git-svn-id: http://talendforge.org/svn/tos/trunk@106602 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 02:04:30 +00:00
etatarintseva
a20108e2db [TESB-10680] Disable 'Use SAM' in case 'Use SR' selected
git-svn-id: http://talendforge.org/svn/tos/trunk@106590 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 09:20:36 +00:00
etatarintseva
07f6ceba02 [TESB-10680] Disable 'Use SAM' in case 'Use SR' selected
git-svn-id: http://talendforge.org/svn/tos/trunk@106589 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 09:19:57 +00:00
nrousseau
c7d2a09a98 TDI-27079 : improve the speed of the jet emitters
git-svn-id: http://talendforge.org/svn/tos/trunk@106580 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 07:37:37 +00:00
ggu
8d6b586ead TUP-941: refactor the specificsetting preference page.
git-svn-id: http://talendforge.org/svn/tos/trunk@106576 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 06:56:37 +00:00
gliu
30a83a45c0 [TESB-9479] Support for direct-vm camel component in studio (cDirectVM)
implemented

git-svn-id: http://talendforge.org/svn/tos/trunk@106575 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 05:40:18 +00:00
ggu
ca40838b4a TUP-833: remove the org.eclipse.ui.workbench in commons.ui
git-svn-id: http://talendforge.org/svn/tos/trunk@106563 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 03:31:34 +00:00
plv
3df9374093 bug TDI-27091:Schema type changes from Repository to Built-in after unchecking some columns in component view.
git-svn-id: http://talendforge.org/svn/tos/trunk@106557 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 03:00:23 +00:00
jzhao
c80042161a Fixed Backlog Task TDI-26883: need component_group add a attribute to suport the excle's modification
https://jira.talendforge.org/browse/TDI-26883

git-svn-id: http://talendforge.org/svn/tos/trunk@106555 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 02:46:42 +00:00
nrousseau
26ae1a9952 TDI-26963 : Improve the global performances of SVN
git-svn-id: http://talendforge.org/svn/tos/trunk@106554 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 02:36:38 +00:00
jzhao
7e17a03649 Fixed Bug TDI-26170: tHDFSPut component uses a deprecated library and produces warnings
https://jira.talendforge.org/browse/TDI-26170
Note:Revert the code

git-svn-id: http://talendforge.org/svn/tos/trunk@106537 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-13 10:32:29 +00:00
ggu
596da64f22 TUP-833: remove org.eclipse.jdt.ui out of org.talend.core.runtime plugin.
git-svn-id: http://talendforge.org/svn/tos/trunk@106536 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-13 10:16:21 +00:00
ggu
2dd339d986 TUP-833: remove org.eclipse.jdt.ui out of org.talend.core.runtime plugin.
git-svn-id: http://talendforge.org/svn/tos/trunk@106534 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-13 10:15:59 +00:00
ycbai
d67ba41fbd bug TDI-25482 fixed: HCatalog item and HDFS item cannot be exported.
git-svn-id: http://talendforge.org/svn/tos/trunk@106532 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-13 10:03:01 +00:00
ggu
245e2834f1 TUP-909: enhance for CNF repository view.
git-svn-id: http://talendforge.org/svn/tos/trunk@106476 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-12 02:26:53 +00:00
jjzhou
9741715a27 fix Bug TDI-26921: tLDAPRenameEntry component missing txt fields
https://jira.talendforge.org/browse/TDI-26921

git-svn-id: http://talendforge.org/svn/tos/trunk@106432 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-09 09:22:38 +00:00
jjzhou
50957dcb7e fix Bug TDI-27076: tLDAPRenameEntry issue
https://jira.talendforge.org/browse/TDI-27076

git-svn-id: http://talendforge.org/svn/tos/trunk@106431 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-09 09:20:38 +00:00
ggu
25b68fd597 TUP-833: Update the plugin.xml for extension point.
git-svn-id: http://talendforge.org/svn/tos/trunk@106394 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 09:39:33 +00:00
ggu
0b7e4974ce TUP-833: remove jdt.ui from core.ui plugin.
git-svn-id: http://talendforge.org/svn/tos/trunk@106393 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 09:24:20 +00:00
ggu
3e7e4a2b62 TUP-833: remove jdt.ui from core.ui plugin.
git-svn-id: http://talendforge.org/svn/tos/trunk@106391 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 09:23:05 +00:00
fwang
2c83388286 bug TDI-27021 fixed:"Add extension" button in exchange is activated without clicked on
git-svn-id: http://talendforge.org/svn/tos/trunk@106386 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 08:37:56 +00:00
plv
9e9eb5189a bug TDI-26854:Oracle RAC Connection doesn't allow Schema entry
git-svn-id: http://talendforge.org/svn/tos/trunk@106382 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 07:53:57 +00:00
nrousseau
deec96cb8b TDI-27088 : fix some exception appeared in the logs.
git-svn-id: http://talendforge.org/svn/tos/trunk@106380 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 07:47:11 +00:00
nrousseau
328826439b TDI-27086 : fix problem of classpath due to the changes of TDI-27065 for missing jars
git-svn-id: http://talendforge.org/svn/tos/trunk@106379 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 07:17:12 +00:00
ggu
0aa3c7d2b7 TUP-941: fixed the problem for get values from preferences.
git-svn-id: http://talendforge.org/svn/tos/trunk@106356 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 03:20:41 +00:00
ggu
ba6efae10c TDQ-7722: fixed the preference problem and the view catory problem.
git-svn-id: http://talendforge.org/svn/tos/trunk@106328 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 10:05:37 +00:00
hwang
0f864de5e1 TUP-934:Try to create route from welcome page, cannot switch to create route wizard
git-svn-id: http://talendforge.org/svn/tos/trunk@106322 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 09:45:02 +00:00
plv
86911018c9 bug TDI-26631:Dynamic parameter name should be selectable
git-svn-id: http://talendforge.org/svn/tos/trunk@106311 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 07:48:53 +00:00
hwang
a38e006008 TDI-27067:No any statistic when run jobs or routes
git-svn-id: http://talendforge.org/svn/tos/trunk@106304 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 07:16:59 +00:00
nrousseau
9096f5d773 TDI-27065 : avoid to change the classpath too often for nothing
git-svn-id: http://talendforge.org/svn/tos/trunk@106302 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 06:44:11 +00:00
nrousseau
99b286b866 TDI-26809: re-add and rename the original method to check if the jet emitters are initializing actually.
git-svn-id: http://talendforge.org/svn/tos/trunk@106272 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 11:03:01 +00:00
hwang
4b14d45951 TDI-26694:Need to display statistics in the map/reduce
git-svn-id: http://talendforge.org/svn/tos/trunk@106269 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 10:16:59 +00:00
plv
27815fe904 bug TDI-26467:tSalesforceOutput
git-svn-id: http://talendforge.org/svn/tos/trunk@106265 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 09:53:13 +00:00
ldong
5b6db59dc0 bug TDI-26795 fixed:SAP component can not get the right function name when drag a column under schema into a job.
git-svn-id: http://talendforge.org/svn/tos/trunk@106259 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 09:30:05 +00:00
ycbai
5473b0e3e0 bug TDI-26994 : lots time delay when edit code in tJava
git-svn-id: http://talendforge.org/svn/tos/trunk@106247 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 07:33:16 +00:00
wchen
67fc5934eb bug TDI-27024 fixed: Schema does not propagate to tAddCRCRow, after changing schema of tSugarCRMInput.
git-svn-id: http://talendforge.org/svn/tos/trunk@106246 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 07:28:59 +00:00
nrousseau
a199057a79 TDI-27018 : fix problem of completion following the refactor of core / core.ui
git-svn-id: http://talendforge.org/svn/tos/trunk@106230 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 04:32:09 +00:00
wliu
6b6d25a508 Fix feature TDI-23124 : register the jar:vertica_5.1.6_jdk_5.jar to the file:build_tos_bd.properties
https://jira.talendforge.org/browse/TDI-23124

git-svn-id: http://talendforge.org/svn/tos/trunk@106213 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 03:08:44 +00:00
sizhaoliu
b36c00db18 TDQ-7592 clean some dependencies of tDqReportRun
git-svn-id: http://talendforge.org/svn/tos/trunk@106203 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-02 15:00:17 +00:00
jyhu
bde741a852 Fix Feature TDI-23124: Support for Vertica 5.1
https://jira.talendforge.org/browse/TDI-23124


git-svn-id: http://talendforge.org/svn/tos/trunk@106158 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-02 07:44:30 +00:00
gliu
89d27aa7bd [TESB-9821] "Deactivate current Subjob" in the Mediation view when clicking on a Route component
removed

git-svn-id: http://talendforge.org/svn/tos/trunk@106148 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-02 06:25:56 +00:00
atelesh
957d1eafdf TESB-10461 - tRESTClient: SAML security support
-> TESB-10532 - Update codegeneration for tRESTClient

git-svn-id: http://talendforge.org/svn/tos/trunk@106134 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 15:59:56 +00:00
atelesh
87b23146ea TESB-9311 - tRESTRequest: SAML security support
-> TESB-10528 - Update runtime blueprint configuration.

git-svn-id: http://talendforge.org/svn/tos/trunk@106133 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 15:58:41 +00:00
jyhu
245c150c35 Fix Feature TDI-26892: Add the option 'Drop table if exists and create" to tMySqlOutputBulkExec and tMysqlBulkExec .
https://jira.talendforge.org/browse/TDI-26892

git-svn-id: http://talendforge.org/svn/tos/trunk@106103 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 06:58:51 +00:00
dlin
ecf548862c bug TDI-19551 fixed : the next button is unvalid when create webServices in simple WSDL
git-svn-id: http://talendforge.org/svn/tos/trunk@106095 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 06:13:17 +00:00
ycbai
8f184bf46e bug TDI-26093 : Non-job items always exported with jar
git-svn-id: http://talendforge.org/svn/tos/trunk@106091 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 05:49:47 +00:00
wchen
ee28dcc75a bugTDI-26686 fixed: Export items to archive creates folder if file extension not included
git-svn-id: http://talendforge.org/svn/tos/trunk@106090 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 05:47:39 +00:00
wchen
4f1410ad43 bug TDI-26576 fixed: Can drop additional columns into linked tMap output with repository schema
git-svn-id: http://talendforge.org/svn/tos/trunk@106087 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 03:55:07 +00:00
wchen
9b94142541 bug TDI-19963 fixed: Wrong schema generated when change schema between column which READONLY="true" and column which READONLY="false"
git-svn-id: http://talendforge.org/svn/tos/trunk@106082 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 03:17:33 +00:00
ldong
a2a5d058ec bug TDI-26757 fixed:The QUEUE_SIZE parameter is not persistent in the parallelization links.
git-svn-id: http://talendforge.org/svn/tos/trunk@106076 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 02:52:11 +00:00
nrousseau
ffe58e938d TDI-26965 / TDI-26966 : Improve background commits of the studio, and add a possibility to avoid any svn update to optimize some save operation
git-svn-id: http://talendforge.org/svn/tos/trunk@106070 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 01:37:13 +00:00
atelesh
8d367c57bf TESB-10461 - tRESTClient: SAML security support
-> TESB-10613 - Update OSGi export for jobs with tRESTClient

git-svn-id: http://talendforge.org/svn/tos/trunk@106064 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-31 12:28:59 +00:00
plv
f89c17d6df bug TDI-23822:Drag tSalesforceInput/ tSalesforceOutput from second node in repository, the schema isn't correct in component.
git-svn-id: http://talendforge.org/svn/tos/trunk@106055 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-31 10:22:16 +00:00
xqliu
87a451c3d3 Fix New Feature TDQ-6903 : Enable contextual Data mart in the report editor
https://jira.talendforge.org/browse/TDQ-6903
TDQ-7697: let report editor support context
https://jira.talendforge.org/browse/TDQ-7697
1) refactoring the ContextsView, reuse it in DQ
2) let report editor support context
3) run report with context


git-svn-id: http://talendforge.org/svn/tos/trunk@106048 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-31 10:09:25 +00:00
zwzhao
b1570e7ae1 feature TDI-26809: fix the problem of several jet emitters
git-svn-id: http://talendforge.org/svn/tos/trunk@106034 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-31 08:30:54 +00:00
ggu
320c904e24 TUP-791: fixed am importing problem for esb demos.
git-svn-id: http://talendforge.org/svn/tos/trunk@106005 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-31 04:01:38 +00:00
plv
9f7d1f6da2 bug TDI-26928:Multi thread execution check box is grayed when the job is using project setting in 5.2.3
git-svn-id: http://talendforge.org/svn/tos/trunk@106000 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-31 01:40:09 +00:00
atelesh
f88cc60a74 TESB-10461 - tRESTClient: SAML security support
-> TESB-10613 - Update OSGi export for jobs with tRESTClient

git-svn-id: http://talendforge.org/svn/tos/trunk@105999 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 15:24:45 +00:00
zshen
e6e9e5ac7f TDQ-7596 fixed the issue about tmatchGroup node can not open dialog.
git-svn-id: http://talendforge.org/svn/tos/trunk@105988 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 10:15:23 +00:00
zwzhao
01c5574fed feature TDI-26961 : do not loading of components when do right click of action
git-svn-id: http://talendforge.org/svn/tos/trunk@105980 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 09:38:01 +00:00
nrousseau
4a2598184e TDI-26964 : refresh the combo box of the list of branches dynamically, set first as italic, then set back to normal once the list is fully retrieved
git-svn-id: http://talendforge.org/svn/tos/trunk@105971 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 07:31:10 +00:00
ggu
f0237ce446 TUP-791: add migration task for DI_DEMOS probject.
git-svn-id: http://talendforge.org/svn/tos/trunk@105970 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 07:18:42 +00:00
ggu
3fb67bac0a TUP-791: add the extension points for demo projects.
git-svn-id: http://talendforge.org/svn/tos/trunk@105962 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 06:01:19 +00:00
plv
b0a943cbb3 bug TDI-13420:make the url as context ,edit the twebservice again ,find the browser and refresh become grey.
git-svn-id: http://talendforge.org/svn/tos/trunk@105952 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 02:52:08 +00:00
nrousseau
fb57035b44 TDI-26584 : simply hides this exception, since it's from GEF directly, and even when it happens, everything still works correctly for us.
git-svn-id: http://talendforge.org/svn/tos/trunk@105944 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 00:29:04 +00:00
zwzhao
b4e715b3f2 bug TDI-26034 fixed : Job name can not be "fr"
git-svn-id: http://talendforge.org/svn/tos/trunk@105940 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 10:30:23 +00:00
wchen
7afb7df813 bug TDI-26506 fixed: Could not convert a job to MR job (and do not get a good error message)
git-svn-id: http://talendforge.org/svn/tos/trunk@105935 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 09:56:29 +00:00
hcyi
86d58a1905 bug TDI-26648 fixed : Statistic port is not released well in the Studio, which causes warning message before job execution .
git-svn-id: http://talendforge.org/svn/tos/trunk@105932 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 09:31:02 +00:00
wchen
f992604ac9 bug TDI-19963 fixed: Wrong schema generated when change schema between column which READONLY="true" and column which READONLY="false"
git-svn-id: http://talendforge.org/svn/tos/trunk@105929 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 09:13:37 +00:00
zgao
251fb478ea [TESB-10036] cCXF: Service Registry support
git-svn-id: http://talendforge.org/svn/tos/trunk@105927 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 07:30:17 +00:00
zwzhao
bd20c18046 feature TDI-26809: fix the exception of object is not an instance of declaring class
git-svn-id: http://talendforge.org/svn/tos/trunk@105924 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 07:20:08 +00:00
ggu
5a83b84187 TUP-833: remove some dependences for module view.
git-svn-id: http://talendforge.org/svn/tos/trunk@105922 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 06:37:22 +00:00
bchen
6259f360e7 Fix New Feature TDI-26908 : Each MR component need to run some function after the mapreduce job run part
https://jira.talendforge.org/browse/TDI-26908

git-svn-id: http://talendforge.org/svn/tos/trunk@105909 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 02:44:53 +00:00
hcyi
c8a00e565f bug TDI-26611 fixed : Import TUJ "Bug10369_tFileOutputExcel" ,when we double click or right click "edit job" .Both got NPE(different error) .
git-svn-id: http://talendforge.org/svn/tos/trunk@105888 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 10:04:42 +00:00
plv
78c9a3fcc1 bug TDI-7860:Unable to rename schema in tFileInputMSXXXX
git-svn-id: http://talendforge.org/svn/tos/trunk@105887 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 09:57:12 +00:00
ggu
9d367d7965 TUP-870: fix some plugin issue for name.
git-svn-id: http://talendforge.org/svn/tos/trunk@105883 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 09:31:45 +00:00
zwzhao
d73216339a feature TDI-26809: fix the problem show two job of generate engine
git-svn-id: http://talendforge.org/svn/tos/trunk@105876 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 08:44:20 +00:00
ldong
a87c8a7d2b bug TDI-26815 fixed:Parallelization within the links cannot generate code with the tUnite.
git-svn-id: http://talendforge.org/svn/tos/trunk@105871 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 07:44:35 +00:00
ggu
1773f7fdd5 TUP-870: fix some plugin issue for name.
git-svn-id: http://talendforge.org/svn/tos/trunk@105864 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 06:52:01 +00:00
fwang
594da51c43 bug TDI-21134 fixed:DataViewer shows no more than 1000 rows
git-svn-id: http://talendforge.org/svn/tos/trunk@105857 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 04:51:08 +00:00
gliu
2cff46a538 [TESB-10485] Test CXF components and recheck exist workarounds.
remove 2 workaround on cCXF

git-svn-id: http://talendforge.org/svn/tos/trunk@105848 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 02:43:36 +00:00
nrousseau
3932ce5711 Fix Bug TDI-26911 : command-line doesn't help compile and zip the generated code of mr job which invoked by tRunJob independently
https://jira.talendforge.org/browse/TDI-26911

git-svn-id: http://talendforge.org/svn/tos/trunk@105845 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 01:31:45 +00:00
jjzhou
393fa68b53 fix Bug TDI-26856: tMicrosoftCrmInput: Runtime ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
https://jira.talendforge.org/browse/TDI-26856

git-svn-id: http://talendforge.org/svn/tos/trunk@105831 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 09:51:36 +00:00
gliu
a02834ea3f [TESB-10338] Upgrade Studio/Connectors to latest Apache snapshots
remove the cCXF workaround for TESB-9869

git-svn-id: http://talendforge.org/svn/tos/trunk@105828 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 09:37:37 +00:00
hcyi
2d82943b38 Feature TDI-26789 modified : Test and fix bugs for the search option ( main task TDI-26691 )
git-svn-id: http://talendforge.org/svn/tos/trunk@105822 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 08:31:09 +00:00
zwzhao
05b490ade8 feature TDI-26907:Don't block the loading of studio while filling the exchange dialog.
git-svn-id: http://talendforge.org/svn/tos/trunk@105819 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 08:07:15 +00:00
wwang
a6975a9842 Fix Feature TDI-26891 : modify the properities file
https://jira.talendforge.org/browse/TDI-26891

git-svn-id: http://talendforge.org/svn/tos/trunk@105807 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 05:48:26 +00:00
nrousseau
eea3b3b6f3 TDI-26838 : fix problem of graphic disposed for the update of component. use the same method everywhere for any refresh of templates needed.
git-svn-id: http://talendforge.org/svn/tos/trunk@105799 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 04:04:32 +00:00
gliu
c36e2a4ef8 [TESB-10037] cCXF: Authorization support
git-svn-id: http://talendforge.org/svn/tos/trunk@105782 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 03:00:46 +00:00
hcyi
e2e57def28 Feature TDI-26788 added : Implement search option in the tXmlMap ( main task TDI-26691 )
git-svn-id: http://talendforge.org/svn/tos/trunk@105756 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 11:16:13 +00:00
hcyi
1d6ea75e3b Feature TDI-26788 added : Implement search option in the tXmlMap / tPigMap ( main task TDI-26691 )
git-svn-id: http://talendforge.org/svn/tos/trunk@105754 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 11:15:22 +00:00
hcyi
19b575b567 Feature TDI-26787 added: Implement search option in the tELTMap ( main task TDI-26691 )
git-svn-id: http://talendforge.org/svn/tos/trunk@105753 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 11:12:59 +00:00
hcyi
0fd60d230e Feature TDI-26785 added: Implement search option in the tMap( main task TDI-26691 )
git-svn-id: http://talendforge.org/svn/tos/trunk@105752 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 11:11:27 +00:00
jjzhou
5de203540b fix Bug TDI-26851: Java error when using two tFileOutputLDIF in the same job.
https://jira.talendforge.org/browse/TDI-26851

git-svn-id: http://talendforge.org/svn/tos/trunk@105707 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 07:13:32 +00:00
zwzhao
d0c5cecd21 feature TDI-26810 : Move some synchronization of libs after logon project, and synchronize only from cache.
git-svn-id: http://talendforge.org/svn/tos/trunk@105698 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 05:41:52 +00:00
msjian
0f648c4e07 TDQ-7508: fix the HARD CODED the "local" constant
git-svn-id: http://talendforge.org/svn/tos/trunk@105692 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 04:09:49 +00:00
fwang
8fb34a0541 bug TDI-26614 fixed:Excell XLSX files not read correctly
git-svn-id: http://talendforge.org/svn/tos/trunk@105685 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 03:24:14 +00:00
fwang
5a05558d28 bug TDI-26614 fixed:Excell XLSX files not read correctly
git-svn-id: http://talendforge.org/svn/tos/trunk@105681 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 03:11:27 +00:00
gliu
79d8df66df [TESB-10037] cCXF: Authorization support
git-svn-id: http://talendforge.org/svn/tos/trunk@105675 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 02:30:32 +00:00
gliu
7b4edadfc4 [TESB-10037] cCXF: Authorization support
git-svn-id: http://talendforge.org/svn/tos/trunk@105674 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 02:29:46 +00:00
gliu
f53f104c4d [TESB-10338] Upgrade Studio/Connectors to latest Apache snapshots
update camel version to 2.11.2-SNAPSHOT

git-svn-id: http://talendforge.org/svn/tos/trunk@105673 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 02:28:59 +00:00
atelesh
606e1527e1 TESB-9311 - tRESTRequest: SAML security support
-> TESB-10528 - Update runtime blueprint configuration. 

git-svn-id: http://talendforge.org/svn/tos/trunk@105665 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 13:09:59 +00:00
ggu
891254e762 TUP-870: Remove the gef for core.runtime (v3)
git-svn-id: http://talendforge.org/svn/tos/trunk@105658 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 10:58:56 +00:00
wliu
faa5e99248 Fix Bug TDI-26484 : Fix the situation when there are tUnite in the subprocess with RowsEnd virtual components.
https://jira.talendforge.org/browse/TDI-26484 

git-svn-id: http://talendforge.org/svn/tos/trunk@105650 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 09:53:27 +00:00
plv
191da5f546 bug TUP-835 fixed:Cannot retreive schema on tables that contain "." in the table name
git-svn-id: http://talendforge.org/svn/tos/trunk@105637 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 08:44:18 +00:00
zwzhao
b1375c2bd0 feature TDI-26796 : Avoid the generation of JET Emitters when start the studio
git-svn-id: http://talendforge.org/svn/tos/trunk@105629 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 07:41:13 +00:00
wliu
f31061833b Fix Bug TDI-26484 : When the component is a virtual component with link type:onRowsEnd, then all the subjobs which following the onRowsEnd will be generated just after the first virtual component end part
git-svn-id: http://talendforge.org/svn/tos/trunk@105601 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 03:25:34 +00:00
zwzhao
385c89be8c feature TDI-26796 : Avoid the generation of JET Emitters when start the studio
git-svn-id: http://talendforge.org/svn/tos/trunk@105589 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 02:03:46 +00:00
zwzhao
e12185eeec feature TDI-26794 : Avoid loading of resources of components when initialize components
git-svn-id: http://talendforge.org/svn/tos/trunk@105588 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 02:00:59 +00:00
nrousseau
4c11231fd1 TDI-26835 : disable automatically the option lookup in parallel if there is no tParallelize component available
git-svn-id: http://talendforge.org/svn/tos/trunk@105585 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 00:30:37 +00:00
wliu
18666a3d40 Fix Bug TDI-26484 : When the component is a virtual component with link type:onRowsEnd, then all the subjobs which following the onRowsEnd will be generated just after the first virtual component end part
git-svn-id: http://talendforge.org/svn/tos/trunk@105572 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 11:03:01 +00:00
ggu
c760977001 TUP-870: split the core with core.ui for v2. remove the gef and metadata.management.ui
git-svn-id: http://talendforge.org/svn/tos/trunk@105550 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 08:45:55 +00:00
jjzhou
686383a8d3 fix Bug TDI-26832: Can't delete all output files
https://jira.talendforge.org/browse/TDI-26832

git-svn-id: http://talendforge.org/svn/tos/trunk@105546 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 08:43:37 +00:00
wwang
a33da1fc7b Fix Bug TDI-26803 : tOracleOutputBulkExec - Update Scenario
https://jira.talendforge.org/browse/TDI-26803

git-svn-id: http://talendforge.org/svn/tos/trunk@105542 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 08:27:59 +00:00
bchen
307f8ccc71 Fix Work Item TDI-26845 : clean MapReduceDataProcess
https://jira.talendforge.org/browse/TDI-26845
as we have MapReduceDataProcess, remove the un used methods for mapredce on DataProcess.

git-svn-id: http://talendforge.org/svn/tos/trunk@105520 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 06:21:56 +00:00
ggu
a741efef9d TUP-870: split the core with core.ui for v1.
git-svn-id: http://talendforge.org/svn/tos/trunk@105512 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 05:26:06 +00:00
ggu
e10e970253 TUP-870: split the core with core.ui for v1.
git-svn-id: http://talendforge.org/svn/tos/trunk@105507 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 05:22:54 +00:00
ggu
f3ad523c37 TUP-870: split the core with core.ui for v1.
git-svn-id: http://talendforge.org/svn/tos/trunk@105504 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 05:21:44 +00:00
bchen
48b4fd978c Fix New Feature TDI-26511 : tMicrosoftCrmInput using 2007 endpoint which is no longer supported
https://jira.talendforge.org/browse/TDI-26511
support 2011 endpoint in online mode

git-svn-id: http://talendforge.org/svn/tos/trunk@105423 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-18 12:23:29 +00:00
jzhao
b0443786ff Fixed Bug TDI-26681: Bug fix for org.talend.salesforce.SforceManagementImpl.java
https://jira.talendforge.org/browse/TDI-26681
Note:1.Check customer's patch and modify it.
2.Print log into the log file when not die on error

git-svn-id: http://talendforge.org/svn/tos/trunk@105383 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-18 03:45:20 +00:00
jjzhou
b34eb56c68 fix Bug TDI-26780: Better fix required for the issue TDI-26525
https://jira.talendforge.org/browse/TDI-26780

git-svn-id: http://talendforge.org/svn/tos/trunk@105350 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-17 08:59:07 +00:00
jyhu
44e4ee4512 Fix Bug TDI-26545 : tGreenplum componentes are not correctly using schema
https://jira.talendforge.org/browse/TDI-26545 


git-svn-id: http://talendforge.org/svn/tos/trunk@105319 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-17 02:04:03 +00:00
nrousseau
2c35792fdf TDI-26751 : fail to switch jobscript when there is several tXmlMap in the same job.
git-svn-id: http://talendforge.org/svn/tos/trunk@105315 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-17 01:11:55 +00:00
jyhu
710f6c7831 Fix Bug TDI-26770: Adjust the place of table name on tVerticaBulkExec .
https://jira.talendforge.org/browse/TDI-26770 

git-svn-id: http://talendforge.org/svn/tos/trunk@105289 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-16 09:08:49 +00:00
wwang
89befd870e Fix Feature TDI-26768 : Support for HDP 1.3 for DI in 5.4
https://jira.talendforge.org/browse/TDI-26768

git-svn-id: http://talendforge.org/svn/tos/trunk@105274 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-16 07:09:39 +00:00
plv
2179decc39 bug TUP-835 fixed:revert
git-svn-id: http://talendforge.org/svn/tos/trunk@105259 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 09:52:16 +00:00
jzhao
d942fb3b6f Fixed Bug TDI-26670: tExtractDelimitedFields throws exception when field to split is null
https://jira.talendforge.org/browse/TDI-26670
Note:Throw a new Exception if value of split fields is null.

git-svn-id: http://talendforge.org/svn/tos/trunk@105241 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 03:39:12 +00:00
ldong
f180c89ec7 bug TDI-26555 fixed:New Set Parallelization - code will not compile - depends on order of components.
git-svn-id: http://talendforge.org/svn/tos/trunk@105237 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 03:19:03 +00:00
fwang
654d989cfc bug TDI-26632 fixed:The DB component schema property set Repository but the connection info still editable
git-svn-id: http://talendforge.org/svn/tos/trunk@105235 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 01:31:21 +00:00
hcyi
a3301dd064 bug TDI-26562 fixed : Make Import from Exchange more dynamic .
git-svn-id: http://talendforge.org/svn/tos/trunk@105230 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 10:29:32 +00:00
hcyi
1717df8558 bug TDI-26562 fixed : Make Import from Exchange more dynamic .
git-svn-id: http://talendforge.org/svn/tos/trunk@105226 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 09:28:00 +00:00
amaumont
994e9b0dc3 TDI-25813 Statistic port is not released well, which cause warning message
=> fix errors on tuj

git-svn-id: http://talendforge.org/svn/tos/trunk@105210 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 07:50:32 +00:00
ycbai
c8c799b6c7 bug TDI-25844 : The UI of shell which is activated by double clicking "tFileInputMSDelimited" is mess.
git-svn-id: http://talendforge.org/svn/tos/trunk@105206 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 07:12:11 +00:00
zwzhao
9b44d8f538 bug TDI-26617 fixed : tWebService does not return any value
git-svn-id: http://talendforge.org/svn/tos/trunk@105199 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 06:09:38 +00:00
jzhao
2246c4afb1 Fixed Bug TDI-26710: When Append is ticked in tFileOutputARFF the generate file can't be deleted by tFileDelete in on job
https://jira.talendforge.org/browse/TDI-26710
Note: Close BufferedReader object

git-svn-id: http://talendforge.org/svn/tos/trunk@105186 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 02:02:43 +00:00
plv
3d72fe7ec4 bug TDI-26695 fixed:guess schema fail for derby client
git-svn-id: http://talendforge.org/svn/tos/trunk@105181 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 10:30:52 +00:00
wchen
29e7fa89d2 bug TDI-26609 fixed: tXmlMap automatic connection expression parser doesn't recognize nodes which have attributes
git-svn-id: http://talendforge.org/svn/tos/trunk@105175 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 09:04:21 +00:00
jjzhou
478a14ca2a fix Bug TDI-26548: Oracle datasource spring bean thrown an exception in the runtime
https://jira.talendforge.org/browse/TDI-26548

git-svn-id: http://talendforge.org/svn/tos/trunk@105170 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 08:01:43 +00:00
ldong
fa36bd261b bug TDI-26553 fixed:New Set Parallelization - failed to generate code.
git-svn-id: http://talendforge.org/svn/tos/trunk@105166 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 07:25:36 +00:00
jzhao
866b9628b9 Fixed Feature TDI-26625: when "don't generate empty file" is ticked, "append" is ticked, no input data to the tFileOuputPositional, the generated empty file will not be removed.
https://jira.talendforge.org/browse/TDI-26625
Note: 1.Show "Don't generate empty file" not matter "Append "check or not for tFileOutputARFF /tFileOutputExcel/ tFileOutputLDIF/ tFileOutputPositional
2.Add migration task "ChangeDeleteEmptyFileValueIfAppendTrueFeatureTDI26625"

git-svn-id: http://talendforge.org/svn/tos/trunk@105158 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 06:00:21 +00:00
nrousseau
5713f67aed i18n: synchronize Babili strings
git-svn-id: http://talendforge.org/svn/tos/trunk@105138 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-10 10:05:19 +00:00
zgao
ae146a3cbf [TUP-886] Fix import module with same name as selected will skip copy to storage lib folder.
git-svn-id: http://talendforge.org/svn/tos/trunk@105088 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 11:01:40 +00:00
wchen
74cdec82fa bug TDI-25081 fixed : Avoid to block the generation of the job when check for tPrejob / tPostJob
git-svn-id: http://talendforge.org/svn/tos/trunk@105085 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 10:28:28 +00:00
zwzhao
0e0ae90a7c bug TDI-26633 fixed : tLibraryLoad throw warning while using context variables
git-svn-id: http://talendforge.org/svn/tos/trunk@105067 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 09:04:46 +00:00
amarkevich
aa98748313 TESB-10280 TOS-DI 5.3.1 - cannot have multiple tESBConsumers pointing to same wsdl
git-svn-id: http://talendforge.org/svn/tos/trunk@105066 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 08:11:17 +00:00
plv
e61360676c bug TUP-835 fixed:Cannot retreive schema on tables that contain "." in the table name
git-svn-id: http://talendforge.org/svn/tos/trunk@105062 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 07:21:27 +00:00
jyhu
a73c32d312 Fix Bug TDI-26209: tNetezzaInput and tNetezzaOutput could not work with TIME type.
https://jira.talendforge.org/browse/TDI-26209 

git-svn-id: http://talendforge.org/svn/tos/trunk@105051 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 05:47:31 +00:00
wchen
4cfa39d1a2 bug TDI-25946 fixed: HL7 connection wizard is not parsing columns correctly
git-svn-id: http://talendforge.org/svn/tos/trunk@105044 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 03:28:45 +00:00
jjzhou
d00b5b457b fix Bug TDI-26533: Unable to spool multiple bulk batches using tSalesforceInput / Bulk API
https://jira.talendforge.org/browse/TDI-26533

git-svn-id: http://talendforge.org/svn/tos/trunk@105034 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 02:42:21 +00:00
fwang
6cdbf09bec bug TDI-26417 fixed:Studio adds hyphens to Java options
git-svn-id: http://talendforge.org/svn/tos/trunk@105026 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 01:42:45 +00:00
ycbai
a26e482f53 bug TDI-26650 fixed: Export as service doesn't include items from reference project
git-svn-id: http://talendforge.org/svn/tos/trunk@105017 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 09:12:27 +00:00
fwang
670937239d bug TDI-26551 fixed:Linked tMap output expressions replaced when selecting repository schema
git-svn-id: http://talendforge.org/svn/tos/trunk@105009 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 08:22:49 +00:00
jzhao
d5b1bb7ae9 Fixed Bug TDI-26440: tSalesforceInput : using variable name for Custom Module is not working
https://jira.talendforge.org/browse/TDI-26440 
Note: 1.Modify not customer model error.
2.Optimized the migration task.

git-svn-id: http://talendforge.org/svn/tos/trunk@105005 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 07:26:00 +00:00
jyhu
648c82a422 Fix Bug TDI-26521: DB components does nothing if no schema defined
https://jira.talendforge.org/browse/TDI-26521
revert the code for tInformixBulkExec.

git-svn-id: http://talendforge.org/svn/tos/trunk@104996 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 06:47:40 +00:00
plv
09b0830fcf TDI-26607 fixed:Add NB_LINES support on CLOSED_LIST Control
git-svn-id: http://talendforge.org/svn/tos/trunk@104992 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 06:10:46 +00:00
gliu
af1c8e9869 [TESB-9856] Remove "Find component in job " option
git-svn-id: http://talendforge.org/svn/tos/trunk@104989 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 03:34:57 +00:00
bchen
54ca05ebe7 Fix Bug TDI-26511 : tMicrosoftCrmInput using 2007 endpoint which is no longer supported
https://jira.talendforge.org/browse/TDI-26511
as url "https://dev.login.live.com/wstlogin.srf" is forbiddened
replace url "https://dev.login.live.com/wstlogin.srf" by "https://login.live.com/rst2.srf" to make online mode work

git-svn-id: http://talendforge.org/svn/tos/trunk@104977 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 10:29:26 +00:00
ycbai
7781e477c9 bug TDI-26575 fixed: Reference Project:Delect assignment job in BM , BM become to dirty
git-svn-id: http://talendforge.org/svn/tos/trunk@104968 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 10:12:07 +00:00
jyhu
11fc9d4788 Fix Bug TDI-26545 : tGreenplum componentes are not correctly using schema
https://jira.talendforge.org/browse/TDI-26545

git-svn-id: http://talendforge.org/svn/tos/trunk@104950 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 08:46:22 +00:00
jjzhou
fa41d6d120 fix Bug TDI-26539: For tNetezzaNzload component,it only create connection ,but no close connection.
https://jira.talendforge.org/browse/TDI-26539

git-svn-id: http://talendforge.org/svn/tos/trunk@104944 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 08:15:21 +00:00
zwzhao
2bf28187d3 bug TDI-26550 fixed : MSSQLInput component compilation error : the method tMSSqlInput_4Process(Map<String,Object>) is undefined
git-svn-id: http://talendforge.org/svn/tos/trunk@104942 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 07:11:03 +00:00
zgao
cdb5444090 [TESB-9875] Talend Studio doesn&#39;t load new Beans
└[TESB-10253] Make storage jar refresh when import again.
Revert this change : Changeset 104859

git-svn-id: http://talendforge.org/svn/tos/trunk@104935 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 06:08:47 +00:00
jjzhou
724e23262b fix Bug TDI-26525: add comment "for HyperFileSQL in order to resolve query on empty string not work"
https://jira.talendforge.org/browse/TDI-26525

git-svn-id: http://talendforge.org/svn/tos/trunk@104926 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 02:54:24 +00:00
jjzhou
4b105e7217 fix Bug TDI-26525: tDBInput didn't support the HyperFileSQL
https://jira.talendforge.org/browse/TDI-26525

git-svn-id: http://talendforge.org/svn/tos/trunk@104909 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-04 10:28:15 +00:00
ycbai
2fe2fff431 bug TDI-26530 fixed: when changing the structure of the input flow into a SCD component (in our case postgres SCD) it gives a java compilation error
git-svn-id: http://talendforge.org/svn/tos/trunk@104894 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-04 07:43:34 +00:00
fwang
063f288896 bug TDI-23525 fixed:Deleted "Stored Queries" in SQL Builder, it will be deleted forever
git-svn-id: http://talendforge.org/svn/tos/trunk@104882 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-04 06:26:25 +00:00
jzhao
eb64902c2e Finxed Bug TDI-26572: Make tFileOutputPositionnal work like tFileOutputDelimited
https://jira.talendforge.org/browse/TDI-26572
Note:Remove some unused code

git-svn-id: http://talendforge.org/svn/tos/trunk@104863 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-04 01:45:17 +00:00
zgao
5727c40e51 [TESB-9875] Talend Studio doesn't load new Beans
└[TESB-10271] Add parameters support for model name to indicate special behaviors.

git-svn-id: http://talendforge.org/svn/tos/trunk@104859 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-03 11:04:28 +00:00
jzhao
2f3d4134f8 Fixed Bug TDI-26572: Make tFileOutputPositionnal work like tFileOutputDelimited
https://jira.talendforge.org/browse/TDI-26572

git-svn-id: http://talendforge.org/svn/tos/trunk@104857 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-03 10:45:50 +00:00
fwang
b461acefd4 bug TDI-26551 fixed:Linked tMap output expressions replaced when selecting repository schema
git-svn-id: http://talendforge.org/svn/tos/trunk@104821 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-03 01:28:17 +00:00
zwzhao
57c73f1bf8 bug TDI-26567 fixed : switch between jobscript and designer cause records in "Inline table" in "tFixedFlowInput" component disappear
git-svn-id: http://talendforge.org/svn/tos/trunk@104810 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-02 10:18:03 +00:00
fwang
eb8a4bba39 bug TDI-26312 fixed:"+" should be disabled if rootTag is not selected
git-svn-id: http://talendforge.org/svn/tos/trunk@104779 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-02 03:32:57 +00:00
ldong
2e4aa6b2b7 bug TDI-26472 fixed:many popups shown when you link a component to joblet.
git-svn-id: http://talendforge.org/svn/tos/trunk@104755 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 09:33:05 +00:00
zgao
922e6fc7c6 [TESB-9100] bug in cTimer on Delay parameter
└[TESB-10225] Fix on trunk

git-svn-id: http://talendforge.org/svn/tos/trunk@104753 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 09:29:26 +00:00
zwzhao
b1d6723cf9 bug TDI-26434 fixed : Expressions copied from other tMaps when schemas propagated
git-svn-id: http://talendforge.org/svn/tos/trunk@104728 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 06:58:28 +00:00
jjzhou
a95142e387 fix Bug TDI-26520: For DB component, some have table list button ,but some doesn't have.
https://jira.talendforge.org/browse/TDI-26520

git-svn-id: http://talendforge.org/svn/tos/trunk@104726 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 06:51:00 +00:00
jjzhou
c02baacc1a fix Bug TDI-26523: Could not show table list and open sql builder from component setting of tTeradataTPump,
https://jira.talendforge.org/browse/TDI-26523

git-svn-id: http://talendforge.org/svn/tos/trunk@104627 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-28 06:50:34 +00:00
jyhu
84d9bf4ac5 Fix Bug TDI-26521: DB components does nothing if no schema defined
https://jira.talendforge.org/browse/TDI-26521
revert the code for tOracleBulkExec.

git-svn-id: http://talendforge.org/svn/tos/trunk@104612 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-28 01:57:42 +00:00
zwzhao
856a0a0edb bug TDI-25956 fixed : the expression is incorrect after copy&paste job contain tMap
git-svn-id: http://talendforge.org/svn/tos/trunk@104599 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-27 09:44:23 +00:00
zgao
ecb931dc82 [TESB-10116] improve routebuilder statistic: replace jmx with tracer/interceptor strategy
└[TESB-10191] Add end() for some wrap definitions components:
cDynamicRouter, cRecipientList, cRoutingSlip, cWireTap

git-svn-id: http://talendforge.org/svn/tos/trunk@104598 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-27 09:15:05 +00:00
jyhu
570629d471 Fix Bug TDI-26521: DB components does nothing if no schema defined
https://jira.talendforge.org/browse/TDI-26521

git-svn-id: http://talendforge.org/svn/tos/trunk@104597 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-27 09:04:42 +00:00
jyhu
718724899b Fix Bug TDI-26521: DB components does nothing if no schema defined
https://jira.talendforge.org/browse/TDI-26521

git-svn-id: http://talendforge.org/svn/tos/trunk@104596 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-27 08:47:23 +00:00
hcyi
8fb73193c2 bug TDI-24919 fixed : replication order incorrect with cdc mysql .
git-svn-id: http://talendforge.org/svn/tos/trunk@104585 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-27 05:57:26 +00:00
jzhao
9c5698364e Fixed Bug TDI-26504: tMDMOutput component : Reject link does not work
https://jira.talendforge.org/browse/TDI-26504

git-svn-id: http://talendforge.org/svn/tos/trunk@104569 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 10:39:30 +00:00
zgao
1b062d6a7a [TESB-7349] Right click drag Node create default Route Connection.
git-svn-id: http://talendforge.org/svn/tos/trunk@104568 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 10:31:55 +00:00
gliu
6a50ae7dd7 [TESB-10150] [ESB Resouce] Create Resource name can't contains "." , "-" and can't start with number.
git-svn-id: http://talendforge.org/svn/tos/trunk@104555 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 09:26:34 +00:00
zwzhao
48fea154c9 bug TDI-25956 fixed : the expression is incorrect after copy&paste job contain tMap (revert #104183)
git-svn-id: http://talendforge.org/svn/tos/trunk@104545 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 08:46:09 +00:00
zwzhao
1d4ce01323 bug TDI-26055 fixed : can not change the Join Model in tMap if you set the join manually
git-svn-id: http://talendforge.org/svn/tos/trunk@104537 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 08:21:38 +00:00
wwang
7f8eaa7a68 Fix Bug TDI-8695 : Join on BigDecimals depends on scale
https://jira.talendforge.org/browse/TDI-8695

git-svn-id: http://talendforge.org/svn/tos/trunk@104523 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 06:37:59 +00:00
plv
0c205d53ed bug TDI-26457 fixed:"No data found" Error was shown when use the sql builder of the tDBInput for the HyperFileSQL
git-svn-id: http://talendforge.org/svn/tos/trunk@104519 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 02:40:47 +00:00
zgao
9d938d69f2 [TESB-10116] Improve RouteBuilder statistic: Replace jmx with tracer/interceptor strategy
git-svn-id: http://talendforge.org/svn/tos/trunk@104500 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-25 09:02:47 +00:00
jjzhou
782fab9d0d fix Bug TDI-26493: component "tFileDelete" can not delete files with a file size about 100MB or above
https://jira.talendforge.org/browse/TDI-26493

git-svn-id: http://talendforge.org/svn/tos/trunk@104497 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-25 08:34:51 +00:00
fwang
e83e8b15f5 bug TDI-26458 fixed:Cancelling Edit of Row Generator Still Saves Changes
git-svn-id: http://talendforge.org/svn/tos/trunk@104489 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-25 07:01:52 +00:00
wwang
78a3c75a7e Fix Bug TDI-26484 : Code generation differences between v4.2.3 and v5.2.2
https://jira.talendforge.org/browse/TDI-26484

git-svn-id: http://talendforge.org/svn/tos/trunk@104439 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 08:30:55 +00:00
ldong
ab4ea32355 bug TDI-26238 fixed:Set/Disable parallelization not worked for deactive line in job.
git-svn-id: http://talendforge.org/svn/tos/trunk@104435 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 08:11:47 +00:00
hcyi
879a98e583 bug TDI-25662 modified : "Detect and update all jobs" doesn't work .
git-svn-id: http://talendforge.org/svn/tos/trunk@104432 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 08:06:52 +00:00
jzhao
d3d2d95eb1 Fixed Bug TDI-26471: tFileOutputExcel throw NullPointerException when output excel file (2007) doesn't exist
https://jira.talendforge.org/browse/TDI-26471

git-svn-id: http://talendforge.org/svn/tos/trunk@104421 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 07:07:01 +00:00
jjzhou
436358185b fix Bug TDI-26485: Could not show table list and open sql builder from component setting of tSybaseIQBulkExec, tMysqlBulkExec, tMysqlOutputBulkExec
https://jira.talendforge.org/browse/TDI-26485

git-svn-id: http://talendforge.org/svn/tos/trunk@104414 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 01:13:24 +00:00
sizhaoliu
7aea2b8209 TDQ-7363 redundant folder when try to select parser rule for tStandardizeRow component
git-svn-id: http://talendforge.org/svn/tos/trunk@104392 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 13:25:25 +00:00
sizhaoliu
4c6ffd0f13 fixed TDQ-7487 Export a second tStandardizeRow component requires to overwrite the existing rule in the repository
git-svn-id: http://talendforge.org/svn/tos/trunk@104390 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 13:20:37 +00:00
zgao
182906651f [TESB-9344] Get familiar with Oakland Data Transformer/ODT-Camel component
└[TESB-10112] Create odt-camel component with javajet&amp;xml.
Revert changes. Commit too early.

git-svn-id: http://talendforge.org/svn/tos/trunk@104388 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 11:48:18 +00:00
zgao
c28d9fc504 [TESB-9344] Get familiar with Oakland Data Transformer/ODT-Camel component
└[TESB-10112] Create odt-camel component with javajet&amp;xml.
Component created. Runtime Osgi not support yet. 
Need add odt-camel-3.3.0.jar in org.talend.libraries.esb from Github.

git-svn-id: http://talendforge.org/svn/tos/trunk@104387 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 11:34:25 +00:00
zgao
96838b3143 [TESB-9344] Get familiar with Oakland Data Transformer/ODT-Camel component
└[TESB-10112] Create odt-camel component with javajet&amp;xml.
Component created. Runtime Osgi not support yet. 
Need add odt-camel-3.3.0.jar in org.talend.libraries.esb from Github.

git-svn-id: http://talendforge.org/svn/tos/trunk@104386 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 11:28:59 +00:00
jzhao
16b8452620 Fixed Bug TDI-26440: tSalesforceInput : using variable name for Custom Module is not working
https://jira.talendforge.org/browse/TDI-26440 
Note: Modify break and version about the migration task in trunk

git-svn-id: http://talendforge.org/svn/tos/trunk@104373 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 09:54:14 +00:00
nrousseau
22f7f456c7 TDI-26478 : fix the problem of folder deletion while import.
git-svn-id: http://talendforge.org/svn/tos/trunk@104359 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 09:25:59 +00:00
hcyi
c94b0f95e0 bug TDI-25662 modified : "Detect and update all jobs" doesn't work .
git-svn-id: http://talendforge.org/svn/tos/trunk@104349 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 08:58:53 +00:00
plv
2fb5f826b5 bug TDI-26432 fixed:Compile errors with tAggregateRow Component
git-svn-id: http://talendforge.org/svn/tos/trunk@104340 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 08:09:25 +00:00
ggu
77345bb0a8 TDI-26293: fixed the path problem for importing.
git-svn-id: http://talendforge.org/svn/tos/trunk@104317 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 06:12:12 +00:00
plv
6c200728ac bug TDI-23537 fixed:Delete flow names can not undo properly
git-svn-id: http://talendforge.org/svn/tos/trunk@104308 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 03:59:22 +00:00
fwang
82156ac4a5 bug TDI-26312 fixed:"+" should be disabled if rootTag is not selected
git-svn-id: http://talendforge.org/svn/tos/trunk@104293 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 03:14:48 +00:00
jzhao
8749dd7b9d Fixed Bug TDI-26170: tHDFSPut component uses a deprecated library and produces warnings
https://jira.talendforge.org/browse/TDI-26170
Note: revert no need change.

git-svn-id: http://talendforge.org/svn/tos/trunk@104263 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 01:57:19 +00:00
jzhao
5cfd7a2534 Fixed Bug TDI-26170: tHDFSPut component uses a deprecated library and produces warnings
https://jira.talendforge.org/browse/TDI-26170
Note: replace "fs.default.name" with "fs.defaultFS" 

git-svn-id: http://talendforge.org/svn/tos/trunk@104245 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 10:55:12 +00:00
ilazebny
bf91f126de Update version in poms to 5.4.0-SNAPSHOT
git-svn-id: http://talendforge.org/svn/tos/trunk@104238 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 09:57:51 +00:00
plv
d7ff98fd04 bug TDI-26394 fixed:User can delete a locked connection schema in remote project
git-svn-id: http://talendforge.org/svn/tos/trunk@104233 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 09:45:59 +00:00
jyhu
70016c6b4a Fix Bug TDI-26463: Connection is always closed when use exist connection on tPostgresqlBulkExec
https://jira.talendforge.org/browse/TDI-26463 
fixed the same issue for tGreenplumBulkExec and tParAccelBulkExec

git-svn-id: http://talendforge.org/svn/tos/trunk@104224 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 09:32:31 +00:00
plv
1a995a66ed merge r103829 from branch 5.2 to trunk
bug TDI-25879 fixed:Zoom options in ActionBar for MultiPageTalendEditor should be disabled if switch to code tab.


git-svn-id: http://talendforge.org/svn/tos/trunk@104216 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:56:32 +00:00
plv
40beecd749 merge r103978 from branch 5.2 to trunk
bug TDI-25992 fixed:Exchange: error when add a new extenion without a "file"


git-svn-id: http://talendforge.org/svn/tos/trunk@104207 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:40:49 +00:00
hcyi
c5b1f6975b bug TUP-803 fixed : Can't clear User Component Folder in Components preferences (TUP-799)
git-svn-id: http://talendforge.org/svn/tos/trunk@104198 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:22:48 +00:00
plv
145c306db4 merge r103849 from branch 5.2 to trunk
bug TDI-26240 fixed:Joblet in ref-project is able to change the schema in main project


git-svn-id: http://talendforge.org/svn/tos/trunk@104196 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:19:17 +00:00
hcyi
dbc9724d58 bug TUP-804 fixed : addModifyListener for the Talend Components Designer filePath text (from main task TUP-799)
git-svn-id: http://talendforge.org/svn/tos/trunk@104195 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:16:59 +00:00
plv
e7a74b7c57 merge r103715 from branch 5.2 to trunk
bug TDI-26263 fixed:The outputs for tSAPInput can not correctly updated when we change the row name and undo it.


git-svn-id: http://talendforge.org/svn/tos/trunk@104187 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:06:39 +00:00
zwzhao
e71b343096 bug TDI-25956 fixed : the expression is incorrect after copy&paste job contain tMap
git-svn-id: http://talendforge.org/svn/tos/trunk@104183 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:53:45 +00:00
hcyi
431beb753d bug TDI-26374 : TDI-26332 fixed : HL7: NPE error if the source file cannot be found .
git-svn-id: http://talendforge.org/svn/tos/trunk@104169 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:09:03 +00:00
zwzhao
76ba7eaa0e bug TDI-26046 fixed : The Ui is blank after selecting "Talend Component Designer"
git-svn-id: http://talendforge.org/svn/tos/trunk@104161 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:02:10 +00:00
hcyi
a790a684a3 bug TUP-805 fixed : Exception setting classpath after changing the Talend -> Components user component folder .
git-svn-id: http://talendforge.org/svn/tos/trunk@104160 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:01:32 +00:00
ggu
0d40c6b3aa TDI-26293: fixed the import problem for special characters.
git-svn-id: http://talendforge.org/svn/tos/trunk@104157 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:57:24 +00:00
jyhu
54541a9f23 Fix Feature TDI-24990: Update calls to API for marketo components
https://jira.talendforge.org/browse/TDI-24990 
Modify the default value of Endpoint on tMarketoXXX.

git-svn-id: http://talendforge.org/svn/tos/trunk@104154 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:52:58 +00:00
hcyi
fb9ef0d14b bug TDI-26438 : backport TDI-26361 : Unable to drag columns from left of tMap to expression filter of output with repository schema .
git-svn-id: http://talendforge.org/svn/tos/trunk@104151 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:51:33 +00:00
jyhu
c4c65a67f8 Fix Bug TDI-26176: Multiple Connections from Netezza tNetezzaBulkLoad despite use of tNetezzaConnection.
https://jira.talendforge.org/browse/TDI-26176 

git-svn-id: http://talendforge.org/svn/tos/trunk@104136 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:25:51 +00:00
jyhu
aef77dea12 Fix Bug TDI-26372: tMSSqlBulkExec does nothing if no schema defined when Action on table is set to Truncate or Default.
https://jira.talendforge.org/browse/TDI-26372 

git-svn-id: http://talendforge.org/svn/tos/trunk@104123 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 05:50:24 +00:00
jzhao
39f13ca436 Fixed Bug TDI-26298: Please hide parameters when use exist connection
https://jira.talendforge.org/browse/TDI-26298
Note: 1.hide some parameter
2.Fixed  "use transcation "  never commit in tInformixCDC and tInformixSCD

git-svn-id: http://talendforge.org/svn/tos/trunk@104112 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 04:46:59 +00:00
jzhao
8f54514857 Fixed Bug TDI-26440: tSalesforceInput : using variable name for Custom Module is not working
https://jira.talendforge.org/browse/TDI-26440
Note: Modify 5 tSalesForceXX and add migration task for them.

git-svn-id: http://talendforge.org/svn/tos/trunk@104111 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 04:15:52 +00:00
jyhu
cb7241c4f7 Fix Bug TDI-26463: Connection is always closed when use exist connection on tPostgresqlBulkExec
https://jira.talendforge.org/browse/TDI-26463

git-svn-id: http://talendforge.org/svn/tos/trunk@104103 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:57:24 +00:00
wchen
78c7ca0e78 bug TDI-26285 fixed: Database connection is failed when click "Guess schema" button in thiveinput
git-svn-id: http://talendforge.org/svn/tos/trunk@104099 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:47:09 +00:00
plv
8ba21b5d39 bug TDI-25958 fixed:Newly added column for copy file schema can not be set as unused in jobs.
git-svn-id: http://talendforge.org/svn/tos/trunk@104094 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:41:35 +00:00
wchen
c8b6f3fc2d bug TDI-26285 fixed: Database connection is failed when click "Guess schema" button in thiveinput
git-svn-id: http://talendforge.org/svn/tos/trunk@104092 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:37:33 +00:00
wwang
59baa71e29 Fix Bug TDI-26211 : Fix for tFileInputXML under SAX too
https://jira.talendforge.org/browse/TDI-26211

git-svn-id: http://talendforge.org/svn/tos/trunk@104091 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:37:25 +00:00
zwzhao
64d8258731 bug TDI-26284 fixed : Get NPE when closing a locked route in remote project.
git-svn-id: http://talendforge.org/svn/tos/trunk@104076 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 02:46:34 +00:00
wwang
607b4afb58 Fix Bug TDI-26362 : 65535 JDK limit on 64bit Java
https://jira.talendforge.org/browse/TDI-26362

git-svn-id: http://talendforge.org/svn/tos/trunk@104049 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:44:43 +00:00
fwang
463dbc4b32 bug TDI-26417 fixed:Studio adds hyphens to Java options
git-svn-id: http://talendforge.org/svn/tos/trunk@104047 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:25:24 +00:00
jjzhou
c11f48425e fix Bug TDI-26328: apply the patch in the TDI-25608 to trunk and branch5.3
https://jira.talendforge.org/browse/TDI-26328

git-svn-id: http://talendforge.org/svn/tos/trunk@104044 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:12:42 +00:00
jjzhou
a16ebd28ee fix Bug TDI-26345: tStewardshipOutput : Source/Target selector does not work properly
https://jira.talendforge.org/browse/TDI-26345

git-svn-id: http://talendforge.org/svn/tos/trunk@104042 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:08:11 +00:00
jjzhou
a904ca5f46 fix Bug TDI-26388: The problem for TDI-26297 ,tOracleSCDELT 、tPostgresPlusSCDELT and tPostgresqlSCDELT components get the same problem
https://jira.talendforge.org/browse/TDI-26388

git-svn-id: http://talendforge.org/svn/tos/trunk@104040 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:05:51 +00:00
nrousseau
9574d946ad TUP-842 : fix a possible NPE, appears when using the basic eclipse properties view, if there is no ESB in the product.
git-svn-id: http://talendforge.org/svn/tos/trunk@104000 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-17 09:52:40 +00:00
nrousseau
9c6bfa59d5 TDI-26380 : set the action enabled again after execute, no matter if have exception or not.
git-svn-id: http://talendforge.org/svn/tos/trunk@103961 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-13 11:00:07 +00:00
ggu
b9c1c0e70d TDI-26387: when do detect modifications, force doing svn update.
git-svn-id: http://talendforge.org/svn/tos/trunk@103960 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-13 10:55:42 +00:00
rdubois
92488c2b00 TDI-26279 fixed: Add a migration task in order to have the same behavior as before
git-svn-id: http://talendforge.org/svn/tos/trunk@103896 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-10 14:11:24 +00:00
rdubois
6cd9421f4f TDI-26297 fixed for other databases.
git-svn-id: http://talendforge.org/svn/tos/trunk@103889 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-10 10:06:02 +00:00
ldong
723aed9f24 bug TDI-26324 fixed:Graphic is disposed when push the copy of user component to palette.
git-svn-id: http://talendforge.org/svn/tos/trunk@103881 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-09 09:59:38 +00:00
rdubois
7ec6c26380 TDI-26297 fixed for tMysqlSCD and tMysqlSCDELT
git-svn-id: http://talendforge.org/svn/tos/trunk@103857 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-07 10:49:05 +00:00
wwang
3a6aa72104 Fix Bug TDI-25903 : revert it
https://jira.talendforge.org/browse/TDI-25903

git-svn-id: http://talendforge.org/svn/tos/trunk@103855 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-07 10:37:11 +00:00
3058 changed files with 86450 additions and 39120 deletions

View File

@@ -46,6 +46,7 @@ ComponentProjectPreferencePage.Warning=Warnung
AbstractXMLConfigPage.VERSIONTip=Ein Dezimalwert zur Angabe der Version Ihrer neuen Komponente.
WizardJetFilesChoosePage.Directory=Verzeichnis:
CreateComponentWizard.NewComponent=Neue Komponente
WizardComponentFolderPage.Name=Name
RemoveResourceAction.Remove=Entfernen
WizardJetFilesChoosePage.UseIconFrom=Verwende Icon von:
ImportComponentDialog.ImportFinished=Import der Komponente abgeschlossen

View File

@@ -15,6 +15,7 @@ Require-Bundle: org.talend.model,
org.apache.log4j,
org.eclipse.jet.editor,
org.talend.core,
org.talend.core.ui,
org.talend.designer.components.localprovider,
org.eclipse.jdt.core,
org.eclipse.xsd,
@@ -28,3 +29,4 @@ Export-Package: org.talend.componentdesigner,
org.talend.componentdesigner.manager,
org.talend.componentdesigner.ui
Bundle-ClassPath: .
Bundle-Vendor: .Talend SA.

View File

@@ -16,7 +16,7 @@
<extension point="org.eclipse.ui.perspectives">
<perspective class="org.talend.componentdesigner.ui.Perspective"
id="org.talend.componentdesigner.perspective"
name="Component Designer">
name="Component's Designer">
</perspective>
</extension>
<extension point="org.eclipse.ui.perspectiveExtensions">

View File

@@ -34,8 +34,10 @@ import org.talend.componentdesigner.i18n.internal.Messages;
import org.talend.componentdesigner.util.XSDValidator;
import org.talend.componentdesigner.util.file.FileCopy;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.components.IComponentsFactory;
import org.talend.core.service.IComponentsLocalProviderService;
import org.talend.repository.model.ComponentsFactoryProvider;
/**
@@ -93,8 +95,14 @@ public class PushToPaletteActionProvider extends CommonActionProvider {
*/
@Override
public void run() {
String path = CorePlugin.getDefault().getComponentsLocalProviderService().getPreferenceStore()
.getString("USER_COMPONENTS_FOLDER"); //$NON-NLS-1$
String path = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentsLocalProviderService.class)) {
IComponentsLocalProviderService service = (IComponentsLocalProviderService) GlobalServiceRegister.getDefault()
.getService(IComponentsLocalProviderService.class);
if (service != null) {
path = service.getPreferenceStore().getString("USER_COMPONENTS_FOLDER"); //$NON-NLS-1$
}
}
if (path == null || path.length() == 0) {
new MessageDialog(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),

View File

@@ -242,7 +242,6 @@
<import plugin="com.ibm.icu" version="4.2.1.v20100412" match="equivalent"/>
<import plugin="org.eclipse.wst.common.core" version="1.1.201" match="compatible"/>
<import plugin="org.eclipse.osgi.util" version="3.1.300" match="compatible"/>
<import plugin="org.talend.libraries.jdom"/>
<import plugin="org.talend.common.ui.runtime"/>
<import plugin="org.talend.libraries.jdbc.mysql"/>
<import plugin="org.talend.libraries.jdbc.jtds"/>
@@ -1389,12 +1388,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.talend.libraries.jdom"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="org.talend.libraries.jexcel"
download-size="0"
@@ -1420,4 +1413,11 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.talend.osgi.lib.loader"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View File

@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Abstract Map Plug-in
Bundle-SymbolicName: org.talend.designer.abstractmap;singleton:=true
Bundle-Version: 2.2.0.qualifier
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.talend.designer.abstractmap.MapPlugin
Require-Bundle: org.eclipse.core.runtime,
org.talend.core,

View File

@@ -40,10 +40,6 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
private Point lastCursorPosition;
private long lastDragTime;
private boolean scrollUp = false;
public DefaultDropTargetListener(AbstractMapperManager mapperManager) {
super();
this.mapperManager = mapperManager;
@@ -57,14 +53,12 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
return mapperManager.getUiManager();
}
@Override
public void dragEnter(DropTargetEvent event) {
// updatePopupPosition(event);
updatePopupPosition(event);
setPopupVisible(true);
event.detail = mapperManager.getUiManager().getCurrentDragDetail();
}
@Override
public void dragLeave(DropTargetEvent event) {
dragFinished();
}
@@ -82,7 +76,6 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
draggingInfosPopup.setVisible(visible);
}
@Override
public void dragOperationChanged(DropTargetEvent event) {
updatePopupPosition(event);
detectPressedKeys(event);
@@ -131,7 +124,6 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
}
@Override
public void dragOver(DropTargetEvent event) {
// System.out.println(((DropTarget)event.widget).getControl());
event.detail = DND.DROP_NONE;
@@ -141,17 +133,20 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
}
private void updatePopupPosition(DropTargetEvent event) {
Point cursorPosition = new Point(event.x, event.y);
if (!cursorPosition.equals(lastCursorPosition)) {
AbstractUIManager uiManager = mapperManager.getUiManager();
DraggingInfosPopup draggingInfosPopup = uiManager.getDraggingInfosPopup();
draggingInfosPopup.setCursorPosition(event.x, event.y);
}
// System.out.println("updatePopupPosition:" + lastCursorPosition + "-->" + cursorPosition);
lastCursorPosition = cursorPosition;
}
private void autoScroll(DropTargetEvent event) {
if (lastCursorPosition == null || lastCursorPosition.y == event.y) {
return;
}
Composite currentComposite = null;
Object source = event.getSource();
if (source instanceof DropTarget) {
@@ -168,51 +163,22 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
if (parentScrolledComposite == null) {
return;
}
ScrollBar vBar = parentScrolledComposite.getVerticalBar();
int increment = event.y - lastCursorPosition.y;
if (increment > 0) {
increment = increment + 3;
} else {
increment = increment - 3;
}
Control content = parentScrolledComposite.getContent();
if (content != null) {
Point location = content.getLocation();
int vSelection = vBar.getSelection();
int increment = 0;
int thumb = vBar.getThumb();
if (lastCursorPosition == null || lastCursorPosition.y == event.y) {
long currentTimeMillis = System.currentTimeMillis();
long time = currentTimeMillis - lastDragTime;
if (lastDragTime != 0 && time > 100) {
Point pointToScrollComposite = parentScrolledComposite.toControl(event.x, event.y);
// scroll up
if (pointToScrollComposite.y < 40) {
increment = -20;
}
// scroll down
else if (thumb - pointToScrollComposite.y < 40) {
increment = 20;
} else {
return;
}
} else {
return;
}
} else {
increment = event.y - lastCursorPosition.y;
if (increment > 0) {
increment = increment + 3;
} else {
increment = increment - 3;
}
}
if (vSelection >= 0 && vSelection + increment > 0 && vSelection + increment < vBar.getMaximum()) {
vBar.setSelection(vSelection + increment);
}
content.setLocation(location.x, -vSelection);
mapperManager.getUiManager().refreshBackground(true, false);
lastDragTime = System.currentTimeMillis();
}
// Event e = new Event();
@@ -239,7 +205,6 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
return getParentScrolledComposite(composite.getParent());
}
@Override
public void drop(DropTargetEvent event) {
dragFinished();
}
@@ -253,7 +218,6 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
return getClass() != DefaultDropTargetListener.class;
}
@Override
public void dropAccept(DropTargetEvent event) {
}
@@ -263,7 +227,6 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
*
* @see org.eclipse.jface.util.TransferDropTargetListener#getTransfer()
*/
@Override
public Transfer getTransfer() {
return TableEntriesTransfer.getInstance();
}
@@ -273,7 +236,6 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
*
* @see org.eclipse.jface.util.TransferDropTargetListener#isEnabled(org.eclipse.swt.dnd.DropTargetEvent)
*/
@Override
public boolean isEnabled(DropTargetEvent event) {
return true;
}

View File

@@ -14,4 +14,5 @@ AlfrescoOutputModelManager.prefixConflict=Kann das Modell nicht hinzuf
AlfrescoOutputModelManager.notYetAdded=Dieses Modell wurde noch nicht hinzugefügt.
AlfrescoModelDialog.type=Typ
AlfrescoModelDialog.addModelFailed=Modell hinzufügen fehlgeschlagen
AlfrescoModelDialog.modelTable.name=Name
AlfrescoModelDialog.remove=Entfernen

View File

@@ -1,11 +1,12 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Alfresco Output external component
Bundle-Name: Alfresco Output Component Plug-in
Bundle-SymbolicName: org.talend.designer.alfrescooutput;singleton:=true
Bundle-Version: 2.2.0.qualifier
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: .Talend SA.
Require-Bundle: org.eclipse.core.runtime,
org.talend.core,
org.talend.core.ui,
org.talend.commons.ui,
org.talend.libraries.dom4j-jaxen,
org.talend.designer.codegen,

View File

@@ -16,6 +16,7 @@ BusinessModelingAssistantProvider.AvaiableDomainModelElements=Verf
BusinessPaletteFactory.BidirectionalRelationShip=Bidirektionale Beziehung
BusinessPaletteFactory.CreateDirectionalRelationShip=Direktionale Beziehung hinzufügen
BusinessPaletteFactory.CreateBidirectionalRelationShip=Bidirektionale Beziehung hinzufügen
AssignmentPropertySection.Name=Name
CreateAssignmentCommand.CannotAssign=Zuordnung nicht möglich.
BusinessNewDiagramFileWizard.DiagramRootElement=Diagramm root-Element
BusinessNewDiagramFileWizard.NoDiagramRootElementSelectedError=Kein Diagram-Root Element ausgewählt

View File

@@ -45,7 +45,7 @@ BusinessPaletteFactory.InputComment=Cr
BusinessPaletteFactory.Data=Données
BusinessPaletteFactory.Ellipse=Ellipse
BusinessPaletteFactory.Input=Lecture
BusinessPaletteFactory.List=Liste
BusinessPaletteFactory.List=liste
BusinessPaletteFactory.Relationshop=Relation
BusinessAbstractParser.ValueOfBooleanIsExpected=Une valeur de type Boolean est attendue
BusinessPaletteFactory.decision=Décision

View File

@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.talend.designer.business.diagram; singleton:=true
Bundle-Version: 2.2.0.qualifier
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.talend.designer.business.model.business.diagram.part.BusinessDiagramEditorPlugin
Bundle-Vendor: %providerName
@@ -19,6 +19,7 @@ Require-Bundle: org.eclipse.ui.ide,
org.eclipse.gmf.runtime.diagram.ui.properties,
org.apache.commons.collections,
org.talend.core,
org.talend.core.ui,
org.talend.core.repository,
org.talend.repository,
org.talend.model,
@@ -31,5 +32,6 @@ Require-Bundle: org.eclipse.ui.ide,
org.apache.batik.ext.awt,
org.talend.metadata.managment,
com.ibm.icu,
org.talend.libraries.apache
org.talend.libraries.apache,
org.talend.repository.items.importexport
Eclipse-LazyStart: true

View File

@@ -1,3 +1,3 @@
pluginName=Business Plugin
pluginName=Business Diagram Plug-in
providerName=.Talend SA.
repository.businessProcess=Business Models

View File

@@ -590,5 +590,20 @@
type="BUSINESS_PROCESS">
</repositoryNode>
</extension>
<extension
point="org.talend.repository.items.importexport.handler">
<importItemsProvider
id="org.talend.designer.business.diagram.importProvider"
name="Business Diagram importer"
priority="NORMAL">
<importItemsHandler
class="org.talend.designer.business.diagram.views.handler.BusinessDiagramImportHandler">
<parameter
name="type"
value="BUSINESS_PROCESS">
</parameter>
</importItemsHandler>
</importItemsProvider>
</extension>
</plugin>

View File

@@ -86,7 +86,8 @@ public class CreateDiagramAction extends AContextualAction implements IIntroActi
if (nodeType == ERepositoryObjectType.BUSINESS_PROCESS) {
enabled = true;
}
if (repositoryNode.getObject() != null && repositoryNode.getObject().isDeleted()) {
if (repositoryNode.getObject() != null
&& repositoryNode.getObject().getProperty().getItem().getState().isDeleted()) {
enabled = false;
}
}

View File

@@ -0,0 +1,43 @@
// ============================================================================
//
// Copyright (C) 2006-2013 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.business.diagram.views.handler;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.talend.commons.emf.TalendXMIResource;
import org.talend.repository.items.importexport.handlers.imports.ImportRepTypeHandler;
/**
* DOC ggu class global comment. Detailled comment
*/
public class BusinessDiagramImportHandler extends ImportRepTypeHandler {
/**
* DOC ggu BusinessDiagramImportHandler constructor comment.
*/
public BusinessDiagramImportHandler() {
super();
}
/*
* (non-Javadoc)
*
* @see
* org.talend.repository.items.importexport.handlers.imports.ImportRepTypeHandler#createItemResource(org.eclipse
* .emf.common.util.URI)
*/
@Override
protected Resource createItemResource(URI pathUri) {
return new TalendXMIResource(pathUri);
}
}

View File

@@ -49,7 +49,6 @@ import org.talend.core.model.properties.ItemState;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.RepositoryManager;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.ui.ILastVersionChecker;
import org.talend.designer.business.diagram.custom.actions.DiagramResourceManager;
@@ -209,7 +208,6 @@ public class BusinessDiagramEditor extends FileDiagramEditor implements IGotoMar
}
propertyIsDirty = false;
firePropertyChange(IEditorPart.PROP_DIRTY);
RepositoryManager.refreshSavedNode(repositoryEditorInput.getRepositoryNode());
}
}

View File

@@ -21,6 +21,8 @@ CodeGeneratorEmittersPoolFactory.componentCompiled=Komponenten kompiliert in {0}
CodeGeneratorEmittersPoolFactory.failCompail=Kompilierung der Komponenten fehlgeschlafen : \r\n
CodeGeneratorEmittersPoolFactory.initialException=Ausnahme bei der Initialisierung
CodeGeneratorEmittersPoolFactory.jetEmitterInitialException=Fehler bei der JetEmitter Initialisierung
CodeGeneratorService.invalidLanguage1=Ungültiger Sprachtyp
CodeGeneratorService.invalidLanguage2=Ungültiger Sprachtyp
CodeGenInit.createProject=Erstelle {0} Projekt
CodeGenInit.deleteProject=Lösche {0} Projekt
CodeGenInit.initTemplate=Initialisiere Templates

View File

@@ -132,3 +132,4 @@ FAMILY.Vertica=Vertica
FAMILY.VtigerCRM=VtigerCRM
FAMILY.XML=XML
CodeGeneratorEmittersPoolFactory.updatePaletteForEditors=Update the palette for editors
ComponentsPreferencePage.componentAssist=Enable Component Creation Assistant

View File

@@ -43,7 +43,7 @@ CodeGeneratorEmittersPoolFactory.dialogContent=La g
CodeGeneratorEmittersPoolFactory.operationCanceled=Opération annulée
ComponentsFactory.afterSystemComponent=après le(s) composant(s) système
ComponentsFactory.componentNotFound=Impossible de trouver le dossier du composant :
ComponentsFactory.load.components=Charger des composants...
ComponentsFactory.load.components=Chargement des composants...
ComponentsFactory.parentNotRecompiled=Attention\: les parents de *.inc.javajet ne sont pas recompilés.
ComponentsLocalProviderService.componentLoadError=Erreur de chargement du composant
ComponentsLocalProviderService.talendExchangeError=Erreur de Talend Exchange
@@ -60,6 +60,7 @@ ComponenttRunJobPreferencePage.showCorrespondingJob=Afficher le Job correspondan
XsdValidationCacheManager.unableLoadxsd=impossible de charger le fichier de cache de validation xsd
XsdValidationCacheManager.unableSavexsd=impossible d'enregistrer le fichier de cache de validation xsd
prefs.configuration.LINK_STYLE.AUTO=Auto
prefs.configuration.LINK_STYLE.BEZIER_CURVE=Courbes
prefs.configuration.LINK_STYLE.LINE=Lignes (rapide)
FAMILY.AS400=AS400
FAMILY.Access=Access
@@ -111,7 +112,7 @@ FAMILY.OLAP_Cube=Cube OLAP
FAMILY.Oracle=Oracle
FAMILY.Orchestration=Orchestration
FAMILY.Output=Ecriture
FAMILY.ParAccel=ParAccel
FAMILY.ParAccel=Paraccel
FAMILY.PostgreSQL=PostgreSQL
FAMILY.PostgresPlus=PostgresPlus
FAMILY.Processing=Transformation

View File

@@ -65,24 +65,24 @@ prefs.configuration.LINK_STYLE.LINE=\u76F4\u7DDA(\u6700\u901F)
FAMILY.AS400=AS400
FAMILY.Access=Access
FAMILY.Alfresco=Alfresco
FAMILY.Business=Business
FAMILY.Business_Intelligence=Business Intelligence
FAMILY.Business=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3
FAMILY.Business_Intelligence=\u30D3\u30B8\u30CD\u30B9\u30A4\u30F3\u30C6\u30EA\u30B8\u30A7\u30F3\u30B9
FAMILY.CentricCRM=CentricCRM
FAMILY.Charts=Charts
FAMILY.Connections=Connections
FAMILY.Custom_Code=Custom Code
FAMILY.Connections=\u63A5\u7D9A
FAMILY.Custom_Code=\u30AB\u30B9\u30BF\u30E0\u30B3\u30FC\u30C9
FAMILY.DB2=DB2
FAMILY.DB_Generic=DB Generic
FAMILY.DB_JDBC=DB JDBC
FAMILY.DB_Generic=\u6C4E\u7528ODBC
FAMILY.DB_JDBC=\u6C4E\u7528JDBC
FAMILY.DB_SCD=DB SCD
FAMILY.Data_Quality=Data Quality
FAMILY.Databases=Databases
FAMILY.Data_Quality=\u30C7\u30FC\u30BF\u30AF\u30AA\u30EA\u30C6\u30A3
FAMILY.Databases=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9
FAMILY.ELT=ELT
FAMILY.ESB=ESB
FAMILY.EXASolution=EXASolution
FAMILY.eXist=eXist
FAMILY.FTP=FTP
FAMILY.Fields=Fields
FAMILY.Fields=\u9805\u76EE\u5024\u5909\u63DB
FAMILY.File=\u30D5\u30A1\u30A4\u30EB
FAMILY.FireBird=Firebird
FAMILY.Greenplum=Greenplum
@@ -91,30 +91,31 @@ FAMILY.Healthcare=Healthcare
FAMILY.Hive=Hive
FAMILY.Informix=Informix
FAMILY.Ingres=Ingres
FAMILY.Input=Input
FAMILY.Input=\u30D5\u30A1\u30A4\u30EB\u5165\u529B
FAMILY.Interbase=Interbase
FAMILY.Internet=Internet
FAMILY.Jasper=Jasper
FAMILY.JavaDB=JavaDB
FAMILY.JDBC=JDBC
FAMILY.JDBC=\u6C4E\u7528JDBC
FAMILY.LDAP=LDAP
FAMILY.Logs_Errors=Logs & Errors
FAMILY.Logs_Errors=\u30ED\u30B0\uFF06\u30A8\u30E9\u30FC\u30CF\u30F3\u30C9\u30EA\u30F3\u30B0
FAMILY.MS_SQL_Server=MS SQL Server
FAMILY.MSSql=MSSql
FAMILY.Management=Management
FAMILY.Management=\u30D5\u30A1\u30A4\u30EB\u64CD\u4F5C
FAMILY.MaxDB=MaxDB
FAMILY.Microsoft_AX=Microsoft AX
FAMILY.Microsoft_CRM=Microsoft CRM
FAMILY.Misc=Misc
FAMILY.Misc=\u305D\u306E\u4ED6
FAMILY.MySQL=MySQL
FAMILY.Netezza=Netezza
FAMILY.OLAP_Cube=OLAP Cube
FAMILY.OLAP_Cube=OLAP\u30AD\u30E5\u30FC\u30D6
FAMILY.Oracle=Oracle
FAMILY.Orchestration=Orchestration
FAMILY.Orchestration=\u30D7\u30ED\u30BB\u30B9\u5236\u5FA1
FAMILY.Output=\u30D5\u30A1\u30A4\u30EB\u51FA\u529B
FAMILY.ParAccel=ParAccel
FAMILY.PostgreSQL=PostgreSQL
FAMILY.PostgresPlus=PostgresPlus
FAMILY.Processing=Processing
FAMILY.Processing=\u5909\u63DB\u51E6\u7406
FAMILY.SAP=SAP
FAMILY.Sas=Sas
FAMILY.SCD=SCD

View File

@@ -3,6 +3,6 @@ Bundle-ManifestVersion: 2
Bundle-Name: Test
Bundle-SymbolicName: org.talend.designer.codegen.test
Bundle-Version: 1.0.0.qualifier
Fragment-Host: org.talend.designer.codegen;bundle-version="2.2.0"
Fragment-Host: org.talend.designer.codegen
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit4

View File

@@ -1,19 +1,21 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Codegen Plug-in
Bundle-Name: CodeGen Plug-in
Bundle-SymbolicName: org.talend.designer.codegen;singleton:=true
Bundle-Version: 2.2.0.qualifier
Bundle-Version: 1.0.0.qualifier
Bundle-Localization: plugin
Require-Bundle: org.talend.core.repository,
org.eclipse.emf.codegen,
org.eclipse.jdt.core,
org.talend.repository,
org.talend.commons.ui,
org.eclipse.emf.ecore.xmi,
org.talend.model,
org.talend.metadata.managment,
org.talend.designer.core,
org.apache.xerces,
org.talend.core,
org.talend.core.ui,
org.eclipse.ui.workbench,
org.apache.log4j
Eclipse-LazyStart: true

View File

@@ -2,6 +2,7 @@
<?eclipse version="3.2"?>
<plugin>
<extension-point id="additional_jetfile" name="Additional Jet File to generate" schema="schema/additional_jetfile.exsd"/>
<extension-point id="componentFilter" name="Component filter" schema="schema/componentFilter.exsd"/>
<extension
point="org.eclipse.ui.commands">
<command
@@ -50,13 +51,13 @@
<page
category="org.talend.core.prefs"
class="org.talend.designer.codegen.components.ui.ComponentsPreferencePage"
id="org.talend.designer.codegen.components.localprovider.page1"
id="org.talend.designer.codegen.components.preference"
name="%components">
</page>
<page
category="org.talend.designer.codegen.components.localprovider.page1"
class="org.talend.designer.components.preference.labelformat.ComponentsFormatPreferencePage"
id="org.talend.designer.codegen.components.localprovider.page2"
category="org.talend.designer.codegen.components.preference"
class="org.talend.designer.components.preference.ComponentsFormatPreferencePage"
id="org.talend.designer.codegen.components.preference.format"
name="%format">
</page>
</extension>

View File

@@ -72,25 +72,47 @@
camelContext.setRegistry(contextRegister);
<%
boolean isStudioEEVersion = org.talend.core.PluginChecker.isTIS();
List<? extends INode> cxfNodes = process.getNodesOfType("cCXF");
if( null != cxfNodes && cxfNodes.size() >0 ){
boolean hasCXFConsumer = false;
boolean hasCXFSAMLProvider = false;
for(INode n: cxfNodes){
int incomingConnections = n.getIncomingConnections().size();
if(incomingConnections > 0){
hasCXFConsumer = true;
break;
}else{
String dataformat = ElementParameterParser.getValue(n, "__DATAFORMAT__");
String useServiceRegistry = ElementParameterParser.getValue(n, "__ENABLE_REGISTRY__");
if(!isStudioEEVersion || "RAW".equals(dataformat) || "CXF_MESSAGE".equals(dataformat)){
useServiceRegistry = "false";
}
String useSecurity = ElementParameterParser.getValue(n, "__ENABLE_SECURITY__");
if("true".equals(useServiceRegistry) || "RAW".equals(dataformat) || "CXF_MESSAGE".equals(dataformat)){
useSecurity = "false";
}
if("true".equals(useServiceRegistry) || ("true".equals(useSecurity) && "SAML".equals(ElementParameterParser.getValue(n, "__SECURITY_TYPE__")))){
hasCXFSAMLProvider = true;
}
if(hasCXFConsumer && hasCXFSAMLProvider){
break;
}
}
}
if(hasCXFConsumer){
%>
contextRegister.register("CXF_PAYLOAD_HEADER_FILTER", new CxfConsumerSoapHeaderFilter());
contextRegister.register("CXF_PAYLOAD_HEADER_FILTER", consumerSoapHeaderFilter);
<%
}
}
if(hasCXFSAMLProvider){
%>
<%
contextRegister.register("DEFAULT_CXF_BINDING", new CXFProviderBinding());
<% }
}
//then process cBeanRegister components
List<? extends INode> beanRegisterNodes = process.getNodesOfType("cBeanRegister");
if(beanRegisterNodes != null && beanRegisterNodes.size()>0){

View File

@@ -49,7 +49,7 @@
return String.valueOf(obj);
}
}
<%
List<? extends INode> cMailNodes = process.getNodesOfType("cMail");
if(cMailNodes.size() > 0){
@@ -101,19 +101,29 @@
boolean hasCXFComponent = false;
boolean hasCXFSamlTokenProvider = false;
boolean hasCXFSamlTokenConsumer = false;
boolean hasCXFSamlTokenAuthorizationConsumer = false;
boolean hasCXFUsernameTokenProvider = false;
boolean hasCXFUsernameTokenConsumer = false;
boolean hasCXFHTTPAuthConsumer = false;
boolean hasCXFHTTPAuthProvider = false;
boolean hasCXFComponentConsumer = false;
boolean hasCXFComponentConsumerWithCXFMESSAGE = false;
boolean hasCXFRegistryProvider = false;
boolean hasCXFRegistryConsumer = false;
boolean hasCXFCorrelationConsumer = false;
boolean hasCXFSAMLPropagateConsumer = false;
boolean isStudioEEVersion = org.talend.core.PluginChecker.isTIS();
List<? extends INode> cxfNodes = process.getNodesOfType("cCXF");
if( null != cxfNodes && cxfNodes.size() >0 ){
hasCXFComponent = true;
for(INode n: cxfNodes){
String useRegistry = "false";
if(isStudioEEVersion){
useRegistry = ElementParameterParser.getValue(n, "__ENABLE_REGISTRY__");
}
String useSecurity = ElementParameterParser.getValue(n, "__ENABLE_SECURITY__");
String formatType = ElementParameterParser.getValue(n, "__DATAFORMAT__");
if("RAW".equals(formatType) || "CXF_MESSAGE".equals(formatType)){
useRegistry = "false";
useSecurity = "false";
}
String securityType = ElementParameterParser.getValue(n, "__SECURITY_TYPE__");
@@ -121,15 +131,44 @@
if(!hasCXFComponentConsumer && incomingConnections>0){
hasCXFComponentConsumer = true;
}
if(!hasCXFComponentConsumerWithCXFMESSAGE && incomingConnections>0 && "CXF_MESSAGE".equals(formatType)){
hasCXFComponentConsumerWithCXFMESSAGE = true;
String useCorrelation = ElementParameterParser.getValue(n, "__ENABLE_CORRELATION__");
if("RAW".equals(formatType)){
useCorrelation = "false";
}
if("false".equals(useCorrelation)){
useCorrelation = useRegistry;
}
if("true".equals(useCorrelation) && incomingConnections>0 ){
hasCXFCorrelationConsumer = true;
}
if("true".equals(useRegistry)){
useSecurity = "false";
if(incomingConnections == 0){
hasCXFRegistryProvider = true;
}else{
hasCXFRegistryConsumer = true;
if(!hasCXFSAMLPropagateConsumer && Boolean.parseBoolean(ElementParameterParser.getValue(n, "__USE_PROPAGATE_CREDENTIAL__"))){
hasCXFSAMLPropagateConsumer = true;
}
}
}
if("true".equals(useSecurity)){
if("SAML".equals(securityType) && (!hasCXFSamlTokenProvider || !hasCXFSamlTokenConsumer)){
if("SAML".equals(securityType) && (!hasCXFSamlTokenProvider || !hasCXFSamlTokenConsumer || !hasCXFSAMLPropagateConsumer)){
if(incomingConnections == 0){
hasCXFSamlTokenProvider = true;
}else{
hasCXFSamlTokenConsumer = true;
if(!hasCXFSamlTokenAuthorizationConsumer && isStudioEEVersion){
if("true".equals(ElementParameterParser.getValue(n, "__USE_AUTHORIZATION__"))){
hasCXFSamlTokenAuthorizationConsumer = true;
}
}
if(!hasCXFSAMLPropagateConsumer){
String samlSecurityType = ElementParameterParser.getValue(n, "__SAML_SECURITY_TYPES__");
if("PROPAGATE_UP".equals(samlSecurityType) || "PROPAGATE_AP".equals(samlSecurityType)){
hasCXFSAMLPropagateConsumer = true;
}
}
}
}else if("USER".equals(securityType) && (!hasCXFUsernameTokenProvider || !hasCXFUsernameTokenConsumer)){
if(incomingConnections == 0){
@@ -148,17 +187,74 @@
}
}
if(hasCXFSAMLPropagateConsumer){
%>
class CXFConsumerBinding extends org.apache.camel.component.cxf.DefaultCxfBinding {
private org.apache.camel.component.cxf.CxfEndpoint endpoint;
public CXFConsumerBinding(org.apache.camel.component.cxf.CxfEndpoint endpoint){
this.endpoint = endpoint;
setHeaderFilterStrategy(consumerSoapHeaderFilter);
}
@Override
protected void propagateHeadersFromCamelToCxf(org.apache.camel.Exchange camelExchange,
Map<String, Object> camelHeaders, org.apache.cxf.message.Exchange cxfExchange,
Map<String, Object> cxfContext) {
super.propagateHeadersFromCamelToCxf(camelExchange, camelHeaders, cxfExchange, cxfContext);
Object samlToken = camelHeaders.get("samlToken");
if(samlToken == null){
return;
}
Map<String, Object> properties = endpoint.getProperties();
if(properties == null){
return;
}
Object object = properties.get(org.apache.cxf.ws.security.SecurityConstants.STS_CLIENT);
if(object == null || !(object instanceof org.apache.cxf.ws.security.trust.STSClient)){
return;
}
org.apache.cxf.ws.security.trust.STSClient stsClient = (org.apache.cxf.ws.security.trust.STSClient) object;
stsClient.setOnBehalfOf(samlToken);
}
}
<% }
if(hasCXFRegistryProvider || hasCXFSamlTokenProvider){
%>
class CXFProviderBinding extends org.apache.camel.component.cxf.DefaultCxfBinding{
@Override
protected void propagateHeadersFromCxfToCamel( org.apache.cxf.message.Message cxfMessage,
org.apache.camel.Message camelMessage, org.apache.camel.Exchange camelExchange) {
super.propagateHeadersFromCxfToCamel(cxfMessage, camelMessage, camelExchange);
camelExchange.getIn().removeHeader("samlToken");
org.apache.cxf.security.SecurityContext securityContext = cxfMessage.get(org.apache.cxf.security.SecurityContext.class);
if(securityContext != null && securityContext instanceof org.apache.cxf.interceptor.security.SAMLSecurityContext){
org.apache.cxf.interceptor.security.SAMLSecurityContext ssc = (org.apache.cxf.interceptor.security.SAMLSecurityContext) securityContext;
org.w3c.dom.Element assertionElement = ssc.getAssertionElement();
if(assertionElement != null){
camelExchange.getIn().setHeader("samlToken", assertionElement);
}
}
}
}
<%
}
if(hasCXFComponent){
%>
private org.apache.camel.component.cxf.CxfEndpoint getCxfEndpoint(String uri, boolean isProvider, String... token){
private org.apache.camel.component.cxf.CxfEndpoint getCxfEndpoint(String uri, boolean isProvider, boolean useAuthorization, boolean usePropagateSamlAP, String... token){
org.apache.camel.component.cxf.CxfEndpoint cxfEndpoint = (org.apache.camel.component.cxf.CxfEndpoint)endpoint(uri);
<%if(hasCXFUsernameTokenProvider || hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer || hasCXFHTTPAuthProvider || hasCXFRegistryProvider || hasCXFRegistryConsumer){%>
if( null != bundleContext ){
org.apache.cxf.Bus bus = cxfEndpoint.getBus();
org.apache.cxf.configuration.ConfiguredBeanLocator cbl = bus==null?null:bus.getExtension(org.apache.cxf.configuration.ConfiguredBeanLocator.class);
if(cbl != null){
bus.setExtension(new org.apache.cxf.bus.osgi.OSGiBeanLocator(cbl, bundleContext), org.apache.cxf.configuration.ConfiguredBeanLocator.class);
}
<%if(hasCXFUsernameTokenProvider || hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer || hasCXFRegistryProvider || hasCXFRegistryConsumer){%>
org.apache.cxf.Bus bus = cxfEndpoint.getBus();
<%
}
if(hasCXFUsernameTokenProvider){
%>
if(isProvider&&token!=null&&"UsernameToken".equals(token[0])){
@@ -179,11 +275,18 @@
%>
if(token!=null&&"SAMLToken".equals(token[0])){
addSAMLToken(cxfEndpoint, bus, isProvider, token);
addSAMLToken(cxfEndpoint, bus, isProvider, useAuthorization, usePropagateSamlAP, token);
}
<% }
if(hasCXFRegistryProvider || hasCXFRegistryConsumer){
%>
if(token!=null&&"Registry".equals(token[0])){
addRegistry(cxfEndpoint, bus, isProvider, usePropagateSamlAP, token);
}
<%}%>
}
<%
}
if(hasCXFUsernameTokenConsumer){
%>
if(!isProvider&&token!=null&&token.length>=3&&"UsernameToken".equals(token[0])){
@@ -294,7 +397,7 @@ if(hasCXFUsernameTokenConsumer){
<%
}
}
if(hasCXFSamlTokenConsumer){
if(hasCXFSamlTokenConsumer || hasCXFRegistryConsumer){
%>
private Map<String, String> clientProperties;
@@ -340,12 +443,18 @@ class WSPasswordCallbackHandler implements javax.security.auth.callback.Callback
if(hasCXFComponentConsumer){
%>
class CxfConsumerSoapHeaderFilter extends org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy{
org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy consumerSoapHeaderFilter = new org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy(){
public boolean applyFilterToCamelHeaders(String headerName,
Object headerValue, org.apache.camel.Exchange exchange) {
//filter propagated cxf header
if(org.apache.cxf.headers.Header.HEADER_LIST.equals(headerName)){
return true;
}
//remove correlationID header, if it's null or empty
if("CorrelationID".equals(headerName)
&& (headerValue == null || "".equals(headerValue.toString()))){
return true;
}
return super.applyFilterToCamelHeaders(headerName, headerValue, exchange);
}
@@ -356,21 +465,139 @@ class CxfConsumerSoapHeaderFilter extends org.apache.camel.component.cxf.common.
}
return super.applyFilterToExternalHeaders(headerName, headerValue, exchange);
}
}
};
<%
}
if(hasCXFSamlTokenProvider){
if(hasCXFRegistryProvider || hasCXFRegistryConsumer){
%>
private void addRegistry(org.apache.camel.component.cxf.CxfEndpoint cxfEndpoint, org.apache.cxf.Bus bus,
boolean isProvider, boolean usePropagateSamlAP, final String... token) {
<%if(hasCXFRegistryConsumer){
%>
private Map<String, String> samlProps;
public void setSamlProps(Map<String, String> samlProps){
this.samlProps = samlProps;
if(!isProvider){
if(usePropagateSamlAP && (token[4] == null)){
usePropagateSamlAP = false ;
}
org.apache.cxf.ws.security.trust.STSClient stsClient = new org.apache.cxf.ws.security.trust.STSClient(
bus);
stsClient.setServiceQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.service.name")));
Map<String, Object> stsProps = new HashMap<String, Object>();
for (Map.Entry<String, String> entry : stsProperties.entrySet()) {
if (org.apache.cxf.ws.security.SecurityConstants.ALL_PROPERTIES
.contains(entry.getKey())) {
stsProps.put(entry.getKey(), entry.getValue());
}
}
if(usePropagateSamlAP) {
stsClient.setWsdlLocation(stsProperties.get("sts.x509.wsdl.location"));
stsClient.setEndpointQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.x509.endpoint.name")));
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.STS_TOKEN_USERNAME,
token[4]);
}else {
stsClient.setWsdlLocation(stsProperties.get("sts.wsdl.location"));
stsClient.setEndpointQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.endpoint.name")));
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.USERNAME,
token[1]);
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.PASSWORD,
token[2]);
}
stsClient.setProperties(stsProps);
if (token[3]/*Role*/ != null && !("".equals(token[3]))) {
ClaimValueCallbackHandler roleCallbackHandler = new ClaimValueCallbackHandler();
roleCallbackHandler.setClaimValue(token[3]);
stsClient.setClaimsCallbackHandler(roleCallbackHandler);
}
Map<String, Object> clientProps = new HashMap<String, Object>();
clientProps.put(org.apache.cxf.ws.security.SecurityConstants.USERNAME,
token[1]);
clientProps.put(org.apache.cxf.ws.security.SecurityConstants.PASSWORD,
token[2]);
clientProps.put(
org.apache.cxf.ws.security.SecurityConstants.STS_CLIENT,
stsClient);
for (Map.Entry<String, String> entry : clientProperties.entrySet()) {
if (org.apache.cxf.ws.security.SecurityConstants.ALL_PROPERTIES
.contains(entry.getKey())) {
clientProps.put(entry.getKey(), entry.getValue());
}
}
if(usePropagateSamlAP) {
clientProps.put(org.apache.cxf.ws.security.SecurityConstants.SIGNATURE_USERNAME, token[4]);
clientProps
.put(org.apache.cxf.ws.security.SecurityConstants.CALLBACK_HANDLER,
new WSPasswordCallbackHandler(token[4], token[2]));
}else {
clientProps
.put(org.apache.cxf.ws.security.SecurityConstants.CALLBACK_HANDLER,
new WSPasswordCallbackHandler(
clientProperties
.get(org.apache.cxf.ws.security.SecurityConstants.SIGNATURE_USERNAME),
clientProperties
.get("ws-security.signature.password")));
}
clientProps.put("soap.no.validate.parts", Boolean.TRUE);
clientProps.put("use.service.registry", "true");
// set the cxfEndpoint Properties
cxfEndpoint.setProperties(clientProps);
}
<%
}
if(hasCXFRegistryProvider){
%>
if (isProvider) {
String userName = (String) securityProps.get("ws-security.signature.username");
String password = (String) securityProps.get("ws-security.signature.password");
String properties = (String) securityProps.get("ws-security.signature.properties");
String pdpAddress = (String) securityProps.get("tesb.pdp.address");
org.apache.ws.security.validate.JAASUsernameTokenValidator jaasUTValidator=
new org.apache.ws.security.validate.JAASUsernameTokenValidator();
jaasUTValidator.setContextName("karaf");
// set endpoint properties
org.apache.cxf.interceptor.security.NamePasswordCallbackHandler callbackHandler = new org.apache.cxf.interceptor.security.NamePasswordCallbackHandler(
userName, password, "setPassword");
Map<String, Object> endpointProps = new HashMap<String, Object>();
endpointProps.put("ws-security.signature.username", userName);
endpointProps.put("ws-security.signature.properties", properties);
endpointProps.put("ws-security.callback-handler", callbackHandler);
endpointProps.put("ws-security.ut.validator", jaasUTValidator);
endpointProps.put("tesb.pdp.address", pdpAddress);
endpointProps.put("use.service.registry", "true");
cxfEndpoint.setProperties(endpointProps);
}
<%}%>
}
<%
}
if(hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer){
if(hasCXFSamlTokenProvider || hasCXFRegistryProvider){
%>
private Map<String, String> securityProps;
public void setSecurityProps(Map<String, String> securityProps){
this.securityProps = securityProps;
}
<%
}
if(hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer
||hasCXFRegistryProvider || hasCXFRegistryConsumer){
%>
@@ -402,27 +629,79 @@ public void registerPolicies(org.apache.cxf.Bus bus) {
org.apache.neethi.PolicyRegistry policyRegistry =
bus.getExtension(org.apache.cxf.ws.policy.PolicyEngine.class).getRegistry();
policyRegistry.register("org.talend.esb.job.token.policy",
loadPolicy(policies.get("policy.token"), bus));
loadPolicy(policies.get("policy.username"), bus));
policyRegistry.register("org.talend.esb.job.saml.policy",
loadPolicy(policies.get("policy.saml"), bus));
policyRegistry.register("org.talend.esb.job.saml.authz.policy",
loadPolicy(policies.get("policy.saml.authz"), bus));
}
}
<%if(hasCXFSamlTokenAuthorizationConsumer || hasCXFRegistryConsumer){%>
class ClaimValueCallbackHandler implements javax.security.auth.callback.CallbackHandler {
private String claimValue;
public void handle(javax.security.auth.callback.Callback[] callbacks)
throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException {
for (int i = 0; i < callbacks.length; i++) {
if (callbacks[i] instanceof org.apache.cxf.ws.security.trust.claims.ClaimsCallback) {
org.apache.cxf.ws.security.trust.claims.ClaimsCallback callback = (org.apache.cxf.ws.security.trust.claims.ClaimsCallback) callbacks[i];
callback.setClaims(createClaims());
} else {
throw new javax.security.auth.callback.UnsupportedCallbackException(callbacks[i], "Unrecognized Callback");
}
}
}
/**
* Create a Claims Element for a "role"
*/
private org.w3c.dom.Element createClaims() {
org.w3c.dom.Document doc = org.apache.cxf.helpers.DOMUtils.createDocument();
org.w3c.dom.Element claimsElement =
doc.createElementNS("http://docs.oasis-open.org/ws-sx/ws-trust/200512", "Claims");
claimsElement.setAttributeNS(null, "Dialect", "http://schemas.xmlsoap.org/ws/2005/05/identity");
org.w3c.dom.Element claimValueElement =
doc.createElementNS("http://schemas.xmlsoap.org/ws/2005/05/identity", "ClaimValue");
claimValueElement.setAttributeNS(null, "Uri", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role");
org.w3c.dom.Element value = doc.createElementNS("http://schemas.xmlsoap.org/ws/2005/05/identity", "Value");
value.setTextContent(claimValue);
claimValueElement.appendChild(value);
claimsElement.appendChild(claimValueElement);
return claimsElement;
}
public String getClaimValue() {
return claimValue;
}
public void setClaimValue(String claimValue) {
this.claimValue = claimValue;
}
}
<%}
if(hasCXFSamlTokenConsumer || hasCXFSamlTokenProvider){
%>
private void addSAMLToken(org.apache.camel.component.cxf.CxfEndpoint cxfEndpoint, org.apache.cxf.Bus bus,
boolean isProvider, String... token) {
boolean isProvider, boolean useAuthorization, boolean usePropagateSamlAP, String... token) {
<%
if(hasCXFSamlTokenConsumer){
%>
if (!isProvider) {
org.apache.cxf.ws.security.trust.STSClient stsClient = new org.apache.cxf.ws.security.trust.STSClient(
bus);
stsClient.setWsdlLocation(stsProperties.get("sts.wsdl.location"));
stsClient.setServiceQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.service.name")));
stsClient.setEndpointQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.endpoint.name")));
.get("sts.service.name")));
Map<String, Object> stsProps = new HashMap<String, Object>();
@@ -433,12 +712,31 @@ if(hasCXFSamlTokenConsumer){
}
}
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.USERNAME,
token[1]);
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.PASSWORD,
token[2]);
if(usePropagateSamlAP) {
stsClient.setWsdlLocation(stsProperties.get("sts.x509.wsdl.location"));
stsClient.setEndpointQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.x509.endpoint.name")));
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.STS_TOKEN_USERNAME,
token[4]);
}else {
stsClient.setWsdlLocation(stsProperties.get("sts.wsdl.location"));
stsClient.setEndpointQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.endpoint.name")));
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.USERNAME,
token[1]);
stsProps.put(org.apache.cxf.ws.security.SecurityConstants.PASSWORD,
token[2]);
}
stsClient.setProperties(stsProps);
<%if(hasCXFSamlTokenAuthorizationConsumer){%>
if (token[3] != null && !("".equals(token[3]))) {
ClaimValueCallbackHandler roleCallbackHandler = new ClaimValueCallbackHandler();
roleCallbackHandler.setClaimValue(token[3]);
stsClient.setClaimsCallbackHandler(roleCallbackHandler);
}
<%}%>
Map<String, Object> clientProps = new HashMap<String, Object>();
clientProps.put(
org.apache.cxf.ws.security.SecurityConstants.STS_CLIENT,
@@ -450,19 +748,30 @@ if(hasCXFSamlTokenConsumer){
clientProps.put(entry.getKey(), entry.getValue());
}
}
clientProps
.put(org.apache.cxf.ws.security.SecurityConstants.CALLBACK_HANDLER,
new WSPasswordCallbackHandler(
clientProperties
.get(org.apache.cxf.ws.security.SecurityConstants.SIGNATURE_USERNAME),
clientProperties
.get("ws-security.signature.password")));
if(usePropagateSamlAP) {
clientProps.put(org.apache.cxf.ws.security.SecurityConstants.SIGNATURE_USERNAME, token[4]);
clientProps
.put(org.apache.cxf.ws.security.SecurityConstants.CALLBACK_HANDLER,
new WSPasswordCallbackHandler(token[4], token[2]));
}else {
clientProps
.put(org.apache.cxf.ws.security.SecurityConstants.CALLBACK_HANDLER,
new WSPasswordCallbackHandler(
clientProperties
.get(org.apache.cxf.ws.security.SecurityConstants.SIGNATURE_USERNAME),
clientProperties
.get("ws-security.signature.password")));
}
// set the cxfEndpoint Properties
cxfEndpoint.setProperties(clientProps);
// add policy
org.apache.neethi.PolicyReference policyReference = new org.apache.neethi.PolicyReference();
policyReference.setURI("org.talend.esb.job.saml.policy");
if(useAuthorization){
policyReference.setURI("org.talend.esb.job.saml.authz.policy");
}else{
policyReference.setURI("org.talend.esb.job.saml.policy");
}
org.apache.neethi.Policy policy = new org.apache.neethi.Policy();
policy.addPolicyComponent(policyReference);
@@ -478,17 +787,19 @@ if(hasCXFSamlTokenProvider){
%>
if (isProvider) {
// get saml properties
String userName = (String) samlProps
String userName = (String) securityProps
.get("ws-security.signature.username");
String password = (String) samlProps
String password = (String) securityProps
.get("ws-security.signature.password");
String properties = (String) samlProps
String properties = (String) securityProps
.get("ws-security.signature.properties");
// add in intercept
Map<String, Object> props = new HashMap<String, Object>();
props.put(
org.apache.ws.security.handler.WSHandlerConstants.ACTION,
org.apache.ws.security.handler.WSHandlerConstants.SAML_TOKEN_SIGNED);
org.apache.ws.security.handler.WSHandlerConstants.ENCRYPT+" "
+org.apache.ws.security.handler.WSHandlerConstants.SAML_TOKEN_SIGNED+" "
+org.apache.ws.security.handler.WSHandlerConstants.SIGNATURE);
props.put(
org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE,
properties);
@@ -506,10 +817,20 @@ if (isProvider) {
properties);
endpointProps.put("ws-security.callback-handler",
callbackHandler);
endpointProps.put("use.service.registry",
"false");
if(useAuthorization){
endpointProps.put("tesb.pdp.address", (String)securityProps
.get("tesb.pdp.address"));
}
cxfEndpoint.setProperties(endpointProps);
// add policy
org.apache.neethi.PolicyReference policyReference = new org.apache.neethi.PolicyReference();
policyReference.setURI("org.talend.esb.job.saml.policy");
if(!useAuthorization){
policyReference.setURI("org.talend.esb.job.saml.policy");
}else{
policyReference.setURI("org.talend.esb.job.saml.authz.policy");
}
org.apache.neethi.Policy policy = new org.apache.neethi.Policy();
policy.addPolicyComponent(policyReference);
@@ -520,67 +841,13 @@ if (isProvider) {
registerPolicies(bus);
}
<%
}
}//end if(hasCXFSamlTokenProvider){
%>
}
<%
}
if(hasCXFComponentConsumerWithCXFMESSAGE){
}<%
}//end if(hasCXFSamlTokenConsumer || hasCXFSamlTokenProvider){
}//end if(hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer
//||hasCXFRegistryProvider || hasCXFRegistryConsumer){
%>
/*
* on CXF_MESSAGE case (call a service)
* if the response is fault, then will run into problem
*/
private void addCXFMESSAGEFaultInterceptor(org.apache.camel.component.cxf.CxfEndpoint cxfEndpoint){
cxfEndpoint.getBus().getInFaultInterceptors().add(new org.apache.cxf.interceptor.DocLiteralInInterceptor() {
@Override
public void handleMessage(org.apache.cxf.message.Message message) {
// if has List content, then return
if(message.getContent(java.util.List.class) != null){
return;
}
if (isFaultMessage(message)) {
org.apache.cxf.message.Message inFaultMessage = message
.getExchange().getInFaultMessage();
org.apache.cxf.message.MessageContentsList parameters = new org.apache.cxf.message.MessageContentsList();
if (inFaultMessage != null) {
org.apache.cxf.staxutils.W3CDOMStreamWriter content = inFaultMessage
.get(org.apache.cxf.staxutils.W3CDOMStreamWriter.class);
parameters.add(content);
}
message.setContent(java.util.List.class, parameters);
}
}
private boolean isFaultMessage(org.apache.cxf.message.Message msg) {
if (msg == null
|| !(msg instanceof org.apache.cxf.binding.soap.SoapMessage)) {
return false;
}
org.apache.cxf.binding.soap.SoapMessage message = (org.apache.cxf.binding.soap.SoapMessage) msg;
//if it's not a CXF_MESSAGE, then return false
Object dataFormat = message.getContextualProperty(org.apache.camel.component.cxf.common.message.CxfConstants.DATA_FORMAT_PROPERTY);
if(org.apache.camel.component.cxf.DataFormat.CXF_MESSAGE != dataFormat){
return false;
}
javax.xml.stream.XMLStreamReader xmlReader = message
.getContent(javax.xml.stream.XMLStreamReader.class);
if (xmlReader == null) {
return false;
}
if (message.getVersion().getFault()
.equals(xmlReader.getName())
&& isRequestor(message)) {
return true;
}
return false;
}
});
}
<%}%>
/**
* please initial uri map
*/
@@ -605,48 +872,103 @@ if(hasCXFComponentConsumerWithCXFMESSAGE){
String endpointVar = "endpoint_" + node.getUniqueName();
String uriRef = "uriMap.get(\"" + cid + "\")";
String formatType = ElementParameterParser.getValue(node, "__DATAFORMAT__");
String useSecurity = ElementParameterParser.getValue(node, "__ENABLE_SECURITY__");
if("RAW".equals(formatType) || "CXF_MESSAGE".equals(formatType)){
useSecurity = "false";
boolean useRegistry = false;
boolean useSecurity = false;
if(!"RAW".equals(formatType) && !"CXF_MESSAGE".equals(formatType)){
if(isStudioEEVersion){
useRegistry = "true".equals(ElementParameterParser.getValue(node, "__ENABLE_REGISTRY__"));
}
if(!useRegistry){
useSecurity = "true".equals(ElementParameterParser.getValue(node, "__ENABLE_SECURITY__"));
}
}
String role = ElementParameterParser.getValue(node, "__ROLE_NAME__");
String securityType = ElementParameterParser.getValue(node, "__SECURITY_TYPE__");
String username = ElementParameterParser.getValue(node, "__USERNAME__");
String password = ElementParameterParser.getValue(node, "__PASSWORD__");
String roleName = "\"\"";
String alias = ElementParameterParser.getValue(node, "__ALIASNAME__").trim();
boolean isProvider = node.getIncomingConnections().size()>0?false:true;
boolean isUseAuthorization = false;
String securityToken = "(String[])null";
if("true".equals(useSecurity)){
boolean isUsePropagateSamlUP = false;
boolean isUsePropagateSamlAP = false;
if(useRegistry){
securityToken = "\"Registry\"";
String usePropagate = ElementParameterParser.getValue(node, "__USE_PROPAGATE_CREDENTIAL__");
if("true".equals(usePropagate)){
if(alias == null || alias.matches("\"?\\s*\"?")) {
//no alias.
isUsePropagateSamlUP = true;
}else {
isUsePropagateSamlUP = false;
}
isUsePropagateSamlAP = !isUsePropagateSamlUP;
}
}else if(useSecurity){
if("USER".equals(securityType)){
securityToken = "\"UsernameToken\"";
}else if("SAML".equals(securityType)){
securityToken = "\"SAMLToken\"";
String samlSecurityType = ElementParameterParser.getValue(node, "__SAML_SECURITY_TYPES__");
if("PROPAGATE_UP".equals(samlSecurityType)) {
isUsePropagateSamlUP = true;
}else if ("PROPAGATE_AP".equals(samlSecurityType)) {
isUsePropagateSamlAP = true;
username = "null";
}
if(isStudioEEVersion){
isUseAuthorization = "true".equals(ElementParameterParser.getValue(node, "__USE_AUTHORIZATION__"));
}
}else if("BASIC".equals(securityType)){
securityToken = "org.apache.cxf.transport.http.auth.HttpAuthHeader.AUTH_TYPE_BASIC";
}else if("DIGEST".equals(securityType)){
securityToken = "org.apache.cxf.transport.http.auth.HttpAuthHeader.AUTH_TYPE_DIGEST";
}
}else{
isProvider = false;
}
if(!isProvider && (useRegistry || isUseAuthorization)) {
roleName = ElementParameterParser.getValue(node, "__ROLE_NAME__");
if(null == roleName || "".equals(roleName)){
roleName = "\"\"";
}
}
%>
// CXF endpoint for <%=cid%>
org.apache.camel.component.cxf.CxfEndpoint <%=endpointVar%> = getCxfEndpoint(<%=uriRef%>, <%=isProvider%>, <%=securityToken%>
org.apache.camel.component.cxf.CxfEndpoint <%=endpointVar%> = getCxfEndpoint(<%=uriRef%>, <%=isProvider%>, <%=isUseAuthorization%>, <%=isUsePropagateSamlAP%>, <%=securityToken%>
<%
if("true".equals(useSecurity) && !isProvider){
if((useSecurity || useRegistry) && !isProvider){
%>
,<%=username%>,<%=password%>
,<%=username%>,<%=password%>, <%=roleName%>, <%=alias%>
<%
}
%>
);
<%
if("CXF_MESSAGE".equals(formatType) && node.getIncomingConnections().size() > 0){
if((isUsePropagateSamlUP || isUsePropagateSamlAP) && !isProvider){
%>
addCXFMESSAGEFaultInterceptor(<%=endpointVar%>);
<% }
<%=endpointVar%>.setCxfBinding(new CXFConsumerBinding(<%=endpointVar%>));
<%
}
String useSL = ElementParameterParser.getValue(node, "__ENABLE_SL__");
String useSAM = ElementParameterParser.getValue(node, "__ENABLE_SAM__");
if ("true".equals(useSL)) {
String useCorrelation = ElementParameterParser.getValue(node, "__ENABLE_CORRELATION__");
if("RAW".equals(formatType)){
useCorrelation = "false";
}
String correlationValue = ElementParameterParser.getValue(node, "__CORRELATION_VALUE__");
if(correlationValue != null && "".equals(correlationValue.trim())){
correlationValue = null;
}
if ("true".equals(useCorrelation) && !useRegistry) {
%>
<%=endpointVar%>.getFeatures().add(new org.talend.esb.policy.correlation.feature.CorrelationIDFeature());
<% }
if ("true".equals(useSL) && (isProvider || !useRegistry)) {
List<Map<String, String>> customProperties = (List<Map<String,String>>) ElementParameterParser.getObjectValue(node, "__SL_META_DATA__");
%>
// Add Service Locator Service to <%=endpointVar%>
@@ -681,11 +1003,13 @@ if(hasCXFComponentConsumerWithCXFMESSAGE){
<%
}
//http://jira.talendforge.org/browse/TESB-3850
if ("true".equals(useSAM) && !"RAW".equals(formatType)) {
// !"true".equals(useRegistry) - https://jira.talendforge.org/browse/TESB-10725
if ("true".equals(useSAM) && !"RAW".equals(formatType) && !useRegistry) {
%>
// Add Service Activity Monitor Service to <%=endpointVar%>
if (eventFeature != null) {
((org.apache.camel.component.cxf.CxfEndpoint)<%=endpointVar%>).getFeatures().add(eventFeature);
((org.apache.camel.component.cxf.CxfEndpoint)<%=endpointVar%>).getFeatures().add(new FeatureWrapper(eventFeature));
}
<%
}

View File

@@ -16,7 +16,6 @@
org.talend.core.model.metadata.types.JavaType
java.util.Map
java.util.List
java.util.ArrayList
java.util.Set
java.util.HashSet
"
@@ -38,44 +37,23 @@ boolean isRunInMultiThread = codeGenArgument.getIsRunInMultiThread();
Set<IConnection> connSet = new HashSet<IConnection>();
connSet.addAll(node.getIncomingConnections(EConnectionType.FLOW_MAIN));
connSet.addAll(node.getOutgoingConnections(EConnectionType.FLOW_MERGE));
connSet.addAll(node.getIncomingConnections(EConnectionType.FLOW_MERGE));
Set<IConnection> iterateConnSet = new HashSet<IConnection>();
iterateConnSet.addAll(node.getOutgoingConnections(EConnectionType.ITERATE));
List<IConnection> allSubProcessConnection = codeGenArgument.getAllMainSubTreeConnections();
if((codePart.equals(ECodePart.END))&&(stat)){
boolean iterateInVFComp = (node.getVirtualLinkTo() != null && node.getVirtualLinkTo() == EConnectionType.ITERATE);
if(iterateInVFComp){
List<String> needToEndConnNames = new ArrayList<String>();
INode nextNode = node.getOutgoingConnections(EConnectionType.ITERATE).get(0).getTarget();
NodeUtil.fillConnectionsForStat(needToEndConnNames, nextNode);
%>
if(execStat){
<%
for(String connName : needToEndConnNames){
%>
runStat.updateStatOnConnection("<%=connName%>"+iterateId,2, 0);
<%
}
%>
}
<%
}
if(connSet.size()>0){
for(IConnection con:connSet){
%>
if(execStat){
if(resourceMap.get("inIterateVComp") == null || !((Boolean)resourceMap.get("inIterateVComp"))){
runStat.updateStatOnConnection("<%=con.getUniqueName()%>"+iterateId,2, 0);
}
}
<%
}
}
}
if((codePart.equals(ECodePart.END))&&(stat)&&connSet.size()>0){
for(IConnection con:connSet){
%>
if(execStat){
runStat.updateStatOnConnection("<%=con.getUniqueName()%>"
+iterateId,2, 0);
}
<%
}
}%>
<%
@@ -333,9 +311,6 @@ end_Hash.put("<%=node.getUniqueName() %>", System.currentTimeMillis());
if (!status.equals("failure")) {
status = errorThread_<%=iterateTargetNodeName %>.status;
}
if(errorThread_<%=iterateTargetNodeName %>.exception!=null){
throw errorThread_<%=iterateTargetNodeName %>.exception;
}
}else{
Integer threadErrorCode = mtp_<%=iterateTargetNodeName %>.getTalendThreadResult().getErrorCode();
String threadStatus = mtp_<%=iterateTargetNodeName %>.getTalendThreadResult().getStatus();
@@ -363,9 +338,6 @@ end_Hash.put("<%=node.getUniqueName() %>", System.currentTimeMillis());
if (!localStatus.equals("failure")) {
((java.util.Map) threadLocal.get()).put("status", errorThread_<%=iterateTargetNodeName %>.status);
}
if(errorThread_<%=iterateTargetNodeName %>.exception!=null){
throw errorThread_<%=iterateTargetNodeName %>.exception;
}
}else{
Integer threadErrorCode = mtp_<%=iterateTargetNodeName %>.getTalendThreadResult().getErrorCode();
String threadStatus = mtp_<%=iterateTargetNodeName %>.getTalendThreadResult().getStatus();

View File

@@ -11,8 +11,7 @@
org.talend.core.model.utils.NodeUtil
org.talend.core.model.process.IConnectionCategory
java.util.List
java.util.ArrayList
java.util.Set
java.util.Set
java.util.HashSet
java.util.Iterator
"
@@ -35,12 +34,12 @@
List<IConnection> allSubProcessConnection = codeGenArgument.getAllMainSubTreeConnections();
%>
/**
* [<%=node.getUniqueName() %> <%=codePart %> ] start
*/
<%
/**
* [<%=node.getUniqueName() %> <%=codePart %> ] start
*/
<%
//This part in order to feedback with the iterate_subprocess_header.javajet and iterate_subprocess_footer.javajet
if (codePart.equals(ECodePart.BEGIN)) {
@@ -49,195 +48,146 @@
for (IConnection iterateConn : iterateConnSet) {
parallelIterate = "true".equals(ElementParameterParser.getValue(iterateConn, "__ENABLE_PARALLEL__"));
if (parallelIterate) {
%>
TalendThreadPool mtp_<%=iterateConn.getTarget().getUniqueName() %> = new TalendThreadPool(<%=ElementParameterParser.getValue(iterateConn,"__NUMBER_PARALLEL__") %>);
%>
TalendThreadPool mtp_<%=iterateConn.getTarget().getUniqueName() %> = new TalendThreadPool(<%=ElementParameterParser.getValue(iterateConn,"__NUMBER_PARALLEL__") %>);
<%
if(!hasParallelIterate){
hasParallelIterate = true;
%>
<%
if(!hasParallelIterate){
hasParallelIterate = true;
%>
final Object[] lockWrite = new Object[0];
int threadIdCounter =0;
<%
}
%>
final Object[] lockWrite = new Object[0];
int threadIdCounter =0;
<%}%>
<%
<%
}
String iterateNodeName = iterateConn.getTarget().getUniqueName();
%>
%>
int NB_ITERATE_<%=iterateNodeName %> = 0; //for statistics
<%
<%
continue;
}
}
%>
%>
<%
<%
if (codePart.equals(ECodePart.BEGIN)) {
%>
<%
if(trace){
%>
globalMap.put("ENABLE_TRACES_CONNECTION_<%=startNodeCid%>",Boolean.FALSE);
<%
}
%>
ok_Hash.put("<%=node.getUniqueName() %>", false);
start_Hash.put("<%=node.getUniqueName() %>", System.currentTimeMillis());
<%
%>
<% if(trace){ %>
globalMap.put("ENABLE_TRACES_CONNECTION_<%=startNodeCid%>",Boolean.FALSE);
<% } %>
ok_Hash.put("<%=node.getUniqueName() %>", false);
start_Hash.put("<%=node.getUniqueName() %>", System.currentTimeMillis());
<%
String statCatcher = ElementParameterParser.getValue(node,"__TSTATCATCHER_STATS__");
if ((node.getProcess().getNodesOfType("tStatCatcher").size() > 0) && (statCatcher.equals("true"))) {
for (INode statCatcherNode : node.getProcess().getNodesOfType("tStatCatcher")) {
%>
<%=statCatcherNode.getUniqueName() %>.addMessage("begin","<%=node.getUniqueName() %>");
<%=statCatcherNode.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
<%
%>
<%=statCatcherNode.getUniqueName() %>.addMessage("begin","<%=node.getUniqueName() %>");
<%=statCatcherNode.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
<%
}
}
}
if(codePart.equals(ECodePart.MAIN)) {
List<INode> meterCatchers = (List<INode>)node.getProcess().getNodesOfType("tFlowMeterCatcher");
if ((node.getProcess().getNodesOfType("tFlowMeter").size() > 0)){
for(IConnection temp_conn : node.getIncomingConnections(EConnectionType.FLOW_MAIN)){
if ((node.getProcess().getNodesOfType("tFlowMeter").size() > 0))
{
for(IConnection temp_conn : node.getIncomingConnections(EConnectionType.FLOW_MAIN))
{
String name_conn = temp_conn.getUniqueName();
if(temp_conn.isUseByMetter()){
%>
<%
if (meterCatchers != null) {
for (INode meterCatcher : meterCatchers) {
%>
<%=meterCatcher.getUniqueName() %>.addLineToRow("<%=name_conn%>_count");
<%
}
}
if(temp_conn.isUseByMetter())
{
%>
<%
if (meterCatchers != null) {
for (INode meterCatcher : meterCatchers) {
%>
<%=meterCatcher.getUniqueName() %>.addLineToRow("<%=name_conn%>_count");
<%
}
}
%>
<%
}
}
for(IConnection temp_conn : node.getIncomingConnections(EConnectionType.FLOW_MERGE)){
for(IConnection temp_conn : node.getIncomingConnections(EConnectionType.FLOW_MERGE))
{
String name_conn = temp_conn.getUniqueName();
if(name_conn == incomingName && temp_conn.isUseByMetter()){
if (meterCatchers != null) {
for (INode meterCatcher : meterCatchers) {
%>
<%=meterCatcher.getUniqueName() %>.addLineToRow("<%=name_conn%>_count");
<%
}
}
if(name_conn == incomingName && temp_conn.isUseByMetter())
{
%>
<%
if (meterCatchers != null) {
for (INode meterCatcher : meterCatchers) {
%>
<%=meterCatcher.getUniqueName() %>.addLineToRow("<%=name_conn%>_count");
<%
}
}
%>
<%
}
}
}
}
%>
<%
%>
<%
if(node.isVirtualGenerateNode()){
%>
currentVirtualComponent = "<%=NodeUtil.getVirtualUniqueName(node)%>";
<%
%>
currentVirtualComponent = "<%=NodeUtil.getVirtualUniqueName(node)%>";
<%
}
%>
currentComponent="<%=node.getUniqueName() %>";
%>
currentComponent="<%=node.getUniqueName() %>";
<%
<%
connSet = new HashSet<IConnection>();
connSet.addAll(node.getIncomingConnections(EConnectionType.FLOW_MAIN));
connSet.addAll(node.getOutgoingConnections(EConnectionType.FLOW_MERGE));
connSet.addAll(node.getIncomingConnections(EConnectionType.FLOW_MERGE));
if ((codePart.equals(ECodePart.BEGIN))&&(stat)&&connSet.size()>0) {
for(IConnection con:connSet){
%>
if (execStat) {
if(resourceMap.get("inIterateVComp") == null){
java.util.concurrent.ConcurrentHashMap<Object, Object> concurrentHashMap_<%=con.getUniqueName() %> = (java.util.concurrent.ConcurrentHashMap) globalMap.get("concurrentHashMap");
concurrentHashMap_<%=con.getUniqueName() %>.putIfAbsent("<%=con.getUniqueName() %>" + iterateLoop,new java.util.concurrent.atomic.AtomicInteger(0));
java.util.concurrent.atomic.AtomicInteger stats_<%=con.getUniqueName() %> = (java.util.concurrent.atomic.AtomicInteger) concurrentHashMap_<%=con.getUniqueName() %>.get("<%=con.getUniqueName() %>" + iterateLoop);
runStat.updateStatOnConnection("<%=con.getUniqueName() %>" + iterateId, stats_<%=con.getUniqueName() %>.incrementAndGet()<=1?0:1, 0);
}
}
%>
<%
}
if (execStat) {
java.util.concurrent.ConcurrentHashMap<Object, Object> concurrentHashMap_<%=con.getUniqueName() %> = (java.util.concurrent.ConcurrentHashMap) globalMap.get("concurrentHashMap");
concurrentHashMap_<%=con.getUniqueName() %>.putIfAbsent("<%=con.getUniqueName() %>" + iterateLoop,new java.util.concurrent.atomic.AtomicInteger(0));
java.util.concurrent.atomic.AtomicInteger stats_<%=con.getUniqueName() %> = (java.util.concurrent.atomic.AtomicInteger) concurrentHashMap_<%=con.getUniqueName() %>.get("<%=con.getUniqueName() %>" + iterateLoop);
runStat.updateStatOnConnection("<%=con.getUniqueName() %>" + iterateId, stats_<%=con.getUniqueName() %>.incrementAndGet()<=1?0:1, 0);
}
<% }
}
if((codePart.equals(ECodePart.MAIN))&&(stat)&&connSet.size()>0){
for(IConnection con:connSet){
%>
%>
//<%=con.getUniqueName()%>
//<%=(String)codeGenArgument.getIncomingName()%>
//<%=con.getUniqueName()%>
//<%=(String)codeGenArgument.getIncomingName()%>
<%if (!node.getComponent().useMerge()) {%>
if(execStat){
runStat.updateStatOnConnection("<%=con.getUniqueName() %>"+iterateId,1, 1);
}
<%
} else if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){
%>
if(execStat){
runStat.updateStatOnConnection("<%=con.getUniqueName() %>"+iterateId,1, 1);
}
<%}%>
<%if (!node.getComponent().useMerge()) {%>
if(execStat){
runStat.updateStatOnConnection("<%=con.getUniqueName() %>"+iterateId,1, 1);
}
<%
} else if(con.getUniqueName().equals((String)codeGenArgument.getIncomingName())){
%>
if(execStat){
runStat.updateStatOnConnection("<%=con.getUniqueName() %>"+iterateId,1, 1);
}
<%}%>
<%
<%
}
}
%>
%>
<%
if(codePart.equals(ECodePart.BEGIN)){
%>
int tos_count_<%=node.getUniqueName() %> = 0;
<%
}
if(stat){
boolean iterateInVFComp = (node.getVirtualLinkTo() != null && node.getVirtualLinkTo() == EConnectionType.ITERATE);
if(iterateInVFComp){
if(codePart.equals(ECodePart.BEGIN)){
List<String> needToStartConnNames = new ArrayList<String>();
INode nextNode = node.getOutgoingConnections(EConnectionType.ITERATE).get(0).getTarget();
NodeUtil.fillConnectionsForStat(needToStartConnNames, nextNode);
%>
if(execStat){
<%
for(String connName : needToStartConnNames){
%>
java.util.concurrent.ConcurrentHashMap<Object, Object> concurrentHashMap_<%=connName%> = (java.util.concurrent.ConcurrentHashMap) globalMap.get("concurrentHashMap");
concurrentHashMap_<%=connName%>.putIfAbsent("<%=connName%>" + iterateLoop,new java.util.concurrent.atomic.AtomicInteger(0));
java.util.concurrent.atomic.AtomicInteger stats_<%=connName%> = (java.util.concurrent.atomic.AtomicInteger) concurrentHashMap_<%=connName%>.get("<%=connName%>" + iterateLoop);
runStat.updateStatOnConnection("<%=connName%>" + iterateId, stats_<%=connName%>.incrementAndGet()<=1?0:1, 0);
<%
}
%>
}
<%
}else if(codePart.equals(ECodePart.MAIN)){
%>
resourceMap.put("inIterateVComp", true);
<%
}else if(codePart.equals(ECodePart.END)){
%>
resourceMap.remove("inIterateVComp");
<%
}
}else{
IConnection preIterate = (node.getIncomingConnections(EConnectionType.ITERATE) != null && node.getIncomingConnections(EConnectionType.ITERATE).size() == 1) ? node.getIncomingConnections(EConnectionType.ITERATE).get(0) : null;
if(preIterate != null){
boolean iterateInVSComp = (preIterate.getSource().getVirtualLinkTo() != null && preIterate.getSource().getVirtualLinkTo() == EConnectionType.ITERATE);
if(iterateInVSComp){
if(codePart.equals(ECodePart.BEGIN)){
%>
resourceMap.remove("inIterateVComp");
<%
}else if(codePart.equals(ECodePart.END)){
%>
resourceMap.put("inIterateVComp", true);
<%
}
}
}
}
}
%>
<%if(codePart.equals(ECodePart.BEGIN)){ %>
int tos_count_<%=node.getUniqueName() %> = 0;
<%}%>

View File

@@ -33,6 +33,7 @@
List<IContextParameter> params = new ArrayList<IContextParameter>();
params=process.getContextManager().getDefaultContext().getContextParameterList();
String jobFolderName = JavaResourcesHelper.getJobFolderName(process.getName(), process.getVersion());
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(process, "__LOG4J_ACTIVATE__"));
boolean exist_tParallelize = false;
List<? extends INode> tParallelizeList = process.getNodesOfType("tParallelize");
@@ -90,6 +91,7 @@
public String fatherNode = null;
public long startTime = 0;
public boolean isChildJob = false;
public String log4jLevel = null;
private boolean execStat = true;
@@ -104,9 +106,9 @@
<% if (hasSAM4RS) { %>
// ESB Service Activity Monitor Feature
private org.apache.cxf.feature.AbstractFeature eventFeature;
private org.apache.cxf.feature.Feature eventFeature;
public void setEventFeature(org.apache.cxf.feature.AbstractFeature eventFeature) {
public void setEventFeature(org.apache.cxf.feature.Feature eventFeature) {
this.eventFeature = eventFeature;
}
<% } %>
@@ -142,6 +144,12 @@
final <%=process.getName() %> <%=process.getName() %>Class = new <%=process.getName() %>();
int exitCode = <%=process.getName() %>Class.runJobInTOS(args);
<%if(isLog4jEnabled){%>
if(exitCode==0){
log.info("TalendJob: '<%=codeGenArgument.getJobName()%>' - Done.");
}
<%}%>
System.exit(exitCode);
}
@@ -169,7 +177,7 @@
public int runJobInTOS(String[] args) {
// reset status
status = "";
String lastStr = "";
for (String arg : args) {
if (arg.equalsIgnoreCase("--context_param")) {
@@ -182,6 +190,28 @@
}
}
<%if(isLog4jEnabled){%>
if(log4jLevel!=null){
if("trace".equalsIgnoreCase(log4jLevel)){
log.setLevel(org.apache.log4j.Level.TRACE);
}else if("debug".equalsIgnoreCase(log4jLevel)){
log.setLevel(org.apache.log4j.Level.DEBUG);
}else if("info".equalsIgnoreCase(log4jLevel)){
log.setLevel(org.apache.log4j.Level.INFO);
}else if("warn".equalsIgnoreCase(log4jLevel)){
log.setLevel(org.apache.log4j.Level.WARN);
}else if("error".equalsIgnoreCase(log4jLevel)){
log.setLevel(org.apache.log4j.Level.ERROR);
}else if("fatal".equalsIgnoreCase(log4jLevel)){
log.setLevel(org.apache.log4j.Level.FATAL);
}else if ("off".equalsIgnoreCase(log4jLevel)){
log.setLevel(org.apache.log4j.Level.OFF);
}
org.apache.log4j.Logger.getRootLogger().setLevel(log.getLevel());
}
log.info("TalendJob: '<%=codeGenArgument.getJobName()%>' - Start.");
<%}%>
if(clientHost == null) {
clientHost = defaultClientHost;
}
@@ -710,7 +740,9 @@ if (execStat) {
context_param.put(keyValue.substring(0, index), keyValue.substring(index + 1) );
}
}
}
}else if (arg.startsWith("--log4jLevel=")) {
log4jLevel = arg.substring(13);
}
}

View File

@@ -35,10 +35,9 @@ public class CLASS
// toReturn += failure_singleThread;
// }
toReturn += "globalMap.put(\""+rootNode.getUniqueName()+ "_SUBPROCESS_STATE\", -1);\n";
toReturn += "\ne_" + rootNode.getUniqueName() + ".printStackTrace();\n";
toReturn += "globalMap.put(\""+rootNode.getUniqueName()+ "_SUBPROCESS_STATE\", -1);\n";
//List< ? extends IConnection> onSubJobErrorConns = rootNode.getOutgoingConnections(EConnectionType.ON_SUBJOB_ERROR);
//if(onSubJobErrorConns!=null){
@@ -48,8 +47,8 @@ public class CLASS
//}
if(isMultiThread){
toReturn += "\n}catch (Error e_" + rootNode.getUniqueName() + ") {\n";
toReturn += "globalMap.put(\""+rootNode.getUniqueName()+ "_SUBPROCESS_STATE\", -1);\n";
toReturn += "\ne_" + rootNode.getUniqueName() + ".printStackTrace();\n";
toReturn += "globalMap.put(\""+rootNode.getUniqueName()+ "_SUBPROCESS_STATE\", -1);\n";
}
toReturn += "\n}";
return toReturn;

View File

@@ -80,18 +80,27 @@ if(librariesSb.length()>0){
}
<%
}
%>
//start camel context
getCamelContexts().get(0).start();
<% if(stats) { %>
if(stats) { %>
// add statistics which shows on the connection
routines.system.CamelStat runStat = new routines.system.CamelStat(getCamelContexts().get(0));
runStat.setParams();
final routines.system.CamelStat runStat = new routines.system.CamelStat(getCamelContexts().get(0));
<%
for (INode node : processNodes) {
if (node.isActivate()) {
for(int i=0; i<node.getIncomingConnections().size(); i++) {
%>
runStat.addConnectionMapping("<%=node.getUniqueName()%>", "<%=node.getIncomingConnections().get(i).getUniqueName()%>");
<%
}
}
}
%>
runStat.initStatisticsInterceptor();
<% } //if stats %>
//start camel context
getCamelContexts().get(0).start();
<% if(stats) { %>
runStat.openSocket(true);
runStat.setAllPID(pid, pid, pid, jobName);
runStat.startThreadStat(clientHost, portStats);
@@ -408,62 +417,68 @@ for (IContextParameter ctxParam : params) {
}
}
class <%=process.getName()%>_Registry implements Registry {
private Map<String, Object> map = new HashMap<String, Object>();
class <%=process.getName()%>_Registry extends SimpleRegistry {
private Registry wrapped = null;
public <%=process.getName()%>_Registry() {
this(null);
this(new SimpleRegistry());
}
public <%=process.getName()%>_Registry(Registry wrapped) {
this.wrapped = wrapped;
}
public Object lookup(String name) {
@Override
public Object lookupByName(String name) {
Object obj = null;
if (wrapped != null) {
obj = wrapped.lookup(name);
obj = wrapped.lookupByName(name);
}
if (obj == null) {
obj = map.get(name);
obj = super.lookupByName(name);
}
return obj;
}
public <T> T lookup(String name, Class<T> type) {
@Override
public <T> T lookupByNameAndType(String name, Class<T> type) {
T t = null;
if (wrapped != null) {
t = wrapped.lookup(name, type);
t = wrapped.lookupByNameAndType(name, type);
}
if (t == null) {
t = (T) map.get(name);
t = super.lookupByNameAndType(name, type);
}
return t;
}
public <T> Map<String, T> lookupByType(Class<T> type) {
@Override
public <T> Map<String, T> findByTypeWithName(Class<T> type) {
Map<String, T> result = null;
if (wrapped != null) {
result = wrapped.lookupByType(type);
result = wrapped.findByTypeWithName(type);
}
if (result == null) {
result = new HashMap<String, T>();
}
if (result.isEmpty()) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (type.isInstance(entry.getValue())) {
result.put(entry.getKey(), type.cast(entry.getValue()));
}
}
result = super.findByTypeWithName(type);
}
return result;
}
@Override
public <T> Set<T> findByType(Class<T> type){
Set<T> result = null;
if (wrapped != null) {
result = wrapped.findByType(type);
}
if (result == null) {
result = super.findByType(type);
}
return result;
}
public void register(String name, Object instance) {
map.put(name, instance);
put(name, instance);
}
}

View File

@@ -118,6 +118,8 @@ boolean actAsConsumer = !process.getNodesOfType("tESBConsumer").isEmpty();
boolean talendEsbJob = actAsProvider || actAsConsumer || !process.getNodesOfType("tRouteInput").isEmpty();
boolean talendEsbJobFactory = actAsProvider || !process.getNodesOfType("tRouteInput").isEmpty();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(process, "__LOG4J_ACTIVATE__"));
if (talendMdmJob) {
talendJobInterfaces += ", TalendMDMJob"; // Talend MDM job
}
@@ -129,6 +131,10 @@ if (talendEsbJobFactory) {
}
%>
public class <%=process.getName()%> implements <%=talendJobInterfaces%> {
<%if(isLog4jEnabled){%>
static {System.setProperty("TalendJob.log", "<%=process.getName() %>.log");}
private static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(<%=process.getName() %>.class);
<%}%>
<% if (talendEsbJob) { %>
private ESBEndpointRegistry registry = null;
@@ -394,32 +400,13 @@ private class TalendException extends java.lang.Exception {
return this.currentComponent;
}
<%//For TDI-27789%>
public String getExceptionCauseMessage(java.lang.Exception e){
Throwable cause = e;
String message = null;
int i = 10;
while (null != cause && 0 < i--) {
message = cause.getMessage();
if (null == message) {
cause = cause.getCause();
} else {
break;
}
}
if (null == message) {
message = e.getClass().getName();
}
return message;
}
@Override
public void printStackTrace() {
if (!(e instanceof TalendException || e instanceof TDieException)) {
if(virtualComponentName!=null && currentComponent.indexOf(virtualComponentName+"_")==0){
globalMap.put(virtualComponentName+"_ERROR_MESSAGE",getExceptionCauseMessage(e));
globalMap.put(virtualComponentName+"_ERROR_MESSAGE",e.getMessage());
}
globalMap.put(currentComponent+"_ERROR_MESSAGE",getExceptionCauseMessage(e));
globalMap.put(currentComponent+"_ERROR_MESSAGE",e.getMessage());
System.err.println("Exception in component " + currentComponent);
}
if (!(e instanceof TDieException)) {
@@ -556,7 +543,11 @@ private class TalendException extends java.lang.Exception {
// 1) add the message to the stack
%>
if(!(exception instanceof TDieException)){
<%=assertCatcher.getUniqueName()%>.addMessage(pid, projectName, jobName, "java", null, "Failed", "Job execution error", exception.getMessage());
<%if("true".equals(ElementParameterParser.getValue(assertCatcher, "__GET_ORIGINAL_EXCEPTION__"))){%>
<%=assertCatcher.getUniqueName()%>.addMessage(pid, projectName, jobName, "java", null, "Failed", "Job execution error", exception);
<%}else{%>
<%=assertCatcher.getUniqueName()%>.addMessage(pid, projectName, jobName, "java", null, "Failed", "Job execution error", exception.getMessage());
<%}%>
<%=assertCatcher.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
}
<%

View File

@@ -34,6 +34,8 @@
IProcess process = (IProcess) v.get(0);
String version = (String) v.get(1);
boolean isStudioEEVersion = org.talend.core.PluginChecker.isTIS();
List<? extends INode> processNodes = (List<? extends INode>) process.getGeneratingNodes();
List<? extends INode> graphicalNodes = (List<? extends INode>) process.getGraphicalNodes();
boolean stats = codeGenArgument.isStatistics();
@@ -85,6 +87,8 @@ package <%= packageName %>;
importsSet.add("import java.util.Properties");
importsSet.add("import org.apache.camel.management.JmxNotificationEventNotifier");
importsSet.add("import org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext");
importsSet.add("import org.apache.camel.impl.SimpleRegistry");
importsSet.add("import java.util.Set");
String headerImports = ElementParameterParser.getValue(process, "__HEADER_IMPORT__");
if(headerImports!=null && !"".equals(headerImports.trim())){
@@ -162,16 +166,49 @@ package <%= packageName %>;
%>
<%
for (INode node : graphicalNodes) {
String useRegistry = "false";
String dataFormat = ElementParameterParser.getValue(node, "__DATAFORMAT__");
if(isStudioEEVersion && !"RAW".equals(dataFormat) && !"CXF_MESSAGE".equals(dataFormat)){
useRegistry = ElementParameterParser.getValue(node, "__ENABLE_REGISTRY__");
}
if("cCXF".equals(node.getComponent().getName())
&& "true".equals(ElementParameterParser.getValue(node, "__ENABLE_SAM__"))
&& !"RAW".equals(ElementParameterParser.getValue(node, "__DATAFORMAT__"))) { %>
&& !"RAW".equals(ElementParameterParser.getValue(node, "__DATAFORMAT__"))&& !"true".equals(useRegistry) ) { %>
//ESB Service Activity Monitor Feature
private org.apache.cxf.feature.AbstractFeature eventFeature;
private org.apache.cxf.feature.Feature eventFeature;
public void setEventFeature(org.apache.cxf.feature.AbstractFeature eventFeature) {
public void setEventFeature(org.apache.cxf.feature.Feature eventFeature) {
this.eventFeature = eventFeature;
}
// https://issues.apache.org/jira/browse/CAMEL-6783
static class FeatureWrapper extends org.apache.cxf.feature.AbstractFeature {
private final org.apache.cxf.feature.Feature f;
public FeatureWrapper(org.apache.cxf.feature.Feature f) {
this.f = f;
}
public void initialize(org.apache.cxf.endpoint.Server server, org.apache.cxf.Bus bus) {
f.initialize(server, bus);
}
public void initialize(org.apache.cxf.endpoint.Client client, org.apache.cxf.Bus bus) {
f.initialize(client, bus);
}
public void initialize(org.apache.cxf.interceptor.InterceptorProvider interceptorProvider, org.apache.cxf.Bus bus) {
f.initialize(interceptorProvider, bus);
}
public void initialize(org.apache.cxf.Bus bus) {
f.initialize(bus);
}
}
<% break;
}
}
@@ -278,6 +315,35 @@ for (INode node : graphicalNodes) {
uri = uri + sb.toString();
}
}
}else if("cDirectVM".equals(componentName)){
boolean inputName= getBoolValue(node, "____INPUT_ENDPOINT_NAME____");
boolean isProducer = node.getIncomingConnections().size()>0;
INode consumerNode = node;
if(isProducer && !inputName){
String desNodeName= (String)getValue(node, "____ROUTE_COMPONENT_TYPE_ID____");
if(desNodeName!=null){
List<? extends INode> allNodes = node.getProcess().getGraphicalNodes();
for(INode aNode : allNodes){
if(aNode.getUniqueName().equals(desNodeName)){
consumerNode=aNode;
break;
}
}
}
}
String endpointName=getValue(consumerNode, "__ENDPOINT_NAME__");
uri="\"direct-vm:\"+" + endpointName;
if(isProducer){
boolean isBlock= getBoolValue(node, "____BLOCK____");
if(isBlock){
uri += "+\"?block=true&timeout="+getValue(consumerNode, "__TIMEOUT__")+"\"";
}
}
}else if("cTimer".equals(componentName)){
uri = "\"timer:\"+\""+node.getUniqueName()+"\"";
StringBuilder sb = new StringBuilder();
@@ -442,16 +508,26 @@ for (INode node : graphicalNodes) {
} else if ("cCXF".equals(componentName)) {
String url = ElementParameterParser.getValue(node, "__ADDRESS__").trim();
String dataformat = ElementParameterParser.getValue(node, "__DATAFORMAT__");
String useServiceRegistry = ElementParameterParser.getValue(node, "__ENABLE_REGISTRY__");
if(!isStudioEEVersion || "RAW".equals(dataformat) || "CXF_MESSAGE".equals(dataformat)){
useServiceRegistry = "false";
}
String useSecurity = ElementParameterParser.getValue(node, "__ENABLE_SECURITY__");
if("true".equals(useServiceRegistry) || "RAW".equals(dataformat) || "CXF_MESSAGE".equals(dataformat)){
useSecurity = "false";
}
List<? extends IConnection> conns = node.getIncomingConnections();
if ("true".equals(ElementParameterParser.getValue(node, "__ENABLE_SL__"))) {
if ("true".equals(ElementParameterParser.getValue(node, "__ENABLE_SL__"))
&& "false".equals(useServiceRegistry)) {
if (!conns.isEmpty()) {
INode source = conns.get(0).getSource();
if (!("cErrorHandler".equals(source.getComponent().getName())
&& source.getIncomingConnections().isEmpty())) {
// consumer role
url = "((null == bundleContext) ? " + url + " : \"locator://locator/\")";
}
// consumer role
url = "((null == bundleContext) ? " + url + " : \"locator://locator/\")";
}
}
@@ -479,7 +555,7 @@ for (INode node : graphicalNodes) {
}
String dataformat = ElementParameterParser.getValue(node, "__DATAFORMAT__");
sb.append("+\"&dataFormat=" + dataformat + "\"");
String specifyService = ElementParameterParser.getValue(node, "__SPECIFY_SERVICE__");
@@ -497,6 +573,8 @@ for (INode node : graphicalNodes) {
if(!conns.isEmpty()){
sb.append("+\"&headerFilterStrategy=#CXF_PAYLOAD_HEADER_FILTER\"");
}else if("true".equals(useServiceRegistry) || ("true".equals(useSecurity) && "SAML".equals(ElementParameterParser.getValue(node, "__SECURITY_TYPE__")))) {
sb.append("+\"&cxfBinding=#DEFAULT_CXF_BINDING\"");
}
uri = sb.toString();

View File

@@ -12,20 +12,16 @@
org.talend.designer.codegen.config.NodesSubTree
org.talend.core.model.utils.NodeUtil
java.util.List
java.util.Set
java.util.Set
java.util.HashSet
java.util.Iterator
java.util.Vector
"
class="IterateSubProcessFooter"
skeleton="subprocess_header_java.skeleton"
%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
Vector v = (Vector) codeGenArgument.getArgument();
INode node = (INode) v.get(0);
String finallyPart = v.get(1).toString();
INode node = (INode)codeGenArgument.getArgument();
ECodePart codePart = codeGenArgument.getCodePart();
//boolean trace = codeGenArgument.isTrace();
boolean stat = codeGenArgument.isStatistics();
@@ -55,81 +51,65 @@
schemaInstanceDeclaration = "," + schemaInstanceDeclaration.substring(0,schemaInstanceDeclaration.length()-1);
}
if(stat){
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>",2,"exec"+iterateId);
}
<%
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>",2,"exec"+iterateId);
}
<%
}
%>
} catch (java.lang.Exception e) {
this.status = "failure";
Integer localErrorCode = (Integer) (((java.util.Map) threadLocal.get()).get("errorCode"));
if (localErrorCode != null) {
if (this.errorCode == null || localErrorCode.compareTo(this.errorCode) > 0) {
this.errorCode = localErrorCode;
}
}
TalendException te = new TalendException(e, currentComponent, globalMap);
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
te.setVirtualComponentName(currentVirtualComponent);
<%
}
%>
this.exception = te;
talendThreadPool.setErrorThread(this);
talendThreadPool.stopAllWorkers();
%>
} catch (java.lang.Exception e) {
this.status = "failure";
Integer localErrorCode = (Integer) (((java.util.Map) threadLocal.get()).get("errorCode"));
if (localErrorCode != null) {
if (this.errorCode == null || localErrorCode.compareTo(this.errorCode) > 0) {
this.errorCode = localErrorCode;
}
}
talendThreadPool.setErrorThread(this);
talendThreadPool.stopAllWorkers();
TalendException te = new TalendException(e, currentComponent, globalMap);
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
te.setVirtualComponentName(currentVirtualComponent);
<%
}
%>
te.printStackTrace();
}
this.isRunning = false;
Integer localErrorCode = (Integer) (((java.util.Map) threadLocal.get()).get("errorCode"));
String localStatus = (String) (((java.util.Map) threadLocal.get()).get("status"));
if (localErrorCode != null) {
if (this.errorCode == null || localErrorCode.compareTo(this.errorCode) > 0) {
this.errorCode = localErrorCode;
}
}
if (!this.status.equals("failure")) {
this.status = localStatus;
}
talendThreadPool.getTalendThreadResult().setErrorCode(this.errorCode);
talendThreadPool.getTalendThreadResult().setStatus(this.status);
}
}
<%=node.getUniqueName() %>Thread bt_<%=node.getUniqueName() %> = new <%=node.getUniqueName() %>Thread(globalMap<%=schemaInstanceDeclaration %>,threadIdCounter++);
mtp_<%=node.getUniqueName() %>.execute(bt_<%=node.getUniqueName() %>);
} finally {
try{
<%=finallyPart%>
}catch(java.lang.Exception e){
//ignore
}catch(java.lang.Error error){
//ignore
}
resourceMap = null;
}
this.isRunning = false;
Integer localErrorCode = (Integer) (((java.util.Map) threadLocal.get()).get("errorCode"));
String localStatus = (String) (((java.util.Map) threadLocal.get()).get("status"));
if (localErrorCode != null) {
if (this.errorCode == null || localErrorCode.compareTo(this.errorCode) > 0) {
this.errorCode = localErrorCode;
}
}
if (!this.status.equals("failure")) {
this.status = localStatus;
}
talendThreadPool.getTalendThreadResult().setErrorCode(this.errorCode);
talendThreadPool.getTalendThreadResult().setStatus(this.status);
}
}
<%=node.getUniqueName() %>Thread bt_<%=node.getUniqueName() %> = new <%=node.getUniqueName() %>Thread(globalMap<%=schemaInstanceDeclaration %>,threadIdCounter++);
mtp_<%=node.getUniqueName() %>.execute(bt_<%=node.getUniqueName() %>);
<%
<%
continue;
}else {//3
if(stat){
if(node.getDesignSubjobStartNode().getComponent().getName().equals("tCollector")){
%>
if(execStat){
runStat.updateStatOnIterate("<%=iterateConn.getUniqueName() %>", RunStat.END);
}
<%
}else{%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>", 2, "exec" + NB_ITERATE_<%=iterateNodeName %>);
}
<%
}
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>", 2, "exec" + NB_ITERATE_<%=iterateNodeName %>);
}
<%
}
}//3
}//2

View File

@@ -50,10 +50,12 @@ params = process.getContextManager().getDefaultContext().getContextParameterList
List<IConnection> allSubProcessConnection = codeGenArgument.getAllMainSubTreeConnections();
boolean parallelIterate = false;
for (IConnection iterateConn : iterateConnSet) { //1
%>
NB_ITERATE_<%=iterateNodeName %>++;
iterateLoop++;
<%
<%
parallelIterate = "true".equals(ElementParameterParser.getValue(iterateConn, "__ENABLE_PARALLEL__"));
if (parallelIterate) {//2
if (codePart.equals(ECodePart.BEGIN)) {//3
@@ -62,176 +64,163 @@ for (IConnection iterateConn : iterateConnSet) { //1
rowList += conn.getUniqueName()+"Struct "+conn.getUniqueName()+",";
}
rowList = rowList.substring(0, rowList.length()-1);
%>
class <%=node.getUniqueName() %>Thread extends TalendThread {//implements routines.system.TalendThreadPool.PropertySettable
%>
class <%=node.getUniqueName() %>Thread extends TalendThread {//implements routines.system.TalendThreadPool.PropertySettable
class ThreadedMap extends java.util.HashMap<String, Object> {
class ThreadedMap extends java.util.HashMap<String, Object> {
private static final long serialVersionUID = 0L;
public ThreadedMap(java.util.Map<String, Object> globalMap) {
super(globalMap);
}
@Override
public Object put(String key, Object value) {
<%if(!isRunInMultiThread){%>
synchronized (<%=process.getName()%>.this.obj) {
<%}%>
super.put(key, value);
return <%=process.getName()%>.this.globalMap.put(key, value);
<%if(!isRunInMultiThread){%>
}
<%}%>
}
}
<% if(isRunJob) {%>
private final ContextProperties localContext = new ContextProperties();
<% } %>
private java.util.Map<String, Object> globalMap = null;
boolean isRunning = false;
String iterateId = "";
int iterateLoop = 0;
<%
if(!subTree.isMergeSubTree()) {
List< ? extends IConnection> rootConns = subTree.getRootNode().getOutgoingConnections();
if ((rootConns!=null)&&(rootConns.size()>0)) {
%>
<%=createPrivateClassInstance(subTree.getRootNode(), rootConns.get(0).getName(), false)%>
<%
}
} else {
List<INode> sortedMergeBranchStarts = subTree.getSortedMergeBranchStarts();
for (INode startNode : sortedMergeBranchStarts) {
List< ? extends IConnection> rootConns = startNode.getOutgoingConnections();
if ((rootConns!=null)&&(rootConns.size()>0)) {
%>
<%=createPrivateClassInstance(startNode, rootConns.get(0).getName(), false)%>
<%
}
private static final long serialVersionUID = 0L;
public ThreadedMap(java.util.Map<String, Object> globalMap) {
super(globalMap);
}
@Override
public Object put(String key, Object value) {
<%if(!isRunInMultiThread){%>
synchronized (<%=process.getName()%>.this.obj) {
<%}%>
super.put(key, value);
return <%=process.getName()%>.this.globalMap.put(key, value);
<%if(!isRunInMultiThread){%>
}
<%}%>
}
}
<% if(isRunJob) {%>
private final ContextProperties localContext = new ContextProperties();
<% } %>
private java.util.Map<String, Object> globalMap = null;
boolean isRunning = false;
String iterateId = "";
int iterateLoop = 0;
<%
if(!subTree.isMergeSubTree()) {
List< ? extends IConnection> rootConns = subTree.getRootNode().getOutgoingConnections();
if ((rootConns!=null)&&(rootConns.size()>0)) {
%>
<%=createPrivateClassInstance(subTree.getRootNode(), rootConns.get(0).getName(), false)%>
<%
}
} else {
List<INode> sortedMergeBranchStarts = subTree.getSortedMergeBranchStarts();
for (INode startNode : sortedMergeBranchStarts) {
List< ? extends IConnection> rootConns = startNode.getOutgoingConnections();
if ((rootConns!=null)&&(rootConns.size()>0)) {
%>
<%=createPrivateClassInstance(startNode, rootConns.get(0).getName(), false)%>
<%
}
}
List< ? extends IConnection> rootConns = subTree.getMergeNode().getOutgoingConnections();
if ((rootConns!=null)&&(rootConns.size()>0)) {
%>
<%=createPrivateClassInstance(subTree.getMergeNode(), rootConns.get(0).getName(), false)%>
<%
}
List< ? extends IConnection> rootConns = subTree.getMergeNode().getOutgoingConnections();
if ((rootConns!=null)&&(rootConns.size()>0)) {
%>
<%=createPrivateClassInstance(subTree.getMergeNode(), rootConns.get(0).getName(), false)%>
<%
}
}
String schemaInstanceDeclaration = createPriveClassMethodDeclaration(subTree.getRootNode(), subTree.getRootNode().getOutgoingConnections().get(0).getName(), false, new java.util.HashSet<String>());
if (schemaInstanceDeclaration.length()>0) {
schemaInstanceDeclaration = "," + schemaInstanceDeclaration.substring(0,schemaInstanceDeclaration.length()-1);
}
%>
String schemaInstanceDeclaration = createPriveClassMethodDeclaration(subTree.getRootNode(), subTree.getRootNode().getOutgoingConnections().get(0).getName(), false, new java.util.HashSet<String>());
if (schemaInstanceDeclaration.length()>0) {
schemaInstanceDeclaration = "," + schemaInstanceDeclaration.substring(0,schemaInstanceDeclaration.length()-1);
}
%>
public <%=node.getUniqueName() %>Thread(java.util.Map<String, Object> globalMap<%=schemaInstanceDeclaration %>, int threadID) {
super();
<%
for (IConnection connection : allSubProcessConnection) {
IMetadataTable table = connection.getMetadataTable();
%>
if(<%= connection.getName() %> != null){
<%
List<IMetadataColumn> listColumns = table.getListColumns();
for (IMetadataColumn column : listColumns) {
%>
this.<%= connection.getName() %>.<%= column.getLabel() %> = <%= connection.getName() %>.<%= column.getLabel() %>;
<%
}
%>
}
<%
}
%>
<%
// if codeGenArgument.getIsRunInMultiThread() is true, the job.this.globalMap will wrapped with synchronizedMap, use synchronized(job.this.globalMap) when use globalMap.keySet().iterator()
// when codeGenArgument.getIsRunInMultiThread() is false, the job.this.globalMap is HashMap, use synchronized(job.this.object) when do the job.this.globalMap.put() operation(tMap,tIterateToFlow).
if(isRunInMultiThread){%>
synchronized (globalMap) {
this.globalMap = java.util.Collections.synchronizedMap(new ThreadedMap(globalMap));
<%}else{%>
synchronized (<%=process.getName()%>.this.obj) {
this.globalMap = new ThreadedMap(globalMap);
<%}%>
}
iterateId = "." + threadID;
iterateLoop++;
<%if(isRunJob) {%>
//bug21906 copy context to local for mutilthread
context.synchronizeContext();
java.util.Enumeration<?> propertyNames = context.propertyNames();
while(propertyNames.hasMoreElements()) {
String propertyName = (String)propertyNames.nextElement();
String propertyValue = context.getProperty(propertyName);
localContext.setProperty(propertyName, propertyValue);
}
<% for (IContextParameter ctxParam : params){%>
localContext.<%=ctxParam.getName()%> = context.<%=ctxParam.getName()%>;
<%
}
}
%>
public <%=node.getUniqueName() %>Thread(java.util.Map<String, Object> globalMap<%=schemaInstanceDeclaration %>, int threadID) {
super();
<%
for (IConnection connection : allSubProcessConnection) {
IMetadataTable table = connection.getMetadataTable();
%>
if(<%= connection.getName() %> != null){
<%
List<IMetadataColumn> listColumns = table.getListColumns();
for (IMetadataColumn column : listColumns) {
%>this.<%= connection.getName() %>.<%= column.getLabel() %> = <%= connection.getName() %>.<%= column.getLabel() %>;
<%
}
%>
}
<%
}
%>
<%
// if codeGenArgument.getIsRunInMultiThread() is true, the job.this.globalMap will wrapped with synchronizedMap, use synchronized(job.this.globalMap) when use globalMap.keySet().iterator()
// when codeGenArgument.getIsRunInMultiThread() is false, the job.this.globalMap is HashMap, use synchronized(job.this.object) when do the job.this.globalMap.put() operation(tMap,tIterateToFlow).
if(isRunInMultiThread){%>
synchronized (globalMap) {
this.globalMap = java.util.Collections.synchronizedMap(new ThreadedMap(globalMap));
<%}else{%>
synchronized (<%=process.getName()%>.this.obj) {
this.globalMap = new ThreadedMap(globalMap);
<%}%>
}
iterateId = "." + threadID;
iterateLoop++;
<%if(isRunJob) {%>
//bug21906 copy context to local for mutilthread
context.synchronizeContext();
java.util.Enumeration<?> propertyNames = context.propertyNames();
while(propertyNames.hasMoreElements()) {
String propertyName = (String)propertyNames.nextElement();
String propertyValue = context.getProperty(propertyName);
localContext.setProperty(propertyName, propertyValue);
}
<% for (IContextParameter ctxParam : params){%>
localContext.<%=ctxParam.getName()%> = context.<%=ctxParam.getName()%>;
<% } %>
<% } %>
}
public void run() {
java.util.Map threadRunResultMap = new java.util.HashMap();
threadRunResultMap.put("errorCode", null);
threadRunResultMap.put("status", "");
threadLocal.set(threadRunResultMap);
this.isRunning = true;
String currentComponent = "";
java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
String currentVirtualComponent = null;
<%
}
%>
try {
<%
if(stat){
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>",0,"exec"+iterateId);
}
<%
}
}//3
continue;
}else {//2
if(stat){
//iterateConn.getSource().getVirtualLinkTo() only works on the first component of a virtual component, if it works for the second one, the code should change
boolean iterateInVComp = iterateConn.getSource().getVirtualLinkTo() != null && iterateConn.getSource().getVirtualLinkTo() == EConnectionType.ITERATE;
if(!iterateInVComp){
public void run() {
java.util.Map threadRunResultMap = new java.util.HashMap();
threadRunResultMap.put("errorCode", null);
threadRunResultMap.put("status", "");
threadLocal.set(threadRunResultMap);
this.isRunning = true;
String currentComponent = "";
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
String currentVirtualComponent = null;
<%
}
%>
try {
<%
if(stat){
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>",0,"exec"+iterateId);
}
<%
}
}//3
continue;
}else {//2
if(stat){
%>
<%
Set<? extends IConnection> allInLineJobConns = NodeUtil.getAllInLineJobConnections(iterateConn.getTarget());
for (IConnection inLineConn : allInLineJobConns) {
%>
if(execStat){
runStat.updateStatOnConnection("<%=inLineConn.getUniqueName() %>", 3, 0);
}
<%
}
}
if(node.getDesignSubjobStartNode().getComponent().getName().equals("tCollector")){
%>
if(execStat){
runStat.updateStatOnIterate("<%=iterateConn.getUniqueName() %>", RunStat.RUNNING);
}
<%
}else{
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>", 1, "exec" + NB_ITERATE_<%=iterateNodeName %>);
//Thread.sleep(1000);
}
<%
}
}
}//2
}//1
%>
if(execStat){
runStat.updateStatOnConnection("<%=inLineConn.getUniqueName() %>", 3, 0);
}
<%
}
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>", 1, "exec" + NB_ITERATE_<%=iterateNodeName %>);
//Thread.sleep(1000);
}
<%
}
}//2
}//1
%>

View File

@@ -10,24 +10,24 @@
org.talend.core.model.process.ElementParameterParser
java.util.List
java.util.Iterator
java.util.Vector
org.talend.core.model.process.IProcess
org.talend.core.model.utils.NodeUtil
"
class="SubProcessFooter"
%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
Vector v = (Vector) codeGenArgument.getArgument();
NodesSubTree subTree = (NodesSubTree) v.get(0);
String finallyPart = v.get(1).toString();
boolean stat = codeGenArgument.isStatistics();
for(INode node : subTree.getNodes()){
NodesSubTree subTree = (NodesSubTree) codeGenArgument.getArgument();
IProcess process = subTree.getRootNode().getProcess();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(process, "__LOG4J_ACTIVATE__"));
for (INode node : subTree.getNodes()) {
List<IMetadataTable> metadatas = node.getMetadataList();
List< ? extends IConnection> conns = node.getOutgoingConnections();
}
boolean isParallelize = false;
for(INode node : subTree.getNodes()){
for (INode node : subTree.getNodes()) {
if(node!=null){
String parallelize = ElementParameterParser.getValue(node, "__PARALLELIZE__");
if(parallelize!=null &&parallelize.equals("true")){
@@ -37,7 +37,7 @@
}
}
if(isParallelize){
%>
%>
} catch (java.lang.Exception e) {
this.status = "failure";
@@ -50,15 +50,6 @@
pool.setErrorThread(this, new TalendException(e, currentComponent, globalMap));
//pool.setErrorThread(this,e);
pool.stopAllThreads();
}finally{
try{
<%=finallyPart%>
}catch(java.lang.Exception e){
//ignore
}catch(java.lang.Error error){
//ignore
}
resourceMap = null;
}
this.isRunning = false;
@@ -88,7 +79,7 @@
}
} else {
// Start a new thread
<%=subTree.getName()%>_ParallelThread pt = new <%=subTree.getName()%>_ParallelThread(
<%=subTree.getName() %>_ParallelThread pt = new <%=subTree.getName()%>_ParallelThread(
globalMap, (Object[]) globalMap
.get("PARALLEL_FLOW_LOCK_<%=(subTree.getName()).replaceAll("tAsyncIn", "tAsyncOut")%>"));
pt.putBuffer(buffer);
@@ -99,198 +90,212 @@
} catch (java.lang.Exception te) {
throw new TalendException(te, currentComponent, globalMap);
}
<%
<%
}else{
%>
}//end the resume
%>
<%
if(subTree.getRootNode().getProcess().getNodesOfType("tFlowMeterCatcher").size() > 0
&& subTree.getRootNode().getProcess().getNodesOfType("tFlowMeter").size() > 0){
List<INode> metterCatchers = (List<INode>)subTree.getRootNode().getProcess().getNodesOfType("tFlowMeterCatcher");
List<INode> metters = (List<INode>)subTree.getRootNode().getProcess().getNodesOfType("tFlowMeter");
List<INode> nodes = (List<INode>)subTree.getNodes();
boolean hasMetterProcess = false;
for(INode tmp : nodes){
for(INode metter : metters){
if(tmp.getUniqueName().equals(metter.getUniqueName())){
hasMetterProcess = true;
break;
}
}
if(hasMetterProcess){
break;
}
}
if(hasMetterProcess){
for(INode metterCatcher : metterCatchers){
%>
<%=metterCatcher.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
<%
}
}
}
//this part for "Resume Management"
<%
//this part for "Resume Management"
{
INode firstNode = subTree.getNode(subTree.getName());
List<String> beforeSubProcesses = subTree.getBeforeSubProcesses();
//System.out.println(firstNode.getUniqueName());
List<? extends IConnection> outConns = firstNode.getOutgoingConnections();
//System.out.println(inConns.size());
for(IConnection conn : outConns){
// boolean activeResume = "true".equals(ElementParameterParser.getValue(conn, "__RESUMING_CHECKPOINT__"));
boolean activeResume = true;
//System.out.println("Test:" + ElementParameterParser.getValue(conn, "__RESUMING_CHECKPOINT__"));
String uniqueNameTargetNode = conn.getTarget().getUniqueName();
EConnectionType lineStyle = conn.getLineStyle();
}
}
%>
}//end the resume
<%
if (subTree.getRootNode().getProcess().getNodesOfType("tFlowMeterCatcher").size() > 0
&& subTree.getRootNode().getProcess().getNodesOfType("tFlowMeter").size() >0 ) {
List<INode> metterCatchers = (List<INode>)subTree.getRootNode().getProcess().getNodesOfType("tFlowMeterCatcher");
List<INode> metters = (List<INode>)subTree.getRootNode().getProcess().getNodesOfType("tFlowMeter");
List<INode> nodes = (List<INode>)subTree.getNodes();
boolean hasMetterProcess = false;
for(INode tmp : nodes)
{
for(INode metter : metters)
{
if(tmp.getUniqueName().equals(metter.getUniqueName()))
{
INode firstNode = subTree.getNode(subTree.getName());
List<String> beforeSubProcesses = subTree.getBeforeSubProcesses();
//System.out.println(firstNode.getUniqueName());
List<? extends IConnection> outConns = firstNode.getOutgoingConnections();
//System.out.println(inConns.size());
for(IConnection conn : outConns){
//boolean activeResume = "true".equals(ElementParameterParser.getValue(conn, "__RESUMING_CHECKPOINT__"));
boolean activeResume = true;
//System.out.println("Test:" + ElementParameterParser.getValue(conn, "__RESUMING_CHECKPOINT__"));
String uniqueNameTargetNode = conn.getTarget().getUniqueName();
EConnectionType lineStyle = conn.getLineStyle();
if(beforeSubProcesses.indexOf(uniqueNameTargetNode) != -1){
if(activeResume){
%>
if(resumeEntryMethodName == null || globalResumeTicket){
resumeUtil.addLog("CHECKPOINT", "CONNECTION:<%=lineStyle.getName() %>:<%=subTree.getName() %>:<%=conn.getName() %><%=conn.getOutputId() > 0 ? conn.getOutputId() : "" %>", "", Thread.currentThread().getId() + "", "", "", "", "", "");
}
<%
}
if(stat){
%>
if(execStat){
runStat.updateStatOnConnection("<%=conn.getUniqueName() %>", 0, "ok");
}
<%
}
%>
<%= uniqueNameTargetNode %>Process(globalMap);
<%
}
}
hasMetterProcess = true;
break;
}
%>
}
if(hasMetterProcess)
{
break;
}
}
if(hasMetterProcess)
{
for (INode metterCatcher : metterCatchers) {
%>
<%=metterCatcher.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
<%
}
}
}
%>
<%
//this part for "Resume Management"
{
INode firstNode = subTree.getNode(subTree.getName());
List<String> beforeSubProcesses = subTree.getBeforeSubProcesses();
//System.out.println(firstNode.getUniqueName());
List<? extends IConnection> outConns = firstNode.getOutgoingConnections();
//System.out.println(inConns.size());
for(IConnection conn : outConns){
// boolean activeResume = "true".equals(ElementParameterParser.getValue(conn, "__RESUMING_CHECKPOINT__"));
boolean activeResume = true;
//System.out.println("Test:" + ElementParameterParser.getValue(conn, "__RESUMING_CHECKPOINT__"));
String uniqueNameTargetNode = conn.getTarget().getUniqueName();
EConnectionType lineStyle = conn.getLineStyle();
if(beforeSubProcesses.indexOf(uniqueNameTargetNode) != -1) {
if(activeResume){
%>
if( resumeEntryMethodName == null || globalResumeTicket){
resumeUtil.addLog("CHECKPOINT", "CONNECTION:<%=lineStyle.getName() %>:<%=subTree.getName() %>:<%=conn.getName() %><%=conn.getOutputId() > 0 ? conn.getOutputId() : "" %>", "", Thread.currentThread().getId() + "", "", "", "", "", "");
}
<%
}
%>
<%
if(stat){
%>
if(execStat){
runStat.updateStatOnConnection("<%=conn.getUniqueName() %>", 0, "ok");
}
<%
}
%>
<%= uniqueNameTargetNode %>Process(globalMap);
<%
}
}
}
%>
}catch(java.lang.Exception e){
TalendException te = new TalendException(e, currentComponent, globalMap);
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
te.setVirtualComponentName(currentVirtualComponent);
<%
}
for(INode node : subTree.getNodes()){
if(node!=null){
if("tDepartitioner".equals(node.getComponent().getName())){
String cid = node.getUniqueName();
%>
if(resourceMap.get("finish_<%=cid%>") == null){
if(resourceMap.get("start_<%=cid%>") != null){
globalMap.put("THREADS_HAVE_ERROR", e);
return;
}
}
<%
}
}
}
%>
throw te;
}catch(java.lang.Error error){
<%
if(stat){
%>
runStat.stopThreadStat();
<%
}
for(INode node : subTree.getNodes()){
if(node!=null){
if("tDepartitioner".equals(node.getComponent().getName())){
String cid = node.getUniqueName();
%>
if(resourceMap.get("finish_<%=cid%>") == null){
if(resourceMap.get("start_<%=cid%>") != null){
globalMap.put("THREADS_HAVE_ERROR",error);
return;
}
}
<%
}
}
}
%>
throw error;
}finally{
<%
//generate the code to free memory for lookup link and virtual component buffered datas
List<INode> nodes = subTree.getNodes();
for(INode node:nodes){
boolean isVirtualGenerateNode = node.isVirtualGenerateNode();
//check the virtual component generate node
if(isVirtualGenerateNode){
String origin = ElementParameterParser.getValue(node, "__ORIGIN__");
if(origin != null && !"".equals(origin)){
%>
//free memory for "<%=node.getUniqueName()%>"
globalMap.remove("<%=origin%>");
<%
}
}else{
//check the Lookup link
List<? extends IConnection> lookupInput = node.getIncomingConnections(EConnectionType.FLOW_REF);
if(lookupInput!=null && lookupInput.size()>0){
//check the tMap like this, instanceof can't work
if(node.getClass().getName().equals("org.talend.designer.mapper.MapperComponent")){
for(IConnection connection:lookupInput){
%>
//free memory for "<%=node.getUniqueName()%>"
globalMap.remove("tHash_Lookup_<%=connection.getName()%>");
<%
}
}else{
for(IConnection connection:lookupInput){
%>
//free memory for "<%=node.getUniqueName()%>"
globalMap.remove("tHash_<%=connection.getName()%>");
<%
}
}
}
}
}
%>
try{
<%=finallyPart%>
}catch(java.lang.Exception e){
//ignore
}catch(java.lang.Error error){
//ignore
}
resourceMap = null;
}
} catch(java.lang.Exception e) {
<%if(isLog4jEnabled){%>
log.error(currentComponent + " " + e.getMessage());
<%}%>
TalendException te = new TalendException(e, currentComponent, globalMap);
<%
}//isParallelize
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
globalMap.put("<%=subTree.getName() %>_SUBPROCESS_STATE", 1);
te.setVirtualComponentName(currentVirtualComponent);
<%
}
%>
throw te;
} catch(java.lang.Error error) {
<%
if(stat){
%>
runStat.stopThreadStat();
<%
}
<%
if(subTree.isMethodSizeNeeded()){
%>
throw error;
}
<%
//generate the code to free memory for lookup link and virtual component buffered datas
boolean firstIn = true;
boolean needGc = false;
List<INode> nodes = subTree.getNodes();
for(INode node:nodes){
boolean isVirtualGenerateNode = node.isVirtualGenerateNode();
//check the virtual component generate node
if(isVirtualGenerateNode){
String origin = ElementParameterParser.getValue(node, "__ORIGIN__");
if(origin != null && !"".equals(origin)){
if(!needGc) needGc = true;
%>
/**
* End of Function: <%=subTree.getName() %>Process
*/
<%
}
%>
<%if(firstIn){%> finally{ <% firstIn = false;}%>
//free memory for "<%=node.getUniqueName() %>"
globalMap.remove("<%=origin %>");
<%
}
}else{
//check the Lookup link
List<? extends IConnection> lookupInput = node.getIncomingConnections(EConnectionType.FLOW_REF);
if(lookupInput!=null && lookupInput.size()>0){
if(!needGc) needGc = true;
//check the tMap like this, instanceof can't work
if(node.getClass().getName().equals("org.talend.designer.mapper.MapperComponent")){
for(IConnection connection:lookupInput){
%>
<%if(firstIn){%> finally{ <% firstIn = false;}%>
//free memory for "<%=node.getUniqueName() %>"
globalMap.remove("tHash_Lookup_<%=connection.getName() %>");
<%
}
}else{
for(IConnection connection:lookupInput){
%>
<%if(firstIn){%> finally{ <% firstIn = false;}%>
//free memory for "<%=node.getUniqueName() %>"
globalMap.remove("tHash_<%=connection.getName() %>");
<%
}
}
}
}
}
if(needGc) {
%>
}
<%
}
}//isParallelize
%>
globalMap.put("<%=subTree.getName() %>_SUBPROCESS_STATE", 1);
}
<% if (subTree.isMethodSizeNeeded()){ %>
/**
* End of Function: <%=subTree.getName() %>Process
*/
<% } %>

View File

@@ -58,10 +58,15 @@
hSet.add(conn.getName() + templateOrigin);
IMetadataTable metadata = conn.getMetadataTable();
boolean changeHashAndEqualsForBigDecimal = false;
Set<String> hashableColumnsNames = new HashSet<String>();
if(conn.getTarget() instanceof IHashableInputConnections) {
IHashableInputConnections target = (IHashableInputConnections) conn.getTarget();
INode targetNode = conn.getTarget();
if(targetNode instanceof IHashableInputConnections) {
if(targetNode.getUniqueName().startsWith("tMap")) {
changeHashAndEqualsForBigDecimal = "true".equals(ElementParameterParser.getValue(targetNode, "__CHANGE_HASH_AND_EQUALS_FOR_BIGDECIMAL__"));
}
IHashableInputConnections target = (IHashableInputConnections)targetNode;
IHashConfiguration hashConfiguration = target.getHashConfiguration(conn.getName());
if(hashConfiguration != null) {
for(IHashableColumn hashableColumn : hashConfiguration.getHashableColumns()) {
@@ -195,6 +200,10 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
result = prime * result + java.util.Arrays.hashCode(this.<%=column.getLabel() %>);
<%
} else if((javaType == JavaTypesManager.BIGDECIMAL) && changeHashAndEqualsForBigDecimal) {
%>
result = prime * result + ((this.<%=column.getLabel() %> == null) ? 0 : new Double(this.<%=column.getLabel() %>.doubleValue()).hashCode());
<%
} else {
%>
result = prime * result + ((this.<%=column.getLabel() %> == null) ? 0 : this.<%=column.getLabel() %>.hashCode());
@@ -240,7 +249,11 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
if (this.<%=column.getLabel() %> == null) {
if (other.<%=column.getLabel() %> != null)
return false;
} else if (!this.<%=column.getLabel() %>.equals(other.<%=column.getLabel() %>))
<%if((javaType == JavaTypesManager.BIGDECIMAL) && changeHashAndEqualsForBigDecimal) {%>
} else if ((other.<%=column.getLabel() %> == null) || (this.<%=column.getLabel() %>.compareTo(other.<%=column.getLabel() %>)!=0))
<%} else {%>
} else if (!this.<%=column.getLabel() %>.equals(other.<%=column.getLabel() %>))
<%}%>
return false;
<%
}
@@ -1003,7 +1016,6 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
this.isRunning = true;
String currentComponent = "";
java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();
try{
<%
@@ -1014,21 +1026,11 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
<%
}
%>
<%
if(subTree.getRootNode().getComponent().getName().equals("tCollector")){
%>
String iterateId = "." + globalMap.get("<%=subTree.getRootNode().getDesignSubjobStartNode().getUniqueName()%>_THREAD_ID");
<%
}else{
%>
String iterateId = "";
<%
}
%>
String iterateId = "";
int iterateLoop = 0;
String currentComponent = "";
java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();
try {
String currentMethodName = new java.lang.Exception().getStackTrace()[0].getMethodName();

View File

@@ -0,0 +1,102 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.talend.designer.codegen" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="org.talend.designer.codegen" id="componentFilter" name="Component filter"/>
</appInfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<sequence minOccurs="1" maxOccurs="unbounded">
<element ref="Filter"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="Filter">
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn=":org.talend.designer.codegen.components.model.IComponentFactoryFilter"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiinfo"/>
</appInfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

View File

@@ -50,6 +50,7 @@ ComponentsFactory.parentNotRecompiled=Warning\: parents of *.inc.javajet are not
ComponentsLocalProviderService.componentLoadError=Component load error
ComponentsLocalProviderService.talendExchangeError=Talend Exchange Error
ComponentsPreferencePage.ButtonLabel0=Ok
ComponentsPreferencePage.componentAssist=Enable Component Creation Assistant
ComponentsPreferencePage.configuration.LINK_STYLE=Default mapping links display as :
ComponentsPreferencePage.rowLimit=Row limit
ComponentsPreferencePage.WarningMsg=Need to restart Talend Open Studio to load extral components !

View File

@@ -45,6 +45,7 @@ import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.model.RepositoryFactoryProvider;
import org.talend.core.repository.utils.ProjectHelper;
import org.talend.designer.codegen.i18n.Messages;
import org.talend.repository.model.RepositoryConstants;
/***/
public class CodeGenInit implements IApplication {
@@ -157,7 +158,8 @@ public class CodeGenInit implements IApplication {
Context ctx = CorePlugin.getContext();
ctx.putProperty(Context.REPOSITORY_CONTEXT_KEY, repositoryContext);
repositoryFactory.setRepositoryFactoryFromProvider(RepositoryFactoryProvider.getRepositoriyById("local")); //$NON-NLS-1$
repositoryFactory.setRepositoryFactoryFromProvider(RepositoryFactoryProvider
.getRepositoriyById(RepositoryConstants.REPOSITORY_LOCAL_ID));
repositoryFactory.initialize();
}

View File

@@ -14,6 +14,7 @@ package org.talend.designer.codegen;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Vector;
@@ -31,7 +32,6 @@ import org.talend.core.language.ECodeLanguage;
import org.talend.core.model.components.IComponentFileNaming;
import org.talend.core.model.components.IComponentsFactory;
import org.talend.core.model.process.EConnectionType;
import org.talend.core.model.process.ElementParameterParser;
import org.talend.core.model.process.IConnection;
import org.talend.core.model.process.IConnectionCategory;
import org.talend.core.model.process.IContext;
@@ -99,12 +99,65 @@ public class CodeGenerator implements ICodeGenerator {
private String exportAsOSGI = "false";
private static final long INIT_TIMEOUT = 15000; // 15s
private static final long INIT_TIMEOUT = 15 * 60 * 1000; // 15s
private static final long INIT_PAUSE = 1000; // 1s
private static final boolean DEBUG = false;
private class OnRowsEndCode {
private int count = 0; // count onRowsEnd components generates how many times
private List<StringBuffer> bufferList = new ArrayList<StringBuffer>();
private Map<String, Boolean> markedMap = new HashMap<String, Boolean>();
public OnRowsEndCode() {
count = 0;
}
public int getCount() {
return count;
}
public void increase() {
count++;
}
public void decrease() {
count--;
}
public void clear() {
count = 0;
bufferList.clear();
markedMap.clear();
}
public void add(StringBuffer buf) {
if (buf != null) {
bufferList.add(buf);
}
}
public List<StringBuffer> getBuffers() {
return this.bufferList;
}
public Boolean mark(String key) {
return this.markedMap.put(key, true);
}
public Boolean getMarked(String key) {
return this.markedMap.get(key);
}
}
// this one is used to store all the generated code of the subjobs which start with the IN of the virtual component
// with OnRowsEnd. It is used to fix TDI-26484
private OnRowsEndCode onRowsEndCode = new OnRowsEndCode();
/**
* Constructor : use the process and laguage to initialize internal components.
*
@@ -213,6 +266,7 @@ public class CodeGenerator implements ICodeGenerator {
// generate Assembly Code for individual Components
StringBuffer componentsCode = new StringBuffer();
// used to collect all the generated code of onRowsEnd components
long startTimer = System.currentTimeMillis();
long endTimer = startTimer;
try {
@@ -327,15 +381,8 @@ public class CodeGenerator implements ICodeGenerator {
componentsCode.append(generateTypedComponentCode(EInternalTemplate.PART_ENDMAIN,
subTree.getRootNode()));
componentsCode.append(generateComponentsCode(subTree, subTree.getRootNode(), ECodePart.END, null));
StringBuffer finallyPart = new StringBuffer();
finallyPart.append(generateComponentsCode(subTree, subTree.getRootNode(), ECodePart.FINALLY, null));
Vector subprocess_footerArgument = new Vector(2);
subprocess_footerArgument.add(subTree);
subprocess_footerArgument.add(finallyPart.toString());
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER,
subprocess_footerArgument));
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER, subTree));
} else {
StringBuffer finallyPart = new StringBuffer();
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_HEADER, subTree));
componentsCode.append(generateComponentsCode(subTree, subTree.getMergeNode(), ECodePart.BEGIN, null));
@@ -348,17 +395,13 @@ public class CodeGenerator implements ICodeGenerator {
subTree.getRootNode()));
componentsCode.append(generateComponentsCode(subTree, startNode, ECodePart.END, null));
finallyPart.append(generateComponentsCode(subTree, startNode, ECodePart.FINALLY, null));
}
componentsCode.append(generateComponentsCode(subTree, subTree.getMergeNode(), ECodePart.END, null));
finallyPart.append(generateComponentsCode(subTree, subTree.getMergeNode(), ECodePart.FINALLY, null));
Vector subprocess_footerArgument = new Vector(2);
subprocess_footerArgument.add(subTree);
subprocess_footerArgument.add(finallyPart.toString());
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER,
subprocess_footerArgument));
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER, subTree));
}
}
}
}
@@ -615,9 +658,10 @@ public class CodeGenerator implements ICodeGenerator {
private StringBuffer generateComponentsCode(NodesSubTree subProcess, INode node, ECodePart part, String incomingName,
ETypeGen typeGen) throws CodeGeneratorException {
StringBuffer codeComponent = new StringBuffer();
Boolean isMarked = subProcess.isMarkedNode(node, part);
boolean isIterate = isSpecifyInputNode(node, incomingName, EConnectionType.ITERATE);
boolean isOnRowsEnd = isSpecifyInputNode(node, incomingName, EConnectionType.ON_ROWS_END);
if ((isMarked != null) && (!isMarked)) {
switch (part) {
case BEGIN:
@@ -642,16 +686,8 @@ public class CodeGenerator implements ICodeGenerator {
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.END, incomingName, typeGen));
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.END, typeGen));
StringBuffer finallyPart = new StringBuffer();
// if iterate with parallel
finallyPart.append(generateComponentsCode(subProcess, node, ECodePart.FINALLY, incomingName, typeGen));
Vector iterate_Argument = new Vector(2);
iterate_Argument.add(node);
iterate_Argument.add(finallyPart.toString());
codeComponent.append(generateTypedComponentCode(EInternalTemplate.ITERATE_SUBPROCESS_FOOTER,
iterate_Argument, ECodePart.END, incomingName, subProcess));
codeComponent.append(generateTypedComponentCode(EInternalTemplate.ITERATE_SUBPROCESS_FOOTER, node,
ECodePart.END, incomingName, subProcess));
} else {
if (ETypeGen.CAMEL == typeGen) {
if (node.getIncomingConnections() != null && node.getIncomingConnections().size() > 0) {
@@ -685,20 +721,60 @@ public class CodeGenerator implements ICodeGenerator {
codeComponent.append(".id(\"" + node.getUniqueName() + "\")");
}
}
// This code is used to generate the Virtual_IN--->Out part in previous
boolean isNextOnRowsEnd = false;
IConnection conn = null;
if (node.getOutgoingConnections(EConnectionType.ON_ROWS_END).size() == 1) {
conn = node.getOutgoingConnections(EConnectionType.ON_ROWS_END).get(0);
isNextOnRowsEnd = isSpecifyInputNode(conn.getTarget(), conn.getName(), EConnectionType.ON_ROWS_END);
}
if (isNextOnRowsEnd && conn != null && (onRowsEndCode.getMarked(conn.getTarget().getUniqueName()) == null)) {
StringBuffer buffer = new StringBuffer();
onRowsEndCode.add(buffer);
onRowsEndCode.mark(conn.getTarget().getUniqueName());
onRowsEndCode.increase();
buffer.append(generatesTreeCode(subProcess, conn.getTarget(), ECodePart.BEGIN, typeGen));
buffer.append(generateComponentCode(subProcess, conn.getTarget(), ECodePart.BEGIN, incomingName, typeGen));
buffer.append(generateComponentCode(subProcess, conn.getTarget(), ECodePart.MAIN, incomingName, typeGen));
buffer.append(generatesTreeCode(subProcess, conn.getTarget(), ECodePart.MAIN, typeGen));
buffer.append(generateComponentCode(subProcess, conn.getTarget(), ECodePart.END, incomingName, typeGen));
buffer.append(generatesTreeCode(subProcess, conn.getTarget(), ECodePart.END, typeGen));
}
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.MAIN, typeGen));
}
break;
case END:
boolean isOnRowsEnd = isSpecifyInputNode(node, incomingName, EConnectionType.ON_ROWS_END);
if (isOnRowsEnd) {
// append the onRowsEnd code to the end part of the first virtual_Out
onRowsEndCode.decrease();
if (onRowsEndCode.getCount() == 0) {
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.BEGIN, typeGen));
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.BEGIN, incomingName, typeGen));
for (int i = 0; i < onRowsEndCode.getBuffers().size(); i++) {
codeComponent.append(onRowsEndCode.getBuffers().get(i));
}
onRowsEndCode.clear();
}
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.MAIN, incomingName, typeGen));
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.MAIN, typeGen));
// onRowsEndCode.clear();
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.END, incomingName, typeGen));
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.END, typeGen));
// codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.BEGIN, typeGen));
// codeComponent.append(generateComponentCode(subProcess, node, ECodePart.BEGIN, incomingName,
// typeGen));
//
// codeComponent.append(generateComponentCode(subProcess, node, ECodePart.MAIN, incomingName,
// typeGen));
// codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.MAIN, typeGen));
//
// codeComponent.append(generateComponentCode(subProcess, node, ECodePart.END, incomingName,
// typeGen));
// codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.END, typeGen));
} else {
// if (!isIterate) {
@@ -711,10 +787,6 @@ public class CodeGenerator implements ICodeGenerator {
// }
}
break;
case FINALLY:
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.FINALLY, incomingName, typeGen));
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.FINALLY, typeGen));
break;
default:
// do nothing
}
@@ -787,21 +859,24 @@ public class CodeGenerator implements ICodeGenerator {
}
if (ETypeGen.ETL == typeGen) {
for (IConnection connection : node.getOutgoingConnections()) {
/**
* fix for bug: TDI-8508 aim: change the order of end parts to be the opposite order of begin parts
*/
// for (IConnection connection : node.getOutgoingConnections()) {
for (int i = 0; i < node.getOutgoingConnections().size(); i++) {
if ((connection.getLineStyle() == EConnectionType.ITERATE) && (part != ECodePart.MAIN)
&& (part != ECodePart.FINALLY)) {
IConnection connection = null;
if (part == ECodePart.END) {
connection = node.getOutgoingConnections().get(node.getOutgoingConnections().size() - (i + 1));
} else {
connection = node.getOutgoingConnections().get(i);
}
if ((connection.getLineStyle() == EConnectionType.ITERATE) && (part != ECodePart.MAIN)) {
continue;
}
if ((connection.getLineStyle() == EConnectionType.ITERATE)
&& ("true".equals(ElementParameterParser.getValue(connection, "__ENABLE_PARALLEL__"))) //$NON-NLS-1$//$NON-NLS-2$
&& part == ECodePart.FINALLY) {
continue;
}
if ((connection.getLineStyle() == EConnectionType.ON_ROWS_END) && (part != ECodePart.END)
&& (part != ECodePart.FINALLY)) {
if ((connection.getLineStyle() == EConnectionType.ON_ROWS_END) && (part != ECodePart.END)) {
continue;
}
@@ -1034,7 +1109,6 @@ public class CodeGenerator implements ICodeGenerator {
// nodeConfigurer.configure(subTreeNode);
// }
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_HEADER, subTree));
StringBuffer finallyPart = new StringBuffer();
if (subTreeNode != null) {
if (!subTree.isMergeSubTree()) {
@@ -1054,8 +1128,6 @@ public class CodeGenerator implements ICodeGenerator {
// generateTypedComponentCode
// (EInternalTemplate.SUBPROCESS_FOOTER,
// subTree));
finallyPart
.append(generateComponentsCode(subTree, subTree.getRootNode(), ECodePart.FINALLY, null));
} else {
// componentsCode.append(
// generateTypedComponentCode
@@ -1070,8 +1142,6 @@ public class CodeGenerator implements ICodeGenerator {
componentsCode.append(generateComponentsCode(subTree, startNode, ECodePart.MAIN, null));
componentsCode.append(generateComponentsCode(subTree, startNode, ECodePart.END, null));
finallyPart.append(generateComponentsCode(subTree, startNode, ECodePart.FINALLY, null));
}
componentsCode.append(generateTypedComponentCode(EInternalTemplate.PART_ENDMAIN,
@@ -1080,20 +1150,13 @@ public class CodeGenerator implements ICodeGenerator {
componentsCode
.append(generateComponentsCode(subTree, subTree.getMergeNode(), ECodePart.END, null));
finallyPart.append(generateComponentsCode(subTree, subTree.getMergeNode(), ECodePart.FINALLY,
null));
// componentsCode.append(
// generateTypedComponentCode
// (EInternalTemplate.SUBPROCESS_FOOTER,
// subTree));
}
}
Vector subprocess_footerArgument = new Vector(2);
subprocess_footerArgument.add(subTree);
subprocess_footerArgument.add(finallyPart.toString());
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER,
subprocess_footerArgument));
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER, subTree));
}
Vector footerArgument = new Vector(2);
footerArgument.add(process);

View File

@@ -170,4 +170,9 @@ public class CodeGeneratorService implements ICodeGeneratorService {
}
return job;
}
@Override
public boolean isInitializingJet() {
return !CodeGeneratorEmittersPoolFactory.isInitialized() && CodeGeneratorEmittersPoolFactory.isInitializeStart();
}
}

View File

@@ -23,11 +23,11 @@ import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.talend.commons.exception.BusinessException;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.service.IComponentsLocalProviderService;
import org.talend.designer.codegen.components.model.ComponentFileChecker;
import org.talend.designer.codegen.components.ui.ComponenttRunJobPreferencePage;
import org.talend.designer.codegen.components.ui.IComponentPreferenceConstant;
import org.talend.designer.codegen.i18n.Messages;
import org.talend.designer.components.IComponentsLocalProviderService;
/**
* DOC Administrator class global comment. Detailled comment <br/>

View File

@@ -77,14 +77,9 @@ public class JavaRoutineSynchronizer extends AbstractRoutineSynchronizer {
*/
@Override
public void syncAllRoutines() throws SystemException {
syncRoutineItems(getRoutines(),false);
syncRoutineItems(getRoutines());
}
@Override
public void syncAllRoutinesForLogOn() throws SystemException {
syncRoutineItems(getRoutines(),true);
}
/*
* (non-Javadoc)
*
@@ -92,18 +87,13 @@ public class JavaRoutineSynchronizer extends AbstractRoutineSynchronizer {
*/
@Override
public void syncAllPigudf() throws SystemException {
syncRoutineItems(getAllPigudf(),false);
}
@Override
public void syncAllPigudfForLogOn() throws SystemException {
syncRoutineItems(getAllPigudf(), true);
syncRoutineItems(getAllPigudf());
}
private void syncRoutineItems(List<IRepositoryViewObject> routineObjects,boolean forceUpdate) throws SystemException {
private void syncRoutineItems(List<IRepositoryViewObject> routineObjects) throws SystemException {
for (IRepositoryViewObject routine : routineObjects) {
RoutineItem routineItem = (RoutineItem) routine.getProperty().getItem();
syncRoutine(routineItem, true,forceUpdate);
syncRoutine(routineItem, true);
}
try {

View File

@@ -0,0 +1,73 @@
// ============================================================================
//
// Copyright (C) 2006-2010 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.codegen.additionaljet;
import java.util.ArrayList;
import java.util.Collection;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.IExtensionRegistry;
import org.eclipse.core.runtime.Platform;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.designer.codegen.components.model.IComponentFactoryFilter;
import org.talend.designer.codegen.i18n.Messages;
/**
* DOC zwzhao class global comment. Detailled comment
*/
public class ComponentsFactoryProviderManager {
private static Logger log = Logger.getLogger(ComponentsFactoryProviderManager.class);
private static final ComponentsFactoryProviderManager INSTANCE = new ComponentsFactoryProviderManager();
private Collection<IComponentFactoryFilter> filters;
private ComponentsFactoryProviderManager() {
}
public static ComponentsFactoryProviderManager getInstance() {
return INSTANCE;
}
public Collection<IComponentFactoryFilter> getProviders() {
if (filters == null) {
loadFromExtension();
}
return filters;
}
private void loadFromExtension() {
filters = new ArrayList<IComponentFactoryFilter>();
IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
IExtensionPoint extensionPoint = extensionRegistry.getExtensionPoint("org.talend.designer.codegen.componentFilter"); //$NON-NLS-1$
IExtension[] extensions = extensionPoint.getExtensions();
for (IExtension extension : extensions) {
IConfigurationElement[] configurationElements = extension.getConfigurationElements();
for (IConfigurationElement configurationElement : configurationElements) {
try {
IComponentFactoryFilter filter = (IComponentFactoryFilter) configurationElement
.createExecutableExtension("class"); //$NON-NLS-1$
filters.add(filter);
} catch (CoreException e) {
ExceptionHandler.process(e);
}
}
}
}
}

View File

@@ -64,6 +64,7 @@ import org.talend.core.model.component_cache.ComponentsCache;
import org.talend.core.model.component_cache.util.ComponentCacheResourceFactoryImpl;
import org.talend.core.model.components.AbstractComponentsProvider;
import org.talend.core.model.components.ComponentCategory;
import org.talend.core.model.components.ComponentManager;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.components.IComponentsFactory;
@@ -73,13 +74,13 @@ import org.talend.core.ui.branding.IBrandingService;
import org.talend.core.ui.images.CoreImageProvider;
import org.talend.core.utils.TalendCacheUtils;
import org.talend.designer.codegen.CodeGeneratorActivator;
import org.talend.designer.codegen.additionaljet.ComponentsFactoryProviderManager;
import org.talend.designer.codegen.i18n.Messages;
import org.talend.designer.core.ITisLocalProviderService;
import org.talend.designer.core.ITisLocalProviderService.ResClassLoader;
import org.talend.designer.core.model.components.ComponentBundleToPath;
import org.talend.designer.core.model.components.ComponentFilesNaming;
import org.talend.designer.core.model.components.EmfComponent;
import org.talend.designer.core.model.components.manager.ComponentManager;
import org.talend.designer.core.model.process.AbstractProcessProvider;
import org.talend.repository.model.ComponentsFactoryProvider;
@@ -347,7 +348,7 @@ public class ComponentsFactory implements IComponentsFactory {
IBrandingService service = (IBrandingService) GlobalServiceRegister.getDefault().getService(IBrandingService.class);
String[] availableComponents = service.getBrandingConfiguration().getAvailableComponents();
// String[] availableComponents = service.getBrandingConfiguration().getAvailableComponents();
FileFilter skeletonFilter = new FileFilter() {
@@ -470,7 +471,7 @@ public class ComponentsFactory implements IComponentsFactory {
// if the component is already existing in cache and if it's the same, it won't reload all (cf
// flag: foundComponentIsSame)
EmfComponent currentComp = new EmfComponent(pathName, bundleName, xmlMainFile.getParentFile().getName(),
pathSource, cache, foundComponentIsSame);
pathSource, cache, foundComponentIsSame, provider);
if (!foundComponentIsSame) {
// force to call some functions to update the cache. (to improve)
currentComp.isVisibleInComponentDefinition();
@@ -493,10 +494,21 @@ public class ComponentsFactory implements IComponentsFactory {
ComponentManager.setModified(true); // this will force to save the cache later.
}
boolean hiddenComponent = false;
Collection<IComponentFactoryFilter> filters = ComponentsFactoryProviderManager.getInstance()
.getProviders();
for (IComponentFactoryFilter filter : filters) {
if (!filter.isAvailable(currentComp.getName())) {
hiddenComponent = true;
break;
}
}
// if the component is not needed in the current branding,
// and that this one IS NOT a specific component for code generation
// just don't load it
if (availableComponents != null && !ArrayUtils.contains(availableComponents, currentComp.getName())
if (hiddenComponent
&& !(currentComp.getOriginalFamilyName().contains("Technical") || currentComp.isTechnical())) {
continue;
}
@@ -506,7 +518,7 @@ public class ComponentsFactory implements IComponentsFactory {
// if the component is not needed in the current branding,
// and that this one IS a specific component for code generation,
// hide it
if (availableComponents != null && !ArrayUtils.contains(availableComponents, currentComp.getName())
if (hiddenComponent
&& (currentComp.getOriginalFamilyName().contains("Technical") || currentComp.isTechnical())) {
currentComp.setVisible(false);
currentComp.setTechnical(true);
@@ -520,8 +532,10 @@ public class ComponentsFactory implements IComponentsFactory {
if (componentList.contains(currentComp)) {
log.warn("Component " + currentComp.getName() + " already exists. Cannot load user version."); //$NON-NLS-1$ //$NON-NLS-2$
} else {
currentComp.setResourceBundle(getComponentResourceBundle(currentComp, source.toString(), null,
provider));
// currentComp.setResourceBundle(getComponentResourceBundle(currentComp, source.toString(),
// null,
// provider));
currentComp.setProvider(provider);
componentList.add(currentComp);
if (isCustom) {
customComponentList.add(currentComp);

View File

@@ -0,0 +1,22 @@
// ============================================================================
//
// Copyright (C) 2006-2010 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.codegen.components.model;
/**
* DOC zwzhao class global comment. Detailled comment
*/
public interface IComponentFactoryFilter {
public boolean isAvailable(String componentName);
}

View File

@@ -43,10 +43,13 @@ import org.talend.commons.ui.utils.workbench.preferences.ComboFieldEditor;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.PluginChecker;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.ComponentPaletteUtilities;
import org.talend.designer.codegen.CodeGeneratorActivator;
import org.talend.designer.codegen.ICodeGeneratorService;
import org.talend.designer.codegen.i18n.Messages;
import org.talend.designer.core.DesignerPlugin;
import org.talend.designer.core.assist.TalendEditorComponentCreationUtil;
import org.talend.designer.core.ui.preferences.TalendDesignerPrefConstants;
/**
* This class represents a preference page that is contributed to the Preferences dialog. By subclassing
@@ -62,6 +65,8 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
private CheckBoxFieldEditor doNotShowJobletAfterDoubleClickCheckBoxField;
private CheckBoxFieldEditor enableComponentAssistCheckBoxField;
private DirectoryFieldEditor filePathTemp;
private final String dataViewer = "Data Viewer"; //$NON-NLS-1$
@@ -72,6 +77,8 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
private final String joblet = "Joblet"; //$NON-NLS-1$
private final String assist = "Component Assist"; //$NON-NLS-1$
private static String oldPath = null;
/**
@@ -190,6 +197,16 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
return group;
}
protected Composite createForComponentAssist(Composite parent) {
Group group = createGroup(parent);
group.setText(assist);
Composite composite = createComposite(group);
addFontAndColorFieldsForAssist(composite);
GridLayout layout = createLayout();
composite.setLayout(layout);
return group;
}
protected Group createGroup(Composite parent) {
Group group = new Group(parent, SWT.NONE);
GridData layoutData = new GridData(GridData.FILL_HORIZONTAL);
@@ -222,6 +239,7 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
protected void addFontAndColorFieldsForDataViewer(Composite composite) {
IntegerFieldEditor rowLimit = new IntegerFieldEditor(IComponentPreferenceConstant.LIMIT,
Messages.getString("ComponentsPreferencePage.rowLimit"), composite);//$NON-NLS-1$
rowLimit.setValidRange(1, 1000);
addField(rowLimit);
Text textControl = rowLimit.getTextControl(composite);
GridData layoutData = new GridData();
@@ -245,6 +263,12 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
addField(doNotShowJobletAfterDoubleClickCheckBoxField);
}
protected void addFontAndColorFieldsForAssist(Composite composite) {
enableComponentAssistCheckBoxField = new CheckBoxFieldEditor(TalendDesignerPrefConstants.COMPONENT_ASSIST,
Messages.getString("ComponentsPreferencePage.componentAssist"), composite); //$NON-NLS-1$
addField(enableComponentAssistCheckBoxField);
}
@Override
public void createFieldEditors() {
final Composite parent = getFieldEditorParent();
@@ -261,7 +285,7 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
public void modifyText(ModifyEvent e) {
String newPath = filePathTemp.getTextControl(parent).getText();
File file = new File(newPath);
if (!file.exists() && !"".equals(newPath)) {
if (!file.exists() && !"".equals(newPath)) { //$NON-NLS-1$
// getPreferenceStore().setValue(IComponentPreferenceConstant.USER_COMPONENTS_FOLDER, "");
filePathTemp.showErrorMessage();
setValid(false);
@@ -280,6 +304,7 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
if (PluginChecker.isJobLetPluginLoaded()) {
createForJoblet(parent);
}
createForComponentAssist(parent);
parent.pack();
}
@@ -294,6 +319,35 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
@Override
public void init(IWorkbench workbench) {
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#initialize()
*/
@Override
protected void initialize() {
super.initialize();
// Because should save the value of TalendDesignerPrefConstants.COMPONENT_ASSIST in
// DesignerPlugin.getDefault().getPreferenceStore()
enableComponentAssistCheckBoxField.setPreferenceStore(DesignerPlugin.getDefault().getPreferenceStore());
enableComponentAssistCheckBoxField.load();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.preference.FieldEditorPreferencePage#performDefaults()
*/
@Override
protected void performDefaults() {
super.performDefaults();
// Because should save the value of TalendDesignerPrefConstants.COMPONENT_ASSIST in
// DesignerPlugin.getDefault().getPreferenceStore(), also PreferenceInitializer
enableComponentAssistCheckBoxField.setPreferenceStore(DesignerPlugin.getDefault().getPreferenceStore());
enableComponentAssistCheckBoxField.loadDefault();
}
@Override
@@ -301,19 +355,22 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
boolean flag = super.performOk();
String newPath = CodeGeneratorActivator.getDefault().getPreferenceStore()
.getString(IComponentPreferenceConstant.USER_COMPONENTS_FOLDER);
if ("".equals(oldPath)) {
if ("".equals(oldPath)) { //$NON-NLS-1$
oldPath = null;
}
if ("".equals(newPath)) {
if ("".equals(newPath)) { //$NON-NLS-1$
newPath = null;
}
DesignerPlugin.getDefault().getPreferenceStore()
.setValue(TalendDesignerPrefConstants.COMPONENT_ASSIST, enableComponentAssistCheckBoxField.getBooleanValue());
TalendEditorComponentCreationUtil.updateAssistListener();
if (this.oldPath != newPath) {
final IRunnableWithProgress runnable = new IRunnableWithProgress() {
@Override
public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask("Loading user component ......", 100);
monitor.beginTask("Loading user component ......", 100); //$NON-NLS-1$
Display display = Display.getCurrent();
if (display == null) {
display = Display.getDefault();
@@ -336,7 +393,7 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
@Override
public void done(org.eclipse.core.runtime.jobs.IJobChangeEvent event) {
ComponentUtilities.updatePalette();
ComponentPaletteUtilities.updatePalette();
monitor.worked(100);
monitor.done();
};

View File

@@ -52,6 +52,7 @@ public enum EInternalTemplate {
MR_COMPONENT_MRCONFIG_HEADER("mr_component_mrconfig_header", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
MR_COMPONENT_MRCONFIG_FOOTER("mr_component_mrconfig_footer", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
MR_SUBPROCESS_HEADER("mr_subprocess_header", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
MR_SUBPROCESS_RUN("mr_subprocess_run", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
MR_SUBPROCESS_FOOTER("mr_subprocess_footer", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
HEADER_ADDITIONAL("header_additional", "0.0.1"); //$NON-NLS-1$ //$NON-NLS-2$

View File

@@ -0,0 +1,159 @@
// ============================================================================
//
// Copyright (C) 2006-2013 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.codegen.config;
import java.util.ArrayList;
import java.util.List;
import org.talend.core.model.process.IConnection;
import org.talend.core.model.process.IConnectionCategory;
import org.talend.core.model.process.INode;
/**
* Use for wrap a {@link INode} to provide faster and convenient methods to get
* connections, such as {@link #inputConn}, {@link #connResponse},
* {@link #connFault}, {@link #dataOutputs}.
*
* @author GaoZone
* @update 2013-9-12 [TESB-11028]
*/
public class NodeConnectionsHelper {
/** The node. */
private final INode node;
/** The input conn. */
private IConnection inputConn;
/** The conn response. */
private IConnection connResponse;
/** The conn fault. */
private IConnection connFault;
/** The data outputs. */
private List<IConnection> dataOutputs;
/**
* Gets the input conn.
*
* @return the input conn
*/
public IConnection getInputConn() {
return inputConn;
}
/**
* Gets the output conn response.
*
* @return the output conn response
*/
public IConnection getOutputConnResponse() {
return connResponse;
}
/**
* Gets the output conn fault.
*
* @return the output conn fault
*/
public IConnection getOutputConnFault() {
return connFault;
}
/**
* Gets the data outputs.
*
* @return the data outputs
*/
public List<IConnection> getDataOutputs() {
return dataOutputs;
}
/**
* Instantiates a new node connections helper.
*
* @param node
* the node
*/
public NodeConnectionsHelper(INode node) {
this(node, false);
}
/**
* Instantiates a new node connections helper.
*
* @param node
* the node
* @param stopInitialWhenNoInput
* the stop initial when no input
*/
public NodeConnectionsHelper(INode node, boolean stopInitialWhenNoInput) {
this.node = node;
initConnections(stopInitialWhenNoInput);
}
/**
* Inits the connections.
*
* @param stopInitialWhenNoInput
* the stop initial when no input
*/
private void initConnections(boolean stopInitialWhenNoInput) {
initInputConnection();
if (!(stopInitialWhenNoInput && inputConn == null)) {
initOutputConnections();
}
}
/**
* Inits the {@link #inputConn} connection.
*/
private void initInputConnection() {
List<? extends IConnection> incomingConnections = node.getIncomingConnections();
if (incomingConnections != null) {
for (IConnection conn : incomingConnections) {
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
inputConn = conn;
break;
}
}
}
}
/**
* Inits the {@link #dataOutputs}, {@link #connResponse}, {@link #connFault}
* connections.
*/
private void initOutputConnections() {
List<? extends IConnection> conns = node.getOutgoingSortedConnections();
dataOutputs = new ArrayList<IConnection>();
if (conns != null) {
for (IConnection conn : conns) {
if (conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)) {
dataOutputs.add(conn);
}
}
}
List<? extends IConnection> connsResponse = node.getOutgoingConnections("RESPONSE");
List<? extends IConnection> connsFault = node.getOutgoingConnections("FAULT");
if (connsResponse.size() == 1) {
connResponse = connsResponse.get(0);
}
if (connsFault.size() == 1) {
connFault = connsFault.get(0);
}
}
}

View File

@@ -0,0 +1,232 @@
// ============================================================================
//
// Copyright (C) 2006-2013 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.codegen.config;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.talend.core.model.process.ElementParameterParser;
import org.talend.core.model.process.IElementParameter;
import org.talend.core.model.process.INode;
/**
* Use for wrap a {@link INode} to provide faster and convenient methods to get
* parameters.
*
* @author GaoZone
* @update 2013-9-12 [TESB-11028]
*/
public class NodeParamsHelper {
/** The node use to wrap. */
private final INode node;
/** The parameter map use to cache params by name. */
private final HashMap<String, IElementParameter> parameterMap;
/**
* Use for method return property(K-V) entries in list/map.
*/
private class PropEntry implements Map.Entry<String, String> {
/** The key. */
private final String key;
/** The value. */
private final String value;
/**
* Instantiates a new prop entry.
*
* @param key
* the key
* @param value
* the value
*/
public PropEntry(String key, String value) {
this.key = key;
this.value = value;
}
@Override
public String getKey() {
return key;
}
@Override
public String getValue() {
return value;
}
@Override
public String setValue(String value) {
throw new UnsupportedOperationException();
}
}
/**
* Instantiates a new node params helper.
*
* @param node
* the node
*/
public NodeParamsHelper(INode node) {
this.node = node;
// cache ParameterMap
parameterMap = new HashMap<String, IElementParameter>();
for (IElementParameter parameter : node.getElementParametersWithChildrens()) {
parameterMap.put(parameter.getVariableName(), parameter);
}
}
/**
* Gets the parameter from cached name map.
*
* @param key
* the key
* @return the parameter
*/
private IElementParameter getParameter(String key) {
return parameterMap.get(key);
}
/**
* Gets the boolean parameter by {@code key}. If no {@code key} provided
*
* @param key
* the key
* @return the boolean parameter
*/
public boolean getBoolParam(String key) {
return "true".equals(getStringParam(key));
}
/**
* Gets the string parameter by {@code key}.
*
* @param key
* the key
* @return the parameter value in String
*/
public String getStringParam(String key) {
// return ElementParameterParser.getValue(node, key);
try {
IElementParameter param = getParameter(key);
return getDisplayValue(param);
} catch (Throwable e) {
// ignore and return "";
e.printStackTrace();
return "";
}
}
/**
* Gets string parameter by {@code key}. Especially, if the parameter's
* controller is not visible, then also return {@code ""}.
*
* @param key
* the key
* @return the parameter value
*/
public String getVisibleStringParam(String key) {
String value = getStringParam(key);
if (!("").equals(value)) {
IElementParameter param = getParameter(key);
if (param.isShow(node.getElementParametersWithChildrens())) {
return value;
}
}
return "";
}
/**
* Gets the object param. </br>//TODO Not used name map yet, and be improve
* by expose methods from {@link ElementParameterParser}
*
* @param <T>
* the generic type
* @param key
* the key
* @return the object param
*/
@SuppressWarnings("unchecked")
public <T> T getObjectParam(String key) {
return (T) ElementParameterParser.getObjectValue(node, key);
}
/**
* Gets boolean parameter by {@code key}. Especially, if the parameter's
* controller is not visible, then also return {@code false}.
*
* @param key
* the key
* @return the parameter value
*/
public boolean getVisibleBoolParam(final String key) {
if (key == null) {
return false;
}
if (getBoolParam(key)) {
// value is true, then check visible
// no need null check, has true value must not null.
IElementParameter param = getParameter(key);
return param.isShow(node.getElementParametersWithChildrens());
}
return false;
}
/**
* Gets the properties pram.
*
* @param key
* the key
* @return the properties pram
*/
public List<Entry<String, String>> getPropertiesPram(String key) {
try {
List<Map<String, String>> paramValue = getObjectParam(key);
List<Entry<String, String>> properties = new ArrayList<Entry<String, String>>(paramValue.size());
for (Map<String, String> map : paramValue) {
properties.add(new PropEntry(map.get("PROP_NAME"), map.get("PROP_VALUE")));
}
return properties;
} catch (Throwable e) {
// ignore and return empty list.
e.printStackTrace();
return Collections.emptyList();
}
}
/**
* Gets the display value.
*
* @param param
* the param
* @return the display value
* {@code ElementParameterParser.getDisplayValue(final IElementParameter param)}
*/
private static String getDisplayValue(final IElementParameter param) {
if (param == null) {
return "";
}
return ElementParameterParser.getStringElementParameterValue(param);
}
}

View File

@@ -19,7 +19,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.talend.core.model.process.AbstractNode;
import org.talend.core.model.process.EConnectionType;
import org.talend.core.model.process.ElementParameterParser;
import org.talend.core.model.process.IConnection;
@@ -52,8 +51,6 @@ public class NodesSubTree {
HashMap<INode, Integer> visitedNodesEndCode;
HashMap<INode, Integer> visitedNodesFinallyCode;
private static final boolean DEBUG = false;
boolean isMergeSubTree = false;
@@ -66,10 +63,6 @@ public class NodesSubTree {
INode mergeNode;
boolean isRefSubTree = false;// for mr only
List<INode> refNodes; // for mr only
/* display size of method code in comment */
boolean methodSizeNeeded = false;
@@ -95,7 +88,6 @@ public class NodesSubTree {
this.visitedNodesMainCode = new HashMap<INode, Integer>();
this.visitedNodesBeginCode = new HashMap<INode, Integer>();
this.visitedNodesEndCode = new HashMap<INode, Integer>();
this.visitedNodesFinallyCode = new HashMap<INode, Integer>();
this.isMergeSubTree = node.isThereLinkWithMerge();
allMainSubTreeConnections = new ArrayList<IConnection>();
@@ -113,45 +105,17 @@ public class NodesSubTree {
}
}
public NodesSubTree(INode node, List<? extends INode> nodes, ETypeGen typeGen) {
if (typeGen == ETypeGen.CAMEL) {
this.rootNode = node;
this.name = node.getUniqueName();
this.nodes = new ArrayList<INode>();
this.visitedNodesMainCode = new HashMap<INode, Integer>();
allMainSubTreeConnections = new ArrayList<IConnection>();
this.rootNode = node;
this.name = node.getUniqueName();
this.nodes = new ArrayList<INode>();
this.visitedNodesMainCode = new HashMap<INode, Integer>();
allMainSubTreeConnections = new ArrayList<IConnection>();
buildCamelSubTree(node, false);
} else if (typeGen == ETypeGen.MR) {
this.rootNode = node;
this.name = node.getUniqueName();
this.nodes = new ArrayList<INode>();
afterSubProcesses = new ArrayList<String>();
beforeSubProcesses = new ArrayList<String>();
allMainSubTreeConnections = new ArrayList<IConnection>();
buildMRSubTree(node);
if (refNodes != null) {
for (INode refNode : refNodes) {
this.nodes.add(refNode);
for (IConnection connection : refNode.getOutgoingSortedConnections()) {
if (connection.getTarget().isActivate()) {
if (connection.getLineStyle().equals(EConnectionType.RUN_AFTER)) {
afterSubProcesses.add(connection.getTarget().getUniqueName());
}
if (connection.getLineStyle().equals(EConnectionType.ON_SUBJOB_OK)) {
beforeSubProcesses.add(connection.getTarget().getUniqueName());
}
}
}
}
}
}
buildCamelSubTree(node, false);
}
/**
* unite all the relative merge nodes to this subTree
@@ -195,32 +159,6 @@ public class NodesSubTree {
nodes.add(node);
}
private void buildMRSubTree(INode node) {
if (((AbstractNode) node).isThereLinkWithRef()) {
this.isRefSubTree = true;
this.refNodes = ((AbstractNode) node).getRefNodes();
}
for (IConnection connection : node.getOutgoingSortedConnections()) {
if (connection.getTarget().isActivate()) {
if (connection.getLineStyle().hasConnectionCategory(IConnectionCategory.MAIN)) {
if (!connection.getLineStyle().hasConnectionCategory(IConnectionCategory.USE_ITERATE)) {
allMainSubTreeConnections.add(connection);
}
buildMRSubTree(connection.getTarget());
}
if (connection.getLineStyle().equals(EConnectionType.RUN_AFTER)) {
afterSubProcesses.add(connection.getTarget().getUniqueName());
}
if (connection.getLineStyle().equals(EConnectionType.ON_SUBJOB_OK)) {
beforeSubProcesses.add(connection.getTarget().getUniqueName());
}
}
}
nodes.add(node);
}
private void buildSubTree(INode node, boolean breakWhenMerge) {
if (DEBUG) {
System.out.print(node.getUniqueName());
@@ -266,7 +204,6 @@ public class NodesSubTree {
visitedNodesMainCode.put(node, 0);
visitedNodesBeginCode.put(node, 0);
visitedNodesEndCode.put(node, 0);
visitedNodesFinallyCode.put(node, 0);
nodes.add(node);
}
@@ -300,13 +237,6 @@ public class NodesSubTree {
} else {
return false;
}
case FINALLY:
Integer countFinally = visitedNodesFinallyCode.get(node);
if (countFinally == null) {
return null;
} else {
return false;
}
default:
return result;
}
@@ -329,8 +259,6 @@ public class NodesSubTree {
case END:
visitedNodesEndCode.put(node, visitedNodesEndCode.get(node) + 1);
break;
case FINALLY:
visitedNodesFinallyCode.put(node, visitedNodesFinallyCode.get(node) + 1);
default:
// do nothing
}
@@ -440,7 +368,6 @@ public class NodesSubTree {
Collections.sort(mergeBranchStarts, new Comparator<INode>() {
@Override
public int compare(INode node1, INode node2) {
if (node1.getLinkedMergeInfo().get(mergeNode) > node2.getLinkedMergeInfo().get(mergeNode)) {
return 1;
@@ -488,40 +415,4 @@ public class NodesSubTree {
public void setSubTreeContainsParallelIterate(boolean subTreeContainsParallelIterate) {
this.subTreeContainsParallelIterate = subTreeContainsParallelIterate;
}
/**
* Getter for isRefSubTree.
*
* @return the isRefSubTree
*/
public boolean isRefSubTree() {
return this.isRefSubTree;
}
/**
* Sets the isRefSubTree.
*
* @param isRefSubTree the isRefSubTree to set
*/
public void setRefSubTree(boolean isRefSubTree) {
this.isRefSubTree = isRefSubTree;
}
/**
* Getter for refNodes.
*
* @return the refNodes
*/
public List<INode> getRefNodes() {
return this.refNodes;
}
/**
* Sets the refNodes.
*
* @param refNodes the refNodes to set
*/
public void setRefNodes(List<INode> refNodes) {
this.refNodes = refNodes;
}
}

View File

@@ -16,7 +16,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.talend.core.model.process.EConnectionType;
import org.talend.core.model.process.INode;
import org.talend.core.model.process.IProcess;
import org.talend.core.model.temp.ETypeGen;
@@ -53,11 +52,7 @@ public class NodesTree {
this.nodes = treeNodes;
buildRootNodes(process);
if (init) {
if (typeGen == ETypeGen.CAMEL) {
buildCamelSubTrees(true);
} else if (typeGen == ETypeGen.MR) {
buildMRSubTrees();
}
buildCamelSubTrees(true);
}
}
@@ -98,21 +93,6 @@ public class NodesTree {
}
}
private void buildMRSubTrees() {
subTrees = new ArrayList<NodesSubTree>();
for (INode node : nodes) {
if (((node.isSubProcessStart()) && (node.isActivate())) || (rootNodes.contains(node))) {
if (node.getOutgoingConnections(EConnectionType.FLOW_REF) != null
&& node.getOutgoingConnections(EConnectionType.FLOW_REF).size() == 1) {
// ignore the node when it output connection is flow_ref, because it has been added in
// AbstractNode.setRefNodes
continue;
}
subTrees.add(new NodesSubTree(node, nodes, ETypeGen.MR));
}
}
}
/**
* Build Root Nodes List.
*

View File

@@ -16,32 +16,34 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
import org.apache.commons.lang.ArrayUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.emf.codegen.CodeGenPlugin;
import org.eclipse.emf.codegen.jet.JETCompiler;
@@ -50,14 +52,20 @@ import org.eclipse.emf.codegen.jet.JETException;
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.util.BasicMonitor;
import org.eclipse.emf.common.util.Monitor;
import org.eclipse.jdt.core.IClasspathAttribute;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaModel;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.compiler.CompilationProgress;
import org.eclipse.jdt.core.compiler.batch.BatchCompiler;
import org.osgi.framework.Bundle;
import org.talend.commons.debug.TalendDebugHandler;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.generation.JavaUtils;
import org.talend.designer.codegen.i18n.Messages;
import org.talend.designer.core.model.components.ComponentBundleToPath;
/**
* DOC mhirt class global comment. Detailled comment <br/>
@@ -162,8 +170,6 @@ public class TalendJetEmitter extends JETEmitter {
IProject project;
IJavaProject javaProject;
public TalendEclipseHelper(IProgressMonitor progressMonitor, TalendJetEmitter jetEmitter, boolean rebuild)
throws JETException {
progressMonitor.beginTask("", 10); //$NON-NLS-1$
@@ -191,26 +197,6 @@ public class TalendJetEmitter extends JETEmitter {
project.open(new SubProgressMonitor(progressMonitor, 5));
project.refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(progressMonitor, 1));
}
IProjectDescription description = project.getDescription();
// only in case it's one old workspace and got no nature defined.
if (!ArrayUtils.contains(description.getNatureIds(), JavaCore.NATURE_ID)) {
description.setNatureIds(new String[] { JavaCore.NATURE_ID });
project.setDescription(description, new SubProgressMonitor(progressMonitor, 1));
}
javaProject = JavaCore.create(project);
progressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETInitializingProject_message", //$NON-NLS-1$
new Object[] { project.getName() }));
IClasspathEntry classpathEntry = JavaCore.newSourceEntry(new Path("/" + project.getName() + "/src")); //$NON-NLS-1$ //$NON-NLS-2$
IClasspathEntry jreClasspathEntry = JavaCore
.newContainerEntry(new Path("org.eclipse.jdt.launching.JRE_CONTAINER")); //$NON-NLS-1$
Set<IClasspathEntry> classpath = new HashSet<IClasspathEntry>();
classpath.add(classpathEntry);
classpath.add(jreClasspathEntry);
classpath.addAll(jetEmitter.getClasspathEntries());
IFolder sourceFolder = project.getFolder(new Path("src")); //$NON-NLS-1$
if (!sourceFolder.exists()) {
@@ -221,14 +207,6 @@ public class TalendJetEmitter extends JETEmitter {
runtimeFolder.create(false, true, new SubProgressMonitor(progressMonitor, 1));
}
if (isClasspathDifferent(javaProject, classpath)) {
IClasspathEntry[] classpathEntryArray = classpath.toArray(new IClasspathEntry[classpath.size()]);
javaProject.setRawClasspath(classpathEntryArray, new SubProgressMonitor(progressMonitor, 1));
javaProject.setOutputLocation(new Path("/" + project.getName() + "/runtime"), new SubProgressMonitor( //$NON-NLS-1$ //$NON-NLS-2$
progressMonitor, 1));
javaProject.getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new NullProgressMonitor());
}
progressMonitor.done();
} catch (CoreException exception) {
throw new JETException(exception);
@@ -319,7 +297,8 @@ public class TalendJetEmitter extends JETEmitter {
}
}
boolean needRebuild = true;
IFile targetFile = sourceContainer.getFile(new Path(jetCompiler.getSkeleton().getClassName() + ".java")); //$NON-NLS-1$
String targetFileName = jetCompiler.getSkeleton().getClassName() + ".java"; //$NON-NLS-1$
IFile targetFile = sourceContainer.getFile(new Path(targetFileName));
if (!targetFile.exists()) {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETCreating_message", //$NON-NLS-1$
new Object[] { targetFile.getFullPath() }));
@@ -360,26 +339,17 @@ public class TalendJetEmitter extends JETEmitter {
if (needRebuild || jetEmitter.method == null) {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETBuilding_message", //$NON-NLS-1$
new Object[] { project.getName() }));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
compileSingleClass(project, targetFile, baos);
String output = baos.toString();
// project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new
// SubProgressMonitor(subProgressMonitor, 1));
project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new SubProgressMonitor(subProgressMonitor, 1));
IMarker[] markers = targetFile.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
boolean errors = false;
for (int i = 0; i < markers.length; ++i) {
IMarker marker = markers[i];
if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
errors = true;
subProgressMonitor.subTask(marker.getAttribute(IMarker.MESSAGE) + " : " //$NON-NLS-1$
+ (CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) })));
log.error(jetEmitter.templateURI.substring(jetEmitter.templateURI.lastIndexOf("/") + 1) //$NON-NLS-1$
+ Messages.getString(
"TalendJetEmitter.compileFail", //$NON-NLS-1$
marker.getAttribute(IMarker.MESSAGE),
(CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) }))));
setClassAvailable(false);
}
if (!output.isEmpty()) {
errors = true;
log.error(output);
setClassAvailable(false);
}
if (!errors) {
@@ -388,8 +358,7 @@ public class TalendJetEmitter extends JETEmitter {
// Construct a proper URL for relative lookup.
//
URL url = new File(project.getLocation()
+ "/" + javaProject.getOutputLocation().removeFirstSegments(1) + "/") //$NON-NLS-1$ //$NON-NLS-2$
URL url = new File(project.getLocation() + "/" + "runtime" + "/") //$NON-NLS-1$ //$NON-NLS-2$
.toURL();
URLClassLoader theClassLoader = new URLClassLoader(new URL[] { url }, jetEmitter.classLoader);
Class theClass = theClassLoader.loadClass((packageName.length() == 0 ? "" : packageName + ".") //$NON-NLS-1$ //$NON-NLS-2$
@@ -431,6 +400,163 @@ public class TalendJetEmitter extends JETEmitter {
}
}
private void compileSingleClass(IProject project, IFile javaFile, OutputStream errorMsgStream) {
compileSingleClass(project, javaFile, null, errorMsgStream, null);
}
/**
* DOC ycbai Comment method "compileSingleClass".
* <p>
* Compile one class directly.
*
* @param project
* @param javaFile
* @param standardMsgStream
* @param errorMsgStream
* @param progress
*/
private void compileSingleClass(IProject project, IFile javaFile, OutputStream standardMsgStream,
OutputStream errorMsgStream, CompilationProgress progress) {
OutputStream msgStream = standardMsgStream;
OutputStream errorStream = errorMsgStream;
if (msgStream == null) {
msgStream = System.out;
}
if (errorStream == null) {
errorStream = System.err;
}
BatchCompiler.compile(getBatchCompilerCmd(project, javaFile), new PrintWriter(msgStream), new PrintWriter(errorStream),
progress);
}
/**
* DOC ycbai Comment method "getBatchCompilerCmd".
*
* @param project
* @param javaFile
* @return
*/
private String[] getBatchCompilerCmd(IProject project, IFile javaFile) {
List<String> cmdList = new ArrayList<String>();
cmdList.add(javaFile.getLocation().toPortableString());
String classpathStr = getClasspathStr();
if (!classpathStr.isEmpty()) {
cmdList.add("-classpath"); //$NON-NLS-1$
cmdList.add(classpathStr);
}
//cmdList.add("-time"); //$NON-NLS-1$
cmdList.add("-g:none"); //$NON-NLS-1$
cmdList.add("-warn:none"); //$NON-NLS-1$
cmdList.add("-1.5"); //$NON-NLS-1$
cmdList.add("-d"); //$NON-NLS-1$
cmdList.add(getClassOutputPath(project, javaFile));
return cmdList.toArray(new String[0]);
}
/**
* DOC ycbai Comment method "getClassOutputPath".
* <p>
* Get class output folder of project.
*
* @param project
* @param javaFile
* @return
*/
private String getClassOutputPath(IProject project, IFile javaFile) {
IFolder runtimeFolder = project.getFolder("runtime"); //$NON-NLS-1$
return runtimeFolder.getLocation().toPortableString();
}
/**
* DOC ycbai Comment method "getClasspathStr".
* <p>
* Get character string of classpath with separator.
*
* @return
*/
private String getClasspathStr() {
StringBuffer cps = new StringBuffer();
String classPathSeparator = JavaUtils.JAVA_CLASSPATH_SEPARATOR;
List<IClasspathEntry> cpes = getClasspathEntries();
for (IClasspathEntry cpe : cpes) {
String classpath = getClasspathFromEntry(cpe);
cps.append(classpath).append(classPathSeparator);
}
if (cps.length() > 0) {
cps.deleteCharAt(cps.length() - 1);
}
return cps.toString();
}
/**
* DOC ycbai Comment method "getClasspathFromEntry".
* <p>
* Get the absolute classpath.
*
* @param entry
* @return
*/
private String getClasspathFromEntry(IClasspathEntry entry) {
if (entry == null) {
return null;
}
IClasspathAttribute[] extraAttributes = entry.getExtraAttributes();
if (extraAttributes.length > 0) {
for (IClasspathAttribute ca : extraAttributes) {
if ("plugin_id".equals(ca.getName())) { //$NON-NLS-1$
String pluginId = ca.getValue();
if (pluginId != null) {
File plugin = new File(ComponentBundleToPath.getPathFromBundle(pluginId));
String pluginPath = plugin.getAbsolutePath();
if (Platform.inDevelopmentMode() && plugin.isDirectory()) {
String output;
try {
output = getIdeOutputSubDir(Platform.getBundle(pluginId));
if (output != null) {
pluginPath = pluginPath + File.separator + output;
}
} catch (IOException e) {
// for dev only so just keep a print stacktrace
e.printStackTrace();
}
}
return pluginPath;
}
}
}
}
return null;
}
/**
* DOC ycbai Comment method "getIdeOutputSubDir".
* <p>
* Get class folder path of bundle. Just use for development environment.
*
* @param bundle
* @return
* @throws IOException
*/
private String getIdeOutputSubDir(Bundle bundle) throws IOException {
String outputSubDir = null;
// get output folder path in case we are running from the IDE
URL buildPropUrl = bundle.getEntry("/build.properties"); //$NON-NLS-1$
if (buildPropUrl != null) {
Properties buildProp = new Properties();
InputStream buildPropStream = buildPropUrl.openStream();
try {
buildProp.load(buildPropStream);
outputSubDir = buildProp.getProperty("output..", null); //$NON-NLS-1$
} finally {
buildPropStream.close();
}
}
return outputSubDir;
}
/*
* (non-Javadoc)
*
@@ -516,7 +642,7 @@ public class TalendJetEmitter extends JETEmitter {
public boolean isClassAvailable() {
return this.classAvailable;
}
public void setClassAvailable(boolean classAvailable) {
this.classAvailable = classAvailable;
}

View File

@@ -22,13 +22,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.ArrayUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -36,37 +33,37 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.emf.codegen.CodeGenPlugin;
import org.eclipse.emf.codegen.jet.JETEmitter;
import org.eclipse.emf.codegen.jet.JETException;
import org.eclipse.emf.common.CommonPlugin;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.talend.commons.CommonsPlugin;
import org.talend.commons.exception.BusinessException;
import org.talend.commons.model.components.IComponentConstants;
import org.talend.commons.ui.runtime.CommonUIPlugin;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.utils.StringUtils;
import org.talend.commons.utils.io.IOUtils;
import org.talend.commons.utils.time.TimeMeasure;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.PluginChecker;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.components.ComponentCompilations;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.components.IComponentFileNaming;
import org.talend.core.model.components.IComponentsFactory;
import org.talend.core.model.temp.ECodePart;
import org.talend.core.ui.branding.IBrandingService;
import org.talend.core.utils.AccessingEmfJob;
import org.talend.designer.codegen.CodeGeneratorActivator;
import org.talend.designer.codegen.config.CodeGeneratorProgressMonitor;
import org.talend.designer.codegen.ICodeGeneratorService;
import org.talend.designer.codegen.config.EInternalTemplate;
import org.talend.designer.codegen.config.JetBean;
import org.talend.designer.codegen.config.LightJetBean;
@@ -136,23 +133,18 @@ public final class CodeGeneratorEmittersPoolFactory {
jetFilesCompileFail.clear();
IProgressMonitor monitorWrap = null;
boolean headless = CommonUIPlugin.isFullyHeadless();
if (!headless) {
monitorWrap = new CodeGeneratorProgressMonitor(delegateMonitor);
} else {
monitorWrap = new NullProgressMonitor();
}
monitorWrap = new NullProgressMonitor();
ECodeLanguage codeLanguage = LanguageManager.getCurrentLanguage();
initializeJetEmittersProject(monitorWrap);
TimeMeasure.step("initialize Jet Emitters", "initialize JET Project"); //$NON-NLS-1$ //$NON-NLS-2$
CodeGeneratorInternalTemplatesFactory templatesFactory = CodeGeneratorInternalTemplatesFactoryProvider
.getInstance();
templatesFactory.setCurrentLanguage(codeLanguage);
templatesFactory.init();
IComponentsFactory componentsFactory = ComponentsFactoryProvider.getInstance();
componentsFactory.getComponents();
long startTime = System.currentTimeMillis();
@@ -163,6 +155,7 @@ public final class CodeGeneratorEmittersPoolFactory {
List<TemplateUtil> templates = templatesFactory.getTemplates();
Set<IComponent> components = componentsFactory.getComponents();
TimeMeasure.step("initialize Jet Emitters", "getComponents"); //$NON-NLS-1$ //$NON-NLS-2$
monitorWrap.beginTask(Messages.getString("CodeGeneratorEmittersPoolFactory.initMessage"), //$NON-NLS-1$
(2 * templates.size() + 5 * components.size()));
@@ -177,6 +170,7 @@ public final class CodeGeneratorEmittersPoolFactory {
monitorBuffer = 0;
}
}
TimeMeasure.step("initialize Jet Emitters", "initialize jet beans from templates"); //$NON-NLS-1$ //$NON-NLS-2$
if (components != null) {
ECodePart codePart = ECodePart.MAIN;
@@ -191,10 +185,12 @@ public final class CodeGeneratorEmittersPoolFactory {
}
}
}
TimeMeasure.step("initialize Jet Emitters", "initialize jet beans from components"); //$NON-NLS-1$ //$NON-NLS-2$
monitorWrap.worked(monitorBuffer);
initializeEmittersPool(jetBeans, codeLanguage, monitorWrap);
monitorWrap.done();
TimeMeasure.step("initialize Jet Emitters", "initialize and generate each jet emitters"); //$NON-NLS-1$ //$NON-NLS-2$
if (!CommonUIPlugin.isFullyHeadless()) {
Job job = new Job(Messages.getString("CodeGeneratorEmittersPoolFactory.updatePaletteForEditors")) { //$NON-NLS-1$
@@ -202,7 +198,7 @@ public final class CodeGeneratorEmittersPoolFactory {
@Override
protected IStatus run(IProgressMonitor monitor) {
CorePlugin.getDefault().getDesignerCoreService()
.synchronizeDesignerUI(new PropertyChangeEvent(this, ComponentUtilities.NORMAL, null, null));
.synchronizeDesignerUI(new PropertyChangeEvent(this, IComponentConstants.NORMAL, null, null));
return Status.OK_STATUS;
}
@@ -227,15 +223,17 @@ public final class CodeGeneratorEmittersPoolFactory {
TimeMeasure.measureActive = false;
return new Status(IStatus.ERROR, CodeGeneratorActivator.PLUGIN_ID,
Messages.getString("CodeGeneratorEmittersPoolFactory.initialException"), e); //$NON-NLS-1$
} finally {
try {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IProject project = workspace.getRoot().getProject(JET_PROJECT);
project.build(IncrementalProjectBuilder.AUTO_BUILD, null);
} catch (CoreException e) {
ExceptionHandler.process(e);
}
}
// finally {
// try {
// IWorkspace workspace = ResourcesPlugin.getWorkspace();
// IProject project = workspace.getRoot().getProject(JET_PROJECT);
// project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, null);
// TimeMeasure.step("initialize Jet Emitters", "build project .JETEmitters"); //$NON-NLS-1$ //$NON-NLS-2$
// } catch (CoreException e) {
// ExceptionHandler.process(e);
// }
// }
TimeMeasure.end("initialize Jet Emitters"); //$NON-NLS-1$
TimeMeasure.display = false;
TimeMeasure.displaySteps = false;
@@ -290,21 +288,15 @@ public final class CodeGeneratorEmittersPoolFactory {
project.open(new SubProgressMonitor(progressMonitor, 5));
project.refreshLocal(IResource.DEPTH_INFINITE, new SubProgressMonitor(progressMonitor, 1));
}
IProjectDescription description = project.getDescription();
// only in case it's one old workspace and got no nature defined.
if (!ArrayUtils.contains(description.getNatureIds(), JavaCore.NATURE_ID)) {
description.setNatureIds(new String[] { JavaCore.NATURE_ID });
project.setDescription(description, new SubProgressMonitor(progressMonitor, 1));
}
}
};
public static Job initialize() {
Job job = new AccessingEmfJob(Messages.getString("CodeGeneratorEmittersPoolFactory.initMessage")) { //$NON-NLS-1$
Job job = new Job(Messages.getString("CodeGeneratorEmittersPoolFactory.initMessage")) { //$NON-NLS-1$
@Override
protected IStatus doRun(IProgressMonitor monitor) {
protected IStatus run(IProgressMonitor monitor) {
synchronized (delegateMonitor) {
if (jobRunnable == null) {
jobRunnable = new JobRunnable(Messages.getString("CodeGeneratorEmittersPoolFactory.codeThread")); //$NON-NLS-1$
@@ -332,8 +324,8 @@ public final class CodeGeneratorEmittersPoolFactory {
}
};
job.setUser(true);
job.setPriority(Job.INTERACTIVE);
job.setUser(false);
job.setPriority(Job.LONG);
job.schedule();
job.wakeUp(); // start as soon as possible
@@ -424,12 +416,12 @@ public final class CodeGeneratorEmittersPoolFactory {
if (component.getAvailableCodeParts().contains(ECodePart.END)) {
initComponent(codeLanguage, jetBeans, ECodePart.END, component);
}
if (component.getAvailableCodeParts().contains(ECodePart.FINALLY)) {
initComponent(codeLanguage, jetBeans, ECodePart.FINALLY, component);
}
if (component.getAvailableCodeParts().contains(ECodePart.MRCODE)) {
initComponent(codeLanguage, jetBeans, ECodePart.MRCODE, component);
}
if (component.getAvailableCodeParts().contains(ECodePart.MRJOBFOOTER)) {
initComponent(codeLanguage, jetBeans, ECodePart.MRJOBFOOTER, component);
}
if (component.getAvailableCodeParts().contains(ECodePart.MRCONFIG)) {
initComponent(codeLanguage, jetBeans, ECodePart.MRCONFIG, component);
}
@@ -668,7 +660,12 @@ public final class CodeGeneratorEmittersPoolFactory {
*/
public static JETEmitter getJETEmitter(JetBean jetBean) {
if (emitterPool == null || (!isInitialized() && !isInitializeStart())) {
initialize();
try {
new CodeGeneratorManager().initTemplate();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// only for components, not for /resources jet file, if it compile error, it will get the
@@ -778,4 +775,37 @@ public final class CodeGeneratorEmittersPoolFactory {
public static boolean isInitializeStart() {
return initializeStart;
}
static class CodeGeneratorManager {
private IStatus status;
public IStatus initTemplate() throws InterruptedException {
final Job initializeTemplatesJob = initialize();
Job.getJobManager().addJobChangeListener(new JobChangeAdapter() {
@Override
public void done(IJobChangeEvent event) {
if (event.getJob().equals(initializeTemplatesJob)) {
setStatus(event.getResult());
}
}
});
while (status == null) {
Thread.sleep(10);
}
return status;
}
private void setStatus(IStatus result) {
this.status = result;
}
private ICodeGeneratorService getCodeGenerationService() {
IService service = GlobalServiceRegister.getDefault().getService(ICodeGeneratorService.class);
return (ICodeGeneratorService) service;
}
}
}

View File

@@ -17,7 +17,6 @@ import java.io.File;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
@@ -25,7 +24,6 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.emf.codegen.CodeGenPlugin;
import org.eclipse.jdt.core.JavaCore;
import org.talend.core.language.ECodeLanguage;
/**
@@ -77,11 +75,7 @@ public final class EmfEmittersPersistenceFactory {
project.create(new SubProgressMonitor(progressMonitor, 1));
progressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETCreatingProject_message", //$NON-NLS-1$
new Object[] { project.getName() }));
IProjectDescription description = workspace.newProjectDescription(project.getName());
description.setNatureIds(new String[] { JavaCore.NATURE_ID });
description.setLocation(null);
project.open(new SubProgressMonitor(progressMonitor, 1));
project.setDescription(description, new SubProgressMonitor(progressMonitor, 1));
}
} catch (CoreException e) {
log.error(e.getMessage(), e);

View File

@@ -1,3 +1,3 @@
Exchange=Training
Exchange=Exchange
DownloadComponenentsAction.Label=\u4E0B\u8F7D\u9009\u62E9\u7684\u7EC4\u4EF6
RefreshComponenentsAction.Label=\u5237\u65B0\u7EC4\u4EF6\u6E05\u5355

View File

@@ -1,4 +1,7 @@
AvailableExtensionsComposite.FilterTitle=Filter
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Installieren
AvailableExtensionsComposite.ViewDetail.WriteReview=Bericht schreiben
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailureTip=Sie sollten es prüfen.
DownloadedExtensionsComposite.installedOperateStatus=Installiert
DownloadedExtensionsComposite.updateOperateStatus=Update
MyExtensionsComposite.UpdateOperateStatus=Update
@@ -6,12 +9,10 @@ MyExtensionsComposite.ModifyOperateStatus=Modifiziere
MyExtensionsComposite.DeleteOperateStatus=Löschen
MyExtensionsComposite.Form.Description=Beschreibung
MyExtensionsComposite.Form.Upload.Browse=Durchsuchen...
DeleteExtensionJob.DeleteFailure=Löschung fehlgeschlagen
DeleteExtensionJob.DeleteFailureTip=Sie sollten es prüfen.
DownloadComponenentsAction.DownloadTaskName=Lade Datei von URL:
ImportExchangeDialog.WARNING=Warnung
ImportExchangeDialog.AUTHOR_NAME=Name des Autors
ImportExchangeDialog.LATEST_REVISION=Aktuellste Revision
ImportExchangeDialog.JOB_BUTTON=Job-Design
ImportExchangeDialog.ROUTINES_BUTTON=Routinen
ImportExchangeDialog.ROUTINES_PROGRESSBAR=Lade einige Routinen...
ImportExchangeDialog.TEMPLATES_BUTTON=SQL Templates
ImportExchangeDialog.OPERATION_CANCELLED=Operation wurde abgebrochen

View File

@@ -19,12 +19,5 @@ ImportExchangeDialog.EXTENSION_NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u0395\u03C0\
ImportExchangeDialog.AUTHOR_NAME=\u038C\u03BD\u03BF\u03BC\u03B1 \u03A3\u03C5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03B1
ImportExchangeDialog.LATEST_REVISION=\u03A4\u03B5\u03BB\u03B5\u03C5\u03C4\u03B1\u03AF\u03B1 \u0391\u03BD\u03B1\u03B8\u03B5\u03CE\u03C1\u03B7\u03C3\u03B7
ImportExchangeDialog.EXTENSION_DESCRIPTION=\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u0395\u03C0\u03AD\u03BA\u03C4\u03B1\u03C3\u03B7\u03C2
ImportExchangeDialog.JOB_BUTTON=\u03A3\u03C7\u03AD\u03B4\u03B9\u03B1 \u0395\u03C1\u03B3\u03B1\u03C3\u03B9\u03CE\u03BD
ImportExchangeDialog.DOWNLOAD_JOB=\u039B\u03AE\u03C8\u03B7 \u039A\u03AC\u03C0\u03BF\u03B9\u03C9\u03BD \u03A3\u03C7\u03B5\u03B4\u03AF\u03C9\u03BD \u0395\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1\u03C2...
ImportExchangeDialog.ROUTINES_BUTTON=\u03A1\u03BF\u03C5\u03C4\u03AF\u03BD\u03B5\u03C2
ImportExchangeDialog.ROUTINES_PROGRESSBAR=\u039B\u03AE\u03C8\u03B7 \u039A\u03AC\u03C0\u03BF\u03B9\u03C9\u03BD \u03A1\u03BF\u03C5\u03C4\u03B9\u03BD\u03CE\u03BD...
ImportExchangeDialog.TEMPLATES_BUTTON=\u03A0\u03C1\u03CC\u03C4\u03C5\u03C0\u03B1 SQL
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=\u039B\u03AE\u03C8\u03B7 \u039A\u03AC\u03C0\u03BF\u03B9\u03C9\u03BD \u03A0\u03C1\u03BF\u03C4\u03CD\u03C0\u03C9\u03BD SQL...
ImportExchangeDialog.REFRESH_BUTTON=\u0391\u03BD\u03B1\u03BD\u03AD\u03C9\u03C3\u03B7
ImportExchangeDialog.NOT_SELECT_BUTTON=\u03A0\u03B1\u03C1\u03B1\u03BA\u03B1\u03BB\u03CE \u03BA\u03AC\u03BD\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE \u03C0\u03C1\u03CE\u03C4\u03B1
ImportExchangeDialog.OPERATION_CANCELLED=\u0397 \u03BB\u03B5\u03B9\u03C4\u03BF\u03C5\u03C1\u03B3\u03AF\u03B1 \u03B1\u03BA\u03C5\u03C1\u03CE\u03B8\u03B7\u03BA\u03B5

View File

@@ -89,15 +89,8 @@ ImportExchangeDialog.EXTENSION_NAME=Extension Name
ImportExchangeDialog.AUTHOR_NAME=Author Name
ImportExchangeDialog.LATEST_REVISION=Latest Revision
ImportExchangeDialog.EXTENSION_DESCRIPTION=Extension Description
ImportExchangeDialog.download.components=Download Components Please Wait\!
ImportExchangeDialog.JOB_BUTTON=Job Designs
ImportExchangeDialog.DOWNLOAD_JOB=Download Some Job Designs...
ImportExchangeDialog.ROUTINES_BUTTON=Routines
ImportExchangeDialog.ROUTINES_PROGRESSBAR=Download Some Routines...
ImportExchangeDialog.TEMPLATES_BUTTON=SQL Templates
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=Download Some SQL Templates...
ImportExchangeDialog.REFRESH_BUTTON=Refresh
ImportExchangeDialog.REFRESHING_PROGRESSBAR=Refreshing\! Please Wait.....
ImportExchangeDialog.NOT_SELECT_BUTTON=Please select a choice first
ImportExchangeDialog.OPERATION_CANCELLED=Operation was cancelled
Exchange.logon.error=Exchange user have not been registered, please register using the preferences .
ImportExchangeDialog.download.extensions=Download extensions\! Please Wait\!

View File

@@ -3,17 +3,19 @@ AvailableExtensionsComposite.ExtensionName=Nom de l'extension
AvailableExtensionsComposite.Version=Version
AvailableExtensionsComposite.Rating=Note
AvailableExtensionsComposite.Author=Auteur
AvailableExtensionsComposite.FilterTitle=Filtre
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Installer
AvailableExtensionsComposite.ViewDetail.WriteReview=Donnez votre avis
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailureTip=Veuillez vérifier.
DownloadedExtensionsComposite.DownloadedVersion=Version téléchargée
DownloadedExtensionsComposite.DownloadDate=Date de téléchargement
DownloadedExtensionsComposite.installedOperateStatus=Installé
DownloadedExtensionsComposite.updateOperateStatus=Mettre à jour
DownloadedExtensionsComposite.updateOperateStatus=UPDATE
MyExtensionsComposite.Version=Version
MyExtensionsComposite.UploadDate=Date du chargement
MyExtensionsComposite.AddNewExtensionTitle=Ajouter une nouvelle extension
MyExtensionsComposite.UpLoadNewVersionOperateStatus=Charger une nouvelle version
MyExtensionsComposite.UpdateOperateStatus=UPDATE
MyExtensionsComposite.ModifyOperateStatus=Modifier
MyExtensionsComposite.DeleteOperateStatus=DELETE
MyExtensionsComposite.Form.Return=Retourner
@@ -69,14 +71,7 @@ ImportExchangeDialog.EXTENSION_NAME=Nom de l'extension
ImportExchangeDialog.AUTHOR_NAME=Nom de l'auteur
ImportExchangeDialog.LATEST_REVISION=Dernière révision
ImportExchangeDialog.EXTENSION_DESCRIPTION=Description de l'extension
ImportExchangeDialog.download.components=Téléchargement de composants, veuillez patienter.
ImportExchangeDialog.JOB_BUTTON=Job Designs
ImportExchangeDialog.DOWNLOAD_JOB=Télécharger des Jobs Designs...
ImportExchangeDialog.ROUTINES_BUTTON=Routines
ImportExchangeDialog.ROUTINES_PROGRESSBAR=Télécharger des Routines...
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=Télécharger des modèles SQL...
ImportExchangeDialog.REFRESH_BUTTON=Rafraîchir
ImportExchangeDialog.REFRESHING_PROGRESSBAR=Rafraîchissement, veuillez patienter..
ImportExchangeDialog.NOT_SELECT_BUTTON=Merci de d'abord sélectionner un choix
ImportExchangeDialog.OPERATION_CANCELLED=L'opération a été annulée
Exchange.logon.error=L'utilisateur de l'Exchange n'est pas enregistré. Enregistrez-vous via les Préférences.

View File

@@ -14,7 +14,4 @@ ImportExchangeDialog.dialogTitle=Seleziona oggetto da Talend Exchange
ImportExchangeDialog.WARNING=Avvertimento
ImportExchangeDialog.LATEST_REVISION=Ultima Revisione
ImportExchangeDialog.EXTENSION_DESCRIPTION=Descrizione estensione
ImportExchangeDialog.JOB_BUTTON=Progetti job
ImportExchangeDialog.DOWNLOAD_JOB=Scarica alcuni Job Designs...
ImportExchangeDialog.ROUTINES_BUTTON=Routine
ImportExchangeDialog.REFRESH_BUTTON=Aggiorna

View File

@@ -88,14 +88,7 @@ ImportExchangeDialog.EXTENSION_NAME=Extension\u540D
ImportExchangeDialog.AUTHOR_NAME=\u4f5c\u6210\u8005\u540d
ImportExchangeDialog.LATEST_REVISION=\u6700\u65B0\u30EA\u30D3\u30B8\u30E7\u30F3
ImportExchangeDialog.EXTENSION_DESCRIPTION=Extension\u8AAC\u660E
ImportExchangeDialog.download.components=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u4E2D\u3067\u3059\u3001\u66AB\u304F\u304A\u5F85\u3061\u4E0B\u3055\u3044\u3002
ImportExchangeDialog.JOB_BUTTON=\u30B8\u30E7\u30D6
ImportExchangeDialog.DOWNLOAD_JOB=\u30B8\u30E7\u30D6\u30C7\u30B6\u30A4\u30F3\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u307E\u3059\u2026
ImportExchangeDialog.ROUTINES_BUTTON=\u30EB\u30FC\u30C1\u30F3
ImportExchangeDialog.ROUTINES_PROGRESSBAR=\u30EB\u30FC\u30C1\u30F3\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9...
ImportExchangeDialog.TEMPLATES_BUTTON=SQL\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=SQL\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9...
ImportExchangeDialog.REFRESH_BUTTON=\u30EA\u30D5\u30EC\u30C3\u30B7\u30E5
ImportExchangeDialog.NOT_SELECT_BUTTON=\u5148\u306B\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ImportExchangeDialog.OPERATION_CANCELLED=\u64CD\u4F5C\u3092\u30AD\u30E3\u30F3\u30BB\u30EB
Exchange.logon.error=Exchange\u30E6\u30FC\u30B6\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u521D\u671F\u8A2D\u5B9A\u3092\u4F7F\u7528\u3057\u3066\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ImportExchangeDialog.download.extensions=\u62E1\u5F35\u6A5F\u80FD\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u4E2D\u3067\u3059\u3001\u66AB\u304F\u304A\u5F85\u3061\u4E0B\u3055\u3044\u3002

View File

@@ -1,4 +1,3 @@
DownloadedExtensionsComposite.updateOperateStatus=UPDATE
MyExtensionsComposite.UpdateOperateStatus=UPDATE
ImportExchangeDialog.TEMPLATES_BUTTON=SQL \u0161abloni
ImportExchangeDialog.REFRESH_BUTTON=Osve\u017Eavanje

View File

@@ -1,4 +1,4 @@
ExchangeView.Exchange=Training
ExchangeView.Exchange=Exchange
AvailableExtensionsComposite.ExtensionName=\u6269\u5C55\u540D
AvailableExtensionsComposite.Version=\u7248\u672C
AvailableExtensionsComposite.Author=\u4F5C\u8005
@@ -14,14 +14,11 @@ MyExtensionsComposite.Form.Compatibility.Version=\u7248\u672C
MyExtensionsComposite.Form.Description=\u5FC5\u8981\u7684
MyExtensionsComposite.Form.Upload=\u4E0A\u4F20
MyExtensionsComposite.Form.Upload.Browse=\u6D4F\u89C8...
DownloadComponenentsAction.installExchange=\u5B89\u88C5\u6765\u81EA Exchange \u4EA4\u6D41\u4E2D\u5FC3\u7684\u7EC4\u4EF6
DownloadComponenentsAction.DownloadTaskName=\u4ECEURL\u4E0B\u8F7D\u6587\u4EF6
ImportExchangeDialog.dialogTitle=\u4ECETalend Exchange\u9009\u62E9\u4E00\u4E2A\u9879\u76EE
ImportExchangeDialog.WARNING=\u8B66\u544A
ImportExchangeDialog.EXTENSION_NAME=\u6269\u5C55\u540D
ImportExchangeDialog.LATEST_REVISION=\u6700\u65B0\u7248\u672C
ImportExchangeDialog.JOB_BUTTON=\u4F5C\u4E1A\u8BBE\u8BA1
ImportExchangeDialog.DOWNLOAD_JOB=\u4E0B\u8F7D\u4F5C\u4E1A\u8BBE\u8BA1
ImportExchangeDialog.ROUTINES_BUTTON=\u5E38\u89C4
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=\u4E0B\u8F7DSQL\u6A21\u677F......
ImportExchangeDialog.REFRESH_BUTTON=\u5237\u65B0
ImportExchangeDialog.OPERATION_CANCELLED=\u64CD\u4F5C\u5DF2\u53D6\u6D88

View File

@@ -1,11 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Exchange plugin
Bundle-Name: Exchange Plug-in
Bundle-SymbolicName: org.talend.designer.components.exchange;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.talend.designer.components.exchange.ExchangePlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.ui,
org.apache.log4j,
org.apache.commons.collections,
org.apache.commons.logging,
@@ -13,7 +13,9 @@ Require-Bundle: org.eclipse.ui,
org.apache.commons.io,
org.apache.commons.lang,
org.apache.commons.httpclient,
org.talend.commons.ui,
org.talend.core,
org.talend.core.ui,
org.talend.utils,
org.talend.librariesmanager,
org.talend.libraries.javacsv;resolution:=optional,

View File

@@ -90,21 +90,20 @@
alert("Extension Title is empty");
isSkipPage = false;
}else if(labelValidate=="null"){
alert("Extension Title can not be null");
isSkipPage = false;
alert("Extension Title can not be null");
isSkipPage = false;
}else if(lastVersionAvailableValidate==0){
alert("Initial Version is empty");
isSkipPage = false;
}else if(lastVersionAvailableValidate=="null"){
alert("Initial Version can not be null");
isSkipPage = false;
alert("Initial Version can not be null");
isSkipPage = false;
}else if(filename==0){
alert("Please input a vaild File path");
isSkipPage = false;
alert("Please input a vaild File path");
isSkipPage = false;
}
<!-- validate the createNewExtension text end-->
if (isSkipPage == true) {
var listVersionCompatibles = "listVersionCompatibles:" + "'" + checkedType + "'";
var filter = "filter:" + "'" + filtervalue + "'";
@@ -114,7 +113,7 @@
var url = prefix + "&amp;extensionValues=" + jsonObj;
document.getElementById('commit').href = url;
window.location.href=document.getElementById('commit').href;
window.location.href = document.getElementById('commit').href;
}
}
@@ -152,8 +151,8 @@
alert("New Version is empty");
var isSkipPage = false;
}else if(lastVersionAvailable_updateValidate=="null"){
alert("New Version can not be null");
var isSkipPage = false;
alert("New Version can not be null");
var isSkipPage = false;
}
<!-- validate the updateExtension text end-->
@@ -166,9 +165,9 @@
var url = prefix + "&amp;extensionValues=" + jsonObj;
document.getElementById('commit_update').href = url;
window.location.href=document.getElementById('commit_update').href;
window.location.href = document.getElementById('commit_update').href;
}
}
function modifyReWriteUrl() {

View File

@@ -105,19 +105,7 @@ ImportExchangeDialog.EXTENSION_NAME=Extension Name
ImportExchangeDialog.AUTHOR_NAME=Author Name
ImportExchangeDialog.LATEST_REVISION=Latest Revision
ImportExchangeDialog.EXTENSION_DESCRIPTION=Extension Description
ImportExchangeDialog.download.components=Download Components Please Wait\!
ImportExchangeDialog.JOB_BUTTON=Job Designs
ImportExchangeDialog.DOWNLOAD_JOB=Download Some Job Designs...
ImportExchangeDialog.ROUTINES_BUTTON=Routines
ImportExchangeDialog.ROUTINES_PROGRESSBAR=Download Some Routines...
ImportExchangeDialog.TEMPLATES_BUTTON=SQL Templates
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=Download Some SQL Templates...
ImportExchangeDialog.download.extensions=Download extensions\! Please Wait\!
ImportExchangeDialog.REFRESH_BUTTON=Refresh
ImportExchangeDialog.REFRESHING_PROGRESSBAR=Refreshing\! Please Wait.....
ImportExchangeDialog.NOT_SELECT_BUTTON=Please select a choice first
ImportExchangeDialog.OPERATION_CANCELLED=Operation was cancelled

View File

@@ -21,8 +21,9 @@ import java.util.zip.ZipFile;
import org.apache.commons.io.FileUtils;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.language.LanguageManager;
import org.talend.core.service.IComponentsLocalProviderService;
/**
*
@@ -66,8 +67,15 @@ public class ComponentInstaller {
rootFolder.mkdir();
// move some common use codes for unzipping file to FilesUtils
FilesUtils.unzip(zipFile, targetFolder);
boolean valid = CorePlugin.getDefault().getComponentsLocalProviderService()
.validateComponent(rootFolder.getAbsolutePath(), LanguageManager.getCurrentLanguage());
boolean valid = false;
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentsLocalProviderService.class)) {
IComponentsLocalProviderService service = (IComponentsLocalProviderService) GlobalServiceRegister.getDefault()
.getService(IComponentsLocalProviderService.class);
if (service != null) {
valid = service.validateComponent(rootFolder.getAbsolutePath(), LanguageManager.getCurrentLanguage());
}
}
if (!valid) {
if (rootFolder.exists() && rootFolder.isDirectory()) {
for (File f : rootFolder.listFiles()) {

View File

@@ -46,7 +46,8 @@ import org.talend.core.download.DownloadHelper;
import org.talend.core.download.DownloadListener;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.ComponentManager;
import org.talend.core.model.components.ComponentPaletteUtilities;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.components.IComponentsFactory;
import org.talend.designer.codegen.ICodeGeneratorService;
@@ -60,7 +61,6 @@ import org.talend.designer.components.exchange.ui.views.ExchangeManager;
import org.talend.designer.components.exchange.util.ExchangeUtils;
import org.talend.designer.components.exchange.util.ExchangeWebService;
import org.talend.designer.components.exchange.util.WebserviceStatus;
import org.talend.designer.core.model.components.manager.ComponentManager;
import org.talend.designer.core.ui.AbstractMultiPageTalendEditor;
import org.talend.designer.core.ui.editor.AbstractTalendEditor;
import org.talend.repository.model.ComponentsFactoryProvider;
@@ -75,6 +75,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
private List<ComponentExtension> fDownloadedComponents;
@Override
public void run() {
try {
Job job = new DownloadJob(ExchangeManager.getInstance().getSelectedExtension());
@@ -87,6 +88,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
updateUI(event);
}
@@ -122,7 +124,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
@Override
public void done(IJobChangeEvent event) {
ComponentUtilities.setSkipUpdatePalette(false);
ComponentPaletteUtilities.setSkipUpdatePalette(false);
}
});
RefreshComponenentsAction action = new RefreshComponenentsAction();
@@ -134,6 +136,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
FileFilter propertiesFilter = new FileFilter() {
// gcui:search xml file.
@Override
public boolean accept(File file) {
if (LanguageManager.getCurrentLanguage() == ECodeLanguage.JAVA) {
return file.getName().endsWith("_java.xml"); //$NON-NLS-1$
@@ -205,7 +208,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
AbstractMultiPageTalendEditor editor = (AbstractMultiPageTalendEditor) part;
AbstractTalendEditor talendEditor = editor.getTalendEditor();
try {
ComponentUtilities.setSkipUpdatePalette(true);
ComponentPaletteUtilities.setSkipUpdatePalette(true);
talendEditor.selectPaletteEntry(componentName);
} catch (Exception e) {
ExceptionHandler.process(e);
@@ -303,6 +306,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
} else {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
}
});
@@ -336,9 +340,11 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
return false;
}
@Override
public void downloadComplete() {
}
@Override
public void downloadProgress(DownloadHelper downloader, int bytesRead) {
if (fMonitor.isCanceled()) {
// cancel download
@@ -350,6 +356,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
fMonitor.worked(bytesRead);
}
@Override
public void downloadStart(int totalSize) {
fProgressLabel = "/" + toKbFormat(totalSize); //$NON-NLS-1$
fBytesDownloaded = 0;
@@ -361,6 +368,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
}
}
@Override
public void run(IIntroSite site, Properties params) {
run();
}

View File

@@ -21,8 +21,8 @@ import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.core.model.general.IExchangeService;
import org.talend.core.model.general.Project;
import org.talend.core.service.IExchangeService;
import org.talend.designer.components.exchange.i18n.Messages;
import org.talend.designer.components.exchange.ui.views.ExchangeEditorInput;
import org.talend.designer.components.exchange.util.ExchangeWebService;

View File

@@ -17,6 +17,7 @@ import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.runtime.IPath;
@@ -54,6 +55,7 @@ import org.talend.core.download.DownloadHelper;
import org.talend.designer.components.exchange.ExchangePlugin;
import org.talend.designer.components.exchange.i18n.Messages;
import org.talend.designer.components.exchange.jobs.ComponentSearcher;
import org.talend.designer.components.exchange.model.Category;
import org.talend.designer.components.exchange.model.ComponentExtension;
import org.talend.designer.components.exchange.model.VersionRevision;
import org.talend.designer.components.exchange.util.ExchangeUtils;
@@ -66,54 +68,45 @@ import org.talend.designer.components.exchange.util.ExchangeWebService;
*/
public class ImportExchangeDialog extends Dialog {
private ImportExchangeProperty downloadproperty;
private Button jobButton;
private Button templatesButton;
private Button routinesButton;
private Button refresh;
private static String type;
private static String category;
private static String version;
private URL url;
private String selectFile;
private String progressBarMessage;
private File tempFile;
public Combo categoryCombo;
public Combo versionCombo;
public static final String TOS_VERSION_FILTER = "TOS_VERSION_FILTER"; //$NON-NLS-1$
private List<Category> fCategorys = new ArrayList<Category>();
private List<VersionRevision> fVersionRevisions = new ArrayList<VersionRevision>();
private List<ComponentExtension> compatible;
public ScrolledComposite scrolledCompositeFileViewer;
private ImportExchangeProperty downloadproperty;
private String selectFile;
private String progressBarMessage;
private URL url;
private File tempFile;
public Table table;
public String getSelectFile() {
return selectFile;
}
public void setSelectFile(String selectFile) {
this.selectFile = selectFile;
}
protected ImportExchangeDialog(Shell shell) {
super(shell);
this.setShellStyle(this.getShellStyle() | SWT.MIN | SWT.MAX | SWT.RESIZE);
// init
Display.getDefault().syncExec(new Runnable() {
public void run() {
fCategorys.clear();
fCategorys = ExchangeWebService.searchCategoryExtensionJSONArray(ExchangeUtils.TYPEEXTENSION);
fVersionRevisions.clear();
fVersionRevisions = ExchangeWebService.searchVersionRevisionJSONArray(ExchangeUtils.TYPEEXTENSION);
}
@@ -132,25 +125,18 @@ public class ImportExchangeDialog extends Dialog {
layout.marginWidth = 0;
exchangeDialogCom.setLayout(layout);
GridData gridData = new GridData(GridData.FILL_BOTH);
exchangeDialogCom.setLayoutData(gridData);
ImportCompatibleEcoComponentsComposite eco = new ImportCompatibleEcoComponentsComposite(exchangeDialogCom,
exchangeDialogCom.getShell(), false);
new ImportCompatibleEcoComponentsComposite(exchangeDialogCom, exchangeDialogCom.getShell(), false);
return parent;
}
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.FINISH_LABEL, true);
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
}
@Override
protected void okPressed() {
IPath tempPath = new Path(System.getProperty("user.dir")).append("temp"); //$NON-NLS-1$ //$NON-NLS-2$
File pathFile = tempPath.toFile();
if (downloadproperty.getFileName() == null || downloadproperty.getFileName() == null) {
@@ -160,12 +146,10 @@ public class ImportExchangeDialog extends Dialog {
box.open();
return;
}
tempFile = new File(pathFile, downloadproperty.getFileName());
try {
url = new URL(downloadproperty.getDownloadUrl());
} catch (MalformedURLException e1) {
// e1.printStackTrace();
ExceptionHandler.process(e1);
}
if (!pathFile.exists()) {
@@ -200,7 +184,6 @@ public class ImportExchangeDialog extends Dialog {
}
selectFile = tempFile.toString();
super.okPressed();
}
@@ -210,9 +193,7 @@ public class ImportExchangeDialog extends Dialog {
*/
class ImportCompatibleEcoComponentsComposite extends Composite {
private static final int HEIGHT = 300;
private static final int WIDTH = 500;
private static final int HEIGHT = 350;
public ImportCompatibleEcoComponentsComposite(Composite parent, Shell shell, boolean init) {
super(parent, SWT.NONE);
@@ -220,16 +201,13 @@ public class ImportExchangeDialog extends Dialog {
}
public void createControls(Composite parent) {
setLayout(clearGridLayoutSpace(new GridLayout(1, false)));
setLayout(new GridLayout());
setLayoutData(new GridData(GridData.FILL_BOTH));
creatOptions(parent);
Composite tableComposite = new Composite(parent, SWT.NONE);
tableComposite.setLayout(new GridLayout());
GridData layoutData = new GridData(GridData.FILL_BOTH);
// layoutData.widthHint = WIDTH;
// layoutData.minimumWidth = WIDTH;
layoutData.heightHint = HEIGHT;
layoutData.minimumHeight = HEIGHT;
tableComposite.setLayoutData(layoutData);
@@ -298,98 +276,19 @@ public class ImportExchangeDialog extends Dialog {
layout.marginWidth = 5;
group.setLayout(layout);
group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
String currentVersion = ExchangePlugin.getDefault().getPreferenceStore().getString("TOS_IMPORT_VERSION_FILTER");//$NON-NLS-1$
currentVersion = ExchangeUtils.getMainVersion(currentVersion);
final String temVersion = currentVersion;
jobButton = new Button(group, SWT.RADIO);
jobButton.setText(Messages.getString("ImportExchangeDialog.JOB_BUTTON")); //$NON-NLS-1$
jobButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (jobButton.getSelection() == true) {
type = "7"; //$NON-NLS-1$
if (version == null) {
if (versionCombo.getText() != null) {
version = versionCombo.getText();
} else {
version = temVersion;
}
}
progressBarMessage = Messages.getString("ImportExchangeDialog.DOWNLOAD_JOB"); //$NON-NLS-1$
findChoiceExchange();
}
}
});
templatesButton = new Button(group, SWT.RADIO);
templatesButton.setText(Messages.getString("ImportExchangeDialog.TEMPLATES_BUTTON")); //$NON-NLS-1$
templatesButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (templatesButton.getSelection() == true) {
type = "8"; //$NON-NLS-1$
if (version == null) {
if (versionCombo.getText() != null) {
version = versionCombo.getText();
} else {
version = temVersion;
}
}
progressBarMessage = Messages.getString("ImportExchangeDialog.TEMPLATES_PROGRESSBAR"); //$NON-NLS-1$
findChoiceExchange();
}
}
});
routinesButton = new Button(group, SWT.RADIO);
routinesButton.setText(Messages.getString("ImportExchangeDialog.ROUTINES_BUTTON")); //$NON-NLS-1$
routinesButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (routinesButton.getSelection() == true) {
type = "9"; //$NON-NLS-1$
if (version == null) {
if (versionCombo.getText() != null) {
version = versionCombo.getText();
} else {
version = temVersion;
}
}
progressBarMessage = Messages.getString("ImportExchangeDialog.ROUTINES_PROGRESSBAR"); //$NON-NLS-1$
findChoiceExchange();
}
}
});
// Category
creatCategory(group);
category = categoryCombo.getText();
// Tos Version
creatTosVersionFilter(group, true);
version = versionCombo.getText();
refresh = new Button(group, SWT.PUSH);
// Refresh
Button refresh = new Button(group, SWT.PUSH);
refresh.setImage(ImageProvider.getImage(EImage.REFRESH_ICON));
refresh.setToolTipText(Messages.getString("ImportExchangeDialog.REFRESH_BUTTON"));//$NON-NLS-1$
//refresh.setText(Messages.getString("ImportExchangeDialog.REFRESH_BUTTON")); //$NON-NLS-1$
refresh.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (version == null || type == null) {
MessageBox box = new MessageBox(Display.getCurrent().getActiveShell(), SWT.ICON_WARNING | SWT.OK);
box.setText(Messages.getString("ImportExchangeDialog.WARNING")); //$NON-NLS-1$
box.setMessage(Messages.getString("ImportExchangeDialog.NOT_SELECT_BUTTON")); //$NON-NLS-1$
box.open();
return;
}
if (type != null && !jobButton.getSelection() && !templatesButton.getSelection()
&& !routinesButton.getSelection()) {
if (type == "7") { //$NON-NLS-1$
jobButton.setSelection(true);
} else if (type == "8") { //$NON-NLS-1$
templatesButton.setSelection(true);
} else if (type == "9") { //$NON-NLS-1$
routinesButton.setSelection(true);
}
}
progressBarMessage = Messages.getString("ImportExchangeDialog.REFRESHING_PROGRESSBAR"); //$NON-NLS-1$
findChoiceExchange();
}
@@ -398,12 +297,46 @@ public class ImportExchangeDialog extends Dialog {
}
public GridLayout clearGridLayoutSpace(GridLayout layout) {
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
layout.marginWidth = 0;
layout.marginHeight = 0;
return layout;
public void creatCategory(Composite parent) {
Composite categoryComposite = new Composite(parent, SWT.NONE);
categoryComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
categoryComposite.setLayout(new GridLayout(2, false));
Label categoryLabel = new Label(categoryComposite, SWT.NONE);
categoryLabel.setText("Category");
GridData gridData = new GridData(SWT.Resize);
gridData.widthHint = 160;
categoryCombo = new Combo(categoryComposite, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.RESIZE);
categoryCombo.setLayoutData(gridData);
initCategoryCombo();
categoryCombo.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
widgetSelected(e);
}
public void widgetSelected(SelectionEvent e) {
progressBarMessage = Messages.getString("ImportExchangeDialog.download.extensions"); //$NON-NLS-1$
findChoiceExchange();
}
});
}
public void initCategoryCombo() {
if (categoryCombo.getItemCount() > 0) {
return;
}
Iterator<Category> cListIterator = fCategorys.iterator();
while (cListIterator.hasNext()) {
Category category = cListIterator.next();
// now hide the Category : Component ,Hadoop Configuration
if ("Component".equals(category.getCategoryName()) || "Hadoop Configuration".equals(category.getCategoryName())) {
cListIterator.remove();
continue;
}
categoryCombo.add(category.getCategoryName());
}
categoryCombo.select(0);
categoryCombo.pack();
}
public void creatTosVersionFilter(Composite parent, boolean isInitTosVersion) {
@@ -428,7 +361,13 @@ public class ImportExchangeDialog extends Dialog {
}
public void widgetSelected(SelectionEvent e) {
onVersionFilterChanged(e);
Combo comboControl = (Combo) e.getSource();
String value = comboControl.getText();
IPreferenceStore preferenceStore = ExchangePlugin.getDefault().getPreferenceStore();
preferenceStore.setValue("TOS_IMPORT_VERSION_FILTER", value);
version = value;
progressBarMessage = Messages.getString("ImportExchangeDialog.download.extensions"); //$NON-NLS-1$
findChoiceExchange();
}
});
}
@@ -439,7 +378,6 @@ public class ImportExchangeDialog extends Dialog {
}
String currentVersion = ExchangePlugin.getDefault().getPreferenceStore().getString(TOS_VERSION_FILTER);
currentVersion = ExchangeUtils.getMainVersion(currentVersion);
if (fVersionRevisions != null) {
String versions[] = ExchangeUtils.getVersionList(fVersionRevisions);
int stringIndex = 0;
@@ -452,35 +390,6 @@ public class ImportExchangeDialog extends Dialog {
versionCombo.select(stringIndex);
versionCombo.pack();
}
}
public void onVersionFilterChanged(SelectionEvent e) {
if (type == null) {
MessageBox box = new MessageBox(Display.getCurrent().getActiveShell(), SWT.ICON_WARNING | SWT.OK);
box.setText(Messages.getString("ImportExchangeDialog.WARNING")); //$NON-NLS-1$
box.setMessage("Please choose Job/Templates/Routines first!"); //$NON-NLS-1$
version = versionCombo.getText();
box.open();
return;
}
Combo comboControl = (Combo) e.getSource();
String value = comboControl.getText();
IPreferenceStore preferenceStore = ExchangePlugin.getDefault().getPreferenceStore();
preferenceStore.setValue("TOS_IMPORT_VERSION_FILTER", value);//$NON-NLS-1$
version = value;
if (type != null && !jobButton.getSelection() && !templatesButton.getSelection() && !routinesButton.getSelection()) {
if (type == "7") { //$NON-NLS-1$
jobButton.setSelection(true);
} else if (type == "8") { //$NON-NLS-1$
templatesButton.setSelection(true);
} else if (type == "9") { //$NON-NLS-1$
routinesButton.setSelection(true);
}
}
progressBarMessage = Messages.getString("ImportExchangeDialog.download.components"); //$NON-NLS-1$
findChoiceExchange();
}
/**
@@ -497,11 +406,9 @@ public class ImportExchangeDialog extends Dialog {
Display.getDefault().syncExec(new Runnable() {
public void run() {
if (version.equals("") || version == null) {
version = "4.2.1";
}
compatible = ComponentSearcher.getImportComponentExtensions(version, ExchangeUtils.getCurrentLanguage(),
type);
categoryCombo.getSelectionIndex() >= 0 ? fCategorys.get(categoryCombo.getSelectionIndex())
.getCategoryId() : "");
updateTable(compatible);
}
});
@@ -535,20 +442,15 @@ public class ImportExchangeDialog extends Dialog {
return;
}
table.setRedraw(false);
for (final ComponentExtension object : extensions) {
final TableItem tableItem = new TableItem(table, SWT.NONE);
tableItem.setData(object);
//
tableItem.setText(0, object.getLabel());
tableItem.setText(1, object.getAuthor());
tableItem.setText(2, object.getVersionExtension());
tableItem.setText(3, object.getDescription());
}
table.setRedraw(true);
}
private void removeItemElements(List<ComponentExtension> objects) {
@@ -567,4 +469,11 @@ public class ImportExchangeDialog extends Dialog {
item.dispose();
}
public String getSelectFile() {
return selectFile;
}
public void setSelectFile(String selectFile) {
this.selectFile = selectFile;
}
}

View File

@@ -51,7 +51,7 @@ import org.talend.commons.utils.StringUtils;
import org.talend.commons.utils.VersionUtils;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.ComponentPaletteUtilities;
import org.talend.core.model.components.IComponentsFactory;
import org.talend.core.model.general.Project;
import org.talend.designer.components.exchange.ExchangePlugin;
@@ -202,7 +202,7 @@ public class ExchangeUtils {
* @return
*/
public static File getComponentFolder(String componentfolder) {
URL url = FileLocator.find(ExchangePlugin.getDefault().getBundle(), new Path(componentfolder), null); //$NON-NLS-1$
URL url = FileLocator.find(ExchangePlugin.getDefault().getBundle(), new Path(componentfolder), null);
try {
URL fileUrl = FileLocator.toFileURL(url);
return new File(fileUrl.getPath());
@@ -233,7 +233,7 @@ public class ExchangeUtils {
// update the palette view, the position of the new component is
// determined by the FAMILY value in the
// component's property file
ComponentUtilities.updatePalette();
ComponentPaletteUtilities.updatePalette();
}
public static void deleteComponent(ComponentExtension component) {
@@ -358,6 +358,7 @@ public class ExchangeUtils {
List<String> versions = new ArrayList<String>(versionMap.keySet());
Collections.sort(versions, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
Version ver1 = new Version(o1);
Version ver2 = new Version(o2);
@@ -374,7 +375,7 @@ public class ExchangeUtils {
public static List<RevisionInfo> getRevisionList(String version, int language, String type) throws Exception {
StringBuffer url = new StringBuffer();
url.append(REVISION_LIST_URL).append("?categories=").append(5).append(",").append(type).append("&version="); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
url.append(REVISION_LIST_URL).append("?categories=").append(type).append("&version="); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
String[] branch = getBranch(version);
url.append(StringUtils.join(branch, ",")); //$NON-NLS-1$
String jsonContent = sendGetRequest(url.toString());

View File

@@ -1,8 +1,9 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Libs Plug-in
Bundle-Name: Components Libs Plug-in
Bundle-SymbolicName: org.talend.designer.components.libs
Bundle-Version: 1.0.0
Bundle-Version: 1.0.0.qualifier
Require-Bundle: org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: .Talend SA.

View File

@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="org.talend.designer.components.libs" default="process" basedir=".">
<property name="component.plugin.home" value="../../../org.talend.designer.components.bigdata/components" />
<!-- #################################################### -->
<!-- modification 1: config -->
<property name="jar.name" value="GoogleStorageUtils.jar" />
<property name="component.name" value="tGSPut" />
<property name="author.name" value="jzhao" />
<!-- modification 2: compile classpath -->
<path id="compile.classpath">
<pathelement location="${component.plugin.home}/tBigQueryBulkExec/jets3t-0.9.0.jar" />
</path>
<!-- #################################################### -->
<!-- sourcecode and final jar path -->
<property name="source.home" value="." />
<property name="jar.home" value="${component.plugin.home}/${component.name}/${jar.name}" />
<!-- temp dir for clasee files -->
<property name="build.dir" value="../../build" />
<!-- compile option -->
<property name="compile.debug" value="true" />
<property name="compile.deprecation" value="false" />
<property name="compile.optimize" value="true" />
<target name="process" description="prepare a temp dir">
<antcall target="prepare" />
<antcall target="compile" />
<antcall target="clean" />
</target>
<target name="prepare" description="prepare a temp dir">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
<mkdir dir="${build.dir}/classes" />
</target>
<target name="compile" description="Compile Java sources">
<!-- compile -->
<javac srcdir="${source.home}" destdir="${build.dir}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
<classpath refid="compile.classpath" />
</javac>
<!-- include source code -->
<copy todir="${build.dir}/classes">
<fileset dir="${source.home}">
<exclude name="build.xml" />
</fileset>
</copy>
<!-- make jar -->
<tstamp>
<format property="date" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes">
<manifest>
<!-- who -->
<attribute name="Built-By" value="${author.name}" />
<!-- when -->
<attribute name="Built-Date" value="${date}"/>
<!-- JDK version -->
<attribute name="Created-By" value="${java.version} (${java.vendor})" />
<!-- Information about the program itself -->
<attribute name="Implementation-Vendor" value="Talend SA" />
<attribute name="Implementation-Title" value="${jar.name}" />
<attribute name="Implementation-Version" value="1.0" />
</manifest>
</jar>
<!-- move jar -->
<move file="${build.dir}/${jar.name}" tofile="${jar.home}" />
</target>
<target name="clean" description="clean the temp dir">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
</target>
</project>

View File

@@ -0,0 +1,127 @@
package org.talend.gs.util;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import org.jets3t.service.model.GSObject;
import org.jets3t.service.utils.Mimetypes;
public class GSObjectUtil {
public List<GSObject> genGSObjectList(List<GSObject> objects, File file,
String keyParent, boolean isGenFileObject, boolean isGenFolderObject)
throws NoSuchAlgorithmException, IOException {
if (file.isDirectory()) {
if (keyParent != null && !"".equals(keyParent)) {
if (keyParent.trim().lastIndexOf("/") != keyParent.trim()
.length() - 1) {
keyParent = keyParent + "/";
}
if(isGenFolderObject){
objects.add(new GSObject(keyParent));
}
}
File[] files = file.listFiles();
for (File f : files) {
if (f.isDirectory()) {
objects = genGSObjectList(objects, f,
keyParent + f.getName() + "/", isGenFileObject,
isGenFolderObject);
} else {
objects = genGSObjectList(objects, f,
keyParent + f.getName(), isGenFileObject,
isGenFolderObject);
}
}
} else {
if (isGenFileObject) {
GSObject obj = new GSObject(file);
obj.setKey(keyParent);
objects.add(obj);
}
}
return objects;
}
public java.util.Map<String,String> genFileFilterList(java.util.List<java.util.Map<String,String>> list,String localdir,String remotedir){
if (remotedir != null && !"".equals(remotedir)) {
if (remotedir.trim().lastIndexOf("/") != remotedir.trim()
.length() - 1) {
remotedir = remotedir + "/";
}
}
java.util.Map<String,String> fileMap=new HashMap<String,String>();
for (java.util.Map<String, String> map : list) {
java.util.Set<String> keySet = map.keySet();
for (String key : keySet){
String tempdir = localdir;
String filemask = key;
String dir = null;
String mask = filemask.replaceAll("\\\\", "/") ;
int i = mask.lastIndexOf('/');
if (i!=-1){
dir = mask.substring(0, i);
mask = mask.substring(i+1);
}
if (dir!=null && !"".equals(dir)) tempdir = tempdir + "/" + dir;
mask = mask.replaceAll("\\.", "\\\\.").replaceAll("\\*", ".*");
final String finalMask = mask;
java.io.File[] listings = null;
java.io.File file = new java.io.File(tempdir);
if (file.isDirectory()) {
listings = file.listFiles(new java.io.FileFilter() {
public boolean accept(java.io.File pathname) {
boolean result = false;
if (pathname != null && pathname.isFile()) {
result = java.util.regex.Pattern.compile(finalMask).matcher(pathname.getName()).find();
}
return result;
}
});
}
if(listings == null || listings.length <= 0){
System.err.println("No match file("+key+") exist!");
}else{
String localFilePath = "";
String newObjectKey = "";
for (int m = 0; m < listings.length; m++){
if (listings[m].getName().matches(mask)){
localFilePath = listings[m].getAbsolutePath();
if(map.get(key)!=null && map.get(key).length()>0){
newObjectKey = remotedir+map.get(key);
}else{
newObjectKey = remotedir+listings[m].getName();
}
fileMap.put(localFilePath, newObjectKey);
}
}
}
}
}
return fileMap;
}
public List<GSObject> genObjectByFileMap(java.util.Map<String,String> fileMap) throws Exception, IOException{
Set<String> localFiles=fileMap.keySet();
List<GSObject> objects=new ArrayList<GSObject>();
for(String localFilePath:localFiles){
GSObject object=new GSObject(new File(localFilePath));
object.setKey(fileMap.get(localFilePath));
objects.add(object);
}
return objects;
}
public void initMimeTypes() throws IOException {
InputStream mimetypesFile = this.getClass().getResourceAsStream(
"/resource/mime.types");
Mimetypes.getInstance().loadAndReplaceMimetypes(mimetypesFile);
}
}

View File

@@ -7,9 +7,9 @@ public class BulkloadClient {
private String url;
private String username;
private String username;
private String password;
private String password;
private String universe;
@@ -19,21 +19,23 @@ public class BulkloadClient {
private String dataModel;
private String transactionId;
private BulkloadOptions options = new BulkloadOptions();
private static final AtomicInteger startedBulkloadCount = new AtomicInteger(0);
public BulkloadClient(String url, String username, String password, String universe, String cluster, String concept, String dataModel) {
this.url=url;
this.username=username;
this.password=password;
this.universe=universe;
this.cluster=cluster;
this.concept=concept;
this.dataModel = dataModel;
}
public BulkloadClient(String url, String username, String password, String universe, String cluster, String concept, String dataModel) {
this.url = url;
this.username = username;
this.password = password;
this.universe = universe;
this.cluster = cluster;
this.concept = concept;
this.dataModel = dataModel;
}
public void startThreadCount(){
public void startThreadCount() {
// Kept for compatibility with tMDMBulkload.
}
@@ -49,89 +51,98 @@ public class BulkloadClient {
}
}
public String getUrl() {
return url;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUsername() {
return username;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUniverse() {
return universe;
}
public String getUniverse() {
return universe;
}
public void setUniverse(String universe) {
this.universe = universe;
}
public void setUniverse(String universe) {
this.universe = universe;
}
public String getCluster() {
return cluster;
}
public String getCluster() {
return cluster;
}
public void setCluster(String cluster) {
this.cluster = cluster;
}
public void setCluster(String cluster) {
this.cluster = cluster;
}
public String getConcept() {
return concept;
}
public String getConcept() {
return concept;
}
public void setConcept(String concept) {
this.concept = concept;
}
public void setConcept(String concept) {
this.concept = concept;
}
public String getDatamodel() {
return dataModel;
}
public String getDatamodel() {
return dataModel;
}
public void setDatamodel(String dataModel) {
this.dataModel = dataModel;
}
public void setDatamodel(String dataModel) {
this.dataModel = dataModel;
}
public BulkloadOptions getOptions() {
return options;
}
public BulkloadOptions getOptions() {
return options;
}
public void setOptions(BulkloadOptions options) {
this.options = options;
}
public void setOptions(BulkloadOptions options) {
this.options = options;
}
public String getTransactionId() {
return transactionId;
}
public void setTransactionId(String transactionId) {
this.transactionId = transactionId;
}
/**
* load from a huge xml string
* @param xmlString A full xml document.
* load from a huge xml string
*
* @param xmlString A full xml document.
* @throws Exception Thrown in case of bulk load error.
*/
public void load(String xmlString) throws Exception {
load(new ByteArrayInputStream(xmlString.getBytes("UTF-8")));
}
*/
public void load(String xmlString) throws Exception {
load(new ByteArrayInputStream(xmlString.getBytes("UTF-8")));
}
/**
* <p>
* Loads XML documents in MDM using an InputStream. All documents should follow each other.
* For instance this InputStream can be used with this method.
* </p>
*
* <p/>
* <code>
* InputStream is = new ByteArrayInputStream("<doc></doc><doc></doc><doc></doc>".getBytes());
* </code>
*
* <p/>
* <p>
* This method blocks until all documents in <code>xmlDocuments</code> are read. For non blocking use cases
* see {@link #load()}.
@@ -150,6 +161,7 @@ public class BulkloadClient {
xmlDocuments,
username,
password,
transactionId,
universe);
}
@@ -158,18 +170,18 @@ public class BulkloadClient {
* Loads XML documents in MDM using an InputStream created for the load. This method creates a {@link Thread} that
* wait for {@link InputStreamMerger#push(java.io.InputStream)} to get called.
* </p>
*
* <p/>
* <code>
* BulkloadClient client = ...<br/>
* InputStreamMerger is = client.load();<br/>
* for(...) {<br/>
* is.push(new ByteArrayInputStream("...".getBytes());<br/>
* is.push(new ByteArrayInputStream("...".getBytes());<br/>
* }
* </code>
*
* @return A {@link InputStreamMerger} that allow asynchronous push to bulkload client.
* @throws Exception Thrown in case of communication error
* @see InputStreamMerger
* @return A {@link InputStreamMerger} that allow asynchronous push to bulkload client.
*/
public InputStreamMerger load() throws Exception {
return BulkloadClientUtil.bulkload(url,
@@ -180,6 +192,7 @@ public class BulkloadClient {
options.isSmartpk(),
username,
password,
transactionId,
universe,
startedBulkloadCount);
}

View File

@@ -20,8 +20,17 @@ import org.apache.commons.httpclient.params.HttpClientParams;
*/
public class BulkloadClientUtil {
public static void bulkload(String url, String cluster, String concept, String datamodel, boolean validate, boolean smartpk, InputStream itemdata,
String username, String password, String universe) throws Exception {
public static void bulkload(String url,
String cluster,
String concept,
String datamodel,
boolean validate,
boolean smartpk,
InputStream itemdata,
String username,
String password,
String transactionId,
String universe) throws Exception {
HostConfiguration config = new HostConfiguration();
URI uri = new URI(url, false, "UTF-8"); //$NON-NLS-1$
config.setHost(uri);
@@ -47,6 +56,9 @@ public class BulkloadClientUtil {
try {
// Configuration
putMethod.setRequestHeader("Content-Type", "text/xml; charset=utf8"); //$NON-NLS-1$ //$NON-NLS-2$
if (transactionId != null) {
putMethod.setRequestHeader("transaction-id", transactionId); //$NON-NLS-1$
}
putMethod.setQueryString(parameters);
putMethod.setContentChunked(true);
// Set the content of the PUT request
@@ -66,10 +78,31 @@ public class BulkloadClientUtil {
}
}
public static InputStreamMerger bulkload(String url, String cluster, String concept, String dataModel, boolean validate, boolean smartPK, String username, String password, String universe, AtomicInteger startedBulkloadCount) {
public static InputStreamMerger bulkload(String url,
String cluster,
String concept,
String dataModel,
boolean validate,
boolean smartPK,
String username,
String password,
String transactionId,
String universe,
AtomicInteger startedBulkloadCount) {
InputStreamMerger merger = new InputStreamMerger();
Runnable loadRunnable = new AsyncLoadRunnable(url, cluster, concept, dataModel, validate, smartPK, merger, username, password, universe, startedBulkloadCount);
Runnable loadRunnable = new AsyncLoadRunnable(url,
cluster,
concept,
dataModel,
validate,
smartPK,
merger,
username,
password,
transactionId,
universe,
startedBulkloadCount);
Thread loadThread = new Thread(loadRunnable);
loadThread.start();
@@ -96,11 +129,24 @@ public class BulkloadClientUtil {
private final String password;
private final String transactionId;
private final String universe;
private final AtomicInteger startedBulkloadCount;
public AsyncLoadRunnable(String url, String cluster, String concept, String dataModel, boolean validate, boolean smartPK, InputStreamMerger inputStream, String userName, String password, String universe, AtomicInteger startedBulkloadCount) {
public AsyncLoadRunnable(String url,
String cluster,
String concept,
String dataModel,
boolean validate,
boolean smartPK,
InputStreamMerger inputStream,
String userName,
String password,
String transactionId,
String universe,
AtomicInteger startedBulkloadCount) {
this.url = url;
this.cluster = cluster;
this.concept = concept;
@@ -110,6 +156,7 @@ public class BulkloadClientUtil {
this.inputStream = inputStream;
this.userName = userName;
this.password = password;
this.transactionId = transactionId;
this.universe = universe;
this.startedBulkloadCount = startedBulkloadCount;
}
@@ -117,7 +164,17 @@ public class BulkloadClientUtil {
public void run() {
try {
startedBulkloadCount.incrementAndGet();
bulkload(url, cluster, concept, dataModel, validate, smartPK, inputStream, userName, password, universe);
bulkload(url,
cluster,
concept,
dataModel,
validate,
smartPK,
inputStream,
userName,
password,
transactionId,
universe);
} catch (Throwable e) {
inputStream.reportFailure(e);
} finally {

View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="org.talend.designer.components.libs" default="process" basedir=".">
<property name="component.plugin.home" value="../../../org.talend.designer.components.localprovider/components" />
<!-- #################################################### -->
<!-- modification 1: config -->
<property name="jar.name" value="mdm_transaction.jar" />
<property name="component.name" value="tMDMConnection" />
<property name="author.name" value="wliu" />
<!-- modification 2: compile classpath -->
<path id="compile.classpath">
<pathelement location="${component.plugin.home}/tMDMBulkLoad/commons-codec.jar" />
<pathelement location="${component.plugin.home}/tMDMBulkLoad/commons-httpclient.jar" />
<pathelement location="${component.plugin.home}/tMDMBulkLoad/commons-logging.jar" />
</path>
<!-- #################################################### -->
<!-- sourcecode and final jar path -->
<property name="source.home" value="." />
<property name="jar.home" value="${component.plugin.home}/${component.name}/${jar.name}" />
<!-- temp dir for clasee files -->
<property name="build.dir" value="../../build" />
<!-- compile option -->
<property name="compile.debug" value="true" />
<property name="compile.deprecation" value="false" />
<property name="compile.optimize" value="true" />
<target name="process" description="prepare a temp dir">
<antcall target="prepare" />
<antcall target="compile" />
<antcall target="clean" />
</target>
<target name="prepare" description="prepare a temp dir">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
<mkdir dir="${build.dir}/classes" />
</target>
<target name="compile" description="Compile Java sources">
<!-- compile -->
<javac srcdir="${source.home}" destdir="${build.dir}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
<classpath refid="compile.classpath" />
</javac>
<!-- include source code -->
<copy todir="${build.dir}/classes">
<fileset dir="${source.home}">
<exclude name="build.xml" />
</fileset>
</copy>
<!-- make jar -->
<tstamp>
<format property="date" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes">
<manifest>
<!-- who -->
<attribute name="Built-By" value="${author.name}" />
<!-- when -->
<attribute name="Built-Date" value="${date}"/>
<!-- JDK version -->
<attribute name="Created-By" value="${java.version} (${java.vendor})" />
<!-- Information about the program itself -->
<attribute name="Implementation-Vendor" value="Talend SA" />
<attribute name="Implementation-Title" value="${jar.name}" />
<attribute name="Implementation-Version" value="1.0" />
</manifest>
</jar>
<!-- move jar -->
<move file="${build.dir}/${jar.name}" tofile="${jar.home}" />
</target>
<target name="clean" description="clean the temp dir">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
</target>
</project>

View File

@@ -0,0 +1,88 @@
package com.talend.mdm.transaction.client;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.DeleteMethod;
import org.apache.commons.httpclient.methods.PostMethod;
public class MDMTransaction {
private String url;
private String id;
private String username;
private String password;
public boolean commit() throws IOException {
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(username, password));
HttpMethod method = new PostMethod(url + "/" + id);
method.setDoAuthentication(true);
try {
client.executeMethod(method);
} catch (HttpException e) {
throw e;
} catch (IOException e) {
throw e;
} finally {
method.releaseConnection();
}
int statuscode = method.getStatusCode();
if (statuscode >= 400) {
return false;
}
return true;
}
public boolean rollback() throws IOException {
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(username, password));
HttpMethod method = new DeleteMethod(url + "/" + id);
method.setDoAuthentication(true);
try {
client.executeMethod(method);
} catch (HttpException e) {
throw e;
} catch (IOException e) {
throw e;
} finally {
method.releaseConnection();
}
int statuscode = method.getStatusCode();
if (statuscode >= 400) {
return false;
}
return true;
}
public void setUrl(String url) {
this.url = url;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
}

View File

@@ -0,0 +1,78 @@
package com.talend.mdm.transaction.client;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.PutMethod;
public class MDMTransactionClient {
public static MDMTransaction newTransaction(String url, String username, String password) throws IOException {
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(username, password));
PutMethod put = new PutMethod(url);
put.setDoAuthentication(true);
String tid = "";
try {
client.executeMethod(put);
tid = put.getResponseBodyAsString();
} catch (HttpException e) {
throw e;
} catch (IOException e) {
throw e;
} finally {
put.releaseConnection();
}
MDMTransaction result = new MDMTransaction();
result.setUrl(url);
result.setId(tid);
result.setUsername(username);
result.setPassword(password);
return result;
}
public static String getMDMTransactionURL(String url) {
if(url == null || "".equals(url)) {
return "";
}
int count = 3;
int i=0;
for(;i<url.length();i++) {
char c = url.charAt(i);
if('/' == c) {
count--;
}
if(count == 0) {
break;
}
}
String result = url.substring(0, i);
result += "/datamanager/services/transactions";
return result;
}
public static void main(String[] args) throws IOException {
MDMTransaction mt = MDMTransactionClient.newTransaction("http://localhost:8080/datamanager/services/transactions", "administrator", "administrator");
boolean commitresult = mt.commit();
MDMTransaction mt1 = MDMTransactionClient.newTransaction("http://localhost:8080/datamanager/services/transactions", "administrator", "administrator");
boolean rollbackcommit = mt1.rollback();
System.out.println(commitresult);
System.out.println(rollbackcommit);
String url = "http://localhost:8080/talend/TalendPort";
String mdmurl = MDMTransactionClient.getMDMTransactionURL(url);
System.out.println(mdmurl);
}
}

View File

@@ -18,14 +18,18 @@ public class MsmqUtil {
private String msgContent;
boolean bTried = false;
String ipAddr = "";
final String LOCALIP = "127.0.0.1";
public MsmqUtil() throws Exception {
java.net.InetAddress thisIp = java.net.InetAddress.getLocalHost();
ipAddr = thisIp.getHostAddress();
public MsmqUtil() {
try {
java.net.InetAddress thisIp = java.net.InetAddress.getLocalHost();
ipAddr = thisIp.getHostAddress();
} catch (Exception ex1) {
ex1.printStackTrace();
}
}
public static void main(String[] args) throws java.lang.Exception {
@@ -48,29 +52,43 @@ public class MsmqUtil {
}
// message remain in queue
public void peek() throws MessageQueueException, UnsupportedEncodingException {
checkOpen();
System.out.println("peek");
Message msg = msmqHandle.peek(2000); // timeout= 2000 ms
System.out.println(" ==> message: " + msg.getBodyAsString());
System.out.println(" label: " + msg.getLabel());
public void peek() {
try {
checkOpen();
System.out.println("peek");
Message msg = msmqHandle.peek(2000); // timeout= 2000 ms
System.out.println(" ==> message: " + msg.getBodyAsString());
System.out.println(" label: " + msg.getLabel());
} catch (MessageQueueException ex1) {
System.out.println("Peek failure: " + ex1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
// close an open queue
public void close() throws MessageQueueException {
checkOpen();
msmqHandle.close();
msmqHandle = null;
public void close() {
try {
checkOpen();
msmqHandle.close();
msmqHandle = null;
} catch (MessageQueueException ex1) {
System.out.println("close failure: " + ex1);
}
}
// delete the queue
private void delete() throws MessageQueueException {
String fullname = getQueueFullName(".", queueName);
ionic.Msmq.Queue.delete(fullname);
private void delete() {
try {
String fullname = getQueueFullName(".", queueName);
ionic.Msmq.Queue.delete(fullname);
} catch (MessageQueueException ex1) {
System.out.println("Queue deletion failure: " + ex1);
}
}
// open the queue, if it not exists, and creating is required, try to create a queue with the name.
public void open() throws MessageQueueException {
public void open() {
try {
if (msmqHandle != null) {
msmqHandle.close();
@@ -80,34 +98,45 @@ public class MsmqUtil {
msmqHandle = new Queue(fullname);
// msmqHandle= new Queue(fullname, 0x02); // 0x02 == SEND only
} catch (MessageQueueException ex1) {
System.out.println("Queue open failure: " + ex1);
if (bTried) {
System.out.println("Queue open failure: " + ex1);
bTried = false;
create();
}else{
throw ex1;
}
}
}
public void send() throws MessageQueueException, UnsupportedEncodingException {
checkOpen();
// the transaction flag must agree with the transactional flavor of the queue.
int transactionFlag = 0; // 0 = NO TRANSACTION, 1= MTS, 2= XA, 3= SINGLE_MESSAGE
String mLabel = "inserted by " + this.getClass().getName() + ".java";
String correlationID = "L:none";
Message msg = new Message(msgContent, mLabel, correlationID);
msmqHandle.send(msg);
public void send() {
try {
checkOpen();
// the transaction flag must agree with the transactional flavor of the queue.
int transactionFlag = 0; // 0 = NO TRANSACTION, 1= MTS, 2= XA, 3= SINGLE_MESSAGE
String mLabel = "inserted by " + this.getClass().getName() + ".java";
String correlationID = "L:none";
Message msg = new Message(msgContent, mLabel, correlationID);
msmqHandle.send(msg);
} catch (MessageQueueException ex1) {
System.out.println("Send failure: " + ex1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public String receive() throws MessageQueueException, UnsupportedEncodingException {
checkOpen();
// System.out.println("receive");
Message msg = msmqHandle.receive(2000); // timeout= 2000 ms
// System.out.println(" ==> message: " + msg.getMessage());
// System.out.println(" label: " + msg.getLabel());
return msg.getBodyAsString();
public String receive() {
try {
checkOpen();
// System.out.println("receive");
Message msg = msmqHandle.receive(2000); // timeout= 2000 ms
// System.out.println(" ==> message: " + msg.getMessage());
// System.out.println(" label: " + msg.getLabel());
return msg.getBodyAsString();
} catch (MessageQueueException ex1) {
System.out.println("Receive failure: " + ex1);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
private String getQueueFullName(String hostname, String queueShortName) {
@@ -122,15 +151,19 @@ public class MsmqUtil {
return "DIRECT=" + a1 + ":" + h1 + "\\private$\\" + queueShortName;
}
private void create() throws MessageQueueException {
if (!(host == null || "".equals(host) || "localhost".equalsIgnoreCase(host) || host.equals(ipAddr) || LOCALIP
.equals(host))) {
throw new MessageQueueException("can only create queue locally", -1); // can only create locally.
private void create() {
try {
if (!(host == null || "".equals(host) || "localhost".equalsIgnoreCase(host) || host.equals(ipAddr) || LOCALIP
.equals(host))) {
throw new MessageQueueException("can only create queue locally", -1); // can only create locally.
}
String fullname = ".\\private$\\" + queueName;
String qLabel = "Created by " + this.getClass().getName() + ".java";
boolean transactional = false; // should the queue be transactional
msmqHandle = Queue.create(fullname, qLabel, transactional);
} catch (MessageQueueException ex1) {
System.out.println("Queue creation failure: " + ex1);
}
String fullname = ".\\private$\\" + queueName;
String qLabel = "Created by " + this.getClass().getName() + ".java";
boolean transactional = false; // should the queue be transactional
msmqHandle = Queue.create(fullname, qLabel, transactional);
}
private void checkOpen() throws MessageQueueException {

View File

@@ -102,9 +102,6 @@ public class palodata {
csv.setQuoteChar('"');
int iCoordElem = 0;
while (csv.readNext()) {
if(iCoordElem > lstDimensionElementArray.size()-1){
break;
}
String strArrCoord[] = new String[iDimensionElementLength];
for (int i = 0; i < iDimensionElementLength; i++) {
strArrCoord[i] = (String) lstDimensionElementArray.get(iCoordElem++);

View File

@@ -2,6 +2,8 @@
<project name="org.talend.designer.components.libs" default="process" basedir=".">
<property name="component.plugin.home" value="../../../org.talend.designer.components.localprovider/components" />
<property name="csv.dir" value="../../../org.talend.libraries.csv/lib" />
<property name="lib.dir" value="../../../org.talend.libraries.salesforce/lib" />
<!-- #################################################### -->
@@ -15,7 +17,7 @@
<path id="compile.classpath">
<pathelement location="${component.plugin.home}/tSalesforceBulkExec/partnerBulk.jar" />
<pathelement location="${component.plugin.home}/tSalesforceBulkExec/wsc.jar" />
<pathelement location="${component.plugin.home}/tFileInputDelimited/talendcsv.jar" />
<pathelement location="${csv.dir}/talendcsv.jar" />
</path>
<!-- #################################################### -->
@@ -23,7 +25,7 @@
<!-- sourcecode and final jar path -->
<property name="source.home" value="." />
<property name="jar.home" value="${component.plugin.home}/${component.name}/${jar.name}" />
<property name="jar.home" value="${lib.dir}/${jar.name}" />
<!-- temp dir for clasee files -->
<property name="build.dir" value="../../build" />

View File

@@ -103,6 +103,10 @@ public class SalesforceBulkAPI {
this.connection = getBulkConnection(endpoint, username, password, apiVersion);
}
public void login(String sessionID, String endpointURL) throws ConnectionException, AsyncApiException {
this.connection = getBulkConnection(sessionID, endpointURL);
}
private JobInfo job;
private com.talend.csv.CSVReader baseFileReader;
@@ -216,17 +220,21 @@ public class SalesforceBulkAPI {
// Creating the connection automatically handles login and stores
// the session in partnerConfig
new PartnerConnection(partnerConfig);
// When PartnerConnection is instantiated, a login is implicitly
// executed and, if successful,
// a valid session is stored in the ConnectorConfig instance.
// Use this key to initialize a BulkConnection:
ConnectorConfig config = new ConnectorConfig();
config.setSessionId(partnerConfig.getSessionId());
// The endpoint for the Bulk API service is the same as for the normal
// SOAP uri until the /Soap/ part. From here it's '/async/versionNumber'
String soapEndpoint = partnerConfig.getServiceEndpoint();
String restEndpoint = soapEndpoint.substring(0, soapEndpoint.indexOf("Soap/")) + "async/" + apiVersion;
config.setRestEndpoint(restEndpoint);
// When PartnerConnection is instantiated, a login is implicitly
// executed and, if successful,
// a valid session is stored in the ConnectorConfig instance.
// Use this key to initialize a BulkConnection:
return getBulkConnection(partnerConfig.getSessionId(), restEndpoint);
}
private BulkConnection getBulkConnection(String sessionID, String endpointURL) throws ConnectionException, AsyncApiException {
ConnectorConfig config = new ConnectorConfig();
config.setSessionId(sessionID);
config.setRestEndpoint(endpointURL);
setProxyToConnection(config);
// This should only be false when doing debugging.
config.setCompression(needCompression);
@@ -481,8 +489,6 @@ public class SalesforceBulkAPI {
}
}
batchInfoList.add(info);
//For TDI-27909
closeJob();
}
public String[] getQueryResultIDs() {

View File

@@ -2,24 +2,37 @@
<project name="org.talend.designer.components.libs" default="process" basedir=".">
<property name="component.plugin.home" value="../../../org.talend.designer.components.localprovider/components" />
<property name="axis2.dir" value="../../../org.talend.libraries.apache.axis2/lib" />
<property name="targetplugin.dir" value="/home/bchen/Develope/yoxos/targets/target-530/plugins" />
<property name="http.dir" value="../../../org.talend.libraries.apache.http/lib" />
<!-- #################################################### -->
<!-- modification 1: config -->
<property name="jar.name" value="salesforceCRMManagement.jar" />
<property name="component.name" value="tSalesforceInput" />
<property name="author.name" value="wyang" />
<property name="lib.dir" value="../../../org.talend.libraries.salesforce/lib" />
<!-- modification 2: compile classpath -->
<path id="compile.classpath">
<pathelement location="${component.plugin.home}/tWebServiceInput/axis.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/commons-discovery-0.2.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/wsdl4j-1.5.1.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/saaj.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/jaxrpc.jar" />
<pathelement location="${component.plugin.home}/tXMLRPCInput/commons-logging-1.1.jar" />
<pathelement location="${component.plugin.home}/tCentricCRMInput/log4j-1.2.15.jar" />
<pathelement location="${component.plugin.home}/tFileInputXML/dom4j-1.6.1.jar" />
<pathelement location="${axis2.dir}/axiom-api-1.2.13.jar" />
<pathelement location="${axis2.dir}/axiom-impl-1.2.13.jar" />
<pathelement location="${axis2.dir}/axis2-kernel-1.6.2.jar" />
<pathelement location="${axis2.dir}/axis2-transport-http-1.6.2.jar" />
<pathelement location="${axis2.dir}/axis2-transport-local-1.6.2.jar" />
<pathelement location="${targetplugin.dir}/org.apache.commons.codec_1.3.0.v201101211617.jar" />
<pathelement location="${http.dir}/commons-httpclient-3.1.jar" />
<pathelement location="${targetplugin.dir}/org.apache.commons.logging_1.1.1.v201101211721.jar" />
<pathelement location="${http.dir}/httpcore-4.0.jar" />
<pathelement location="${axis2.dir}/mail-1.4.jar" />
<pathelement location="${axis2.dir}/neethi-3.0.1.jar" />
<pathelement location="${axis2.dir}/wsdl4j-1.6.2.jar" />
<pathelement location="${axis2.dir}/xmlschema-core-2.0.1.jar" />
<pathelement location="${axis2.dir}/axis2-adb-1.6.2.jar" />
<pathelement location="${axis2.dir}/geronimo-stax-api_1.0_spec-1.0.1.jar" />
<pathelement location="${axis2.dir}/activation-1.1.jar" />
<pathelement location="${axis2.dir}/wstx-asl-3.2.9.jar" />
</path>
<!-- #################################################### -->
@@ -27,7 +40,7 @@
<!-- sourcecode and final jar path -->
<property name="source.home" value="." />
<property name="jar.home" value="${component.plugin.home}/${component.name}/${jar.name}" />
<property name="jar.home" value="${lib.dir}/${jar.name}" />
<!-- temp dir for clasee files -->
<property name="build.dir" value="../../build" />
@@ -53,14 +66,27 @@
<target name="compile" description="Compile Java sources">
<!-- compile -->
<javac srcdir="${source.home}" destdir="${build.dir}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
<javac destdir="${build.dir}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
<classpath refid="compile.classpath" />
<src path="${source.home}" />
<exclude name="org/salesforce/samples/PartnerSamples.java"/>
<exclude name="org/talend/log/TOSAxisHttpLogController.java"/>
<exclude name="org/talend/log/TOSAxisHttpSimpleLog.java"/>
<exclude name="org/talend/Test4Feature8540.java"/>
<exclude name="org/talend/salesforce/util/SObjectsToSchema.java"/>
<exclude name="org/talend/salesforce/util/ConvertSFTypeToTOSType.java"/>
</javac>
<!-- include source code -->
<copy todir="${build.dir}/classes">
<fileset dir="${source.home}">
<exclude name="build.xml" />
<exclude name="org/salesforce/samples/PartnerSamples.java"/>
<exclude name="org/talend/log/TOSAxisHttpLogController.java"/>
<exclude name="org/talend/log/TOSAxisHttpSimpleLog.java"/>
<exclude name="org/talend/Test4Feature8540.java"/>
<exclude name="org/talend/salesforce/util/SObjectsToSchema.java"/>
<exclude name="org/talend/salesforce/util/ConvertSFTypeToTOSType.java"/>
</fileset>
</copy>

View File

@@ -44,6 +44,8 @@ public interface SforceManagement {
public void setClientID(String clientID);
public boolean login(String sessionID, String endpoint, int timeout, boolean needCompression) throws Exception;
public boolean login(String endpoint, String username, String password, int timeout, boolean needCompression)
throws Exception;
@@ -52,6 +54,9 @@ public interface SforceManagement {
public void login(SforceServiceStub stub, SessionHeader sh) throws Exception;
public boolean login(String sessionID, String endpoint, int timeout, boolean needCompression, int commitLevel,
boolean exceptionForErrors, String errorLogFile) throws Exception;
public boolean login(String endpoint, String username, String password, int timeout, boolean needCompression,
int commitLevel, boolean exceptionForErrors, String errorLogFile) throws Exception;

View File

@@ -64,22 +64,27 @@ public class SforceManagementImpl implements SforceManagement {
private CallOptions co;
@Override
public SforceServiceStub getStub() {
return stub;
}
@Override
public SessionHeader getSessionHeader() {
return sh;
}
@Override
public CallOptions getCallOptions() {
return co;
}
@Override
public void setCallOptions(CallOptions co) {
this.co = co;
}
@Override
public void setClientID(String clientID) {
if (co == null) {
co = new CallOptions();
@@ -105,12 +110,15 @@ public class SforceManagementImpl implements SforceManagement {
if (httpsHost != null) {
ProxyProperties proxyProperties = new ProxyProperties();
proxyProperties.setProxyName(httpsHost);
if (httpsPort != null)
if (httpsPort != null) {
proxyProperties.setProxyPort(Integer.parseInt(httpsPort));
if (httpsUser != null && !"".equals(httpsUser))
}
if (httpsUser != null && !"".equals(httpsUser)) {
proxyProperties.setUserName(httpsUser);
if (httpsPwd != null && !"".equals(httpsPwd))
}
if (httpsPwd != null && !"".equals(httpsPwd)) {
proxyProperties.setPassWord(httpsPwd);
}
options.setProperty(HTTPConstants.PROXY, proxyProperties);
} else {
String host = System.getProperty("http.proxyHost");
@@ -120,12 +128,15 @@ public class SforceManagementImpl implements SforceManagement {
if (host != null) {
ProxyProperties proxyProperties = new ProxyProperties();
proxyProperties.setProxyName(host);
if (port != null)
if (port != null) {
proxyProperties.setProxyPort(Integer.parseInt(port));
if (user != null && !"".equals(user))
}
if (user != null && !"".equals(user)) {
proxyProperties.setUserName(user);
if (pwd != null && !"".equals(pwd))
}
if (pwd != null && !"".equals(pwd)) {
proxyProperties.setPassWord(pwd);
}
options.setProperty(HTTPConstants.PROXY, proxyProperties);
} else {
String socksHost = System.getProperty("socksProxyHost");
@@ -135,12 +146,15 @@ public class SforceManagementImpl implements SforceManagement {
if (socksHost != null) {
ProxyProperties proxyProperties = new ProxyProperties();
proxyProperties.setProxyName(socksHost);
if (socksPort != null)
if (socksPort != null) {
proxyProperties.setProxyPort(Integer.parseInt(socksPort));
if (socksUser != null && !"".equals(socksUser))
}
if (socksUser != null && !"".equals(socksUser)) {
proxyProperties.setUserName(socksUser);
if (socksPwd != null && !"".equals(socksPwd))
}
if (socksPwd != null && !"".equals(socksPwd)) {
proxyProperties.setPassWord(socksPwd);
}
options.setProperty(HTTPConstants.PROXY, proxyProperties);
}
}
@@ -149,20 +163,7 @@ public class SforceManagementImpl implements SforceManagement {
// HTTPConstants.HEADER_PROTOCOL_10);
}
public boolean login(String endpoint, String username, String password, String timeout, boolean needCompression)
throws Exception {
return login(endpoint, username, password, Integer.parseInt(timeout), needCompression);
}
public boolean login(String endpoint, String username, String password, int timeout, boolean needCompression)
throws Exception {
if (endpoint == null || endpoint.trim().length() == 0)
return false;
if (username == null || username.trim().length() == 0)
return false;
if (password == null || password.trim().length() == 0)
return false;
private void _init() {
this.commitLevel = 1;
this.deleteItems = new ArrayList<ID>(commitLevel * 2);
@@ -170,7 +171,39 @@ public class SforceManagementImpl implements SforceManagement {
this.updateItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertKeyColumn = "";
}
private void _init(int commitLevel, boolean exceptionForErrors, String errorLogFile) throws Exception {
if (commitLevel < 0) {
commitLevel = 1;
} else if (commitLevel > 200) {
commitLevel = 200;
}
this.commitLevel = commitLevel;
this.exceptionForErrors = exceptionForErrors;
if (errorLogFile != null && errorLogFile.trim().length() > 0) {
logWriter = new java.io.BufferedWriter(new java.io.FileWriter(errorLogFile));
}
this.deleteItems = new ArrayList<ID>(commitLevel * 2);
this.insertItems = new ArrayList<SObject>(commitLevel * 2);
this.updateItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertKeyColumn = "";
}
private boolean _login(String endpoint, String username, String password, int timeout, boolean needCompression)
throws Exception {
if (endpoint == null || endpoint.trim().length() == 0) {
return false;
}
if (username == null || username.trim().length() == 0) {
return false;
}
if (password == null || password.trim().length() == 0) {
return false;
}
stub = new SforceServiceStub(endpoint);
Options options = stub._getServiceClient().getOptions();
@@ -185,9 +218,32 @@ public class SforceManagementImpl implements SforceManagement {
login.setPassword(password);
LoginResult loginResult = stub.login(login, null, co).getResult();
return _login(loginResult.getSessionId(), loginResult.getServerUrl(), timeout, needCompression);
}
private void _login(SforceServiceStub stub, SessionHeader sh) throws Exception {
if (stub == null) {
throw new RuntimeException("SforceServiceStub is null! Connection is unavailable!");
}
if (sh == null) {
throw new RuntimeException("SessionHeader is null! Connection is unavailable!");
}
this.stub = stub;
this.sh = sh;
}
private boolean _login(String sessionID, String endpoint, int timeout, boolean needCompression) throws Exception {
if (sessionID == null || sessionID.trim().length() == 0) {
return false;
}
if (endpoint == null || endpoint.trim().length() == 0) {
return false;
}
sh = new SessionHeader();
sh.setSessionId(loginResult.getSessionId());
stub = new SforceServiceStub(loginResult.getServerUrl());
sh.setSessionId(sessionID);
stub = new SforceServiceStub(endpoint);
Options options = stub._getServiceClient().getOptions();
options = stub._getServiceClient().getOptions();
if (needCompression) {
@@ -199,22 +255,29 @@ public class SforceManagementImpl implements SforceManagement {
return true;
}
public void login(SforceServiceStub stub, SessionHeader sh) throws Exception {
this.commitLevel = 1;
@Override
public boolean login(String sessionID, String endpoint, int timeout, boolean needCompression) throws Exception {
_init();
return _login(sessionID, endpoint, timeout, needCompression);
}
this.deleteItems = new ArrayList<ID>(commitLevel * 2);
this.insertItems = new ArrayList<SObject>(commitLevel * 2);
this.updateItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertKeyColumn = "";
if (stub == null) {
throw new RuntimeException("SforceServiceStub is null! Connection is unavailable!");
}
if (sh == null) {
throw new RuntimeException("SessionHeader is null! Connection is unavailable!");
}
this.stub = stub;
this.sh = sh;
@Override
public boolean login(String endpoint, String username, String password, String timeout, boolean needCompression)
throws Exception {
return login(endpoint, username, password, Integer.parseInt(timeout), needCompression);
}
@Override
public boolean login(String endpoint, String username, String password, int timeout, boolean needCompression)
throws Exception {
_init();
return _login(endpoint, username, password, timeout, needCompression);
}
@Override
public void login(SforceServiceStub stub, SessionHeader sh) throws Exception {
_init();
_login(stub, sh);
}
private boolean exceptionForErrors = false;
@@ -235,97 +298,39 @@ public class SforceManagementImpl implements SforceManagement {
private String upsertKeyColumn;
@Override
public boolean login(String sessionID, String endpoint, int timeout, boolean needCompression, int commitLevel,
boolean exceptionForErrors, String errorLogFile) throws Exception {
_init(commitLevel, exceptionForErrors, errorLogFile);
return _login(sessionID, endpoint, timeout, needCompression);
}
@Override
public boolean login(String endpoint, String username, String password, String timeout, boolean needCompression,
int commitLevel, boolean exceptionForErrors, String errorLogFile) throws Exception {
return login(endpoint, username, password, Integer.parseInt(timeout), needCompression, commitLevel, exceptionForErrors,
errorLogFile);
}
@Override
public boolean login(String endpoint, String username, String password, int timeout, boolean needCompression,
int commitLevel, boolean exceptionForErrors, String errorLogFile) throws Exception {
if (username == null || username.trim().length() == 0)
return false;
if (password == null || password.trim().length() == 0)
return false;
if (endpoint == null || endpoint.trim().length() == 0)
return false;
if (commitLevel < 0)
commitLevel = 1;
else if (commitLevel > 200)
commitLevel = 200;
this.commitLevel = commitLevel;
this.exceptionForErrors = exceptionForErrors;
if (errorLogFile != null && errorLogFile.trim().length() > 0) {
logWriter = new java.io.BufferedWriter(new java.io.FileWriter(errorLogFile));
}
this.deleteItems = new ArrayList<ID>(commitLevel * 2);
this.insertItems = new ArrayList<SObject>(commitLevel * 2);
this.updateItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertKeyColumn = "";
stub = new SforceServiceStub(endpoint);
Options options = stub._getServiceClient().getOptions();
if (needCompression) {
needCompression(options);
}
setTimeout(options, timeout);
setHttpProxy(options);
Login login = new Login();
login.setUsername(username);
login.setPassword(password);
LoginResult loginResult = stub.login(login, null, co).getResult();
sh = new SessionHeader();
sh.setSessionId(loginResult.getSessionId());
stub = new SforceServiceStub(loginResult.getServerUrl());
options = stub._getServiceClient().getOptions();
if (needCompression) {
needCompression(options);
}
setTimeout(options, timeout);
setHttpProxy(options);
return true;
_init(commitLevel, exceptionForErrors, errorLogFile);
return _login(endpoint, username, password, timeout, needCompression);
}
@Override
public void login(SforceServiceStub stub, SessionHeader sh, int commitLevel, boolean exceptionForErrors, String errorLogFile)
throws Exception {
if (commitLevel < 0)
commitLevel = 1;
else if (commitLevel > 200)
commitLevel = 200;
_init(commitLevel, exceptionForErrors, errorLogFile);
this.commitLevel = commitLevel;
this.exceptionForErrors = exceptionForErrors;
if (errorLogFile != null && errorLogFile.trim().length() > 0) {
logWriter = new java.io.BufferedWriter(new java.io.FileWriter(errorLogFile));
}
this.deleteItems = new ArrayList<ID>(commitLevel * 2);
this.insertItems = new ArrayList<SObject>(commitLevel * 2);
this.updateItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertItems = new ArrayList<SObject>(commitLevel * 2);
this.upsertKeyColumn = "";
if (stub == null) {
throw new RuntimeException("SforceServiceStub is null! Connection is unavailable!");
}
if (sh == null) {
throw new RuntimeException("SessionHeader is null! Connection is unavailable!");
}
this.stub = stub;
this.sh = sh;
_login(stub, sh);
}
/**
* logout
*/
@Override
public void logout() throws Exception {
Object returnObject = null;
// if there are still records to be commited:
@@ -347,7 +352,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?""+(batch_idx+1):"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? "" + (batch_idx + 1)
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -362,9 +368,9 @@ public class SforceManagementImpl implements SforceManagement {
}
if (deleteItems.size() > 0) {
ID[] delIDs = deleteItems.toArray(new ID[deleteItems.size()]);
changedItemKeys = new String[delIDs.length];
for(int ix=0;ix<delIDs.length;++ix) {
changedItemKeys[ix]=delIDs[ix].getID();
changedItemKeys = new String[delIDs.length];
for (int ix = 0; ix < delIDs.length; ++ix) {
changedItemKeys[ix] = delIDs[ix].getID();
}
Delete dels = new Delete();
dels.setIds(delIDs);
@@ -381,7 +387,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?changedItemKeys[batch_idx]:"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? changedItemKeys[batch_idx]
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -396,9 +403,9 @@ public class SforceManagementImpl implements SforceManagement {
}
if (updateItems.size() > 0) {
SObject[] upds = updateItems.toArray(new SObject[updateItems.size()]);
changedItemKeys = new String[upds.length];
for(int ix=0;ix<upds.length;++ix) {
changedItemKeys[ix]=upds[ix].getId().getID();
changedItemKeys = new String[upds.length];
for (int ix = 0; ix < upds.length; ++ix) {
changedItemKeys[ix] = upds[ix].getId().getID();
}
Update update = new Update();
update.setSObjects(upds);
@@ -415,7 +422,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?changedItemKeys[batch_idx]:"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? changedItemKeys[batch_idx]
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -431,12 +439,12 @@ public class SforceManagementImpl implements SforceManagement {
if (upsertItems.size() > 0) {
SObject[] upds = upsertItems.toArray(new SObject[upsertItems.size()]);
changedItemKeys = new String[upds.length];
for(int ix=0;ix<upds.length;++ix) {
changedItemKeys[ix]="No value for "+upsertKeyColumn+" ";
for (int ix = 0; ix < upds.length; ++ix) {
changedItemKeys[ix] = "No value for " + upsertKeyColumn + " ";
OMElement[] oms = upds[ix].getExtraElement();
for(int iy=0;iy<oms.length;++iy) {
if(upsertKeyColumn!=null && oms[iy]!=null && upsertKeyColumn.equals(oms[iy].getLocalName())) {
changedItemKeys[ix]=oms[iy].getText();
for (int iy = 0; iy < oms.length; ++iy) {
if (upsertKeyColumn != null && oms[iy] != null && upsertKeyColumn.equals(oms[iy].getLocalName())) {
changedItemKeys[ix] = oms[iy].getText();
break;
}
}
@@ -457,7 +465,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?changedItemKeys[batch_idx]:"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? changedItemKeys[batch_idx]
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -481,9 +490,11 @@ public class SforceManagementImpl implements SforceManagement {
/**
* delete, one time one record.
*/
@Override
public DeleteResult[] delete(String id) throws Exception {
if (id == null)
if (id == null) {
return null;
}
// String[] ids = new String[] { id };
ID dID = new ID();
@@ -492,9 +503,9 @@ public class SforceManagementImpl implements SforceManagement {
if (deleteItems.size() >= commitLevel) {
ID[] delIDs = deleteItems.toArray(new ID[deleteItems.size()]);
changedItemKeys = new String[delIDs.length];
for(int ix=0;ix<delIDs.length;++ix) {
changedItemKeys[ix]=delIDs[ix].getID();
changedItemKeys = new String[delIDs.length];
for (int ix = 0; ix < delIDs.length; ++ix) {
changedItemKeys[ix] = delIDs[ix].getID();
}
Delete dels = new Delete();
dels.setIds(delIDs);
@@ -511,7 +522,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?changedItemKeys[batch_idx]:"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? changedItemKeys[batch_idx]
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -527,6 +539,7 @@ public class SforceManagementImpl implements SforceManagement {
return null;
}
@Override
public OMElement newOMElement(String name, String value) throws Exception {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMElement ome = fac.createOMElement(name, null);
@@ -537,12 +550,15 @@ public class SforceManagementImpl implements SforceManagement {
/**
* create, one time one record.
*/
@Override
public SaveResult[] insert(String tablename, OMElement[] nameValues) throws Exception {
if (tablename == null || tablename.trim().length() == 0)
if (tablename == null || tablename.trim().length() == 0) {
return null;
}
if (nameValues == null || nameValues.length == 0)
if (nameValues == null || nameValues.length == 0) {
return null;
}
SObject item = new SObject();
item.setType(tablename);
@@ -567,7 +583,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?""+(batch_idx+1):"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? "" + (batch_idx + 1)
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -586,6 +603,7 @@ public class SforceManagementImpl implements SforceManagement {
/**
* update, one record, one time.
*/
@Override
public SaveResult[] update(String tablename, String idStr, OMElement[] updatefields, String[] fieldsToNull) throws Exception {
SObject item = new SObject(); // create the account object to hold our changes
@@ -600,9 +618,9 @@ public class SforceManagementImpl implements SforceManagement {
// call the update passing an array of object
if (updateItems.size() >= commitLevel) {
SObject[] upds = updateItems.toArray(new SObject[updateItems.size()]);
changedItemKeys = new String[upds.length];
for(int ix=0;ix<upds.length;++ix) {
changedItemKeys[ix]=upds[ix].getId().getID();
changedItemKeys = new String[upds.length];
for (int ix = 0; ix < upds.length; ++ix) {
changedItemKeys[ix] = upds[ix].getId().getID();
}
Update update = new Update();
update.setSObjects(upds);
@@ -619,7 +637,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?changedItemKeys[batch_idx]:"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? changedItemKeys[batch_idx]
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -640,6 +659,7 @@ public class SforceManagementImpl implements SforceManagement {
/**
* upsert, one record, one time.
*/
@Override
public UpsertResult[] upsert(String tablename, String upsertkey, OMElement[] updatefields, String[] fieldsToNull)
throws Exception {
@@ -656,13 +676,13 @@ public class SforceManagementImpl implements SforceManagement {
// call the update passing an array of object
if (upsertItems.size() >= commitLevel) {
SObject[] upds = upsertItems.toArray(new SObject[upsertItems.size()]);
changedItemKeys = new String[upds.length];
for(int ix=0;ix<upds.length;++ix) {
changedItemKeys[ix]="No value for "+upsertKeyColumn+" ";
changedItemKeys = new String[upds.length];
for (int ix = 0; ix < upds.length; ++ix) {
changedItemKeys[ix] = "No value for " + upsertKeyColumn + " ";
OMElement[] oms = upds[ix].getExtraElement();
for(int iy=0;iy<oms.length;++iy) {
if(upsertKeyColumn!=null && oms[iy]!=null && upsertKeyColumn.equals(oms[iy].getLocalName())) {
changedItemKeys[ix]=oms[iy].getText();
for (int iy = 0; iy < oms.length; ++iy) {
if (upsertKeyColumn != null && oms[iy] != null && upsertKeyColumn.equals(oms[iy].getLocalName())) {
changedItemKeys[ix] = oms[iy].getText();
break;
}
}
@@ -683,7 +703,8 @@ public class SforceManagementImpl implements SforceManagement {
if (result.getSuccess()) {
// TODO: send back the ID
} else {
errors = addLog(result.getErrors(),batch_idx<changedItemKeys.length?changedItemKeys[batch_idx]:"Batch index out of bounds");
errors = addLog(result.getErrors(), batch_idx < changedItemKeys.length ? changedItemKeys[batch_idx]
: "Batch index out of bounds");
}
if (exceptionForErrors && errors.toString().length() > 0) {
if (logWriter != null) {
@@ -709,10 +730,10 @@ public class SforceManagementImpl implements SforceManagement {
logWriter.append("\tStatus Code: ").append(error.getStatusCode().toString());
logWriter.newLine();
logWriter.newLine();
logWriter.append("\tRowKey/RowNo: "+row_key);
logWriter.append("\tRowKey/RowNo: " + row_key);
if (error.getFields() != null) {
logWriter.newLine();
logWriter.append("\tFields: ");
logWriter.newLine();
logWriter.append("\tFields: ");
boolean flag = false;
for (String field : error.getFields()) {
if (flag) {
@@ -741,18 +762,21 @@ public class SforceManagementImpl implements SforceManagement {
return errors;
}
@Override
public Map<String, String> readResult(Object[] results) throws Exception {
Map<String, String> resultMessage = null;
if (results instanceof SaveResult[]) {
for (SaveResult result : (SaveResult[]) results) {
resultMessage = new HashMap<String, String>();
if (result.getId() != null)
if (result.getId() != null) {
resultMessage.put("id", result.getId().getID());
}
resultMessage.put("success", String.valueOf(result.getSuccess()));
if (!result.getSuccess()) {
for (Error error : result.getErrors()) {
if (error.getStatusCode() != null)
if (error.getStatusCode() != null) {
resultMessage.put("StatusCode", error.getStatusCode().toString());
}
if (error.getFields() != null) {
StringBuffer fields = new StringBuffer();
for (String field : error.getFields()) {
@@ -772,13 +796,15 @@ public class SforceManagementImpl implements SforceManagement {
} else if (results instanceof DeleteResult[]) {
for (DeleteResult result : (DeleteResult[]) results) {
resultMessage = new HashMap<String, String>();
if (result.getId() != null)
if (result.getId() != null) {
resultMessage.put("id", result.getId().getID());
}
resultMessage.put("success", String.valueOf(result.getSuccess()));
if (!result.getSuccess()) {
for (Error error : result.getErrors()) {
if (error.getStatusCode() != null)
if (error.getStatusCode() != null) {
resultMessage.put("StatusCode", error.getStatusCode().toString());
}
resultMessage.put("Message", error.getMessage());
}
}
@@ -787,14 +813,16 @@ public class SforceManagementImpl implements SforceManagement {
} else if (results instanceof UpsertResult[]) {
for (UpsertResult result : (UpsertResult[]) results) {
resultMessage = new HashMap<String, String>();
if (result.getId() != null)
if (result.getId() != null) {
resultMessage.put("id", result.getId().getID());
}
resultMessage.put("success", String.valueOf(result.getSuccess()));
resultMessage.put("created", String.valueOf(result.getCreated()));
if (!result.getSuccess()) {
for (Error error : result.getErrors()) {
if (error.getStatusCode() != null)
if (error.getStatusCode() != null) {
resultMessage.put("StatusCode", error.getStatusCode().toString());
}
if (error.getFields() != null) {
StringBuffer fields = new StringBuffer();
for (String field : error.getFields()) {
@@ -815,10 +843,12 @@ public class SforceManagementImpl implements SforceManagement {
return null;
}
@Override
public Calendar getServerTimestamp() throws Exception {
return stub.getServerTimestamp(new GetServerTimestamp(), sh, co).getResult().getTimestamp();
}
@Override
public ID[] getUpdated(String objectType, Calendar startDate, Calendar endDate) throws Exception {
GetUpdated getUpdated = new GetUpdated();
getUpdated.setSObjectType(objectType);
@@ -829,6 +859,7 @@ public class SforceManagementImpl implements SforceManagement {
return ids;
}
@Override
public SObject[] retrieve(ID[] ids, String objectType, String fieldsList) throws Exception {
Retrieve retrieve = new Retrieve();
retrieve.setFieldList(fieldsList);
@@ -845,6 +876,7 @@ public class SforceManagementImpl implements SforceManagement {
return results;
}
@Override
public GetDeletedResult getDeleted(String objectType, Calendar startDate, Calendar endDate) throws Exception {
GetDeleted getDeleted = new GetDeleted();
getDeleted.setSObjectType(objectType);
@@ -859,6 +891,7 @@ public class SforceManagementImpl implements SforceManagement {
return result;
}
@Override
public QueryResult queryAll(String soql, int batchSize) throws Exception {
QueryAll queryAll = new QueryAll();
queryAll.setQueryString(soql);
@@ -868,6 +901,7 @@ public class SforceManagementImpl implements SforceManagement {
return qr;
}
@Override
public QueryResult queryMore(QueryLocator queryLocator, int batchSize) throws Exception {
QueryOptions queryOptions = new QueryOptions();
queryOptions.setBatchSize(batchSize);
@@ -877,6 +911,7 @@ public class SforceManagementImpl implements SforceManagement {
return qr;
}
@Override
public QueryResult query(String soql, int batchSize) throws Exception {
Query query = new Query();
query.setQueryString(soql);
@@ -885,4 +920,5 @@ public class SforceManagementImpl implements SforceManagement {
QueryResult qr = stub.query(query, sh, co, queryOptions, null, null).getResult();
return qr;
}
}

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="org.talend.designer.components.libs" default="process" basedir=".">
<property name="component.plugin.home" value="../../../org.talend.designer.components.localprovider/components" />
<property name="jetty.dir" value="../../../org.talend.libraries.jetty/lib" />
<property name="servlet.dir" value="../../../org.talend.libraries.salesforce/lib" />
<property name="jackson.dir" value="../../../org.talend.libraries.jackson/lib" />
<property name="lib.dir" value="../../../org.talend.libraries.salesforce/lib" />
<!-- #################################################### -->
<!-- modification 1: config -->
<property name="jar.name" value="salesforceOAuth.jar" />
<property name="author.name" value="bchen" />
<!-- modification 2: compile classpath -->
<path id="compile.classpath">
<pathelement location="${jetty.dir}/jetty-all-8.1.12.v20130726.jar" />
<pathelement location="${servlet.dir}/servlet-api-3.0.jar" />
<pathelement location="${jackson.dir}/json_simple-1.1.jar" />
</path>
<!-- #################################################### -->
<!-- sourcecode and final jar path -->
<property name="source.home" value="." />
<property name="test.home" value="/org/talend/salesforce/oauth/test" />
<property name="jar.home" value="${lib.dir}/${jar.name}" />
<!-- temp dir for clasee files -->
<property name="build.dir" value="../../build" />
<!-- compile option -->
<property name="compile.debug" value="true" />
<property name="compile.deprecation" value="false" />
<property name="compile.optimize" value="true" />
<target name="process" description="prepare a temp dir">
<antcall target="prepare" />
<antcall target="compile" />
<antcall target="clean" />
</target>
<target name="prepare" description="prepare a temp dir">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
<mkdir dir="${build.dir}/classes" />
</target>
<target name="compile" description="Compile Java sources">
<!-- compile -->
<javac destdir="${build.dir}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
<classpath refid="compile.classpath" />
<src path="${source.home}"/>
<exclude name="org/talend/salesforce/oauth/test/OAuthClientTest.java" />
</javac>
<!-- include source code -->
<copy todir="${build.dir}/classes">
<fileset dir="${source.home}">
<exclude name="build.xml" />
</fileset>
</copy>
<!-- make jar -->
<tstamp>
<format property="date" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes">
<manifest>
<!-- who -->
<attribute name="Built-By" value="${author.name}" />
<!-- when -->
<attribute name="Built-Date" value="${date}" />
<!-- JDK version -->
<attribute name="Created-By" value="${java.version} (${java.vendor})" />
<!-- Information about the program itself -->
<attribute name="Implementation-Vendor" value="Talend SA" />
<attribute name="Implementation-Title" value="${jar.name}" />
<attribute name="Implementation-Version" value="1.0" />
</manifest>
</jar>
<!-- move jar -->
<move file="${build.dir}/${jar.name}" tofile="${jar.home}" />
</target>
<target name="clean" description="clean the temp dir">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}" />
</target>
</project>

View File

@@ -0,0 +1,84 @@
package org.talend.salesforce.oauth;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
import org.eclipse.jetty.util.ssl.SslContextFactory;
// ============================================================================
//
// Copyright (C) 2006-2012 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
//
// ============================================================================
/**
* created by bchen on Aug 26, 2013 Detailled comment
*
*/
public class HttpsService {
Server server;
String code;
/**
* DOC bchen HttpService constructor comment.
*
* @throws Exception
*/
public HttpsService(int port) throws Exception {
server = new Server();
SslSelectChannelConnector ssl_connector = new SslSelectChannelConnector();
ssl_connector.setPort(port);
SslContextFactory cf = ssl_connector.getSslContextFactory();
cf.setKeyStorePath(HttpsService.class.getResource("tsalesforce").toString());
cf.setKeyStorePassword("talend");
cf.setKeyManagerPassword("talend");
server.addConnector(ssl_connector);
server.setHandler(new CallBackHandler());
server.start();
}
public void stop() throws Exception {
server.stop();
server.join();
}
public String getCode() {
return code;
}
class CallBackHandler extends AbstractHandler {
@Override
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
if (code == null) {
code = request.getParameter("code");
if (code != null) {
response.getWriter().println("<p>Successful to get authorization code:" + code + "</p>");
}
}
response.flushBuffer();
}
}
}

View File

@@ -0,0 +1,394 @@
package org.talend.salesforce.oauth;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
// ============================================================================
//
// Copyright (C) 2006-2012 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
//
// ============================================================================
/**
* created by bchen on Aug 26, 2013 Detailled comment
*
*/
public class OAuthClient {
private static final String OAUTH2_TOKEN = "token";
private static final String OAUTH2_AUTHORIZE = "authorize";
private static final String UTF8 = "UTF-8";
private String clientID;
// don't need for user-agent flow
private String clientSecret;
private String callbackHost = "localhost";
private int callbackPort;
private String baseOAuthURL;
private HttpsService service;
public String getBulkEndpoint(Token token, String version) {
return token.getInstance_url() + "/services/async/" + version;
}
public String getSOAPEndpoint(Token token, String version) throws MalformedURLException, IOException ,ParseException{
URLConnection idConn = new URL(token.getId()).openConnection();
idConn.setRequestProperty("Authorization", "Bearer " + token.getAccess_token());
String endpointURL = null;
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(idConn.getInputStream()));
JSONParser jsonParser = new JSONParser();
JSONObject json = (JSONObject) jsonParser.parse(reader);
JSONObject urls = (JSONObject) json.get("urls");
endpointURL = urls.get("partner").toString().replace("{version}", version);
}finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ignore) {
}
}
}
return endpointURL;
}
public Token refreshToken(String refreshToken) throws Exception {
Token newToken = new Token();
newToken.setRefresh_token(refreshToken);
// get token using refresh token
String token_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_TOKEN : baseOAuthURL + "/" + OAUTH2_TOKEN;
URLConnection conn = new URL(token_url).openConnection();
conn.setDoOutput(true);// post
String query = String.format("grant_type=%s&client_id=%s&client_secret=%s&refresh_token=%s&format=%s", "refresh_token",
clientID, clientSecret, refreshToken, "json");
OutputStream output = null;
try {
output = conn.getOutputStream();
output.write(query.getBytes(UTF8));
} finally {
if (output != null) {
try {
output.close();
} catch (IOException ignore) {
}
}
}
InputStream input = conn.getInputStream();
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(input));
JSONParser jsonParser = new JSONParser();
JSONObject json = (JSONObject) jsonParser.parse(reader);
if (json.get("error") == null) {
if (json.get("access_token") != null) {
newToken.setAccess_token(json.get("access_token").toString());
}
if (json.get("instance_url") != null) {
newToken.setInstance_url(json.get("instance_url").toString());
}
if (json.get("id") != null) {
newToken.setId(json.get("id").toString());
}
if (json.get("issued_at") != null) {
newToken.setIssued_at(Long.parseLong(json.get("issued_at").toString()));
}
if (json.get("signature") != null) {
newToken.setSignature(json.get("signature").toString());
}
} else {
throw new Exception(json.toString());
}
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ignore) {
}
}
}
return newToken;
}
public String getUrl()throws Exception{
URL callback_url = new URL("https", callbackHost, callbackPort, "");
String oauth2_authorize_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_AUTHORIZE : baseOAuthURL + "/"
+ OAUTH2_AUTHORIZE;
String authorize_url = String.format("%s?response_type=%s&client_id=%s&redirect_uri=%s", oauth2_authorize_url,// &scope=%s
"code", clientID, URLEncoder.encode(callback_url.toString(), UTF8));// , "full%20refresh_token"
return authorize_url;
}
public void startServer() throws Exception{
service = new HttpsService(callbackPort);
}
public HttpsService getServer(){
return service;
}
public void stopServer() throws Exception{
if(service!=null){
service.stop();
}
}
public Token getTokenForWizard(String code) throws Exception{
Token token = new Token();
URL callback_url = new URL("https", callbackHost, callbackPort, "");
String oauth2_authorize_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_AUTHORIZE : baseOAuthURL + "/"
+ OAUTH2_AUTHORIZE;
String authorize_url = String.format("%s?response_type=%s&client_id=%s&redirect_uri=%s", oauth2_authorize_url,// &scope=%s
"code", clientID, URLEncoder.encode(callback_url.toString(), UTF8));// , "full%20refresh_token"
String token_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_TOKEN : baseOAuthURL + "/" + OAUTH2_TOKEN;
URLConnection conn = new URL(token_url).openConnection();
conn.setDoOutput(true);// post
String query = String.format("grant_type=%s&client_id=%s&client_secret=%s&redirect_uri=%s&code=%s", "authorization_code",
clientID, clientSecret, URLEncoder.encode(callback_url.toString(), UTF8), code);
OutputStream output = null;
try {
output = conn.getOutputStream();
output.write(query.getBytes(UTF8));
} finally {
if (output != null) {
try {
output.close();
} catch (IOException ignore) {
}
}
}
InputStream input = conn.getInputStream();
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(input));
JSONParser jsonParser = new JSONParser();
JSONObject json = (JSONObject) jsonParser.parse(reader);
if (json.get("access_token") != null) {
token.setAccess_token(json.get("access_token").toString());
}
if (json.get("refresh_token") != null) {
token.setRefresh_token(json.get("refresh_token").toString());
}
if (json.get("instance_url") != null) {
token.setInstance_url(json.get("instance_url").toString());
}
if (json.get("id") != null) {
token.setId(json.get("id").toString());
}
if (json.get("issued_at") != null) {
token.setIssued_at(Long.parseLong(json.get("issued_at").toString()));
}
if (json.get("signature") != null) {
token.setSignature(json.get("signature").toString());
}
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ignore) {
}
}
}
return token;
}
public Token getToken() throws Exception {
Token token = new Token();
URL callback_url = new URL("https", callbackHost, callbackPort, "");
String oauth2_authorize_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_AUTHORIZE : baseOAuthURL + "/"
+ OAUTH2_AUTHORIZE;
String authorize_url = String.format("%s?response_type=%s&client_id=%s&redirect_uri=%s", oauth2_authorize_url,// &scope=%s
"code", clientID, URLEncoder.encode(callback_url.toString(), UTF8));// , "full%20refresh_token"
System.out.println("Paste this URL into a web browser to authorize Salesforce Access:");
System.out.println(authorize_url);
// start a service to get Authorization code
HttpsService service = new HttpsService(callbackPort);
String code = null;
while (service.getCode() == null) {
Thread.sleep(2 * 1000);
}
code = service.getCode();
// stop service
service.stop();
// get token using Authorization code
String token_url = baseOAuthURL.endsWith("/") ? baseOAuthURL + OAUTH2_TOKEN : baseOAuthURL + "/" + OAUTH2_TOKEN;
URLConnection conn = new URL(token_url).openConnection();
conn.setDoOutput(true);// post
String query = String.format("grant_type=%s&client_id=%s&client_secret=%s&redirect_uri=%s&code=%s", "authorization_code",
clientID, clientSecret, URLEncoder.encode(callback_url.toString(), UTF8), code);
OutputStream output = null;
try {
output = conn.getOutputStream();
output.write(query.getBytes(UTF8));
} finally {
if (output != null) {
try {
output.close();
} catch (IOException ignore) {
}
}
}
InputStream input = conn.getInputStream();
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(input));
JSONParser jsonParser = new JSONParser();
JSONObject json = (JSONObject) jsonParser.parse(reader);
if (json.get("access_token") != null) {
token.setAccess_token(json.get("access_token").toString());
}
if (json.get("refresh_token") != null) {
token.setRefresh_token(json.get("refresh_token").toString());
}
if (json.get("instance_url") != null) {
token.setInstance_url(json.get("instance_url").toString());
}
if (json.get("id") != null) {
token.setId(json.get("id").toString());
}
if (json.get("issued_at") != null) {
token.setIssued_at(Long.parseLong(json.get("issued_at").toString()));
}
if (json.get("signature") != null) {
token.setSignature(json.get("signature").toString());
}
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException ignore) {
}
}
}
return token;
}
/**
* Getter for clientID.
*
* @return the clientID
*/
public String getClientID() {
return this.clientID;
}
/**
* Sets the clientID.
*
* @param clientID the clientID to set
*/
public void setClientID(String clientID) {
this.clientID = clientID;
}
/**
* Getter for clientSecret.
*
* @return the clientSecret
*/
public String getClientSecret() {
return this.clientSecret;
}
/**
* Sets the clientSecret.
*
* @param clientSecret the clientSecret to set
*/
public void setClientSecret(String clientSecret) {
this.clientSecret = clientSecret;
}
/**
* Getter for callbackHost.
*
* @return the callbackHost
*/
public String getCallbackHost() {
return this.callbackHost;
}
/**
* Sets the callbackHost.
*
* @param callbackHost the callbackHost to set
*/
public void setCallbackHost(String callbackHost) {
this.callbackHost = callbackHost;
}
/**
* Getter for callbackPort.
*
* @return the callbackPort
*/
public int getCallbackPort() {
return this.callbackPort;
}
/**
* Sets the callbackPort.
*
* @param callbackPort the callbackPort to set
*/
public void setCallbackPort(int callbackPort) {
this.callbackPort = callbackPort;
}
/**
* Getter for baseOAuthURL.
*
* @return the baseOAuthURL
*/
public String getBaseOAuthURL() {
return baseOAuthURL;
}
/**
* Sets the baseOAuthURL.
*
* @param baseOAuthURL the baseOAuthURL to set
*/
public void setBaseOAuthURL(String baseOAuthURL) {
this.baseOAuthURL = baseOAuthURL;
}
}

View File

@@ -0,0 +1,141 @@
// ============================================================================
//
// Copyright (C) 2006-2012 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.salesforce.oauth;
/**
* created by bchen on Aug 28, 2013 Detailled comment
*
*/
public class Token {
private String access_token;
private String refresh_token;
private String instance_url;
private String id;
private long issued_at;
private String signature;
/**
* Getter for access_token.
*
* @return the access_token
*/
public String getAccess_token() {
return this.access_token;
}
/**
* Sets the access_token.
*
* @param access_token the access_token to set
*/
public void setAccess_token(String access_token) {
this.access_token = access_token;
}
/**
* Getter for refresh_token.
*
* @return the refresh_token
*/
public String getRefresh_token() {
return this.refresh_token;
}
/**
* Sets the refresh_token.
*
* @param refresh_token the refresh_token to set
*/
public void setRefresh_token(String refresh_token) {
this.refresh_token = refresh_token;
}
/**
* Getter for instance_url.
*
* @return the instance_url
*/
public String getInstance_url() {
return this.instance_url;
}
/**
* Sets the instance_url.
*
* @param instance_url the instance_url to set
*/
public void setInstance_url(String instance_url) {
this.instance_url = instance_url;
}
/**
* Getter for id.
*
* @return the id
*/
public String getId() {
return this.id;
}
/**
* Sets the id.
*
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
}
/**
* Getter for issued_at.
*
* @return the issued_at
*/
public long getIssued_at() {
return this.issued_at;
}
/**
* Sets the issued_at.
*
* @param issued_at the issued_at to set
*/
public void setIssued_at(long issued_at) {
this.issued_at = issued_at;
}
/**
* Getter for signature.
*
* @return the signature
*/
public String getSignature() {
return this.signature;
}
/**
* Sets the signature.
*
* @param signature the signature to set
*/
public void setSignature(String signature) {
this.signature = signature;
}
}

View File

@@ -0,0 +1,61 @@
// ============================================================================
//
// Copyright (C) 2006-2012 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.salesforce.oauth.test;
import org.talend.salesforce.oauth.OAuthClient;
import org.talend.salesforce.oauth.Token;
import com.salesforce.soap.partner.sobject.SObject;
/**
* created by bchen on Aug 28, 2013 Detailled comment
*
*/
public class OAuthClientTest {
public static void main(String[] args) throws Exception {
OAuthClient client = new OAuthClient();
client.setBaseOAuthURL("https://login.salesforce.com/services/oauth2");
client.setCallbackHost("192.168.30.123");
client.setCallbackPort(8555);
client.setClientID("3MVG99qusVZJwhsl6LQR3j8Kp74AoXCfza9O6Q09mfGq0Rk1uGZ1whOlV24dxQLFIrn1MSe7dm4JUbG8oy9fY");
client.setClientSecret("8349684339611555474");
Token token = client.getToken();
System.out.println(token.getAccess_token());
String refreshToken = token.getRefresh_token();
token = client.refreshToken(refreshToken);
System.out.println(token.getAccess_token());
// rest bulk api
org.talend.salesforceBulk.SalesforceBulkAPI sforceBulk = new org.talend.salesforceBulk.SalesforceBulkAPI();
sforceBulk.login(token.getAccess_token(), client.getBulkEndpoint(token, "25.0"));
sforceBulk.setConcurrencyMode("Parallel");
sforceBulk.setAwaitTime(100 * 1000);
sforceBulk.executeBulk("Account", "insert", "Id", "csv", "/home/bchen/Desktop/sforce_bulk.csv", 10 * 1024 * 1024, 10000);
// soap api
String endpoint = client.getSOAPEndpoint(token, "25.0");
org.talend.salesforce.SforceManagement sfMgr = new org.talend.salesforce.SforceManagementImpl();
boolean result = sfMgr.login(token.getAccess_token(), endpoint, 60000, false);
if (!result) {
throw new RuntimeException("Login failed! Please check the username,password and endpoint");
}
com.salesforce.soap.partner.QueryResult qr = sfMgr.query("select Id from Account", 250);
SObject[] records = qr.getRecords();
System.out.println(records.length);
}
}

View File

@@ -13,16 +13,16 @@
<!-- modification 2: compile classpath -->
<path id="compile.classpath">
<pathelement location="${component.plugin.home}/tWebServiceInput/axis.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/commons-discovery-0.2.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/jaxrpc.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/saaj.jar" />
<pathelement location="${component.plugin.home}/tWebService/wsdl4j-1.6.2.jar" />
<pathelement location="${component.plugin.home}/tEDIFACTtoXML/commons-logging-1.1.jar" />
<pathelement location="../../../org.talend.libraries.apache.axis2/lib/axis.jar" />
<pathelement location="../../../org.talend.libraries.apache.common/lib/commons-discovery-0.2.jar" />
<pathelement location="lib/jaxrpc.jar" />
<pathelement location="lib/saaj.jar" />
<pathelement location="../../../org.talend.libraries.apache.axis2/lib/wsdl4j-1.6.2.jar" />
<pathelement location="../../../org.talend.libraries.apache.common/lib/commons-logging-1.1.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/mail.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/activation.jar" />
<pathelement location="${component.plugin.home}/tEDIFACTtoXML/dom4j-1.6.1.jar" />
<pathelement location="${component.plugin.home}/tEDIFACTtoXML/jaxen-1.1.1.jar" />
<pathelement location="../../../org.talend.libraries.dom4j-jaxen/lib/dom4j-1.6.1.jar" />
<pathelement location="../../../org.talend.libraries.dom4j-jaxen/lib/jaxen-1.1.1.jar" />
</path>
<!-- #################################################### -->
@@ -58,15 +58,20 @@
<!-- compile -->
<javac srcdir="${source.home}" destdir="${build.dir}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
<classpath refid="compile.classpath" />
<src path="${source.home}"/>
<exclude name="org/talend/marketo/GenConfigOfComponent.java" />
</javac>
<!-- include source code -->
<copy todir="${build.dir}/classes">
<fileset dir="${source.home}">
<exclude name="build.xml" />
<exclude name="lib" />
<exclude name="org/talend/marketo/GenConfigOfComponent.java" />
</fileset>
</copy>
<delete dir="${build.dir}/classes/lib" />
<!-- make jar -->
<tstamp>
<format property="date" pattern="yyyy-MM-dd HH:mm:ss" />

View File

@@ -1,491 +1,491 @@
/**
* ActivityRecord.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class ActivityRecord implements java.io.Serializable {
private int id;
private java.util.Calendar activityDateTime;
private java.lang.String activityType;
private java.lang.String mktgAssetName;
private com.marketo.www.mktows.Attribute[] activityAttributes;
private java.lang.String campaign;
private java.lang.String personName;
private java.lang.String mktPersonId;
private java.lang.String foreignSysId;
private java.lang.String orgName;
private java.lang.String foreignSysOrgId;
public ActivityRecord() {
}
public ActivityRecord(
int id,
java.util.Calendar activityDateTime,
java.lang.String activityType,
java.lang.String mktgAssetName,
com.marketo.www.mktows.Attribute[] activityAttributes,
java.lang.String campaign,
java.lang.String personName,
java.lang.String mktPersonId,
java.lang.String foreignSysId,
java.lang.String orgName,
java.lang.String foreignSysOrgId) {
this.id = id;
this.activityDateTime = activityDateTime;
this.activityType = activityType;
this.mktgAssetName = mktgAssetName;
this.activityAttributes = activityAttributes;
this.campaign = campaign;
this.personName = personName;
this.mktPersonId = mktPersonId;
this.foreignSysId = foreignSysId;
this.orgName = orgName;
this.foreignSysOrgId = foreignSysOrgId;
}
/**
* Gets the id value for this ActivityRecord.
*
* @return id
*/
public int getId() {
return id;
}
/**
* Sets the id value for this ActivityRecord.
*
* @param id
*/
public void setId(int id) {
this.id = id;
}
/**
* Gets the activityDateTime value for this ActivityRecord.
*
* @return activityDateTime
*/
public java.util.Calendar getActivityDateTime() {
return activityDateTime;
}
/**
* Sets the activityDateTime value for this ActivityRecord.
*
* @param activityDateTime
*/
public void setActivityDateTime(java.util.Calendar activityDateTime) {
this.activityDateTime = activityDateTime;
}
/**
* Gets the activityType value for this ActivityRecord.
*
* @return activityType
*/
public java.lang.String getActivityType() {
return activityType;
}
/**
* Sets the activityType value for this ActivityRecord.
*
* @param activityType
*/
public void setActivityType(java.lang.String activityType) {
this.activityType = activityType;
}
/**
* Gets the mktgAssetName value for this ActivityRecord.
*
* @return mktgAssetName
*/
public java.lang.String getMktgAssetName() {
return mktgAssetName;
}
/**
* Sets the mktgAssetName value for this ActivityRecord.
*
* @param mktgAssetName
*/
public void setMktgAssetName(java.lang.String mktgAssetName) {
this.mktgAssetName = mktgAssetName;
}
/**
* Gets the activityAttributes value for this ActivityRecord.
*
* @return activityAttributes
*/
public com.marketo.www.mktows.Attribute[] getActivityAttributes() {
return activityAttributes;
}
/**
* Sets the activityAttributes value for this ActivityRecord.
*
* @param activityAttributes
*/
public void setActivityAttributes(com.marketo.www.mktows.Attribute[] activityAttributes) {
this.activityAttributes = activityAttributes;
}
/**
* Gets the campaign value for this ActivityRecord.
*
* @return campaign
*/
public java.lang.String getCampaign() {
return campaign;
}
/**
* Sets the campaign value for this ActivityRecord.
*
* @param campaign
*/
public void setCampaign(java.lang.String campaign) {
this.campaign = campaign;
}
/**
* Gets the personName value for this ActivityRecord.
*
* @return personName
*/
public java.lang.String getPersonName() {
return personName;
}
/**
* Sets the personName value for this ActivityRecord.
*
* @param personName
*/
public void setPersonName(java.lang.String personName) {
this.personName = personName;
}
/**
* Gets the mktPersonId value for this ActivityRecord.
*
* @return mktPersonId
*/
public java.lang.String getMktPersonId() {
return mktPersonId;
}
/**
* Sets the mktPersonId value for this ActivityRecord.
*
* @param mktPersonId
*/
public void setMktPersonId(java.lang.String mktPersonId) {
this.mktPersonId = mktPersonId;
}
/**
* Gets the foreignSysId value for this ActivityRecord.
*
* @return foreignSysId
*/
public java.lang.String getForeignSysId() {
return foreignSysId;
}
/**
* Sets the foreignSysId value for this ActivityRecord.
*
* @param foreignSysId
*/
public void setForeignSysId(java.lang.String foreignSysId) {
this.foreignSysId = foreignSysId;
}
/**
* Gets the orgName value for this ActivityRecord.
*
* @return orgName
*/
public java.lang.String getOrgName() {
return orgName;
}
/**
* Sets the orgName value for this ActivityRecord.
*
* @param orgName
*/
public void setOrgName(java.lang.String orgName) {
this.orgName = orgName;
}
/**
* Gets the foreignSysOrgId value for this ActivityRecord.
*
* @return foreignSysOrgId
*/
public java.lang.String getForeignSysOrgId() {
return foreignSysOrgId;
}
/**
* Sets the foreignSysOrgId value for this ActivityRecord.
*
* @param foreignSysOrgId
*/
public void setForeignSysOrgId(java.lang.String foreignSysOrgId) {
this.foreignSysOrgId = foreignSysOrgId;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof ActivityRecord)) return false;
ActivityRecord other = (ActivityRecord) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
this.id == other.getId() &&
((this.activityDateTime==null && other.getActivityDateTime()==null) ||
(this.activityDateTime!=null &&
this.activityDateTime.equals(other.getActivityDateTime()))) &&
((this.activityType==null && other.getActivityType()==null) ||
(this.activityType!=null &&
this.activityType.equals(other.getActivityType()))) &&
((this.mktgAssetName==null && other.getMktgAssetName()==null) ||
(this.mktgAssetName!=null &&
this.mktgAssetName.equals(other.getMktgAssetName()))) &&
((this.activityAttributes==null && other.getActivityAttributes()==null) ||
(this.activityAttributes!=null &&
java.util.Arrays.equals(this.activityAttributes, other.getActivityAttributes()))) &&
((this.campaign==null && other.getCampaign()==null) ||
(this.campaign!=null &&
this.campaign.equals(other.getCampaign()))) &&
((this.personName==null && other.getPersonName()==null) ||
(this.personName!=null &&
this.personName.equals(other.getPersonName()))) &&
((this.mktPersonId==null && other.getMktPersonId()==null) ||
(this.mktPersonId!=null &&
this.mktPersonId.equals(other.getMktPersonId()))) &&
((this.foreignSysId==null && other.getForeignSysId()==null) ||
(this.foreignSysId!=null &&
this.foreignSysId.equals(other.getForeignSysId()))) &&
((this.orgName==null && other.getOrgName()==null) ||
(this.orgName!=null &&
this.orgName.equals(other.getOrgName()))) &&
((this.foreignSysOrgId==null && other.getForeignSysOrgId()==null) ||
(this.foreignSysOrgId!=null &&
this.foreignSysOrgId.equals(other.getForeignSysOrgId())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
_hashCode += getId();
if (getActivityDateTime() != null) {
_hashCode += getActivityDateTime().hashCode();
}
if (getActivityType() != null) {
_hashCode += getActivityType().hashCode();
}
if (getMktgAssetName() != null) {
_hashCode += getMktgAssetName().hashCode();
}
if (getActivityAttributes() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getActivityAttributes());
i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getActivityAttributes(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
if (getCampaign() != null) {
_hashCode += getCampaign().hashCode();
}
if (getPersonName() != null) {
_hashCode += getPersonName().hashCode();
}
if (getMktPersonId() != null) {
_hashCode += getMktPersonId().hashCode();
}
if (getForeignSysId() != null) {
_hashCode += getForeignSysId().hashCode();
}
if (getOrgName() != null) {
_hashCode += getOrgName().hashCode();
}
if (getForeignSysOrgId() != null) {
_hashCode += getForeignSysOrgId().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ActivityRecord.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityRecord"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("id");
elemField.setXmlName(new javax.xml.namespace.QName("", "id"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("activityDateTime");
elemField.setXmlName(new javax.xml.namespace.QName("", "activityDateTime"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("activityType");
elemField.setXmlName(new javax.xml.namespace.QName("", "activityType"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("mktgAssetName");
elemField.setXmlName(new javax.xml.namespace.QName("", "mktgAssetName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("activityAttributes");
elemField.setXmlName(new javax.xml.namespace.QName("", "activityAttributes"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "Attribute"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
elemField.setItemQName(new javax.xml.namespace.QName("", "attribute"));
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("campaign");
elemField.setXmlName(new javax.xml.namespace.QName("", "campaign"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("personName");
elemField.setXmlName(new javax.xml.namespace.QName("", "personName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("mktPersonId");
elemField.setXmlName(new javax.xml.namespace.QName("", "mktPersonId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("foreignSysId");
elemField.setXmlName(new javax.xml.namespace.QName("", "foreignSysId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("orgName");
elemField.setXmlName(new javax.xml.namespace.QName("", "orgName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("foreignSysOrgId");
elemField.setXmlName(new javax.xml.namespace.QName("", "foreignSysOrgId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
/**
* ActivityRecord.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class ActivityRecord implements java.io.Serializable {
private int id;
private java.util.Calendar activityDateTime;
private java.lang.String activityType;
private java.lang.String mktgAssetName;
private com.marketo.www.mktows.Attribute[] activityAttributes;
private java.lang.String campaign;
private java.lang.String personName;
private java.lang.String mktPersonId;
private java.lang.String foreignSysId;
private java.lang.String orgName;
private java.lang.String foreignSysOrgId;
public ActivityRecord() {
}
public ActivityRecord(
int id,
java.util.Calendar activityDateTime,
java.lang.String activityType,
java.lang.String mktgAssetName,
com.marketo.www.mktows.Attribute[] activityAttributes,
java.lang.String campaign,
java.lang.String personName,
java.lang.String mktPersonId,
java.lang.String foreignSysId,
java.lang.String orgName,
java.lang.String foreignSysOrgId) {
this.id = id;
this.activityDateTime = activityDateTime;
this.activityType = activityType;
this.mktgAssetName = mktgAssetName;
this.activityAttributes = activityAttributes;
this.campaign = campaign;
this.personName = personName;
this.mktPersonId = mktPersonId;
this.foreignSysId = foreignSysId;
this.orgName = orgName;
this.foreignSysOrgId = foreignSysOrgId;
}
/**
* Gets the id value for this ActivityRecord.
*
* @return id
*/
public int getId() {
return id;
}
/**
* Sets the id value for this ActivityRecord.
*
* @param id
*/
public void setId(int id) {
this.id = id;
}
/**
* Gets the activityDateTime value for this ActivityRecord.
*
* @return activityDateTime
*/
public java.util.Calendar getActivityDateTime() {
return activityDateTime;
}
/**
* Sets the activityDateTime value for this ActivityRecord.
*
* @param activityDateTime
*/
public void setActivityDateTime(java.util.Calendar activityDateTime) {
this.activityDateTime = activityDateTime;
}
/**
* Gets the activityType value for this ActivityRecord.
*
* @return activityType
*/
public java.lang.String getActivityType() {
return activityType;
}
/**
* Sets the activityType value for this ActivityRecord.
*
* @param activityType
*/
public void setActivityType(java.lang.String activityType) {
this.activityType = activityType;
}
/**
* Gets the mktgAssetName value for this ActivityRecord.
*
* @return mktgAssetName
*/
public java.lang.String getMktgAssetName() {
return mktgAssetName;
}
/**
* Sets the mktgAssetName value for this ActivityRecord.
*
* @param mktgAssetName
*/
public void setMktgAssetName(java.lang.String mktgAssetName) {
this.mktgAssetName = mktgAssetName;
}
/**
* Gets the activityAttributes value for this ActivityRecord.
*
* @return activityAttributes
*/
public com.marketo.www.mktows.Attribute[] getActivityAttributes() {
return activityAttributes;
}
/**
* Sets the activityAttributes value for this ActivityRecord.
*
* @param activityAttributes
*/
public void setActivityAttributes(com.marketo.www.mktows.Attribute[] activityAttributes) {
this.activityAttributes = activityAttributes;
}
/**
* Gets the campaign value for this ActivityRecord.
*
* @return campaign
*/
public java.lang.String getCampaign() {
return campaign;
}
/**
* Sets the campaign value for this ActivityRecord.
*
* @param campaign
*/
public void setCampaign(java.lang.String campaign) {
this.campaign = campaign;
}
/**
* Gets the personName value for this ActivityRecord.
*
* @return personName
*/
public java.lang.String getPersonName() {
return personName;
}
/**
* Sets the personName value for this ActivityRecord.
*
* @param personName
*/
public void setPersonName(java.lang.String personName) {
this.personName = personName;
}
/**
* Gets the mktPersonId value for this ActivityRecord.
*
* @return mktPersonId
*/
public java.lang.String getMktPersonId() {
return mktPersonId;
}
/**
* Sets the mktPersonId value for this ActivityRecord.
*
* @param mktPersonId
*/
public void setMktPersonId(java.lang.String mktPersonId) {
this.mktPersonId = mktPersonId;
}
/**
* Gets the foreignSysId value for this ActivityRecord.
*
* @return foreignSysId
*/
public java.lang.String getForeignSysId() {
return foreignSysId;
}
/**
* Sets the foreignSysId value for this ActivityRecord.
*
* @param foreignSysId
*/
public void setForeignSysId(java.lang.String foreignSysId) {
this.foreignSysId = foreignSysId;
}
/**
* Gets the orgName value for this ActivityRecord.
*
* @return orgName
*/
public java.lang.String getOrgName() {
return orgName;
}
/**
* Sets the orgName value for this ActivityRecord.
*
* @param orgName
*/
public void setOrgName(java.lang.String orgName) {
this.orgName = orgName;
}
/**
* Gets the foreignSysOrgId value for this ActivityRecord.
*
* @return foreignSysOrgId
*/
public java.lang.String getForeignSysOrgId() {
return foreignSysOrgId;
}
/**
* Sets the foreignSysOrgId value for this ActivityRecord.
*
* @param foreignSysOrgId
*/
public void setForeignSysOrgId(java.lang.String foreignSysOrgId) {
this.foreignSysOrgId = foreignSysOrgId;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof ActivityRecord)) return false;
ActivityRecord other = (ActivityRecord) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
this.id == other.getId() &&
((this.activityDateTime==null && other.getActivityDateTime()==null) ||
(this.activityDateTime!=null &&
this.activityDateTime.equals(other.getActivityDateTime()))) &&
((this.activityType==null && other.getActivityType()==null) ||
(this.activityType!=null &&
this.activityType.equals(other.getActivityType()))) &&
((this.mktgAssetName==null && other.getMktgAssetName()==null) ||
(this.mktgAssetName!=null &&
this.mktgAssetName.equals(other.getMktgAssetName()))) &&
((this.activityAttributes==null && other.getActivityAttributes()==null) ||
(this.activityAttributes!=null &&
java.util.Arrays.equals(this.activityAttributes, other.getActivityAttributes()))) &&
((this.campaign==null && other.getCampaign()==null) ||
(this.campaign!=null &&
this.campaign.equals(other.getCampaign()))) &&
((this.personName==null && other.getPersonName()==null) ||
(this.personName!=null &&
this.personName.equals(other.getPersonName()))) &&
((this.mktPersonId==null && other.getMktPersonId()==null) ||
(this.mktPersonId!=null &&
this.mktPersonId.equals(other.getMktPersonId()))) &&
((this.foreignSysId==null && other.getForeignSysId()==null) ||
(this.foreignSysId!=null &&
this.foreignSysId.equals(other.getForeignSysId()))) &&
((this.orgName==null && other.getOrgName()==null) ||
(this.orgName!=null &&
this.orgName.equals(other.getOrgName()))) &&
((this.foreignSysOrgId==null && other.getForeignSysOrgId()==null) ||
(this.foreignSysOrgId!=null &&
this.foreignSysOrgId.equals(other.getForeignSysOrgId())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
_hashCode += getId();
if (getActivityDateTime() != null) {
_hashCode += getActivityDateTime().hashCode();
}
if (getActivityType() != null) {
_hashCode += getActivityType().hashCode();
}
if (getMktgAssetName() != null) {
_hashCode += getMktgAssetName().hashCode();
}
if (getActivityAttributes() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getActivityAttributes());
i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getActivityAttributes(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
if (getCampaign() != null) {
_hashCode += getCampaign().hashCode();
}
if (getPersonName() != null) {
_hashCode += getPersonName().hashCode();
}
if (getMktPersonId() != null) {
_hashCode += getMktPersonId().hashCode();
}
if (getForeignSysId() != null) {
_hashCode += getForeignSysId().hashCode();
}
if (getOrgName() != null) {
_hashCode += getOrgName().hashCode();
}
if (getForeignSysOrgId() != null) {
_hashCode += getForeignSysOrgId().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ActivityRecord.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityRecord"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("id");
elemField.setXmlName(new javax.xml.namespace.QName("", "id"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("activityDateTime");
elemField.setXmlName(new javax.xml.namespace.QName("", "activityDateTime"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("activityType");
elemField.setXmlName(new javax.xml.namespace.QName("", "activityType"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("mktgAssetName");
elemField.setXmlName(new javax.xml.namespace.QName("", "mktgAssetName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("activityAttributes");
elemField.setXmlName(new javax.xml.namespace.QName("", "activityAttributes"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "Attribute"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
elemField.setItemQName(new javax.xml.namespace.QName("", "attribute"));
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("campaign");
elemField.setXmlName(new javax.xml.namespace.QName("", "campaign"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("personName");
elemField.setXmlName(new javax.xml.namespace.QName("", "personName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("mktPersonId");
elemField.setXmlName(new javax.xml.namespace.QName("", "mktPersonId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("foreignSysId");
elemField.setXmlName(new javax.xml.namespace.QName("", "foreignSysId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("orgName");
elemField.setXmlName(new javax.xml.namespace.QName("", "orgName"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("foreignSysOrgId");
elemField.setXmlName(new javax.xml.namespace.QName("", "foreignSysOrgId"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(true);
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}

View File

@@ -1,186 +1,320 @@
/**
* ActivityType.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class ActivityType implements java.io.Serializable {
private java.lang.String _value_;
private static java.util.HashMap _table_ = new java.util.HashMap();
// Constructor
protected ActivityType(java.lang.String value) {
_value_ = value;
_table_.put(_value_,this);
}
public static final java.lang.String _VisitWebpage = "VisitWebpage";
public static final java.lang.String _FillOutForm = "FillOutForm";
public static final java.lang.String _ClickLink = "ClickLink";
public static final java.lang.String _RegisterForEvent = "RegisterForEvent";
public static final java.lang.String _AttendEvent = "AttendEvent";
public static final java.lang.String _SendEmail = "SendEmail";
public static final java.lang.String _EmailDelivered = "EmailDelivered";
public static final java.lang.String _EmailBounced = "EmailBounced";
public static final java.lang.String _UnsubscribeEmail = "UnsubscribeEmail";
public static final java.lang.String _OpenEmail = "OpenEmail";
public static final java.lang.String _ClickEmail = "ClickEmail";
public static final java.lang.String _NewLead = "NewLead";
public static final java.lang.String _ChangeDataValue = "ChangeDataValue";
public static final java.lang.String _LeadAssigned = "LeadAssigned";
public static final java.lang.String _NewSFDCOpprtnty = "NewSFDCOpprtnty";
public static final java.lang.String _Wait = "Wait";
public static final java.lang.String _RunSubflow = "RunSubflow";
public static final java.lang.String _RemoveFromFlow = "RemoveFromFlow";
public static final java.lang.String _PushLeadToSales = "PushLeadToSales";
public static final java.lang.String _CreateTask = "CreateTask";
public static final java.lang.String _ConvertLead = "ConvertLead";
public static final java.lang.String _ChangeScore = "ChangeScore";
public static final java.lang.String _ChangeOwner = "ChangeOwner";
public static final java.lang.String _AddToList = "AddToList";
public static final java.lang.String _RemoveFromList = "RemoveFromList";
public static final java.lang.String _SFDCActivity = "SFDCActivity";
public static final java.lang.String _EmailBouncedSoft = "EmailBouncedSoft";
public static final java.lang.String _PushLeadUpdatesToSales = "PushLeadUpdatesToSales";
public static final java.lang.String _DeleteLeadFromSales = "DeleteLeadFromSales";
public static final java.lang.String _SFDCActivityUpdated = "SFDCActivityUpdated";
public static final java.lang.String _SFDCMergeLeads = "SFDCMergeLeads";
public static final java.lang.String _MergeLeads = "MergeLeads";
public static final java.lang.String _ResolveConflicts = "ResolveConflicts";
public static final java.lang.String _AssocWithOpprtntyInSales = "AssocWithOpprtntyInSales";
public static final java.lang.String _DissocFromOpprtntyInSales = "DissocFromOpprtntyInSales";
public static final java.lang.String _UpdateOpprtntyInSales = "UpdateOpprtntyInSales";
public static final java.lang.String _DeleteLead = "DeleteLead";
public static final java.lang.String _SendAlert = "SendAlert";
public static final java.lang.String _SendSalesEmail = "SendSalesEmail";
public static final java.lang.String _OpenSalesEmail = "OpenSalesEmail";
public static final java.lang.String _ClickSalesEmail = "ClickSalesEmail";
public static final java.lang.String _AddtoSFDCCampaign = "AddtoSFDCCampaign";
public static final java.lang.String _RemoveFromSFDCCampaign = "RemoveFromSFDCCampaign";
public static final java.lang.String _ChangeStatusInSFDCCampaign = "ChangeStatusInSFDCCampaign";
public static final java.lang.String _ReceiveSalesEmail = "ReceiveSalesEmail";
public static final java.lang.String _InterestingMoment = "InterestingMoment";
public static final java.lang.String _RequestCampaign = "RequestCampaign";
public static final java.lang.String _SalesEmailBounced = "SalesEmailBounced";
public static final java.lang.String _ChangeLeadPartition = "ChangeLeadPartition";
public static final java.lang.String _ChangeRevenueStage = "ChangeRevenueStage";
public static final java.lang.String _ChangeRevenueStageManually = "ChangeRevenueStageManually";
public static final java.lang.String _ComputeDataValue = "ComputeDataValue";
public static final java.lang.String _ChangeStatusInProgression = "ChangeStatusInProgression";
public static final java.lang.String _ChangeFieldInProgram = "ChangeFieldInProgram";
public static final java.lang.String _EnrichWithDatacom = "EnrichWithDatacom";
public static final java.lang.String _ChangeSegment = "ChangeSegment";
public static final java.lang.String _ComputeSegmentation = "ComputeSegmentation";
public static final java.lang.String _ResolveRuleset = "ResolveRuleset";
public static final java.lang.String _SmartCampaignTest = "SmartCampaignTest";
public static final java.lang.String _SmartCampaignTestTrigger = "SmartCampaignTestTrigger";
public static final ActivityType VisitWebpage = new ActivityType(_VisitWebpage);
public static final ActivityType FillOutForm = new ActivityType(_FillOutForm);
public static final ActivityType ClickLink = new ActivityType(_ClickLink);
public static final ActivityType RegisterForEvent = new ActivityType(_RegisterForEvent);
public static final ActivityType AttendEvent = new ActivityType(_AttendEvent);
public static final ActivityType SendEmail = new ActivityType(_SendEmail);
public static final ActivityType EmailDelivered = new ActivityType(_EmailDelivered);
public static final ActivityType EmailBounced = new ActivityType(_EmailBounced);
public static final ActivityType UnsubscribeEmail = new ActivityType(_UnsubscribeEmail);
public static final ActivityType OpenEmail = new ActivityType(_OpenEmail);
public static final ActivityType ClickEmail = new ActivityType(_ClickEmail);
public static final ActivityType NewLead = new ActivityType(_NewLead);
public static final ActivityType ChangeDataValue = new ActivityType(_ChangeDataValue);
public static final ActivityType LeadAssigned = new ActivityType(_LeadAssigned);
public static final ActivityType NewSFDCOpprtnty = new ActivityType(_NewSFDCOpprtnty);
public static final ActivityType Wait = new ActivityType(_Wait);
public static final ActivityType RunSubflow = new ActivityType(_RunSubflow);
public static final ActivityType RemoveFromFlow = new ActivityType(_RemoveFromFlow);
public static final ActivityType PushLeadToSales = new ActivityType(_PushLeadToSales);
public static final ActivityType CreateTask = new ActivityType(_CreateTask);
public static final ActivityType ConvertLead = new ActivityType(_ConvertLead);
public static final ActivityType ChangeScore = new ActivityType(_ChangeScore);
public static final ActivityType ChangeOwner = new ActivityType(_ChangeOwner);
public static final ActivityType AddToList = new ActivityType(_AddToList);
public static final ActivityType RemoveFromList = new ActivityType(_RemoveFromList);
public static final ActivityType SFDCActivity = new ActivityType(_SFDCActivity);
public static final ActivityType EmailBouncedSoft = new ActivityType(_EmailBouncedSoft);
public static final ActivityType PushLeadUpdatesToSales = new ActivityType(_PushLeadUpdatesToSales);
public static final ActivityType DeleteLeadFromSales = new ActivityType(_DeleteLeadFromSales);
public static final ActivityType SFDCActivityUpdated = new ActivityType(_SFDCActivityUpdated);
public static final ActivityType SFDCMergeLeads = new ActivityType(_SFDCMergeLeads);
public static final ActivityType MergeLeads = new ActivityType(_MergeLeads);
public static final ActivityType ResolveConflicts = new ActivityType(_ResolveConflicts);
public static final ActivityType AssocWithOpprtntyInSales = new ActivityType(_AssocWithOpprtntyInSales);
public static final ActivityType DissocFromOpprtntyInSales = new ActivityType(_DissocFromOpprtntyInSales);
public static final ActivityType UpdateOpprtntyInSales = new ActivityType(_UpdateOpprtntyInSales);
public static final ActivityType DeleteLead = new ActivityType(_DeleteLead);
public static final ActivityType SendAlert = new ActivityType(_SendAlert);
public static final ActivityType SendSalesEmail = new ActivityType(_SendSalesEmail);
public static final ActivityType OpenSalesEmail = new ActivityType(_OpenSalesEmail);
public static final ActivityType ClickSalesEmail = new ActivityType(_ClickSalesEmail);
public static final ActivityType AddtoSFDCCampaign = new ActivityType(_AddtoSFDCCampaign);
public static final ActivityType RemoveFromSFDCCampaign = new ActivityType(_RemoveFromSFDCCampaign);
public static final ActivityType ChangeStatusInSFDCCampaign = new ActivityType(_ChangeStatusInSFDCCampaign);
public static final ActivityType ReceiveSalesEmail = new ActivityType(_ReceiveSalesEmail);
public static final ActivityType InterestingMoment = new ActivityType(_InterestingMoment);
public static final ActivityType RequestCampaign = new ActivityType(_RequestCampaign);
public static final ActivityType SalesEmailBounced = new ActivityType(_SalesEmailBounced);
public static final ActivityType ChangeLeadPartition = new ActivityType(_ChangeLeadPartition);
public static final ActivityType ChangeRevenueStage = new ActivityType(_ChangeRevenueStage);
public static final ActivityType ChangeRevenueStageManually = new ActivityType(_ChangeRevenueStageManually);
public static final ActivityType ComputeDataValue = new ActivityType(_ComputeDataValue);
public static final ActivityType ChangeStatusInProgression = new ActivityType(_ChangeStatusInProgression);
public static final ActivityType ChangeFieldInProgram = new ActivityType(_ChangeFieldInProgram);
public static final ActivityType EnrichWithDatacom = new ActivityType(_EnrichWithDatacom);
public static final ActivityType ChangeSegment = new ActivityType(_ChangeSegment);
public static final ActivityType ComputeSegmentation = new ActivityType(_ComputeSegmentation);
public static final ActivityType ResolveRuleset = new ActivityType(_ResolveRuleset);
public static final ActivityType SmartCampaignTest = new ActivityType(_SmartCampaignTest);
public static final ActivityType SmartCampaignTestTrigger = new ActivityType(_SmartCampaignTestTrigger);
public java.lang.String getValue() { return _value_;}
public static ActivityType fromValue(java.lang.String value)
throws java.lang.IllegalArgumentException {
ActivityType enumeration = (ActivityType)
_table_.get(value);
if (enumeration==null) throw new java.lang.IllegalArgumentException();
return enumeration;
}
public static ActivityType fromString(java.lang.String value)
throws java.lang.IllegalArgumentException {
return fromValue(value);
}
public boolean equals(java.lang.Object obj) {return (obj == this);}
public int hashCode() { return toString().hashCode();}
public java.lang.String toString() { return _value_;}
public java.lang.Object readResolve() throws java.io.ObjectStreamException { return fromValue(_value_);}
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.EnumSerializer(
_javaType, _xmlType);
}
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.EnumDeserializer(
_javaType, _xmlType);
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ActivityType.class);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityType"));
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
}
/**
* ActivityType.java
*
* This file was auto-generated from WSDL by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class ActivityType implements java.io.Serializable {
private java.lang.String _value_;
private static java.util.HashMap _table_ = new java.util.HashMap();
// Constructor
protected ActivityType(java.lang.String value) {
_value_ = value;
_table_.put(_value_, this);
}
public static final java.lang.String _VisitWebpage = "VisitWebpage";
public static final java.lang.String _FillOutForm = "FillOutForm";
public static final java.lang.String _ClickLink = "ClickLink";
public static final java.lang.String _RegisterForEvent = "RegisterForEvent";
public static final java.lang.String _AttendEvent = "AttendEvent";
public static final java.lang.String _SendEmail = "SendEmail";
public static final java.lang.String _EmailDelivered = "EmailDelivered";
public static final java.lang.String _EmailBounced = "EmailBounced";
public static final java.lang.String _UnsubscribeEmail = "UnsubscribeEmail";
public static final java.lang.String _OpenEmail = "OpenEmail";
public static final java.lang.String _ClickEmail = "ClickEmail";
public static final java.lang.String _NewLead = "NewLead";
public static final java.lang.String _ChangeDataValue = "ChangeDataValue";
public static final java.lang.String _LeadAssigned = "LeadAssigned";
public static final java.lang.String _NewSFDCOpprtnty = "NewSFDCOpprtnty";
public static final java.lang.String _Wait = "Wait";
public static final java.lang.String _RunSubflow = "RunSubflow";
public static final java.lang.String _RemoveFromFlow = "RemoveFromFlow";
public static final java.lang.String _PushLeadToSales = "PushLeadToSales";
public static final java.lang.String _CreateTask = "CreateTask";
public static final java.lang.String _ConvertLead = "ConvertLead";
public static final java.lang.String _ChangeScore = "ChangeScore";
public static final java.lang.String _ChangeOwner = "ChangeOwner";
public static final java.lang.String _AddToList = "AddToList";
public static final java.lang.String _RemoveFromList = "RemoveFromList";
public static final java.lang.String _SFDCActivity = "SFDCActivity";
public static final java.lang.String _EmailBouncedSoft = "EmailBouncedSoft";
public static final java.lang.String _PushLeadUpdatesToSales = "PushLeadUpdatesToSales";
public static final java.lang.String _DeleteLeadFromSales = "DeleteLeadFromSales";
public static final java.lang.String _SFDCActivityUpdated = "SFDCActivityUpdated";
public static final java.lang.String _SFDCMergeLeads = "SFDCMergeLeads";
public static final java.lang.String _MergeLeads = "MergeLeads";
public static final java.lang.String _ResolveConflicts = "ResolveConflicts";
public static final java.lang.String _AssocWithOpprtntyInSales = "AssocWithOpprtntyInSales";
public static final java.lang.String _DissocFromOpprtntyInSales = "DissocFromOpprtntyInSales";
public static final java.lang.String _UpdateOpprtntyInSales = "UpdateOpprtntyInSales";
public static final java.lang.String _DeleteLead = "DeleteLead";
public static final java.lang.String _SendAlert = "SendAlert";
public static final java.lang.String _SendSalesEmail = "SendSalesEmail";
public static final java.lang.String _OpenSalesEmail = "OpenSalesEmail";
public static final java.lang.String _ClickSalesEmail = "ClickSalesEmail";
public static final java.lang.String _AddtoSFDCCampaign = "AddtoSFDCCampaign";
public static final java.lang.String _RemoveFromSFDCCampaign = "RemoveFromSFDCCampaign";
public static final java.lang.String _ChangeStatusInSFDCCampaign = "ChangeStatusInSFDCCampaign";
public static final java.lang.String _ReceiveSalesEmail = "ReceiveSalesEmail";
public static final java.lang.String _InterestingMoment = "InterestingMoment";
public static final java.lang.String _RequestCampaign = "RequestCampaign";
public static final java.lang.String _SalesEmailBounced = "SalesEmailBounced";
public static final java.lang.String _ChangeLeadPartition = "ChangeLeadPartition";
public static final java.lang.String _ChangeRevenueStage = "ChangeRevenueStage";
public static final java.lang.String _ChangeRevenueStageManually = "ChangeRevenueStageManually";
public static final java.lang.String _ComputeDataValue = "ComputeDataValue";
public static final java.lang.String _ChangeStatusInProgression = "ChangeStatusInProgression";
public static final java.lang.String _ChangeFieldInProgram = "ChangeFieldInProgram";
public static final java.lang.String _EnrichWithDatacom = "EnrichWithDatacom";
public static final java.lang.String _ChangeSegment = "ChangeSegment";
public static final java.lang.String _ComputeSegmentation = "ComputeSegmentation";
public static final java.lang.String _ResolveRuleset = "ResolveRuleset";
public static final java.lang.String _SmartCampaignTest = "SmartCampaignTest";
public static final java.lang.String _SmartCampaignTestTrigger = "SmartCampaignTestTrigger";
public static final ActivityType VisitWebpage = new ActivityType(_VisitWebpage);
public static final ActivityType FillOutForm = new ActivityType(_FillOutForm);
public static final ActivityType ClickLink = new ActivityType(_ClickLink);
public static final ActivityType RegisterForEvent = new ActivityType(_RegisterForEvent);
public static final ActivityType AttendEvent = new ActivityType(_AttendEvent);
public static final ActivityType SendEmail = new ActivityType(_SendEmail);
public static final ActivityType EmailDelivered = new ActivityType(_EmailDelivered);
public static final ActivityType EmailBounced = new ActivityType(_EmailBounced);
public static final ActivityType UnsubscribeEmail = new ActivityType(_UnsubscribeEmail);
public static final ActivityType OpenEmail = new ActivityType(_OpenEmail);
public static final ActivityType ClickEmail = new ActivityType(_ClickEmail);
public static final ActivityType NewLead = new ActivityType(_NewLead);
public static final ActivityType ChangeDataValue = new ActivityType(_ChangeDataValue);
public static final ActivityType LeadAssigned = new ActivityType(_LeadAssigned);
public static final ActivityType NewSFDCOpprtnty = new ActivityType(_NewSFDCOpprtnty);
public static final ActivityType Wait = new ActivityType(_Wait);
public static final ActivityType RunSubflow = new ActivityType(_RunSubflow);
public static final ActivityType RemoveFromFlow = new ActivityType(_RemoveFromFlow);
public static final ActivityType PushLeadToSales = new ActivityType(_PushLeadToSales);
public static final ActivityType CreateTask = new ActivityType(_CreateTask);
public static final ActivityType ConvertLead = new ActivityType(_ConvertLead);
public static final ActivityType ChangeScore = new ActivityType(_ChangeScore);
public static final ActivityType ChangeOwner = new ActivityType(_ChangeOwner);
public static final ActivityType AddToList = new ActivityType(_AddToList);
public static final ActivityType RemoveFromList = new ActivityType(_RemoveFromList);
public static final ActivityType SFDCActivity = new ActivityType(_SFDCActivity);
public static final ActivityType EmailBouncedSoft = new ActivityType(_EmailBouncedSoft);
public static final ActivityType PushLeadUpdatesToSales = new ActivityType(_PushLeadUpdatesToSales);
public static final ActivityType DeleteLeadFromSales = new ActivityType(_DeleteLeadFromSales);
public static final ActivityType SFDCActivityUpdated = new ActivityType(_SFDCActivityUpdated);
public static final ActivityType SFDCMergeLeads = new ActivityType(_SFDCMergeLeads);
public static final ActivityType MergeLeads = new ActivityType(_MergeLeads);
public static final ActivityType ResolveConflicts = new ActivityType(_ResolveConflicts);
public static final ActivityType AssocWithOpprtntyInSales = new ActivityType(_AssocWithOpprtntyInSales);
public static final ActivityType DissocFromOpprtntyInSales = new ActivityType(_DissocFromOpprtntyInSales);
public static final ActivityType UpdateOpprtntyInSales = new ActivityType(_UpdateOpprtntyInSales);
public static final ActivityType DeleteLead = new ActivityType(_DeleteLead);
public static final ActivityType SendAlert = new ActivityType(_SendAlert);
public static final ActivityType SendSalesEmail = new ActivityType(_SendSalesEmail);
public static final ActivityType OpenSalesEmail = new ActivityType(_OpenSalesEmail);
public static final ActivityType ClickSalesEmail = new ActivityType(_ClickSalesEmail);
public static final ActivityType AddtoSFDCCampaign = new ActivityType(_AddtoSFDCCampaign);
public static final ActivityType RemoveFromSFDCCampaign = new ActivityType(_RemoveFromSFDCCampaign);
public static final ActivityType ChangeStatusInSFDCCampaign = new ActivityType(_ChangeStatusInSFDCCampaign);
public static final ActivityType ReceiveSalesEmail = new ActivityType(_ReceiveSalesEmail);
public static final ActivityType InterestingMoment = new ActivityType(_InterestingMoment);
public static final ActivityType RequestCampaign = new ActivityType(_RequestCampaign);
public static final ActivityType SalesEmailBounced = new ActivityType(_SalesEmailBounced);
public static final ActivityType ChangeLeadPartition = new ActivityType(_ChangeLeadPartition);
public static final ActivityType ChangeRevenueStage = new ActivityType(_ChangeRevenueStage);
public static final ActivityType ChangeRevenueStageManually = new ActivityType(_ChangeRevenueStageManually);
public static final ActivityType ComputeDataValue = new ActivityType(_ComputeDataValue);
public static final ActivityType ChangeStatusInProgression = new ActivityType(_ChangeStatusInProgression);
public static final ActivityType ChangeFieldInProgram = new ActivityType(_ChangeFieldInProgram);
public static final ActivityType EnrichWithDatacom = new ActivityType(_EnrichWithDatacom);
public static final ActivityType ChangeSegment = new ActivityType(_ChangeSegment);
public static final ActivityType ComputeSegmentation = new ActivityType(_ComputeSegmentation);
public static final ActivityType ResolveRuleset = new ActivityType(_ResolveRuleset);
public static final ActivityType SmartCampaignTest = new ActivityType(_SmartCampaignTest);
public static final ActivityType SmartCampaignTestTrigger = new ActivityType(_SmartCampaignTestTrigger);
public java.lang.String getValue() {
return _value_;
}
public static ActivityType fromValue(java.lang.String value) throws java.lang.IllegalArgumentException {
ActivityType enumeration = (ActivityType) _table_.get(value);
if (enumeration == null) {
throw new java.lang.IllegalArgumentException();
}
return enumeration;
}
public static ActivityType fromString(java.lang.String value) throws java.lang.IllegalArgumentException {
return fromValue(value);
}
@Override
public boolean equals(java.lang.Object obj) {
return (obj == this);
}
@Override
public int hashCode() {
return toString().hashCode();
}
@Override
public java.lang.String toString() {
return _value_;
}
public java.lang.Object readResolve() throws java.io.ObjectStreamException {
return fromValue(_value_);
}
public static org.apache.axis.encoding.Serializer getSerializer(java.lang.String mechType, java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return new org.apache.axis.encoding.ser.EnumSerializer(_javaType, _xmlType);
}
public static org.apache.axis.encoding.Deserializer getDeserializer(java.lang.String mechType, java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return new org.apache.axis.encoding.ser.EnumDeserializer(_javaType, _xmlType);
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc = new org.apache.axis.description.TypeDesc(ActivityType.class);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityType"));
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
}

View File

@@ -1,175 +1,175 @@
/**
* ActivityTypeFilter.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class ActivityTypeFilter implements java.io.Serializable {
private com.marketo.www.mktows.ActivityType[] includeTypes;
private com.marketo.www.mktows.ActivityType[] excludeTypes;
public ActivityTypeFilter() {
}
public ActivityTypeFilter(
com.marketo.www.mktows.ActivityType[] includeTypes,
com.marketo.www.mktows.ActivityType[] excludeTypes) {
this.includeTypes = includeTypes;
this.excludeTypes = excludeTypes;
}
/**
* Gets the includeTypes value for this ActivityTypeFilter.
*
* @return includeTypes
*/
public com.marketo.www.mktows.ActivityType[] getIncludeTypes() {
return includeTypes;
}
/**
* Sets the includeTypes value for this ActivityTypeFilter.
*
* @param includeTypes
*/
public void setIncludeTypes(com.marketo.www.mktows.ActivityType[] includeTypes) {
this.includeTypes = includeTypes;
}
/**
* Gets the excludeTypes value for this ActivityTypeFilter.
*
* @return excludeTypes
*/
public com.marketo.www.mktows.ActivityType[] getExcludeTypes() {
return excludeTypes;
}
/**
* Sets the excludeTypes value for this ActivityTypeFilter.
*
* @param excludeTypes
*/
public void setExcludeTypes(com.marketo.www.mktows.ActivityType[] excludeTypes) {
this.excludeTypes = excludeTypes;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof ActivityTypeFilter)) return false;
ActivityTypeFilter other = (ActivityTypeFilter) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.includeTypes==null && other.getIncludeTypes()==null) ||
(this.includeTypes!=null &&
java.util.Arrays.equals(this.includeTypes, other.getIncludeTypes()))) &&
((this.excludeTypes==null && other.getExcludeTypes()==null) ||
(this.excludeTypes!=null &&
java.util.Arrays.equals(this.excludeTypes, other.getExcludeTypes())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getIncludeTypes() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getIncludeTypes());
i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getIncludeTypes(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
if (getExcludeTypes() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getExcludeTypes());
i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getExcludeTypes(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ActivityTypeFilter.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityTypeFilter"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("includeTypes");
elemField.setXmlName(new javax.xml.namespace.QName("", "includeTypes"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityType"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
elemField.setItemQName(new javax.xml.namespace.QName("", "activityType"));
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("excludeTypes");
elemField.setXmlName(new javax.xml.namespace.QName("", "excludeTypes"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityType"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
elemField.setItemQName(new javax.xml.namespace.QName("", "activityType"));
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
/**
* ActivityTypeFilter.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class ActivityTypeFilter implements java.io.Serializable {
private com.marketo.www.mktows.ActivityType[] includeTypes;
private com.marketo.www.mktows.ActivityType[] excludeTypes;
public ActivityTypeFilter() {
}
public ActivityTypeFilter(
com.marketo.www.mktows.ActivityType[] includeTypes,
com.marketo.www.mktows.ActivityType[] excludeTypes) {
this.includeTypes = includeTypes;
this.excludeTypes = excludeTypes;
}
/**
* Gets the includeTypes value for this ActivityTypeFilter.
*
* @return includeTypes
*/
public com.marketo.www.mktows.ActivityType[] getIncludeTypes() {
return includeTypes;
}
/**
* Sets the includeTypes value for this ActivityTypeFilter.
*
* @param includeTypes
*/
public void setIncludeTypes(com.marketo.www.mktows.ActivityType[] includeTypes) {
this.includeTypes = includeTypes;
}
/**
* Gets the excludeTypes value for this ActivityTypeFilter.
*
* @return excludeTypes
*/
public com.marketo.www.mktows.ActivityType[] getExcludeTypes() {
return excludeTypes;
}
/**
* Sets the excludeTypes value for this ActivityTypeFilter.
*
* @param excludeTypes
*/
public void setExcludeTypes(com.marketo.www.mktows.ActivityType[] excludeTypes) {
this.excludeTypes = excludeTypes;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof ActivityTypeFilter)) return false;
ActivityTypeFilter other = (ActivityTypeFilter) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.includeTypes==null && other.getIncludeTypes()==null) ||
(this.includeTypes!=null &&
java.util.Arrays.equals(this.includeTypes, other.getIncludeTypes()))) &&
((this.excludeTypes==null && other.getExcludeTypes()==null) ||
(this.excludeTypes!=null &&
java.util.Arrays.equals(this.excludeTypes, other.getExcludeTypes())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getIncludeTypes() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getIncludeTypes());
i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getIncludeTypes(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
if (getExcludeTypes() != null) {
for (int i=0;
i<java.lang.reflect.Array.getLength(getExcludeTypes());
i++) {
java.lang.Object obj = java.lang.reflect.Array.get(getExcludeTypes(), i);
if (obj != null &&
!obj.getClass().isArray()) {
_hashCode += obj.hashCode();
}
}
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(ActivityTypeFilter.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityTypeFilter"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("includeTypes");
elemField.setXmlName(new javax.xml.namespace.QName("", "includeTypes"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityType"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
elemField.setItemQName(new javax.xml.namespace.QName("", "activityType"));
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("excludeTypes");
elemField.setXmlName(new javax.xml.namespace.QName("", "excludeTypes"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "ActivityType"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
elemField.setItemQName(new javax.xml.namespace.QName("", "activityType"));
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}

View File

@@ -1,155 +1,155 @@
/**
* Attrib.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class Attrib implements java.io.Serializable {
private java.lang.String name;
private java.lang.String value;
public Attrib() {
}
public Attrib(
java.lang.String name,
java.lang.String value) {
this.name = name;
this.value = value;
}
/**
* Gets the name value for this Attrib.
*
* @return name
*/
public java.lang.String getName() {
return name;
}
/**
* Sets the name value for this Attrib.
*
* @param name
*/
public void setName(java.lang.String name) {
this.name = name;
}
/**
* Gets the value value for this Attrib.
*
* @return value
*/
public java.lang.String getValue() {
return value;
}
/**
* Sets the value value for this Attrib.
*
* @param value
*/
public void setValue(java.lang.String value) {
this.value = value;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof Attrib)) return false;
Attrib other = (Attrib) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.name==null && other.getName()==null) ||
(this.name!=null &&
this.name.equals(other.getName()))) &&
((this.value==null && other.getValue()==null) ||
(this.value!=null &&
this.value.equals(other.getValue())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getName() != null) {
_hashCode += getName().hashCode();
}
if (getValue() != null) {
_hashCode += getValue().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(Attrib.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "Attrib"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("name");
elemField.setXmlName(new javax.xml.namespace.QName("", "name"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("value");
elemField.setXmlName(new javax.xml.namespace.QName("", "value"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}
/**
* Attrib.java
*
* This file was auto-generated from WSDL
* by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
*/
package com.marketo.www.mktows;
public class Attrib implements java.io.Serializable {
private java.lang.String name;
private java.lang.String value;
public Attrib() {
}
public Attrib(
java.lang.String name,
java.lang.String value) {
this.name = name;
this.value = value;
}
/**
* Gets the name value for this Attrib.
*
* @return name
*/
public java.lang.String getName() {
return name;
}
/**
* Sets the name value for this Attrib.
*
* @param name
*/
public void setName(java.lang.String name) {
this.name = name;
}
/**
* Gets the value value for this Attrib.
*
* @return value
*/
public java.lang.String getValue() {
return value;
}
/**
* Sets the value value for this Attrib.
*
* @param value
*/
public void setValue(java.lang.String value) {
this.value = value;
}
private java.lang.Object __equalsCalc = null;
public synchronized boolean equals(java.lang.Object obj) {
if (!(obj instanceof Attrib)) return false;
Attrib other = (Attrib) obj;
if (obj == null) return false;
if (this == obj) return true;
if (__equalsCalc != null) {
return (__equalsCalc == obj);
}
__equalsCalc = obj;
boolean _equals;
_equals = true &&
((this.name==null && other.getName()==null) ||
(this.name!=null &&
this.name.equals(other.getName()))) &&
((this.value==null && other.getValue()==null) ||
(this.value!=null &&
this.value.equals(other.getValue())));
__equalsCalc = null;
return _equals;
}
private boolean __hashCodeCalc = false;
public synchronized int hashCode() {
if (__hashCodeCalc) {
return 0;
}
__hashCodeCalc = true;
int _hashCode = 1;
if (getName() != null) {
_hashCode += getName().hashCode();
}
if (getValue() != null) {
_hashCode += getValue().hashCode();
}
__hashCodeCalc = false;
return _hashCode;
}
// Type metadata
private static org.apache.axis.description.TypeDesc typeDesc =
new org.apache.axis.description.TypeDesc(Attrib.class, true);
static {
typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.marketo.com/mktows/", "Attrib"));
org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("name");
elemField.setXmlName(new javax.xml.namespace.QName("", "name"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("value");
elemField.setXmlName(new javax.xml.namespace.QName("", "value"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);
}
/**
* Return type metadata object
*/
public static org.apache.axis.description.TypeDesc getTypeDesc() {
return typeDesc;
}
/**
* Get Custom Serializer
*/
public static org.apache.axis.encoding.Serializer getSerializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanSerializer(
_javaType, _xmlType, typeDesc);
}
/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}
}

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