Compare commits

..

473 Commits

Author SHA1 Message Date
ycbai
9ced8f0f1b TDI-28601 : When drag tReplicate to job there is java.lang.NullPointerException
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113524 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-20 09:58:03 +00:00
ycbai
c8fc6015a0 TDI-28598 : R-click validation rules under db connection will throw error logs.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113521 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-20 09:24:58 +00:00
hcyi
8d31416607 bug TDI-28553 fixed : tHL7OutPut_error happen when open or add elements for tHL7OutPut, and elements will be disappear sometime .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113456 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-16 09:54:11 +00:00
wliu
2b4177287a fix bug TDI-28560 : avoid the NPE when the xml tree is empty
https://jira.talendforge.org/browse/TDI-28560

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113359 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-14 07:26:15 +00:00
hcyi
1ff6aec7f4 merge r113318 from trunk to branch 5.3
bug TDI-28520 fixed : XPath lost in the tFileInputXML .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113320 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-13 06:33:04 +00:00
bchen
6859959d72 Fix Work Item TDI-28064 : [MR] reuse Input for tSortRow to reduce one additional m/r job
https://jira.talendforge.org/browse/TDI-28064 
1. fixed the bug about Lookup and After_Run 
2. reuse Input for tSortRow to reduce one additional m/r job when the input is [tMRInput,tHDFSInput] 
merge r112403 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113285 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-10 11:26:07 +00:00
wchen
e93e573c62 bug TDI-28465 fixed: poor performance of studio
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113284 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-10 11:19:37 +00:00
ilazebny
49e5227bfa Update version to 5.3.2 in poms
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113276 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-10 10:15:29 +00:00
jyhu
eb824c8c7e Fix Bug TDI-28545 : tTeradataOutput drop table error.
https://jira.talendforge.org/browse/TDI-28545

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113264 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-10 08:21:03 +00:00
bchen
5fcfd98d40 Fix Bug TDI-24111 : Stats issue on an iterate link between a Collector and a tDepartitioner
https://jira.talendforge.org/browse/TDI-24111 
merge r113157 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113260 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-10 07:24:52 +00:00
jyhu
deb8ee5933 Fix Bug TDI-28515 : tVerticaOutput and tHSQLDbOutput have the same problem in TDI-28483.
https://jira.talendforge.org/browse/TDI-28515

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113259 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-10 07:14:51 +00:00
hcyi
132f27bccd merge r113198 from trunk to branch 5.3
bug TDI-28536 fixed : Studio throws NullPointerException when change the "die on error" option in tmap.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113205 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-09 09:32:41 +00:00
ldong
0f645548c0 bug TDI-28512 fixed:Trace debug row by row can not work for parallelized rows.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113203 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-09 09:31:43 +00:00
ldong
9ce0220f21 bug TDI-28512 fixed:Trace debug row by row can not work for parallelized rows.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113202 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-09 09:30:28 +00:00
wwang
9d60e5eda7 Fix Bug TDI-28463 : When choosing replace to replace the dynamic column in the table:"additional columns" in tDBOutput
https://jira.talendforge.org/browse/TDI-28463

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113193 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-09 08:42:30 +00:00
jyhu
eac9c051d4 Fix Bug TDI-28529 : tInformixOutput have a compile error.
https://jira.talendforge.org/browse/TDI-28529 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113130 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-08 08:42:32 +00:00
atelesh
10811fb005 TESB-12503 - DemoREST can not export with service locator when the studio path contains ()
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113125 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-08 08:26:22 +00:00
jyhu
66652eba42 Fix Bug TDI-24698 :tFilterRow doesn't work with long as in 4.x.
https://jira.talendforge.org/browse/TDI-24698 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113098 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-08 05:59:46 +00:00
jyhu
5aba3c7448 Fix Bug TDI-28481: Support Blob/Clob type in tTeradataOutput.
https://jira.talendforge.org/browse/TDI-28481

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113084 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-08 03:33:20 +00:00
wchen
c15c8ade4a bug TDI-28528 fixed: Convert to MR job: after convert to MR job , link between components lost
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113082 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-08 02:03:00 +00:00
ycbai
51ab43ae42 TDI-28505 : can not run job successfully after retrieve a MDM entity
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113047 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-07 10:03:08 +00:00
wwang
74dade8861 Fix Bug TDI-28402 : Impossible to delete a zip file after "OnComponentError" using tFileUnarchive
https://jira.talendforge.org/browse/TDI-28402

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113030 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-07 04:27:04 +00:00
wchen
fa1e0eedd2 bug TDI-28516 fixed: tMap_the window sway up and down when add link for them
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113008 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-06 10:01:14 +00:00
xqliu
8a97c7c478 Fix Bug TDQ-7376 : User tDqReportRun to run report depending on contextualized db connection, the context value of database field is not taken into account.
https://jira.talendforge.org/browse/TDQ-7376
force refresh the context view when generate a run report job

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@113004 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-06 09:51:50 +00:00
jyhu
470dc7fb42 Fix Bug TDI-24698 :tFilterRow doesn't work with long as in 4.x.
https://jira.talendforge.org/browse/TDI-24698 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112984 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-06 07:48:03 +00:00
jyhu
67310fd7b9 Fix Bug TDI-24698 :tFilterRow doesn't work with long as in 4.x.
https://jira.talendforge.org/browse/TDI-24698 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112975 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-06 06:11:22 +00:00
jjzhou
d36f450273 fix Bug TDI-28450: Update the CXF version in the DI components
https://jira.talendforge.org/browse/TDI-28450 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112944 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-03 10:05:27 +00:00
wwang
b2200108fb Fix Bug TDI-28470 : Dynamic schema NPE exception
https://jira.talendforge.org/browse/TDI-28470

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112932 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-03 09:15:58 +00:00
ldong
edcf1436f2 bug TDI-26294 fixed:Error when extract file when export job as Axis webservice and the checkbox "Extract the zip file" is defaultly selected.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112927 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-03 08:06:24 +00:00
wwang
08cb60840c Fix Bug TDI-28472 : Unable to generate code when two tFileInputMSDelimited components connect to tMap
https://jira.talendforge.org/browse/TDI-28472

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112926 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-03 07:59:27 +00:00
bchen
0766c2e48e Fix Bug TDI-28313 : Continue to finish issue TDI-27758
https://jira.talendforge.org/browse/TDI-28313
deal with char when is null
merge r112902 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112906 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-03 02:14:13 +00:00
bchen
0d4a4d51c9 Fix Bug TDI-28313 : Continue to finish issue TDI-27758
https://jira.talendforge.org/browse/TDI-28313 
fix bug 1 & 3 
merge r112771 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112893 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-02 09:48:42 +00:00
jzhao
33835fd55b Fixed Bug TDI-28483: Some tDBoutput produce the code for action on table when execution mode is parallel
https://jira.talendforge.org/browse/TDI-28483
Note:fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112875 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-02 07:18:45 +00:00
ldong
7a3c6713c3 bug TDI-23826 reverted:revert for 5.3.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112859 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-02 02:31:15 +00:00
ldong
585c0325dc bug TDI-23826 fixed:DB2_after delete the table from SQLBuilder, the table icon without name still exist after refresh.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112855 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2014-01-02 02:21:37 +00:00
zwzhao
697895bb25 bug TDI-28478 fixed : Wrong warning message when import mulit-version item
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112842 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-31 09:06:13 +00:00
wchen
03aab14184 bug TDI-28475 fixed: tMap editordialog UI lookup improvements
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112833 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-31 08:12:50 +00:00
bchen
2624e739f3 Fix Bug TDI-28313 : Continue to finish issue TDI-27758
https://jira.talendforge.org/browse/TDI-28313
fix bug 1 & 3
merge r112771 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112822 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-31 07:13:27 +00:00
bchen
87d40aa533 Fix Bug TDI-27758 : tXXJSONXX components have some problems
https://jira.talendforge.org/browse/TDI-27758 
input data (123.099999999999994315658113919198513031005859375) and type is BigDecimal? 
tFileOutputJSON output: "bigDecim_in":123.099999999999994315658113919198513031005859375 
tWriteJSONFile output: "bigDecim_in":"123.1" 
merge r111493 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112818 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-31 06:57:42 +00:00
jzhao
86e090c2a7 Fixed Bug TDI-28469: for tWriteXMLField, when the child thread comes to an exception, the main thread will keep generating xml string which it should die on child error.
https://jira.talendforge.org/browse/TDI-28469 
Note:Fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112805 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-31 05:52:12 +00:00
jzhao
07ed52f8c6 Fixed Bug TDI-28414: tWriteXMLField generates endless loop of threads and not breakable when this is an exception
https://jira.talendforge.org/browse/TDI-28414 
Note:1.Fixed queue_<%=cid%> is incorrect in end and finally part 
2.Fixed Branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112798 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-31 05:36:43 +00:00
zwzhao
e1011b3977 bug TDI-28478 fixed : Wrong warning message when import mulit-version item
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112792 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-31 02:37:01 +00:00
atelesh
5b7f06a5ff TESB-12434 - Deploying multiple REST services on ESB conductor with SAP component causes UnsatisfiedLinkError.: Backport 5.3.2
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112786 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 11:23:40 +00:00
rdubois
8e76d74b07 TDI-28450: revert r112736 --> Incomplete commit
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112785 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 11:04:07 +00:00
jjzhou
c9e2d5271c fix Bug TDI-28451: Revert code
https://jira.talendforge.org/browse/TDI-28451 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112762 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 09:26:15 +00:00
hcyi
41a9369e16 merge r112733 from trunk to branch 5.3
bug TDI-28473 fixed : tXMLMap:can't import output rows from repository(metadata created from File xml->Output XML) .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112746 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 06:50:40 +00:00
jzhao
b98e8e1891 Fixed Bug TDI-27307: Method exceeding 65535 bytes in when using tfileinputxml in joblet
https://jira.talendforge.org/browse/TDI-27307
Note:Fixed branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112740 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 06:31:56 +00:00
jyhu
144c01fc84 Fix Bug TDI-28449 : tTeradataOuput reports error when mapping db type BigInt and number type as long in JDBC batch.
https://jira.talendforge.org/browse/TDI-28449

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112738 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 06:24:05 +00:00
jjzhou
f4dbed6a4f fix Bug TDI-28450: Update the CXF version in the DI components
https://jira.talendforge.org/browse/TDI-28450 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112736 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 06:19:54 +00:00
jzhao
968946e2b4 Fixed Bug TDI-26843: Some components include System.exit(int) code
https://jira.talendforge.org/browse/TDI-26843
Note:fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112705 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-30 02:29:26 +00:00
hfchang
b5c00c9f95 bug TDI-24402 fixed--Revert Previous commit.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112680 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-27 08:09:28 +00:00
jjzhou
88e952d92f fix Bug TDI-28381: Problem with tPaloInputMulti
https://jira.talendforge.org/browse/TDI-28381 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112652 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-27 03:42:29 +00:00
wchen
5267310b8d bug TDI-28468 fixed: Can't open one job after import to 5.4.1
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112629 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-26 09:56:32 +00:00
jjzhou
91c25a0c8e Fix Bug TDI-28398 : the generated node:tHashInput should set the checkbox:"release_cache" to true.
https://jira.talendforge.org/browse/TDI-28398

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112614 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-26 03:43:19 +00:00
hfchang
ca952b7ef1 bug TDI-24402 fixed : Guess schema of tOracleInput does not work well
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112595 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-25 09:23:10 +00:00
jjzhou
346340c1aa fix Bug TDI-28451: "Absolute value" option can not be shown in the CONDITIONS table of tFilterRow
https://jira.talendforge.org/browse/TDI-28451

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112578 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-25 05:28:49 +00:00
wchen
64390a18f6 bug TDI-20141 fixed: Right-clicking within a Document in tXMLMap is not user friendly
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112570 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-25 03:46:03 +00:00
hcyi
953e259d22 merge r112557 from trunk to branch 5.3
bug TDI-28446 fixed : Cannot guess schema from Sqlite table .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112559 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 10:29:19 +00:00
jjzhou
74f74a885e fix Bug TDI-28394: revert tSAPConnection ,tSAPInput,tSAPOutput code ,and only fix tSAPIDocOutput code for this issue.
https://jira.talendforge.org/browse/TDI-28394 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112553 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 09:58:14 +00:00
ldong
59d2f1104b bug TDI-24863 fixed:After change the name of job, still can't run.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112552 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 09:58:03 +00:00
bchen
b517d2a175 Fix Bug TDI-28434 : Can't use 2 tFileInputMSPositional
https://jira.talendforge.org/browse/TDI-28434 
merge r112508 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112543 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 09:39:12 +00:00
jzhao
acd7ec3ac9 Fixed TDI-28426: tDB2SCD does not use DB-Schema from tDB2Connection
https://jira.talendforge.org/browse/TDI-28426 
Note:Fixed branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112534 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 08:53:59 +00:00
zwzhao
1e30a1d3a9 bug TDI-28435 fixed : Generation fails after generate another project's job with the same name routines
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112531 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 07:29:08 +00:00
ycbai
d93d1517cf TDI-28031 : Hadoop configuration information is blank when creating a map/reduce job from a standard job
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112524 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 07:05:08 +00:00
zgao
2eb636e743 [TESB-12448] Class name of bean can not update automatically when update the name of bean after updating code of bean: Backport 5.3.2
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112506 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 05:53:25 +00:00
gliu
2a86020878 [TESB-12449] Loop connection name for cLoop component is not right: Backport 5.3.2
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112487 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 02:54:12 +00:00
jjzhou
f3fc1d09e2 fix Bug TDI-28462:tSOAP's default endpoint (http://www.deeptraining.com/webservices/weather.asmx) no longer available.
https://jira.talendforge.org/browse/TDI-28462 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112481 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-24 02:33:13 +00:00
ldong
2169d0875a bug TUP-904 fixed:The Spring Content of some route items are empty if import ESBDEMO project twice.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112443 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-23 09:17:16 +00:00
gliu
5edf5f0050 [TESB-12445] Remove "Find component in job " option: Backport 5.3.2
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112427 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-23 06:09:33 +00:00
jzhao
17c84ef2a6 Fixed Bug TDI-28414: tWriteXMLField generates endless loop of threads and not breakable when this is an exception
https://jira.talendforge.org/browse/TDI-28414
Note:Fixed branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112397 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-20 11:19:17 +00:00
zwzhao
017dc09f93 bug TDI-28435 fixed : Generation fails after generate another project's job with the same name routines
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112386 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-20 09:42:21 +00:00
jzhao
c5bb672e81 Fixed Bug TDI-28400: "bulk update" in tSybaseBulkExec's Advanced setting has compile error
https://jira.talendforge.org/browse/TDI-28400 
Note:Fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112351 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-20 04:03:39 +00:00
jzhao
6c267df2bb Fixed Bug TDI-27275: tMicrosoftMQOutput does not report error condition
https://jira.talendforge.org/browse/TDI-27275
Note:Fixed in 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112326 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-19 10:10:40 +00:00
jyhu
a9efec19b6 Fix Bug TDI-27981 : tNetezzaInput insert empty or duplicate rows when commit size is less than actual rows input.
https://jira.talendforge.org/browse/TDI-27981 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112320 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-19 09:30:58 +00:00
hfchang
f15d0fda5b bug TDI-26357 fixed :Title of Component Designer perspective is bad English
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112288 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-19 08:01:56 +00:00
jjzhou
24fe60c2b9 fix Bug TDI-28443: File handler not closed after using tInputJsonFile
https://jira.talendforge.org/browse/TDI-28443

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112267 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-19 06:09:05 +00:00
hfchang
78002a88d1 bug TDI-28247 fixed : TOS Start Screen does not render well.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112225 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-18 10:12:06 +00:00
wwang
36b3b40166 Fix Bug TDI-28322 : tFileOutputXML xml formatter merges multiple consecutives spaces
https://jira.talendforge.org/browse/TDI-28322

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112208 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-18 09:22:05 +00:00
hfchang
d39a56b0ad bug TDI-27853 fixed : Create file xml output if type path and file name manual can't get file schema.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112207 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-18 09:09:13 +00:00
zgao
ea13a14f3c [TESB-12409] EmfComponent & RouteComponentController used nonstandard java type com.sun.corba.se.spi.orb.StringPair.StringPair
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112183 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-18 06:39:40 +00:00
zgao
57c6f0eb39 [TESB-12409] EmfComponent & RouteComponentController used nonstandard java type com.sun.corba.se.spi.orb.StringPair.StringPair
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112176 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-18 06:20:10 +00:00
jzhao
70bbac254d Fixed Bug TDI-28336: Fix the bug in-TDI-28201 for other tDBBulkExec components
https://jira.talendforge.org/browse/TDI-28336
Note:tOracleBulkExec create temp file problem

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112158 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-18 05:14:50 +00:00
hcyi
dc9bec4610 bug TDI-27439 fixed : Lookup model not changed when key added .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112054 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-17 10:11:43 +00:00
wchen
807b51b432 TDI-7988 fixed: tFixedFlowInputs with Inline Table do not copy properly
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112052 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-17 09:46:39 +00:00
jjzhou
6a74487574 fix Bug TDI-28381: Problem with tPaloInputMulti
https://jira.talendforge.org/browse/TDI-28381 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@112014 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-16 09:54:21 +00:00
ldong
df5d263bd4 bug TDI-28187 fixed:tMap joined outputs in wrong order.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111989 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 10:21:32 +00:00
hwang
5129ea9d45 TDI-26593:Need to GUI team investigate why tteradataOutput component get error message.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111979 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 09:33:17 +00:00
jjzhou
b57e6838e4 fix Bug TDI-28394: tSAPInput and tSAPIDocOutput does not work in same job
https://jira.talendforge.org/browse/TDI-28394 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111972 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 08:38:44 +00:00
wliu
df50fe44de Fix Bug TDI-28390 : make sure the DataNode.getMetadataList() always get the flow metadata at 0 index.
https://jira.talendforge.org/browse/TDI-28390

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111966 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 08:30:53 +00:00
hwang
92511c9740 TDI-28370:Favorite Palette button is unchecked when a job is open
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111965 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 08:30:31 +00:00
bchen
ebeed546c9 Fix Bug TDI-28389 : Statistics for tUnite incorrect
https://jira.talendforge.org/browse/TDI-28389 
merge r111924 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111963 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 07:42:46 +00:00
bchen
2be2113881 Fix Bug TDI-28280 : TMomInputacts as iterate when set to flow
https://jira.talendforge.org/browse/TDI-28280
merge r111961 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111962 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 07:36:59 +00:00
hcyi
e856677491 bug TDI-28186 fixed : Cannot change main/lookup on tMap if output goes to another tMap with trigger .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111955 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-13 03:53:59 +00:00
jjzhou
e88ba34567 fix Bug TDI-27755: MQ component get french characters
https://jira.talendforge.org/browse/TDI-27755

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111913 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-12 07:05:36 +00:00
bchen
34f0de171b Fix Bug TDI-28280 : TMomInputacts as iterate when set to flow
https://jira.talendforge.org/browse/TDI-28280
merge r111904 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111908 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-12 03:38:54 +00:00
hcyi
8b912a6c59 bug TDI-28349 fixed : Import items is unable to detect invalid job if it is located in a subfolder (deep > 3) .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111896 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-11 10:35:55 +00:00
xqliu
eab8d8b92c Fix Bug TDQ-7376 : User tDqReportRun to run report depending on contextualized db connection, the context value of database field is not taken into account.
https://jira.talendforge.org/browse/TDQ-7376
backport from trunk to branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111886 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-11 09:24:02 +00:00
bchen
1f0368991a Fix Backlog Task TDI-28372 : fix for branch5.3 and branch5.2
https://jira.talendforge.org/browse/TDI-28372
merge r111331 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111880 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-11 08:59:02 +00:00
hcyi
e200339580 bug TDI-28349 fixed : Import items is unable to detect invalid job if it is located in a subfolder (deep > 3) .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111872 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-11 07:26:41 +00:00
bchen
e903925b16 Fix Backlog Task TDI-28372 : fix for branch5.3 and branch5.2
https://jira.talendforge.org/browse/TDI-28372
merge r111331 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111845 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-10 10:45:11 +00:00
bchen
d3ae3d09cb Fix Backlog Task TDI-28372 : fix for branch5.3 and branch5.2
https://jira.talendforge.org/browse/TDI-28372
merge r111049 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111839 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-10 09:46:14 +00:00
hfchang
1c89078f08 bug TDI-28046 fixed : Syntax error in JSON connection wizard
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111815 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-10 08:26:57 +00:00
ldong
3bf0b1817b bug TDI-28332 fixed:Stats don't work on parallelized links.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111808 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-10 07:38:40 +00:00
jyhu
4e9e3aa670 Fix Bug TDI-28347 : tTeradataOuput fail to generate code when added additional columns .
https://jira.talendforge.org/browse/TDI-28347 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111762 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-10 02:28:26 +00:00
hwang
59e0d87b38 TDI-8455:Fail to generate code if change order of main and reject links from tFileInputDelimited
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111743 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-09 10:01:22 +00:00
jjzhou
c909491254 fix Bug TDI-27147: components FTP - local folder problem
https://jira.talendforge.org/browse/TDI-27147

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111740 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-09 05:32:08 +00:00
jjzhou
c4bfaea624 fix Bug TDI-27147: components FTP - local folder problem
https://jira.talendforge.org/browse/TDI-27147

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111731 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-06 08:41:37 +00:00
wwang
92c6617608 Fix Bug TDI-27565 : tSSH in a tParallelize bug
https://jira.talendforge.org/browse/TDI-27565

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111724 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-06 06:31:10 +00:00
wwang
b204a97dde Fix Bug TDI-27705 : tWriteJSONField skips randomly data after parallelized iterations
https://jira.talendforge.org/browse/TDI-27705

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111717 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-06 03:32:03 +00:00
jzhao
58282559f3 Fixed Bug TDI-28336: Fix the bug in TDI-28201 for other tDBBulkExec components
https://jira.talendforge.org/browse/TDI-28336
Note:1.Add support muilt thread of tmpTableName..
2.Remove useless code of tIngresBulkExec
3.Fixed tDB2BulkExec create tmp table generate incorrect SQL

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111706 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-05 02:50:34 +00:00
hwang
82fb5ab048 TDI-27680:Studio throws error when move mouse on expanded joblet
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111695 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-04 08:58:10 +00:00
jyhu
312d5c3b1c Fix Bug TDI-28258 : Exception when export a job with tOracleSCD migrated from v4.2.3 .
https://jira.talendforge.org/browse/TDI-28258 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111669 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-03 10:11:40 +00:00
jjzhou
892b7e0ecf fix Work Item TDI-28170: the method: afterGenertorType() is only used in tJDBCInput and it is no used anymore after TDI-28068, let's remove it.
https://jira.talendforge.org/browse/TDI-28170

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111661 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-03 07:07:12 +00:00
jjzhou
7116dc9c3f fix Bug TDI-26732: tFileUnarchive error with big files
https://jira.talendforge.org/browse/TDI-26732

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111657 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-03 03:12:35 +00:00
jzhao
d5d93005c2 Fixed Bug TDI-28201: tGreenplumBulkExec component tries to create twice times same table name
https://jira.talendforge.org/browse/TDI-28201 
Note:Fixed 5.3 ,Revert TalendString.java fixed tGreenplumBulkExec

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111631 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-02 07:39:03 +00:00
jzhao
36f96b3d8e Fixed Bug TDI-28243: t*Ouput Components: NB_LINE_REJECTED returns 0 when there are rejected rows
https://jira.talendforge.org/browse/TDI-28243 
Note:Fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111629 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-02 07:26:07 +00:00
jzhao
b0438b34e3 Fixed Bug TDI-28307: Not set the value for "NB_LINE" property in tMicrosoftCrmInput component
https://jira.talendforge.org/browse/TDI-28307

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111622 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-02 06:49:29 +00:00
bchen
f578e81eef Fix Bug TDI-27520 : tHashInput/Output is not Threadsafe
https://jira.talendforge.org/browse/TDI-27520 
merge r109888 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111615 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-12-02 03:01:36 +00:00
jjzhou
26dabc8443 fix Bug TDI-28254: tSybaseBulkExec CUSTOM Encoding not work
https://jira.talendforge.org/browse/TDI-28254

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111598 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-29 08:47:50 +00:00
nrousseau
679170a50e TUP-1013 : add eclipse.inf
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111590 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-29 01:29:16 +00:00
jzhao
8bf7b20e6d Fixed Bug TDI-27035: tFileList sorting always case-sensitive and files double-counted
https://jira.talendforge.org/browse/TDI-27035 
Note:Fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111570 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-28 03:33:06 +00:00
jzhao
1739c1a1bd Fixed Bug TDI-27823: Some minor problem about tFileFetch
https://jira.talendforge.org/browse/TDI-27823
Note:Fixed branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111568 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-28 03:18:40 +00:00
wwang
7a467134eb Fix Bug TDI-28236 : Failed to generate code when we import a job and it cover the old job with the same name.
https://jira.talendforge.org/browse/TDI-28236

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111557 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-27 02:22:36 +00:00
jyhu
bd3d778df7 Fix Bug TDI-20789 : Can't have a tFileOutputExcel after a drag and drop from Metadata/File Excel .
https://jira.talendforge.org/browse/TDI-20789


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111501 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-26 09:30:35 +00:00
jyhu
533b9b03ac Fix Bug TDI-20789 : Can't have a tFileOutputExcel after a drag and drop from Metadata/File Excel .
https://jira.talendforge.org/browse/TDI-20789


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111496 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-26 08:18:37 +00:00
zwzhao
dbfdd0462b bug TDI-28108 fixed : Problem about create File Json
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111472 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-26 01:54:20 +00:00
zwzhao
02701a1167 bug TDI-28108 fixed : Problem about create File Json
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111444 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-25 11:27:16 +00:00
hcyi
be32e6eac8 bug TDI-28255 : Need backport on 5.3 .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111411 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-25 09:25:26 +00:00
rdubois
6e072d36c7 Change a note within the tOracleRow.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111403 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-25 08:38:26 +00:00
hfchang
8bbf5f6094 bug TDI-24731 fixed : English on Preferences > Import/Export page can be improved
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111393 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-25 07:07:40 +00:00
jjzhou
fd333f8500 fix Bug TDI-26671: If the column to normalize is empty, tNormalize replaces it with a null
https://jira.talendforge.org/browse/TDI-26671 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111336 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-22 09:47:51 +00:00
jyhu
0650b41b91 Fix Bug TDI-20789 : Can't have a tFileOutputExcel after a drag and drop from Metadata/File Excel .
https://jira.talendforge.org/browse/TDI-20789

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111320 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-22 07:47:57 +00:00
jzhao
fe1829206e Fixed Bug TDI-27246: tMsSqlOutputBulk does not include the header when Append is checked
https://jira.talendforge.org/browse/TDI-27246 
Note:Fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111304 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-22 02:29:24 +00:00
jzhao
141113a3a8 Fixed Bug TDI-28005: JMSPriority does not work with tMomOutput and ActiveMQ
https://jira.talendforge.org/browse/TDI-28005 
Note:Fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111267 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-21 07:50:39 +00:00
hwang
db8bc0107c TDI-28217:joblet lost content
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111256 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-21 06:07:17 +00:00
ldong
fc9b33624f bug TDI-28198 fixed:Job launches and runs even with compilation errors in child job.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111236 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-21 03:42:53 +00:00
jyhu
b6e0a76541 Fix Bug TDI-28122:Bug in tJDBC* components when unchecking the checkbox for data alias
https://jira.talendforge.org/browse/TDI-28122

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111230 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-21 02:53:54 +00:00
hwang
09df7b6fd0 TDI-28184:If conditions not displayed in expanded joblet
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111173 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-20 05:54:47 +00:00
jjzhou
ada539abbb fix Bug TDI-28159: Issue with Jasper Report Component
https://jira.talendforge.org/browse/TDI-28159

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111107 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-19 03:51:30 +00:00
ggu
d55e8a6b2a TDI-28195: fixed the problem for route without stats on branch 5.3.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111098 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-19 02:08:58 +00:00
rdubois
0ec8a3a3fe TDI-28045 fixed: Change the LONG_NAME for the tCloudStop.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111090 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-18 16:04:01 +00:00
nrousseau
5975aeeca1 merge r111038 from trunk to branch 5.3
TDI-27435 : change UNIQUE_NAME category to FLOW since now more kinds of row have UNIQUE_NAME


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111040 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-18 07:24:53 +00:00
jyhu
7c656c3d14 Fix Bug TDI-26958:tPostgresqlOutput: ErroCode in Reject Flow not affected.
https://jira.talendforge.org/browse/TDI-26958

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@111029 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-18 04:35:25 +00:00
jzhao
8cda2616dd Fixed Bug TDI-28104: Jobs like tMDMTriggerInput-->tExtractXX have compile error
https://jira.talendforge.org/browse/TDI-28104 
Note:Fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110987 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-15 06:08:18 +00:00
jyhu
033c1ad0bd Fix Bug TDI-27046:For tTeradataOutput component nb_line always return -1.
https://jira.talendforge.org/browse/TDI-27046 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110973 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-15 01:51:24 +00:00
jzhao
237a979e55 Fixed Bug TDI-27838: tRunJob "Die on child error" doesn't work with parallel execution
https://jira.talendforge.org/browse/TDI-27838 
Note:fixed 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110931 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-14 08:30:57 +00:00
jjzhou
860a89dc39 fix Bug TDI-28068: tJDBCInput returns a null row when last field of row is null (with dynamic column)
https://jira.talendforge.org/browse/TDI-28068

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110915 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-14 06:28:07 +00:00
ldong
e12d1f1e18 bug TUP-930 fixed:please make the popup dialog at the front of all.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110901 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-14 03:23:06 +00:00
jzhao
4e36c8912a Fixed Bug TDI-28000: regression 5.3.1 on performance due to java.util.Scanner
https://jira.talendforge.org/browse/TDI-28000
Note:fix 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110899 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-14 03:17:35 +00:00
nrousseau
4fcf357a28 merge r110876 from trunk to branch 5.3
TDI-27435 / TDI-27983 : fix problem of duplicates or wrong unique name.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110886 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-14 01:13:00 +00:00
jyhu
4403b48949 Fix Bug TDI-27046:For tTeradataOutput component nb_line always return -1.
https://jira.talendforge.org/browse/TDI-27046 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110873 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-13 09:54:27 +00:00
jjzhou
4e45b057c3 fix Bug TDI-27789: nullable component error message
https://jira.talendforge.org/browse/TDI-27789 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110835 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-13 05:50:37 +00:00
nrousseau
d0bf29028c merge r110832 from trunk to branch 5.3
TDI-27881 : fix problem of connections with joblets after expand.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110833 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-13 04:56:51 +00:00
ggu
decc82bb41 TDI-28110: backport on branch 5.3
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110785 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-12 06:58:23 +00:00
hfchang
423bcbbbd5 bug TDI-27853 fixed : Create file xml output if type path and file name manual can't get file schema.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110776 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-12 03:42:05 +00:00
ggu
5b52f2b5b8 TDI-28105: backport on branch 5.3.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110757 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-11 10:02:14 +00:00
zwzhao
396a75fb47 bug TDI-26880 fixed : Getting NPE when i run the task created using jobscript
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110744 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-11 08:20:11 +00:00
hfchang
c56ae16bc8 bug TDI-26342 fixed : When update versions, "select all dependence" can not select the routine/the db connection which depend on the job.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110724 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-11 06:21:39 +00:00
nrousseau
47679f5613 merge r110383 from trunk to branch 5.3
TUP-913 : fix some problems of memory... related to jobs / folders... and code cleanup for the isDeleted in the actions


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110712 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-11 02:54:28 +00:00
sizhaoliu
c5a2c24f46 TDQ-8238 Running tDQReportRun job against remote jobserver not working
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110707 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-08 14:09:43 +00:00
nrousseau
df6c9843fd merge r110669 from trunk to branch 5.3
TUP-1312 : add auto synchronization for beans, same as routines.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110671 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-08 04:23:51 +00:00
ldong
594df0be3e bug TDI-17181 fixed:in sqlbuilder after refresh table,the column in the db display is different with before.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110665 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-08 04:00:40 +00:00
jjzhou
67f5567932 fix Bug TDI-28021:Separator "|" no longer works for tLdapOutput in release 5.2.3 but was good in release 5.0.2
https://jira.talendforge.org/browse/TDI-28021 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110659 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-08 03:35:41 +00:00
plv
3fb11ab978 bug TDI-27983:tMap mappings lost (in some cases) after migration to 5.4
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110611 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-07 08:07:40 +00:00
ldong
3050f7151e bug TDI-27999 fixed:Commandline Logging error related to the resource talendExporter.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110567 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-06 10:24:47 +00:00
plv
318a87c1da bug TDI-27983:tMap mappings lost (in some cases) after migration to 5.4
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110563 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-06 09:37:58 +00:00
jzhao
429961a447 Fixed Bug TDI-27910: tFileInputProperties not close stream
https://jira.talendforge.org/browse/TDI-27910
Note:Fixed branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110557 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-06 08:49:02 +00:00
jjzhou
4d999086c2 fix Bug TDI-27993: tIngresBulkExec Auto Generated Filenames .sh and .sql files will be overwritten in a multiple thread live environment sometimes
https://jira.talendforge.org/browse/TDI-27993 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110548 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-06 06:38:05 +00:00
jzhao
6e2a8359f2 Fixed Work Item TDI-27574: Please remove the output main line of tXXOutputBulkExec
https://jira.talendforge.org/browse/TDI-27574
Note: remove output main line for tIngresOutputBulkExec/tOracleOutputBulkExec

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110539 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-06 03:45:53 +00:00
hwang
987c8b61c9 TDI-27951:If no INPUT and OUTPUT for joblet, it can't be supported the trace at all
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110532 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-06 02:10:05 +00:00
jjzhou
0fd98a1a8b fix Bug TDI-27744: tREST schema be changed by connecting it to other component,and also for some other components
https://jira.talendforge.org/browse/TDI-27744

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110506 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-05 09:18:20 +00:00
hcyi
a71492b0c6 bug TDI-27908 fixed : tRowGenerator forgets its settings .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110437 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-04 08:11:22 +00:00
wwang
bbd5cb1cf7 Fix Bug TDI-27366 : fix tXMLMap Compilation errors
https://jira.talendforge.org/browse/TDI-27366

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110421 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-04 04:26:30 +00:00
jyhu
f11f6956ee Fix Bug TDI-27810:dynamic schema and Access database.
https://jira.talendforge.org/browse/TDI-27810

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110405 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-04 02:28:40 +00:00
jzhao
52ea14785f Fixed TUJ For TDI-26670: tExtractDelimitedFields throws exception when field to split is null
https://jira.talendforge.org/browse/TDI-26670 
Note:Fixed tExtractXMLFields for TUJ down 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110379 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-01 08:39:19 +00:00
plv
7f490ed6db bug TDI-27707:undo function is not working
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110375 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-01 08:15:07 +00:00
jyhu
c98de97595 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/branches/branch-5_3@110348 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-01 03:28:33 +00:00
plv
cf6c524f57 bug TDI-27707:undo function is not working
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110334 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-01 02:32:39 +00:00
jyhu
7b9a8b7dc2 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
fixed issue for 10000 rows delete hang. 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110331 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-11-01 01:36:33 +00:00
jjzhou
86508c434d fix Bug TDI-27744: tREST schema be changed by connecting it to other component,and also for some other components
https://jira.talendforge.org/browse/TDI-27744

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110292 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-31 08:11:18 +00:00
jjzhou
68e33016ce fix Bug TDI-27909: Talend component tSalesforceInput Bulk query let opened bulk job on Salesforce.com
https://jira.talendforge.org/browse/TDI-27909

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110272 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-31 02:25:38 +00:00
jzhao
3a82f17533 Fixed Bug TDI-26670: tExtractDelimitedFields throws exception when field to split is null
https://jira.talendforge.org/browse/TDI-26670 
Note:Merge to branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110254 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-30 10:47:35 +00:00
zwzhao
db752d2fde bug TDI-27736 fixed : studio has no response if browse an empty json file for creation
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110203 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-30 03:10:02 +00:00
jjzhou
e6a787d069 fix Bug TDI-27584: Change the default mode from "Use Commandline" to "Use Java API" for all the sqoop components
https://jira.talendforge.org/browse/TDI-27584

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110202 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-30 03:09:49 +00:00
ldong
1698c5c243 bug TDI-27660 fixed:Commandline fails to run the exportItems command on Ubuntu.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110111 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-29 02:19:57 +00:00
bchen
b1df0c6a4a Fix Bug TDI-27166 : SALESFORCE BULK API BUG (CONSUMES TOO MANY API CALLS) - SOLVED
https://jira.talendforge.org/browse/TDI-27166 
merge r110104 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110108 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-29 02:16:14 +00:00
hwang
ca91c1b27a TDI-27456:The joblet output row value will be rename to default after change the joblet
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@110042 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-28 05:58:37 +00:00
jzhao
9b0b67efe5 Fixed Bug TDI-27527: tDenormalizeSortedRow does not properly handle Integers
https://jira.talendforge.org/browse/TDI-27527
Note:1.Fix optimize the code
2.Add support char type not nullable.

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109995 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-25 08:24:33 +00:00
hwang
47893300f0 TDI-27648:Job Opens In Bottom Right Corner
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109984 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-25 05:38:18 +00:00
jyhu
09db8ad528 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/branches/branch-5_3@109981 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-25 04:01:27 +00:00
zwzhao
bce841fa40 bug TUP-1140 fixed : Cannot connect triggers in arbitrary order
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109979 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-25 03:54:39 +00:00
jyhu
715c9ecda5 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/branches/branch-5_3@109929 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 09:38:39 +00:00
hcyi
ce15c832ba bug TDI-27568 fixed : HL7 xml tree are generated incorrectly .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109918 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 08:13:39 +00:00
jjzhou
1647ea03cd 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/branches/branch-5_3@109910 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 07:01:43 +00:00
wwang
2ddc694763 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/branches/branch-5_3@109903 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 05:35:06 +00:00
wchen
24586f133b bug TDI-22986 fixed: Routines:Use a routine in a job, after deleted the routine forever, re-open the job, can not detect the routine lost and get an error
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109887 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 02:37:03 +00:00
ldong
26f44b9774 bug TDI-27207 fixed:Could not make column with tooltip 'Add new globalMap variable' narrower.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109886 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-24 02:20:30 +00:00
jzhao
9244cc0d78 Fixed Bug TDI-27527: tDenormalizeSortedRow does not properly handle Integers
https://jira.talendforge.org/browse/TDI-27527 
Note:merge to branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109844 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-23 08:21:49 +00:00
wchen
6bf07a751f bug TDI-27762 fixed: tXMLMap: Error message of "Multiple document type xxx"cannot disappear even if update schema
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109835 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-23 06:28:35 +00:00
hwang
5bc2db9cf9 TDI-27182:Studio throws an error when the first time create a routine from the welcome page.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109823 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-23 02:11:51 +00:00
jjzhou
6577706874 fix Bug TDI-27264: sqoop throw error when use java API on windons system
https://jira.talendforge.org/browse/TDI-27264

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109692 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 10:08:10 +00:00
jyhu
0389a1c5e3 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/branches/branch-5_3@109661 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 06:56:12 +00:00
jzhao
d954acb226 Fixed Bug TDI-27198: tAggregateSortedRow does not support boolean or char in group by
https://jira.talendforge.org/browse/TDI-27198 
Note:Merge to 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109657 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 06:35:54 +00:00
zwzhao
2c3bf8f95a bug TDI-27525 fixed : Red cross on a Database Icon in the repository
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109647 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-21 02:29:02 +00:00
jjzhou
ee291dbe94 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/branches/branch-5_3@109628 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 10:04:46 +00:00
wchen
46de87592a bug TDI-27768 fixed: BD:tPigMap:NPE when try to add expression for output
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109624 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 10:01:49 +00:00
jzhao
b469484489 Fixed Bug TDI-27112: tHiveInput don't support select cloumn when distribute is apache1.0
https://jira.talendforge.org/browse/TDI-27112
Note:Merge to branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109607 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:54:23 +00:00
sizhaoliu
78bccc337f merge r109597 from trunk to branch 5.3
TDQ-8142 save the routine item only if the dependency is modified.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109606 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:51:37 +00:00
sizhaoliu
4573bd3977 merge r109553 from trunk to branch 5.3
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/branches/branch-5_3@109605 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:51:10 +00:00
sizhaoliu
f59454ad5d merge r109551 from trunk to branch 5.3
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/branches/branch-5_3@109604 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:50:14 +00:00
plv
cacdec7d63 bug TDI-27277:Guess Schema issue with Redshift tRedshiftInput
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109602 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:46:40 +00:00
wchen
49b92e98b4 bug TDI-27768 fixed: BD:tPigMap:NPE when try to add expression for output
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109599 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 08:30:21 +00:00
plv
47d5c6e990 bug TDI-27277:Guess Schema issue with Redshift tRedshiftInput
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109583 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-18 05:27:17 +00:00
bchen
f670f94782 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.
merge r109534 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109536 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 09:53:17 +00:00
zwzhao
b0e272f8c2 bug TDI-27525 fixed : Red cross on a Database Icon in the repository
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109531 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 09:12:47 +00:00
zwzhao
7634c2cb19 bug TDI-27525 fixed : Red cross on a Database Icon in the repository
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109519 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 07:34:54 +00:00
nrousseau
c043eaf013 merge r109495 from trunk to branch 5.3
TDI-27588 : fix a small problem with component unique name


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109496 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-17 02:47:37 +00:00
jjzhou
b8994d6634 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/branches/branch-5_3@109435 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 06:38:25 +00:00
nrousseau
3078a06461 merge r109431 from trunk to branch 5.3
TDI-27298 : fix problem with execution of jobs with ELT components


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109432 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 06:17:52 +00:00
wliu
70eeb4e43d 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/branches/branch-5_3@109415 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-16 01:48:04 +00:00
nrousseau
57e14acbd2 merge r109370 from trunk to branch 5.3
TDI-27588 : remove some optimization done in the TDI-27266


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109373 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 08:14:44 +00:00
jyhu
c89a5685d6 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/branches/branch-5_3@109365 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 07:45:15 +00:00
hcyi
3960f4db81 bug TDI-27568 fixed : add HL7 Version for the tHL7Output repository .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109346 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-15 05:46:18 +00:00
bchen
3e04b4b039 Fix Bug TDI-27652 : SAP connection not released in case of a downstream component throws an exception
https://jira.talendforge.org/browse/TDI-27652
merge r109297 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109300 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:45:05 +00:00
jjzhou
e7b1c0fd28 fix Bug TDI-27640: tFileFetch HTTPS Redirection
https://jira.talendforge.org/browse/TDI-27640 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109295 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:38:00 +00:00
jyhu
c1e10cd30e 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/branches/branch-5_3@109289 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:31:18 +00:00
zwzhao
a9855f04e2 bug TDI-6613 fixed : tSalesforceOutput : Schema issue when switching Action.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109285 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 10:18:31 +00:00
jzhao
3782dff09c 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/branches/branch-5_3@109274 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 08:45:23 +00:00
wliu
44bb16adf9 Fix Bug TDI-27194 : complete the condition
https://jira.talendforge.org/browse/TDI-27194

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109253 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-14 04:05:32 +00:00
hcyi
0bc3a5e565 bug TDI-27568 fixed : xml tree in both tHL7Input and tHL7Output repository are generated incorrectly .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109222 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 10:17:36 +00:00
jzhao
e800d7ffec Fixed Bug TDI-27517: 65535 issue with many tMaps and tExtractDelimitedFields
https://jira.talendforge.org/browse/TDI-27517 
Note:Merge to 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109203 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-12 08:22:02 +00:00
zwzhao
269cca108f bug TUP-825 fixed : commonFilter is incorrectly installed permanently in the ProjectExplorer
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@109129 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-11 07:17:02 +00:00
jjzhou
1c12ff5b62 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/branches/branch-5_3@109076 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-10 09:58:54 +00:00
rdubois
a547f72182 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/branches/branch-5_3@109040 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-09 14:08:33 +00:00
plv
1ea5b0983e bug TDI-26695:guess schema fail for derby client
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108955 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 08:31:54 +00:00
jjzhou
44ba2561ba 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/branches/branch-5_3@108954 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 08:04:20 +00:00
jjzhou
12620d7fe0 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/branches/branch-5_3@108940 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-10-08 03:58:48 +00:00
zwzhao
9151ed67f9 bug TDI-6613 fixed : tSalesforceOutput : Schema issue when switching Action.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108823 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 10:08:59 +00:00
jyhu
e14330172e Fix Work Item 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/branches/branch-5_3@108764 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-30 02:48:19 +00:00
jzhao
cfb5fb68d3 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/branches/branch-5_3@108731 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 09:23:51 +00:00
wliu
9dd710db15 Fix Bug TDI-26984 : recover the old behavior
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108715 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 08:11:21 +00:00
jyhu
fe8a80e4ac 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/branches/branch-5_3@108712 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 08:09:38 +00:00
jyhu
e60352d672 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/branches/branch-5_3@108693 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-29 06:56:45 +00:00
rdubois
a45b731b4e TDI-27335 fixed: tMOM components fixed when using a tMomConnection
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108644 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-27 13:23:37 +00:00
jzhao
ac34e67475 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/branches/branch-5_3@108621 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-26 09:46:56 +00:00
jyhu
9aae893730 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/branches/branch-5_3@108559 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-25 09:29:02 +00:00
wliu
5ee38547a7 Fix Bug TDI-26984 : remove the new mode for tHL7Output
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108472 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 11:03:54 +00:00
hcyi
b390d784c6 merge r108422 from trunk to branch 5.3
bug TDI-26946 fixed : ELTHiveMap : HiveQL generation not refreshed if you delete an INPUT table .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108424 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 03:45:54 +00:00
nrousseau
73c1ba4e8c merge r108414 from trunk to branch 5.3
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/branches/branch-5_3@108417 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-24 03:14:44 +00:00
jyhu
663ebaeefa 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/branches/branch-5_3@108365 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 08:56:58 +00:00
jzhao
6fd0387017 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/branches/branch-5_3@108347 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 07:47:00 +00:00
hcyi
358cbb908e merge r108334 from trunk to branch 5.3
bug TDI-27090 modified : Wrong pattern used in TAC for the project creation . 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108335 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 06:04:09 +00:00
nrousseau
b6bee45229 merge r108332 from trunk to branch 5.3
TDI-27249 : fix clean statistics for TOS


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108333 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-23 05:05:45 +00:00
nrousseau
35eca94250 merge r108316 from trunk to branch 5.3
TDI-27535 : fix problem of null connection name


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108318 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 11:03:33 +00:00
wliu
b475ad8d0d Fix Bug TDI-26984 : tHL7Output component Bug
https://jira.talendforge.org/browse/TDI-26984

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108306 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 09:47:01 +00:00
nrousseau
2a5c16a017 merge r108279 from trunk to branch 5.3
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/branches/branch-5_3@108281 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 06:36:29 +00:00
plv
e67290268d 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/branches/branch-5_3@108276 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 05:27:41 +00:00
nrousseau
fa54706af7 merge r108269 from trunk to branch 5.3
TDI-27350 : add missing break info for the migration


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108274 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-22 04:24:17 +00:00
plv
8fd6cb2104 bug TDI-27266:backport 5.3
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108232 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 10:41:28 +00:00
hwang
bf1e5cc409 TDI-27462:expanding Sub-jobs linked together: remove this link, or move it
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108211 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 09:21:59 +00:00
nrousseau
8079a69c24 merge r108174 from trunk to branch 5.3
TDI-27435 : Rename automatically some row link if some are already existing.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108175 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-18 02:19:23 +00:00
nrousseau
4b059e3c0d merge r108120 from trunk to branch 5.3
TDI-27350 : set correct case for the dbtypes when migrate to avoid warnings


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108131 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 07:25:02 +00:00
nrousseau
b1d86bd6f2 merge r108119 from trunk to branch 5.3
TDI-27485 : avoid an expand all when open the repository dialog


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108121 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-17 04:34:16 +00:00
wliu
9302172572 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/branches/branch-5_3@108070 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-16 04:51:08 +00:00
nrousseau
12d75e53bf merge r108063 from trunk to branch 5.3
TDI-27350 : set correct case for the dbtypes when migrate to avoid warnings


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108064 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-16 04:05:13 +00:00
jyhu
2444886d2c 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/branches/branch-5_3@108036 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-14 10:54:08 +00:00
jyhu
39fc271ba1 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/branches/branch-5_3@108033 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-14 08:45:41 +00:00
sizhaoliu
0a86d32fee TDQ-7731 fix the NCDFE on branch 5.3
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@108023 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 12:21:58 +00:00
bchen
b852e655d4 Fix Bug TDI-27303 : tSAPInput component to enable starting ftp and http based programs
https://jira.talendforge.org/browse/TDI-27303 
merge r107562 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107975 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-13 07:38:36 +00:00
nrousseau
1532e0e31c merge r107851 from trunk to branch 5.3
TDI-27438 : enhance the speed of resolution of routines for joblets


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107856 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-12 03:33:21 +00:00
wliu
93c6aa74d7 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/branches/branch-5_3@107830 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 09:56:35 +00:00
wwang
2b01953149 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/branches/branch-5_3@107808 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-11 08:16:43 +00:00
hcyi
118a623533 bug TDI-5898 fixed : GlobalMap set by tMap aren't display in completion .
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107771 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 08:13:29 +00:00
hcyi
9da0dfa541 merge r107765 from trunk to branch 5.3
bug TDI-5898 fixed : GlobalMap set by tMap aren't display in completion .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107767 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 08:03:56 +00:00
hwang
c3bab4b5ce TDI-23013 :Undo of delete for links to joblet not correct when joblet expanded
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107747 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 05:24:27 +00:00
hwang
debcc83d63 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/branches/branch-5_3@107745 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-10 04:10:07 +00:00
fwang
a8025c581f bug TDI-27257 fixed:duplicate routine items display when "Setup routine dependencies"
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107720 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 09:34:43 +00:00
wliu
25318c023e 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/branches/branch-5_3@107713 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 08:46:23 +00:00
wliu
e1f3063f0b 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/branches/branch-5_3@107710 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 08:24:39 +00:00
nrousseau
62df2525c8 merge r107683 from trunk to branch 5.3
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/branches/branch-5_3@107684 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-09 03:21:40 +00:00
hwang
9ad54b096d TDI-27032:Response to schema prompt when adding component to flow remembered
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107638 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 06:54:58 +00:00
wliu
17a5e88a24 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/branches/branch-5_3@107628 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-06 03:47:22 +00:00
hcyi
b3992c0a29 merge r107563 from trunk to branch 5.3
bug TDI-27090 fixed : Wrong pattern used in TAC for the project creation .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107565 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-05 06:40:12 +00:00
bchen
2249dc0b2b Fix Bug TDI-27166 : SALESFORCE BULK API BUG (CONSUMES TOO MANY API CALLS) - SOLVED
https://jira.talendforge.org/browse/TDI-27166 
merge r106997 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107515 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 08:08:23 +00:00
bchen
feaf3d9cd4 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 
merge r107496 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107504 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-04 07:01:49 +00:00
hcyi
0bace3f9e6 merge r107453 from trunk to branch 5.3
bug TDI-26953 modified : tMap drag-and-drop column names case-sensitive . 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107454 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 07:08:04 +00:00
hcyi
b080a3f67f merge r107447 from trunk to branch 5.3
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/branches/branch-5_3@107448 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-03 06:07:32 +00:00
jjzhou
a1209b7fdd 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/branches/branch-5_3@107382 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-09-02 03:00:23 +00:00
hcyi
fb46c02727 merge r107354 from trunk to branch 5.3
bug TDI-5839 fixed : Renaming variable in tMap doesn't affect Expression-Filter .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107355 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 09:34:56 +00:00
jyhu
0df8a9a7b3 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 and replace a disposable class. 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107338 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 07:02:41 +00:00
jyhu
6b912c24f4 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/branches/branch-5_3@107324 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 04:29:50 +00:00
hwang
7669771d5a TDI-27032:Response to schema prompt when adding component to flow remembered
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107312 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 03:22:54 +00:00
nrousseau
b0b4315aab merge r107310 from trunk to branch 5.3
TDI-26994 : fix / improve again for the edition for the tJava


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107311 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 03:15:56 +00:00
plv
b6f53d0120 merge r107302 from trunk to branch 5.3
bug TDI-26547:Problems with update detection for tMap repository schemas


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107304 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-30 02:31:29 +00:00
jyhu
713fef287e 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/branches/branch-5_3@107278 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-29 11:18:32 +00:00
zwzhao
1fc1307eb6 bug TUP-866 fixed : Wrong javajet code in components causes no error message
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107273 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-29 07:12:34 +00:00
hwang
afbf7443ba TDI-27182:Studio throws an error when the first time create a routine from the welcome page.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107188 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 10:29:16 +00:00
fwang
65e0f0c01b bug TDI-27137 fixed:Function for "Guess Schema" can not be used for JavaDB Embeded Database.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107168 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 09:39:45 +00:00
hwang
a6ffa96a30 TDI-27173:Invisible Components in job design
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107127 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-27 02:20:20 +00:00
hcyi
4924d36567 merge r107105 from trunk to branch 5.3
bug TDI-26953 fixed : tMap drag-and-drop column names case-sensitive .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107108 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 10:44:14 +00:00
hwang
4954dc6f72 TDI-26496:There should be an error information when the input shema is different from the one in the joblet
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107082 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 08:18:03 +00:00
wliu
b6083b0c52 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/branches/branch-5_3@107078 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 07:27:43 +00:00
plv
6e59e06794 merge r107073 from trunk to branch 5.3
bug TDI-27223:MR Job:Detect dependenics: No response when click this option


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@107075 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 06:32:30 +00:00
zwzhao
90f56e7f90 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/branches/branch-5_3@107054 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-26 02:37:45 +00:00
zwzhao
f174f3288c 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/branches/branch-5_3@107040 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 10:37:50 +00:00
hcyi
8ff13b15b5 merge r107029 from trunk to branch 5.3
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/branches/branch-5_3@107031 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 10:23:37 +00:00
fwang
87eaff4d67 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/branches/branch-5_3@107014 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 09:15:04 +00:00
zwzhao
c50f66561c 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/branches/branch-5_3@106984 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-23 05:55:50 +00:00
fwang
863bffac81 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/branches/branch-5_3@106877 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 09:47:54 +00:00
hwang
01980f3095 TDI-27173:Invisible Components in job design
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106866 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 08:02:00 +00:00
plv
b5f02580d9 merge r106853 from trunk to branch 5.3
bug TDI-26631:Dynamic parameter name should be selectable


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106856 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 07:24:35 +00:00
hwang
6f81556e4a TDI-27173:Invisible Components in job design
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106854 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-21 07:17:12 +00:00
jyhu
7c50c6ced3 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/branches/branch-5_3@106797 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-20 05:51:56 +00:00
hwang
bd0f383ff0 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/branches/branch-5_3@106781 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-20 01:48:10 +00:00
wchen
256fcf6f7b merge r106765 from trunk to branch 5.3
bug  TDI-26576 fixed: Can drop additional columns into linked tMap output with repository schema


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106767 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 09:47:20 +00:00
ycbai
609bdd5999 Added TDI-27148 : Need to review the speed of initialization of libaries
And revise TUP-931 : TDM install over previous version fails to clean up lib/java/index.xml 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106727 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-19 02:10:13 +00:00
hwang
8d3caaa412 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/branches/branch-5_3@106704 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 09:53:19 +00:00
jyhu
1505c35333 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/branches/branch-5_3@106694 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 07:54:22 +00:00
ycbai
eb9d978e34 Added TDI-27148 : Need to review the speed of initialization of libaries
And revise TUP-931 : TDM install over previous version fails to clean up lib/java/index.xml 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106685 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-16 06:34:09 +00:00
nrousseau
897efd043a merge r106617 from trunk to branch 5.3
TUP-948 : fix problem of lock, where it will try to lock each opened job editor


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106618 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 04:08:26 +00:00
nrousseau
1f8b8c85ca merge r106602 from trunk to branch 5.3
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/branches/branch-5_3@106604 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-15 02:20:52 +00:00
plv
18e3747090 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/branches/branch-5_3@106568 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 03:39:25 +00:00
jzhao
1afe84de93 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/branches/branch-5_3@106556 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-14 02:54:48 +00:00
jzhao
013eb8d3f0 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/branches/branch-5_3@106539 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-13 10:33:55 +00:00
ycbai
021889afd3 bug TDI-25482 fixed: HCatalog item and HDFS item cannot be exported.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106533 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-13 10:07:07 +00:00
jjzhou
3114d40c0c fix Bug TDI-26921: tLDAPRenameEntry component missing txt fields
https://jira.talendforge.org/browse/TDI-26921

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106428 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-09 01:16:40 +00:00
jjzhou
507439d785 fix Bug TDI-27076: tLDAPRenameEntry issue
https://jira.talendforge.org/browse/TDI-27076 

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106424 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-08 09:53:36 +00:00
fwang
8f5d2c0d49 bug TDI-27021 fixed:"Add extension" button in exchange is activated without clicked on
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106387 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 08:38:16 +00:00
plv
2600486bbe merge r106382 from trunk to branch 5.3
bug TDI-26854:Oracle RAC Connection doesn't allow Schema entry


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106383 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 08:07:06 +00:00
nrousseau
6087a46523 merge r106380 from trunk to branch 5.3
TDI-27088 : fix some exception appeared in the logs.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106381 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-07 07:53:47 +00:00
hwang
0712a27213 TUP-934:Try to create route from welcome page, cannot switch to create route wizard
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106326 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 09:51:06 +00:00
plv
0d172c3035 merge r106311 from trunk to branch 5.3
bug TDI-26631:Dynamic parameter name should be selectable


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106312 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 07:55:52 +00:00
plv
b3e6862bdc merge r106265 from trunk to branch 5.3
bug TDI-26467:tSalesforceOutput


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106282 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-06 01:34:47 +00:00
ldong
7a2b256756 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/branches/branch-5_3@106262 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 09:38:44 +00:00
ycbai
9f6b9a8a44 bug TDI-26994 : lots time delay when edit code in tJava
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106250 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 07:58:03 +00:00
wchen
2a9275f7c5 merge r106246 from trunk to branch 5.3
bug  TDI-27024 fixed: Schema does not propagate to tAddCRCRow, after changing schema of tSugarCRMInput.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106249 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-05 07:35:39 +00:00
wchen
c77598c0ca merge r106090 from trunk to branch 5.3
bugTDI-26686 fixed: Export items to archive creates folder if file extension not included


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106093 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 05:57:58 +00:00
ycbai
d3b341d6a8 bug TDI-26093 : Non-job items always exported with jar
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106092 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 05:50:25 +00:00
wchen
0884624c6a merge r106087 from trunk to branch 5.3
bug  TDI-26576 fixed: Can drop additional columns into linked tMap output with repository schema


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106088 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 04:01:06 +00:00
wchen
fe7c17f153 merge r106082 from trunk to branch 5.3
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/branches/branch-5_3@106083 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 03:23:19 +00:00
ldong
7b87a11d3c bug TDI-26757 fixed:The QUEUE_SIZE parameter is not persistent in the parallelization links.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@106078 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 02:53:32 +00:00
plv
7d7c562971 merge r106055 from trunk to branch 5.3
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/branches/branch-5_3@106071 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-08-01 01:49:05 +00:00
plv
bb8c1d0535 merge r106000 from trunk to branch 5.3
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/branches/branch-5_3@106002 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-31 01:49:42 +00:00
plv
6a7e7a9c06 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/branches/branch-5_3@105956 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 03:08:00 +00:00
nrousseau
f5c517dca2 merge r105944 from trunk to branch 5.3
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/branches/branch-5_3@105945 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-30 01:01:09 +00:00
wchen
322187f198 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/branches/branch-5_3@105937 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 10:10:48 +00:00
hcyi
88710514e5 merge r105932 from trunk to branch 5.3
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/branches/branch-5_3@105933 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 09:35:03 +00:00
wchen
31c12f2ee1 merge r105929 from trunk to branch 5.3
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/branches/branch-5_3@105930 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-29 09:21:40 +00:00
plv
8483d35af1 bug TDI-7860:Unable to rename schema in tFileInputMSXXXX
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105896 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 10:22:57 +00:00
hcyi
ea084a503c merge r105888 from trunk to branch 5.3
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/branches/branch-5_3@105892 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 10:09:08 +00:00
ldong
25b0f0732a bug TDI-26815 fixed:Parallelization within the links cannot generate code with the tUnite.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105872 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-26 07:46:38 +00:00
jjzhou
4c53ed17fb 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/branches/branch-5_3@105832 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 09:51:37 +00:00
bchen
b769d705a4 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/branches/branch-5_3@105811 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 06:13:26 +00:00
nrousseau
a3045feaa5 merge r105799 from trunk to branch 5.3
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/branches/branch-5_3@105800 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 04:19:02 +00:00
jzhao
32353b426a Fixed Bug TDI-26681: Bug fix for org.talend.salesforce.SforceManagementImpl.java
https://jira.talendforge.org/browse/TDI-26681
Note: Merge to branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105790 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-25 03:11:53 +00:00
jjzhou
a72576cb27 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/branches/branch-5_3@105709 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 07:14:03 +00:00
plv
329a937be1 bug TUP-835 fixed:Cannot retreive schema on tables that contain "." in the table name
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105687 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 03:39:43 +00:00
fwang
a8b6657b61 bug TDI-26614 fixed:Excell XLSX files not read correctly
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105680 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 03:00:57 +00:00
wliu
e51fd38bf2 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/branches/branch-5_3@105672 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-24 02:27:57 +00:00
wwang
0c436b3d06 Fix Bug TDI-26803 : tOracleOutputBulkExec - Update Scenario
https://jira.talendforge.org/browse/TDI-26803

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105654 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 10:28:06 +00:00
wliu
f9deb2012c 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
https://jira.talendforge.org/browse/TDI-26484

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105600 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 03:23:05 +00:00
nrousseau
981a8938cd merge r105585 from trunk to branch 5.3
TDI-26835 : disable automatically the option lookup in parallel if there is no tParallelize component  available


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105586 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-23 00:44:42 +00:00
wliu
077664e32c 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
https://jira.talendforge.org/browse/TDI-26484

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105569 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 10:47:05 +00:00
jjzhou
f1205ea06d 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/branches/branch-5_3@105547 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-22 08:45:28 +00:00
wliu
9af54fff22 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
https://jira.talendforge.org/browse/TDI-26484

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105457 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-19 06:54:19 +00:00
bchen
fe85dc960f 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 
add ability to set login url 
merge r105039 into branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105450 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-19 02:45:16 +00:00
ilazebny
5a0b2660ec Update version to 5.3.2-SNAPSHOT in poms
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105428 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-18 17:41:17 +00:00
jjzhou
8c64a864bb 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/branches/branch-5_3@105352 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-17 09:00:55 +00:00
jyhu
8a4947114d Fix Bug TDI-26545 : tGreenplum componentes are not correctly using schema
https://jira.talendforge.org/browse/TDI-26545 
Merge into branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105348 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-17 08:55:12 +00:00
nrousseau
3821df40b3 merge r105315 from trunk to branch 5.3
TDI-26751 : fail to switch jobscript when there is several tXmlMap in the same job.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105316 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-17 01:16:41 +00:00
jyhu
056d418eaa 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/branches/branch-5_3@105290 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-16 09:10:29 +00:00
plv
ea713c82a5 merge r105259 from trunk to branch 5.3
bug TUP-835 fixed:revert


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105261 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 10:16:50 +00:00
jzhao
9f89a4c2a8 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/branches/branch-5_3@105242 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 03:40:16 +00:00
ldong
4ecb191446 bug TDI-26555 fixed:New Set Parallelization - code will not compile - depends on order of components.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105238 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 03:19:52 +00:00
fwang
04dde29d67 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/branches/branch-5_3@105236 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-15 01:31:38 +00:00
ycbai
37cbab1850 bug TDI-25844 : The UI of shell which is activated by double clicking "tFileInputMSDelimited" is mess.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105207 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 07:12:48 +00:00
zwzhao
1706bc437f bug TDI-26617 fixed : tWebService does not return any value
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105200 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 06:15:02 +00:00
jzhao
0fadd95dc5 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/branches/branch-5_3@105187 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 02:03:15 +00:00
plv
1a985ff340 merge r105181 from trunk to branch 5.3
bug TDI-26695 fixed:guess schema fail for derby client


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105182 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-12 01:36:34 +00:00
jjzhou
09cde10db9 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/branches/branch-5_3@105178 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 09:43:08 +00:00
wchen
6499a3e2bf merge r105175 from trunk to branch 5.3
bug TDI-26609 fixed: tXmlMap automatic connection expression parser doesn't recognize nodes which have attributes


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105176 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 09:08:52 +00:00
ldong
99c447df11 bug TDI-26553 fixed:New Set Parallelization - failed to generate code.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105167 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-11 07:26:17 +00:00
amarkevich
73f703603d TESB-10280 TOS-DI 5.3.1 - cannot have multiple tESBConsumers pointing to same wsdl
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105145 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-10 13:13:23 +00:00
zgao
a4b5e57daa [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/branches/branch-5_3@105087 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 11:00:22 +00:00
fwang
ead81dd2ca bug TUP-835 fixed:backport on 5.3
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105083 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 10:23:41 +00:00
wchen
a36b3bd574 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/branches/branch-5_3@105082 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 10:21:45 +00:00
zwzhao
768aeb42c4 bug TDI-26633 fixed : tLibraryLoad throw warning while using context variables
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105070 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 09:11:41 +00:00
wchen
931d91b98a bug TDI-25946 fixed: HL7 connection wizard is not parsing columns correctly
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105053 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 05:56:02 +00:00
jyhu
4fb075bb71 Fix Bug TDI-26209: tNetezzaInput and tNetezzaOutput could not work with TIME type.
https://jira.talendforge.org/browse/TDI-26209 
Merge into branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105052 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 05:54:21 +00:00
jzhao
ae39a55e08 Fixed Bug TDI-26504: tMDMOutput component : Reject link does not work
https://jira.talendforge.org/browse/TDI-26504 
Note:Merge to branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105045 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 03:37:25 +00:00
jjzhou
0596016727 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/branches/branch-5_3@105040 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 03:11:32 +00:00
jzhao
ffd46f920f Fixed Bug TDI-26572: Make tFileOutputPositionnal work like tFileOutputDelimited
https://jira.talendforge.org/browse/TDI-26572 
Note:merge to branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105032 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 02:37:21 +00:00
fwang
690d742025 bug TDI-26417 fixed:Studio adds hyphens to Java options
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105028 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-09 01:44:37 +00:00
ycbai
aebbb564f2 bug TDI-26650 fixed: Export as service doesn't include items from reference project
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105018 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 09:28:06 +00:00
fwang
d1c55280c3 bug TDI-26551 fixed:Linked tMap output expressions replaced when selecting repository schema
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@105011 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 08:23:58 +00:00
jzhao
9c22cb11b6 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/branches/branch-5_3@105006 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 07:27:15 +00:00
jyhu
98d1b7a904 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/branches/branch-5_3@105004 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-08 07:24:28 +00:00
ycbai
568a262627 bug TDI-26575 fixed: Reference Project:Delect assignment job in BM , BM become to dirty
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104974 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 10:18:22 +00:00
jjzhou
39ab7686b9 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/branches/branch-5_3@104948 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 08:22:54 +00:00
jjzhou
876959ae12 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/branches/branch-5_3@104946 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 08:15:42 +00:00
zwzhao
90275b296d 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/branches/branch-5_3@104943 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-05 07:26:46 +00:00
jjzhou
bf8934b40a 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/branches/branch-5_3@104911 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-04 10:30:46 +00:00
ycbai
e35cdbb279 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/branches/branch-5_3@104893 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-04 07:40:35 +00:00
fwang
a65b2affb8 bug TDI-23525 fixed:Deleted "Stored Queries" in SQL Builder, it will be deleted forever
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104885 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-04 06:27:15 +00:00
fwang
6fe0f1a7cb bug TDI-26551 fixed:Linked tMap output expressions replaced when selecting repository schema
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104822 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-03 01:28:43 +00:00
zwzhao
d5806df81d 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/branches/branch-5_3@104812 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-02 10:21:40 +00:00
fwang
4afeff8adf bug TDI-26312 fixed:"+" should be disabled if rootTag is not selected
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104781 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-02 03:34:09 +00:00
zgao
eeb97c2af8 [TESB-9100] bug in cTimer on Delay parameter
└[TESB-10228] Fix on branch 5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104764 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 09:41:28 +00:00
ldong
513df73b07 bug TDI-26472 fixed:many popups shown when you link a component to joblet.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104760 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 09:37:32 +00:00
jjzhou
8ff7087cb7 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/branches/branch-5_3@104730 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 07:04:45 +00:00
zwzhao
a7efce3a94 bug TDI-26434 fixed : Expressions copied from other tMaps when schemas propagated
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104729 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-07-01 07:04:02 +00:00
jjzhou
d92c155434 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/branches/branch-5_3@104629 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-28 06:50:47 +00:00
zwzhao
ad409f5a66 bug TDI-25956 fixed : the expression is incorrect after copy&paste job contain tMap
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104602 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-27 09:55:40 +00:00
hcyi
761ecb4fb5 merge r104585 from trunk to branch 5.3
bug TDI-24919 fixed : replication order incorrect with cdc mysql .


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104586 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-27 06:02:41 +00:00
zwzhao
f7cde6d12c bug TDI-25956 fixed : the expression is incorrect after copy&paste job contain tMap (revert #104186)
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104550 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 09:02:22 +00:00
zwzhao
706fd67f7d 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/branches/branch-5_3@104541 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 08:31:49 +00:00
plv
6bb3a9ef74 merge r104519 from trunk to branch 5.3
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/branches/branch-5_3@104520 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-26 02:51:46 +00:00
jjzhou
5fc6bb2996 fix Bug TDI-26493: component "tFileCopy" 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/branches/branch-5_3@104503 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-25 09:05:58 +00:00
fwang
5852506748 bug TDI-26458 fixed:Cancelling Edit of Row Generator Still Saves Changes
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104490 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-25 07:02:13 +00:00
ldong
689edf6476 bug TDI-26238 fixed:Set/Disable parallelization not worked for deactive line in job.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104437 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 08:13:08 +00:00
hcyi
1c0e651025 merge r104432 from trunk to branch 5.3
bug TDI-25662 modified : "Detect and update all jobs" doesn't work . 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104434 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 08:11:24 +00:00
jzhao
8a1a9b0de0 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/branches/branch-5_3@104420 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 07:06:54 +00:00
jjzhou
af1da04bdf 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/branches/branch-5_3@104417 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-24 01:22:39 +00:00
sizhaoliu
c3e81c3972 merge r104392 from trunk to branch 5.3
TDQ-7363 redundant folder when try to select parser rule for tStandardizeRow component


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104403 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 15:14:33 +00:00
sizhaoliu
0875bbedb9 merge r104390 from trunk to branch 5.3
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/branches/branch-5_3@104399 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 14:21:19 +00:00
jzhao
bb84837ace 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 branch5.3

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104370 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 09:49:12 +00:00
nrousseau
f3f3eef89f merge r104359 from trunk to branch 5.3
TDI-26478 : fix the problem of folder deletion while import.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104365 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 09:38:07 +00:00
hcyi
ef5ccb82c0 merge r104349 from trunk to branch 5.3
bug TDI-25662 modified : "Detect and update all jobs" doesn't work . 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104353 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 09:18:07 +00:00
plv
ff87fcb956 merge r104340 from trunk to branch 5.3
bug TDI-26432 fixed:Compile errors with tAggregateRow Component


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104347 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 08:54:23 +00:00
ggu
f2438c353d TDI-26293: fixed the path problem for importing.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104318 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 06:12:18 +00:00
plv
f27bfbeaef merge r104308 from trunk to branch 5.3
bug TDI-23537 fixed:Delete flow names can not undo properly


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104310 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 05:46:25 +00:00
plv
5f16bc105a merge r104233 from trunk to branch 5.3
bug TDI-26394 fixed:User can delete a locked connection schema in remote project


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104304 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 03:42:02 +00:00
fwang
2063762134 bug TDI-26312 fixed:"+" should be disabled if rootTag is not selected
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104294 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 03:15:23 +00:00
fwang
d7505c16a1 bug TDI-26417 fixed:Studio adds hyphens to Java options
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104286 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 03:10:35 +00:00
jzhao
3a24558d56 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/branches/branch-5_3@104281 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 03:05:26 +00:00
plv
c9cc45c3bf merge r104094 from trunk to branch 5.3
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/branches/branch-5_3@104277 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-21 02:54:23 +00:00
jyhu
69bf0965fd 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/branches/branch-5_3@104228 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 09:41:28 +00:00
plv
624dba28ae merge r103829 from branch 5.2 to branch 5.3
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/branches/branch-5_3@104220 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 09:09:14 +00:00
plv
fecd59404c merge r103978 from branch 5.2 to branch 5.3
bug TDI-25992 fixed:Exchange: error when add a new extenion without a "file"


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104209 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:46:44 +00:00
plv
18ea0c919d merge r103849 from branch 5.2 to branch 5.3
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/branches/branch-5_3@104205 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:34:04 +00:00
hcyi
a9518edb4d merge r104198 from trunk to branch 5.3
bug TUP-803 fixed : Can't clear User Component Folder in Components preferences (TUP-799) 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104201 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:28:10 +00:00
hcyi
599aa47478 merge r104195 from trunk to branch 5.3
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/branches/branch-5_3@104197 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:21:07 +00:00
plv
929f6ea81c merge r103715 from branch 5.2 to branch 5.3
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/branches/branch-5_3@104190 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:11:19 +00:00
zwzhao
6d03b5e3b7 bug TDI-25956 fixed : the expression is incorrect after copy&paste job contain tMap
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104186 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 08:01:18 +00:00
jyhu
97fe058c33 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/branches/branch-5_3@104180 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:33:31 +00:00
hcyi
876e5ae530 merge r104169 from trunk to branch 5.3
bug TDI-26374 :  TDI-26332 fixed : HL7: NPE error if the source file cannot be found . 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104173 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:17:13 +00:00
hcyi
9309ec77fc merge r104160 from trunk to branch 5.3
bug TUP-805 fixed : Exception setting classpath after changing the Talend -> Components user component folder . 


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104166 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:05:08 +00:00
zwzhao
f949752660 bug TDI-26046 fixed : The Ui is blank after selecting "Talend Component Designer"
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104165 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:04:57 +00:00
ggu
5319765903 TDI-26293: fixed the import problem for special characters and backport on branch 5.3.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104162 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 07:02:55 +00:00
hcyi
d0f4f5576d merge r104151 from trunk to branch 5.3
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/branches/branch-5_3@104156 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:55:43 +00:00
zwzhao
f3a47d159c bug TDI-26284 fixed : Get NPE when closing a locked route in remote project.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104152 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:51:46 +00:00
zwzhao
ecebf55d1a bug TDI-26284 fixed : Get NPE when closing a locked route in remote project.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104150 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:51:16 +00:00
jyhu
1029975b99 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/branches/branch-5_3@104135 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 06:24:42 +00:00
jyhu
51d8f6a592 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/branches/branch-5_3@104122 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 05:49:57 +00:00
jzhao
3964f425eb 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/branches/branch-5_3@104114 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 04:51:23 +00:00
wchen
104c3e489c merge r104099 from trunk to branch 5.3
bug TDI-26285 fixed: Database connection is failed when click "Guess schema" button in thiveinput


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104109 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 04:13:41 +00:00
jyhu
708a076329 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/branches/branch-5_3@104105 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:57:57 +00:00
wchen
91cab8553f merge r104092 from trunk to branch 5.3
bug TDI-26285 fixed: Database connection is failed when click "Guess schema" button in thiveinput


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@104102 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:57:03 +00:00
wwang
e221a3ac2b 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/branches/branch-5_3@104101 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:55:49 +00:00
jzhao
5de9d7451f 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/branches/branch-5_3@104098 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 03:46:25 +00:00
wwang
f5c9bcf84c 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/branches/branch-5_3@104050 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:46:35 +00:00
jjzhou
a1eec2a5c0 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/branches/branch-5_3@104045 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:12:54 +00:00
jjzhou
c9fc6c5964 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/branches/branch-5_3@104043 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:08:36 +00:00
jjzhou
99d74db820 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/branches/branch-5_3@104041 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-20 01:06:02 +00:00
nrousseau
2b64f6abc9 merge r104000 from trunk to branch 5.3
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/branches/branch-5_3@104001 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-17 09:57:37 +00:00
nrousseau
13251c29c3 merge r103960 from trunk to branch 5.3
TDI-26387: when do detect modifications, force doing svn update.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103966 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-13 11:49:50 +00:00
nrousseau
e41e2242f2 merge r103961 from trunk to branch 5.3
TDI-26380 : set the action enabled again after execute, no matter if have exception or not.


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103963 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-13 11:16:53 +00:00
rdubois
c8538a1fcc TDI-26279 fixed: Add a migration task in order to have the same behavior as before
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103897 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-10 14:12:30 +00:00
nrousseau
70b52f6f6b bug TDI-26324 fixed: avoid a graphic disposed (image of component diposed)
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103893 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-10 12:20:18 +00:00
rdubois
55315c8093 TDI-26297 fixed for other databases.
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103890 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-10 10:07:51 +00:00
rdubois
1ea0f9a08f Fix Bug TDI-25903: backport r103855 from trunk to branch-5_3
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103860 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-07 10:56:57 +00:00
rdubois
8180f55dd3 TDI-26297 fixed for tMysqlSCD and tMysqlSCDELT
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103859 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-07 10:52:39 +00:00
ilazebny
a366fc48b2 Update version to 5.3.1 in poms
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_3@103811 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2013-06-05 11:38:16 +00:00
3058 changed files with 39154 additions and 86484 deletions

View File

@@ -46,7 +46,6 @@ 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,7 +15,6 @@ 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,
@@ -29,4 +28,3 @@ 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's Designer">
name="Component Designer">
</perspective>
</extension>
<extension point="org.eclipse.ui.perspectiveExtensions">

View File

@@ -34,10 +34,8 @@ 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;
/**
@@ -95,14 +93,8 @@ public class PushToPaletteActionProvider extends CommonActionProvider {
*/
@Override
public void run() {
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$
}
}
String path = CorePlugin.getDefault().getComponentsLocalProviderService().getPreferenceStore()
.getString("USER_COMPONENTS_FOLDER"); //$NON-NLS-1$
if (path == null || path.length() == 0) {
new MessageDialog(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),

View File

@@ -242,6 +242,7 @@
<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"/>
@@ -1388,6 +1389,12 @@
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"
@@ -1413,11 +1420,4 @@
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: 1.0.0.qualifier
Bundle-Version: 2.2.0.qualifier
Bundle-Activator: org.talend.designer.abstractmap.MapPlugin
Require-Bundle: org.eclipse.core.runtime,
org.talend.core,

View File

@@ -40,6 +40,10 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
private Point lastCursorPosition;
private long lastDragTime;
private boolean scrollUp = false;
public DefaultDropTargetListener(AbstractMapperManager mapperManager) {
super();
this.mapperManager = mapperManager;
@@ -53,12 +57,14 @@ 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();
}
@@ -76,6 +82,7 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
draggingInfosPopup.setVisible(visible);
}
@Override
public void dragOperationChanged(DropTargetEvent event) {
updatePopupPosition(event);
detectPressedKeys(event);
@@ -124,6 +131,7 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
}
@Override
public void dragOver(DropTargetEvent event) {
// System.out.println(((DropTarget)event.widget).getControl());
event.detail = DND.DROP_NONE;
@@ -133,20 +141,17 @@ 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) {
@@ -163,22 +168,51 @@ 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();
@@ -205,6 +239,7 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
return getParentScrolledComposite(composite.getParent());
}
@Override
public void drop(DropTargetEvent event) {
dragFinished();
}
@@ -218,6 +253,7 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
return getClass() != DefaultDropTargetListener.class;
}
@Override
public void dropAccept(DropTargetEvent event) {
}
@@ -227,6 +263,7 @@ public class DefaultDropTargetListener implements TransferDropTargetListener {
*
* @see org.eclipse.jface.util.TransferDropTargetListener#getTransfer()
*/
@Override
public Transfer getTransfer() {
return TableEntriesTransfer.getInstance();
}
@@ -236,6 +273,7 @@ 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,5 +14,4 @@ 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,12 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Alfresco Output Component Plug-in
Bundle-Name: Alfresco Output external component
Bundle-SymbolicName: org.talend.designer.alfrescooutput;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 2.2.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,7 +16,6 @@ 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: 1.0.0.qualifier
Bundle-Version: 2.2.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.talend.designer.business.model.business.diagram.part.BusinessDiagramEditorPlugin
Bundle-Vendor: %providerName
@@ -19,7 +19,6 @@ 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,
@@ -32,6 +31,5 @@ Require-Bundle: org.eclipse.ui.ide,
org.apache.batik.ext.awt,
org.talend.metadata.managment,
com.ibm.icu,
org.talend.libraries.apache,
org.talend.repository.items.importexport
org.talend.libraries.apache
Eclipse-LazyStart: true

View File

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

View File

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

View File

@@ -1,43 +0,0 @@
// ============================================================================
//
// 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,6 +49,7 @@ 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;
@@ -208,6 +209,7 @@ public class BusinessDiagramEditor extends FileDiagramEditor implements IGotoMar
}
propertyIsDirty = false;
firePropertyChange(IEditorPart.PROP_DIRTY);
RepositoryManager.refreshSavedNode(repositoryEditorInput.getRepositoryNode());
}
}

View File

@@ -21,8 +21,6 @@ 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,4 +132,3 @@ 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=Chargement des composants...
ComponentsFactory.load.components=Charger 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,7 +60,6 @@ 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
@@ -112,7 +111,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=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3
FAMILY.Business_Intelligence=\u30D3\u30B8\u30CD\u30B9\u30A4\u30F3\u30C6\u30EA\u30B8\u30A7\u30F3\u30B9
FAMILY.Business=Business
FAMILY.Business_Intelligence=Business Intelligence
FAMILY.CentricCRM=CentricCRM
FAMILY.Charts=Charts
FAMILY.Connections=\u63A5\u7D9A
FAMILY.Custom_Code=\u30AB\u30B9\u30BF\u30E0\u30B3\u30FC\u30C9
FAMILY.Connections=Connections
FAMILY.Custom_Code=Custom Code
FAMILY.DB2=DB2
FAMILY.DB_Generic=\u6C4E\u7528ODBC
FAMILY.DB_JDBC=\u6C4E\u7528JDBC
FAMILY.DB_Generic=DB Generic
FAMILY.DB_JDBC=DB JDBC
FAMILY.DB_SCD=DB SCD
FAMILY.Data_Quality=\u30C7\u30FC\u30BF\u30AF\u30AA\u30EA\u30C6\u30A3
FAMILY.Databases=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9
FAMILY.Data_Quality=Data Quality
FAMILY.Databases=Databases
FAMILY.ELT=ELT
FAMILY.ESB=ESB
FAMILY.EXASolution=EXASolution
FAMILY.eXist=eXist
FAMILY.FTP=FTP
FAMILY.Fields=\u9805\u76EE\u5024\u5909\u63DB
FAMILY.Fields=Fields
FAMILY.File=\u30D5\u30A1\u30A4\u30EB
FAMILY.FireBird=Firebird
FAMILY.Greenplum=Greenplum
@@ -91,31 +91,30 @@ FAMILY.Healthcare=Healthcare
FAMILY.Hive=Hive
FAMILY.Informix=Informix
FAMILY.Ingres=Ingres
FAMILY.Input=\u30D5\u30A1\u30A4\u30EB\u5165\u529B
FAMILY.Input=Input
FAMILY.Interbase=Interbase
FAMILY.Internet=Internet
FAMILY.Jasper=Jasper
FAMILY.JavaDB=JavaDB
FAMILY.JDBC=\u6C4E\u7528JDBC
FAMILY.JDBC=JDBC
FAMILY.LDAP=LDAP
FAMILY.Logs_Errors=\u30ED\u30B0\uFF06\u30A8\u30E9\u30FC\u30CF\u30F3\u30C9\u30EA\u30F3\u30B0
FAMILY.Logs_Errors=Logs & Errors
FAMILY.MS_SQL_Server=MS SQL Server
FAMILY.MSSql=MSSql
FAMILY.Management=\u30D5\u30A1\u30A4\u30EB\u64CD\u4F5C
FAMILY.Management=Management
FAMILY.MaxDB=MaxDB
FAMILY.Microsoft_AX=Microsoft AX
FAMILY.Microsoft_CRM=Microsoft CRM
FAMILY.Misc=\u305D\u306E\u4ED6
FAMILY.Misc=Misc
FAMILY.MySQL=MySQL
FAMILY.Netezza=Netezza
FAMILY.OLAP_Cube=OLAP\u30AD\u30E5\u30FC\u30D6
FAMILY.OLAP_Cube=OLAP Cube
FAMILY.Oracle=Oracle
FAMILY.Orchestration=\u30D7\u30ED\u30BB\u30B9\u5236\u5FA1
FAMILY.Output=\u30D5\u30A1\u30A4\u30EB\u51FA\u529B
FAMILY.Orchestration=Orchestration
FAMILY.ParAccel=ParAccel
FAMILY.PostgreSQL=PostgreSQL
FAMILY.PostgresPlus=PostgresPlus
FAMILY.Processing=\u5909\u63DB\u51E6\u7406
FAMILY.Processing=Processing
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
Fragment-Host: org.talend.designer.codegen;bundle-version="2.2.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit4

View File

@@ -1,21 +1,19 @@
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: 1.0.0.qualifier
Bundle-Version: 2.2.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,7 +2,6 @@
<?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
@@ -51,13 +50,13 @@
<page
category="org.talend.core.prefs"
class="org.talend.designer.codegen.components.ui.ComponentsPreferencePage"
id="org.talend.designer.codegen.components.preference"
id="org.talend.designer.codegen.components.localprovider.page1"
name="%components">
</page>
<page
category="org.talend.designer.codegen.components.preference"
class="org.talend.designer.components.preference.ComponentsFormatPreferencePage"
id="org.talend.designer.codegen.components.preference.format"
category="org.talend.designer.codegen.components.localprovider.page1"
class="org.talend.designer.components.preference.labelformat.ComponentsFormatPreferencePage"
id="org.talend.designer.codegen.components.localprovider.page2"
name="%format">
</page>
</extension>

View File

@@ -72,47 +72,25 @@
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;
}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;
}
break;
}
}
if(hasCXFConsumer){
%>
contextRegister.register("CXF_PAYLOAD_HEADER_FILTER", consumerSoapHeaderFilter);
contextRegister.register("CXF_PAYLOAD_HEADER_FILTER", new CxfConsumerSoapHeaderFilter());
<%
}
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,29 +101,19 @@
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 hasCXFRegistryProvider = false;
boolean hasCXFRegistryConsumer = false;
boolean hasCXFCorrelationConsumer = false;
boolean hasCXFSAMLPropagateConsumer = false;
boolean isStudioEEVersion = org.talend.core.PluginChecker.isTIS();
boolean hasCXFComponentConsumerWithCXFMESSAGE = false;
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__");
@@ -131,44 +121,15 @@
if(!hasCXFComponentConsumer && incomingConnections>0){
hasCXFComponentConsumer = 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(!hasCXFComponentConsumerWithCXFMESSAGE && incomingConnections>0 && "CXF_MESSAGE".equals(formatType)){
hasCXFComponentConsumerWithCXFMESSAGE = true;
}
if("true".equals(useSecurity)){
if("SAML".equals(securityType) && (!hasCXFSamlTokenProvider || !hasCXFSamlTokenConsumer || !hasCXFSAMLPropagateConsumer)){
if("SAML".equals(securityType) && (!hasCXFSamlTokenProvider || !hasCXFSamlTokenConsumer)){
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){
@@ -187,74 +148,17 @@
}
}
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, boolean useAuthorization, boolean usePropagateSamlAP, String... token){
private org.apache.camel.component.cxf.CxfEndpoint getCxfEndpoint(String uri, boolean isProvider, 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 ){
<%if(hasCXFUsernameTokenProvider || hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer || hasCXFRegistryProvider || hasCXFRegistryConsumer){%>
org.apache.cxf.Bus bus = cxfEndpoint.getBus();
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){
%>
if(isProvider&&token!=null&&"UsernameToken".equals(token[0])){
@@ -275,18 +179,11 @@
%>
if(token!=null&&"SAMLToken".equals(token[0])){
addSAMLToken(cxfEndpoint, bus, isProvider, useAuthorization, usePropagateSamlAP, token);
}
<% }
if(hasCXFRegistryProvider || hasCXFRegistryConsumer){
%>
if(token!=null&&"Registry".equals(token[0])){
addRegistry(cxfEndpoint, bus, isProvider, usePropagateSamlAP, token);
addSAMLToken(cxfEndpoint, bus, isProvider, token);
}
<%}%>
}
<%
}
if(hasCXFUsernameTokenConsumer){
%>
if(!isProvider&&token!=null&&token.length>=3&&"UsernameToken".equals(token[0])){
@@ -397,7 +294,7 @@ if(hasCXFUsernameTokenConsumer){
<%
}
}
if(hasCXFSamlTokenConsumer || hasCXFRegistryConsumer){
if(hasCXFSamlTokenConsumer){
%>
private Map<String, String> clientProperties;
@@ -443,18 +340,12 @@ class WSPasswordCallbackHandler implements javax.security.auth.callback.Callback
if(hasCXFComponentConsumer){
%>
org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy consumerSoapHeaderFilter = new org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy(){
class CxfConsumerSoapHeaderFilter extends 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);
}
@@ -465,139 +356,21 @@ org.apache.camel.component.cxf.common.header.CxfHeaderFilterStrategy consumerSoa
}
return super.applyFilterToExternalHeaders(headerName, headerValue, exchange);
}
};
<%
}
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){
%>
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 || hasCXFRegistryProvider){
if(hasCXFSamlTokenProvider){
%>
private Map<String, String> securityProps;
private Map<String, String> samlProps;
public void setSecurityProps(Map<String, String> securityProps){
this.securityProps = securityProps;
public void setSamlProps(Map<String, String> samlProps){
this.samlProps = samlProps;
}
<%
}
if(hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer
||hasCXFRegistryProvider || hasCXFRegistryConsumer){
if(hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer){
%>
@@ -629,79 +402,27 @@ 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.username"), bus));
loadPolicy(policies.get("policy.token"), 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, boolean useAuthorization, boolean usePropagateSamlAP, String... token) {
boolean isProvider, 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")));
.get("sts.service.name")));
stsClient.setEndpointQName(new javax.xml.namespace.QName(
stsProperties.get("sts.namespace"), stsProperties
.get("sts.endpoint.name")));
Map<String, Object> stsProps = new HashMap<String, Object>();
@@ -712,31 +433,12 @@ if(hasCXFSamlTokenConsumer){
}
}
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]);
}
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,
@@ -748,30 +450,19 @@ if(hasCXFSamlTokenConsumer){
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(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();
if(useAuthorization){
policyReference.setURI("org.talend.esb.job.saml.authz.policy");
}else{
policyReference.setURI("org.talend.esb.job.saml.policy");
}
policyReference.setURI("org.talend.esb.job.saml.policy");
org.apache.neethi.Policy policy = new org.apache.neethi.Policy();
policy.addPolicyComponent(policyReference);
@@ -787,19 +478,17 @@ if(hasCXFSamlTokenProvider){
%>
if (isProvider) {
// get saml properties
String userName = (String) securityProps
String userName = (String) samlProps
.get("ws-security.signature.username");
String password = (String) securityProps
String password = (String) samlProps
.get("ws-security.signature.password");
String properties = (String) securityProps
String properties = (String) samlProps
.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.ENCRYPT+" "
+org.apache.ws.security.handler.WSHandlerConstants.SAML_TOKEN_SIGNED+" "
+org.apache.ws.security.handler.WSHandlerConstants.SIGNATURE);
org.apache.ws.security.handler.WSHandlerConstants.SAML_TOKEN_SIGNED);
props.put(
org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE,
properties);
@@ -817,20 +506,10 @@ 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();
if(!useAuthorization){
policyReference.setURI("org.talend.esb.job.saml.policy");
}else{
policyReference.setURI("org.talend.esb.job.saml.authz.policy");
}
policyReference.setURI("org.talend.esb.job.saml.policy");
org.apache.neethi.Policy policy = new org.apache.neethi.Policy();
policy.addPolicyComponent(policyReference);
@@ -841,13 +520,67 @@ if (isProvider) {
registerPolicies(bus);
}
<%
}//end if(hasCXFSamlTokenProvider){
}
%>
}<%
}//end if(hasCXFSamlTokenConsumer || hasCXFSamlTokenProvider){
}//end if(hasCXFSamlTokenProvider || hasCXFSamlTokenConsumer
//||hasCXFRegistryProvider || hasCXFRegistryConsumer){
}
<%
}
if(hasCXFComponentConsumerWithCXFMESSAGE){
%>
/*
* 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
*/
@@ -872,103 +605,48 @@ if (isProvider) {
String endpointVar = "endpoint_" + node.getUniqueName();
String uriRef = "uriMap.get(\"" + cid + "\")";
String formatType = ElementParameterParser.getValue(node, "__DATAFORMAT__");
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 useSecurity = ElementParameterParser.getValue(node, "__ENABLE_SECURITY__");
if("RAW".equals(formatType) || "CXF_MESSAGE".equals(formatType)){
useSecurity = "false";
}
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";
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("true".equals(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%>, <%=isUseAuthorization%>, <%=isUsePropagateSamlAP%>, <%=securityToken%>
org.apache.camel.component.cxf.CxfEndpoint <%=endpointVar%> = getCxfEndpoint(<%=uriRef%>, <%=isProvider%>, <%=securityToken%>
<%
if((useSecurity || useRegistry) && !isProvider){
if("true".equals(useSecurity) && !isProvider){
%>
,<%=username%>,<%=password%>, <%=roleName%>, <%=alias%>
,<%=username%>,<%=password%>
<%
}
%>
);
<%
if((isUsePropagateSamlUP || isUsePropagateSamlAP) && !isProvider){
if("CXF_MESSAGE".equals(formatType) && node.getIncomingConnections().size() > 0){
%>
<%=endpointVar%>.setCxfBinding(new CXFConsumerBinding(<%=endpointVar%>));
<%
}
addCXFMESSAGEFaultInterceptor(<%=endpointVar%>);
<% }
String useSL = ElementParameterParser.getValue(node, "__ENABLE_SL__");
String useSAM = ElementParameterParser.getValue(node, "__ENABLE_SAM__");
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)) {
if ("true".equals(useSL)) {
List<Map<String, String>> customProperties = (List<Map<String,String>>) ElementParameterParser.getObjectValue(node, "__SL_META_DATA__");
%>
// Add Service Locator Service to <%=endpointVar%>
@@ -1003,13 +681,11 @@ if (isProvider) {
<%
}
//http://jira.talendforge.org/browse/TESB-3850
// !"true".equals(useRegistry) - https://jira.talendforge.org/browse/TESB-10725
if ("true".equals(useSAM) && !"RAW".equals(formatType) && !useRegistry) {
if ("true".equals(useSAM) && !"RAW".equals(formatType)) {
%>
// Add Service Activity Monitor Service to <%=endpointVar%>
if (eventFeature != null) {
((org.apache.camel.component.cxf.CxfEndpoint)<%=endpointVar%>).getFeatures().add(new FeatureWrapper(eventFeature));
((org.apache.camel.component.cxf.CxfEndpoint)<%=endpointVar%>).getFeatures().add(eventFeature);
}
<%
}

View File

@@ -16,6 +16,7 @@
org.talend.core.model.metadata.types.JavaType
java.util.Map
java.util.List
java.util.ArrayList
java.util.Set
java.util.HashSet
"
@@ -37,23 +38,44 @@ boolean isRunInMultiThread = codeGenArgument.getIsRunInMultiThread();
Set<IConnection> connSet = new HashSet<IConnection>();
connSet.addAll(node.getIncomingConnections(EConnectionType.FLOW_MAIN));
connSet.addAll(node.getIncomingConnections(EConnectionType.FLOW_MERGE));
connSet.addAll(node.getOutgoingConnections(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)&&connSet.size()>0){
for(IConnection con:connSet){
%>
if(execStat){
runStat.updateStatOnConnection("<%=con.getUniqueName()%>"
+iterateId,2, 0);
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);
}
}
<%
}
}
}
<%
}
}%>
%>
<%
@@ -311,6 +333,9 @@ 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();
@@ -338,6 +363,9 @@ 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,7 +11,8 @@
org.talend.core.model.utils.NodeUtil
org.talend.core.model.process.IConnectionCategory
java.util.List
java.util.Set
java.util.ArrayList
java.util.Set
java.util.HashSet
java.util.Iterator
"
@@ -34,12 +35,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)) {
@@ -48,146 +49,195 @@
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.getIncomingConnections(EConnectionType.FLOW_MERGE));
connSet.addAll(node.getOutgoingConnections(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(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);
<%
}
}
}
}
}
%>

View File

@@ -33,7 +33,6 @@
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");
@@ -91,7 +90,6 @@
public String fatherNode = null;
public long startTime = 0;
public boolean isChildJob = false;
public String log4jLevel = null;
private boolean execStat = true;
@@ -106,9 +104,9 @@
<% if (hasSAM4RS) { %>
// ESB Service Activity Monitor Feature
private org.apache.cxf.feature.Feature eventFeature;
private org.apache.cxf.feature.AbstractFeature eventFeature;
public void setEventFeature(org.apache.cxf.feature.Feature eventFeature) {
public void setEventFeature(org.apache.cxf.feature.AbstractFeature eventFeature) {
this.eventFeature = eventFeature;
}
<% } %>
@@ -144,12 +142,6 @@
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);
}
@@ -177,7 +169,7 @@
public int runJobInTOS(String[] args) {
// reset status
status = "";
String lastStr = "";
for (String arg : args) {
if (arg.equalsIgnoreCase("--context_param")) {
@@ -190,28 +182,6 @@
}
}
<%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;
}
@@ -740,9 +710,7 @@ 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,9 +35,10 @@ 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){
@@ -47,8 +48,8 @@ public class CLASS
//}
if(isMultiThread){
toReturn += "\n}catch (Error e_" + rootNode.getUniqueName() + ") {\n";
toReturn += "\ne_" + rootNode.getUniqueName() + ".printStackTrace();\n";
toReturn += "globalMap.put(\""+rootNode.getUniqueName()+ "_SUBPROCESS_STATE\", -1);\n";
toReturn += "\ne_" + rootNode.getUniqueName() + ".printStackTrace();\n";
}
toReturn += "\n}";
return toReturn;

View File

@@ -80,27 +80,18 @@ if(librariesSb.length()>0){
}
<%
}
if(stats) { %>
// add statistics which shows on the connection
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) { %>
// add statistics which shows on the connection
routines.system.CamelStat runStat = new routines.system.CamelStat(getCamelContexts().get(0));
runStat.setParams();
runStat.openSocket(true);
runStat.setAllPID(pid, pid, pid, jobName);
runStat.startThreadStat(clientHost, portStats);
@@ -417,68 +408,62 @@ for (IContextParameter ctxParam : params) {
}
}
class <%=process.getName()%>_Registry extends SimpleRegistry {
class <%=process.getName()%>_Registry implements Registry {
private Map<String, Object> map = new HashMap<String, Object>();
private Registry wrapped = null;
public <%=process.getName()%>_Registry() {
this(new SimpleRegistry());
this(null);
}
public <%=process.getName()%>_Registry(Registry wrapped) {
this.wrapped = wrapped;
}
@Override
public Object lookupByName(String name) {
public Object lookup(String name) {
Object obj = null;
if (wrapped != null) {
obj = wrapped.lookupByName(name);
obj = wrapped.lookup(name);
}
if (obj == null) {
obj = super.lookupByName(name);
obj = map.get(name);
}
return obj;
}
@Override
public <T> T lookupByNameAndType(String name, Class<T> type) {
public <T> T lookup(String name, Class<T> type) {
T t = null;
if (wrapped != null) {
t = wrapped.lookupByNameAndType(name, type);
t = wrapped.lookup(name, type);
}
if (t == null) {
t = super.lookupByNameAndType(name, type);
t = (T) map.get(name);
}
return t;
}
@Override
public <T> Map<String, T> findByTypeWithName(Class<T> type) {
public <T> Map<String, T> lookupByType(Class<T> type) {
Map<String, T> result = null;
if (wrapped != null) {
result = wrapped.findByTypeWithName(type);
result = wrapped.lookupByType(type);
}
if (result == null) {
result = super.findByTypeWithName(type);
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()));
}
}
}
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) {
put(name, instance);
map.put(name, instance);
}
}

View File

@@ -118,8 +118,6 @@ 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
}
@@ -131,10 +129,6 @@ 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;
@@ -400,13 +394,32 @@ 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",e.getMessage());
globalMap.put(virtualComponentName+"_ERROR_MESSAGE",getExceptionCauseMessage(e));
}
globalMap.put(currentComponent+"_ERROR_MESSAGE",e.getMessage());
globalMap.put(currentComponent+"_ERROR_MESSAGE",getExceptionCauseMessage(e));
System.err.println("Exception in component " + currentComponent);
}
if (!(e instanceof TDieException)) {
@@ -543,11 +556,7 @@ private class TalendException extends java.lang.Exception {
// 1) add the message to the stack
%>
if(!(exception instanceof TDieException)){
<%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.getUniqueName()%>.addMessage(pid, projectName, jobName, "java", null, "Failed", "Job execution error", exception.getMessage());
<%=assertCatcher.getDesignSubjobStartNode().getUniqueName() %>Process(globalMap);
}
<%

View File

@@ -34,8 +34,6 @@
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();
@@ -87,8 +85,6 @@ 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())){
@@ -166,49 +162,16 @@ 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__"))&& !"true".equals(useRegistry) ) { %>
&& !"RAW".equals(ElementParameterParser.getValue(node, "__DATAFORMAT__"))) { %>
//ESB Service Activity Monitor Feature
private org.apache.cxf.feature.Feature eventFeature;
private org.apache.cxf.feature.AbstractFeature eventFeature;
public void setEventFeature(org.apache.cxf.feature.Feature eventFeature) {
public void setEventFeature(org.apache.cxf.feature.AbstractFeature 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;
}
}
@@ -315,35 +278,6 @@ 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();
@@ -508,26 +442,16 @@ 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__"))
&& "false".equals(useServiceRegistry)) {
if ("true".equals(ElementParameterParser.getValue(node, "__ENABLE_SL__"))) {
if (!conns.isEmpty()) {
// consumer role
url = "((null == bundleContext) ? " + url + " : \"locator://locator/\")";
INode source = conns.get(0).getSource();
if (!("cErrorHandler".equals(source.getComponent().getName())
&& source.getIncomingConnections().isEmpty())) {
// consumer role
url = "((null == bundleContext) ? " + url + " : \"locator://locator/\")";
}
}
}
@@ -555,7 +479,7 @@ for (INode node : graphicalNodes) {
}
String dataformat = ElementParameterParser.getValue(node, "__DATAFORMAT__");
sb.append("+\"&dataFormat=" + dataformat + "\"");
String specifyService = ElementParameterParser.getValue(node, "__SPECIFY_SERVICE__");
@@ -573,8 +497,6 @@ 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,16 +12,20 @@
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;
INode node = (INode)codeGenArgument.getArgument();
Vector v = (Vector) codeGenArgument.getArgument();
INode node = (INode) v.get(0);
String finallyPart = v.get(1).toString();
ECodePart codePart = codeGenArgument.getCodePart();
//boolean trace = codeGenArgument.isTrace();
boolean stat = codeGenArgument.isStatistics();
@@ -51,65 +55,81 @@
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;
}
}
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() %>);
%>
} 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();
<%
} 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(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>", 2, "exec" + NB_ITERATE_<%=iterateNodeName %>);
}
<%
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 %>);
}
<%
}
}
}//3
}//2

View File

@@ -50,12 +50,10 @@ 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
@@ -64,163 +62,176 @@ 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);
<%}%>
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()%>;
<%
}
}
%>
}
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 = "";
<%
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){
%>
<%
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){
Set<? extends IConnection> allInLineJobConns = NodeUtil.getAllInLineJobConnections(iterateConn.getTarget());
for (IConnection inLineConn : allInLineJobConns) {
%>
if(execStat){
runStat.updateStatOnConnection("<%=inLineConn.getUniqueName() %>", 3, 0);
}
<%
%>
if(execStat){
runStat.updateStatOnConnection("<%=inLineConn.getUniqueName() %>", 3, 0);
}
<%
}
%>
if(execStat){
runStat.updateStatOnConnection("<%=iterateConn.getUniqueName() %>", 1, "exec" + NB_ITERATE_<%=iterateNodeName %>);
//Thread.sleep(1000);
}
<%
}
}//2
}//1
}
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
%>

View File

@@ -10,24 +10,24 @@
org.talend.core.model.process.ElementParameterParser
java.util.List
java.util.Iterator
org.talend.core.model.process.IProcess
java.util.Vector
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();
NodesSubTree subTree = (NodesSubTree) codeGenArgument.getArgument();
IProcess process = subTree.getRootNode().getProcess();
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(process, "__LOG4J_ACTIVATE__"));
for (INode node : subTree.getNodes()) {
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,6 +50,15 @@
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;
@@ -79,7 +88,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);
@@ -90,212 +99,198 @@
} catch (java.lang.Exception te) {
throw new TalendException(te, currentComponent, globalMap);
}
<%
<%
}else{
%>
%>
}//end the resume
<%
//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()))
{
hasMetterProcess = true;
break;
<%
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);
<%
}
}
}
}
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) {
<%if(isLog4jEnabled){%>
log.error(currentComponent + " " + e.getMessage());
<%}%>
TalendException te = new TalendException(e, currentComponent, globalMap);
<%
if(NodeUtil.hasVirtualComponent(subTree.getNodes())){
%>
te.setVirtualComponentName(currentVirtualComponent);
<%
}
%>
throw te;
} catch(java.lang.Error error) {
<%
if(stat){
%>
runStat.stopThreadStat();
<%
}
%>
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;
%>
<%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) {
%>
//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();
}
<%
}
}//isParallelize
%>
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);
<%
}
}
}
%>
globalMap.put("<%=subTree.getName() %>_SUBPROCESS_STATE", 1);
}
<% if (subTree.isMethodSizeNeeded()){ %>
/**
* End of Function: <%=subTree.getName() %>Process
*/
<% } %>
}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;
}
<%
}//isParallelize
%>
globalMap.put("<%=subTree.getName() %>_SUBPROCESS_STATE", 1);
}
<%
if(subTree.isMethodSizeNeeded()){
%>
/**
* End of Function: <%=subTree.getName() %>Process
*/
<%
}
%>

View File

@@ -58,15 +58,10 @@
hSet.add(conn.getName() + templateOrigin);
IMetadataTable metadata = conn.getMetadataTable();
boolean changeHashAndEqualsForBigDecimal = false;
Set<String> hashableColumnsNames = new HashSet<String>();
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;
Set<String> hashableColumnsNames = new HashSet<String>();
if(conn.getTarget() instanceof IHashableInputConnections) {
IHashableInputConnections target = (IHashableInputConnections) conn.getTarget();
IHashConfiguration hashConfiguration = target.getHashConfiguration(conn.getName());
if(hashConfiguration != null) {
for(IHashableColumn hashableColumn : hashConfiguration.getHashableColumns()) {
@@ -200,10 +195,6 @@ 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());
@@ -249,11 +240,7 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
if (this.<%=column.getLabel() %> == null) {
if (other.<%=column.getLabel() %> != null)
return false;
<%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() %>))
<%}%>
} else if (!this.<%=column.getLabel() %>.equals(other.<%=column.getLabel() %>))
return false;
<%
}
@@ -1016,6 +1003,7 @@ 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{
<%
@@ -1026,11 +1014,21 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
<%
}
%>
String iterateId = "";
<%
if(subTree.getRootNode().getComponent().getName().equals("tCollector")){
%>
String iterateId = "." + globalMap.get("<%=subTree.getRootNode().getDesignSubjobStartNode().getUniqueName()%>_THREAD_ID");
<%
}else{
%>
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

@@ -1,102 +0,0 @@
<?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,7 +50,6 @@ 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,7 +45,6 @@ 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 {
@@ -158,8 +157,7 @@ public class CodeGenInit implements IApplication {
Context ctx = CorePlugin.getContext();
ctx.putProperty(Context.REPOSITORY_CONTEXT_KEY, repositoryContext);
repositoryFactory.setRepositoryFactoryFromProvider(RepositoryFactoryProvider
.getRepositoriyById(RepositoryConstants.REPOSITORY_LOCAL_ID));
repositoryFactory.setRepositoryFactoryFromProvider(RepositoryFactoryProvider.getRepositoriyById("local")); //$NON-NLS-1$
repositoryFactory.initialize();
}

View File

@@ -14,7 +14,6 @@ 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;
@@ -32,6 +31,7 @@ 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,65 +99,12 @@ public class CodeGenerator implements ICodeGenerator {
private String exportAsOSGI = "false";
private static final long INIT_TIMEOUT = 15 * 60 * 1000; // 15s
private static final long INIT_TIMEOUT = 15000; // 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.
*
@@ -266,7 +213,6 @@ 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 {
@@ -381,8 +327,15 @@ public class CodeGenerator implements ICodeGenerator {
componentsCode.append(generateTypedComponentCode(EInternalTemplate.PART_ENDMAIN,
subTree.getRootNode()));
componentsCode.append(generateComponentsCode(subTree, subTree.getRootNode(), ECodePart.END, null));
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER, subTree));
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));
} else {
StringBuffer finallyPart = new StringBuffer();
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_HEADER, subTree));
componentsCode.append(generateComponentsCode(subTree, subTree.getMergeNode(), ECodePart.BEGIN, null));
@@ -395,13 +348,17 @@ 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));
componentsCode.append(generateTypedComponentCode(EInternalTemplate.SUBPROCESS_FOOTER, subTree));
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));
}
}
}
}
@@ -658,10 +615,9 @@ 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:
@@ -686,8 +642,16 @@ public class CodeGenerator implements ICodeGenerator {
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.END, incomingName, typeGen));
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.END, typeGen));
codeComponent.append(generateTypedComponentCode(EInternalTemplate.ITERATE_SUBPROCESS_FOOTER, node,
ECodePart.END, incomingName, subProcess));
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));
} else {
if (ETypeGen.CAMEL == typeGen) {
if (node.getIncomingConnections() != null && node.getIncomingConnections().size() > 0) {
@@ -721,60 +685,20 @@ 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) {
for (int i = 0; i < onRowsEndCode.getBuffers().size(); i++) {
codeComponent.append(onRowsEndCode.getBuffers().get(i));
}
onRowsEndCode.clear();
}
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.BEGIN, typeGen));
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.BEGIN, incomingName, typeGen));
// onRowsEndCode.clear();
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.MAIN, incomingName, typeGen));
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.MAIN, 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));
codeComponent.append(generateComponentCode(subProcess, node, ECodePart.END, incomingName, typeGen));
codeComponent.append(generatesTreeCode(subProcess, node, ECodePart.END, typeGen));
} else {
// if (!isIterate) {
@@ -787,6 +711,10 @@ 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
}
@@ -859,24 +787,21 @@ public class CodeGenerator implements ICodeGenerator {
}
if (ETypeGen.ETL == typeGen) {
/**
* 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++) {
for (IConnection connection : node.getOutgoingConnections()) {
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)) {
if ((connection.getLineStyle() == EConnectionType.ITERATE) && (part != ECodePart.MAIN)
&& (part != ECodePart.FINALLY)) {
continue;
}
if ((connection.getLineStyle() == EConnectionType.ON_ROWS_END) && (part != ECodePart.END)) {
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)) {
continue;
}
@@ -1109,6 +1034,7 @@ 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()) {
@@ -1128,6 +1054,8 @@ public class CodeGenerator implements ICodeGenerator {
// generateTypedComponentCode
// (EInternalTemplate.SUBPROCESS_FOOTER,
// subTree));
finallyPart
.append(generateComponentsCode(subTree, subTree.getRootNode(), ECodePart.FINALLY, null));
} else {
// componentsCode.append(
// generateTypedComponentCode
@@ -1142,6 +1070,8 @@ 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,
@@ -1150,13 +1080,20 @@ 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));
}
}
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));
}
Vector footerArgument = new Vector(2);
footerArgument.add(process);

View File

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

View File

@@ -1,73 +0,0 @@
// ============================================================================
//
// 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,7 +64,6 @@ 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;
@@ -74,13 +73,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;
@@ -348,7 +347,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() {
@@ -471,7 +470,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, provider);
pathSource, cache, foundComponentIsSame);
if (!foundComponentIsSame) {
// force to call some functions to update the cache. (to improve)
currentComp.isVisibleInComponentDefinition();
@@ -494,21 +493,10 @@ 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 (hiddenComponent
if (availableComponents != null && !ArrayUtils.contains(availableComponents, currentComp.getName())
&& !(currentComp.getOriginalFamilyName().contains("Technical") || currentComp.isTechnical())) {
continue;
}
@@ -518,7 +506,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 (hiddenComponent
if (availableComponents != null && !ArrayUtils.contains(availableComponents, currentComp.getName())
&& (currentComp.getOriginalFamilyName().contains("Technical") || currentComp.isTechnical())) {
currentComp.setVisible(false);
currentComp.setTechnical(true);
@@ -532,10 +520,8 @@ 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.setProvider(provider);
currentComp.setResourceBundle(getComponentResourceBundle(currentComp, source.toString(), null,
provider));
componentList.add(currentComp);
if (isCustom) {
customComponentList.add(currentComp);

View File

@@ -1,22 +0,0 @@
// ============================================================================
//
// 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,13 +43,10 @@ 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.ComponentPaletteUtilities;
import org.talend.core.model.components.ComponentUtilities;
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
@@ -65,8 +62,6 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
private CheckBoxFieldEditor doNotShowJobletAfterDoubleClickCheckBoxField;
private CheckBoxFieldEditor enableComponentAssistCheckBoxField;
private DirectoryFieldEditor filePathTemp;
private final String dataViewer = "Data Viewer"; //$NON-NLS-1$
@@ -77,8 +72,6 @@ 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;
/**
@@ -197,16 +190,6 @@ 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);
@@ -239,7 +222,6 @@ 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();
@@ -263,12 +245,6 @@ 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();
@@ -285,7 +261,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)) { //$NON-NLS-1$
if (!file.exists() && !"".equals(newPath)) {
// getPreferenceStore().setValue(IComponentPreferenceConstant.USER_COMPONENTS_FOLDER, "");
filePathTemp.showErrorMessage();
setValid(false);
@@ -304,7 +280,6 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
if (PluginChecker.isJobLetPluginLoaded()) {
createForJoblet(parent);
}
createForComponentAssist(parent);
parent.pack();
}
@@ -319,35 +294,6 @@ 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
@@ -355,22 +301,19 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
boolean flag = super.performOk();
String newPath = CodeGeneratorActivator.getDefault().getPreferenceStore()
.getString(IComponentPreferenceConstant.USER_COMPONENTS_FOLDER);
if ("".equals(oldPath)) { //$NON-NLS-1$
if ("".equals(oldPath)) {
oldPath = null;
}
if ("".equals(newPath)) { //$NON-NLS-1$
if ("".equals(newPath)) {
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); //$NON-NLS-1$
monitor.beginTask("Loading user component ......", 100);
Display display = Display.getCurrent();
if (display == null) {
display = Display.getDefault();
@@ -393,7 +336,7 @@ public class ComponentsPreferencePage extends FieldEditorPreferencePage implemen
@Override
public void done(org.eclipse.core.runtime.jobs.IJobChangeEvent event) {
ComponentPaletteUtilities.updatePalette();
ComponentUtilities.updatePalette();
monitor.worked(100);
monitor.done();
};

View File

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

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

@@ -1,232 +0,0 @@
// ============================================================================
//
// 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,6 +19,7 @@ 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;
@@ -51,6 +52,8 @@ public class NodesSubTree {
HashMap<INode, Integer> visitedNodesEndCode;
HashMap<INode, Integer> visitedNodesFinallyCode;
private static final boolean DEBUG = false;
boolean isMergeSubTree = false;
@@ -63,6 +66,10 @@ 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;
@@ -88,6 +95,7 @@ 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>();
@@ -105,17 +113,45 @@ public class NodesSubTree {
}
}
public NodesSubTree(INode node, List<? extends INode> nodes, ETypeGen typeGen) {
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);
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>();
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());
}
}
}
}
}
}
}
/**
* unite all the relative merge nodes to this subTree
@@ -159,6 +195,32 @@ 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());
@@ -204,6 +266,7 @@ public class NodesSubTree {
visitedNodesMainCode.put(node, 0);
visitedNodesBeginCode.put(node, 0);
visitedNodesEndCode.put(node, 0);
visitedNodesFinallyCode.put(node, 0);
nodes.add(node);
}
@@ -237,6 +300,13 @@ public class NodesSubTree {
} else {
return false;
}
case FINALLY:
Integer countFinally = visitedNodesFinallyCode.get(node);
if (countFinally == null) {
return null;
} else {
return false;
}
default:
return result;
}
@@ -259,6 +329,8 @@ 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
}
@@ -368,6 +440,7 @@ 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;
@@ -415,4 +488,40 @@ 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,6 +16,7 @@ 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;
@@ -52,7 +53,11 @@ public class NodesTree {
this.nodes = treeNodes;
buildRootNodes(process);
if (init) {
buildCamelSubTrees(true);
if (typeGen == ETypeGen.CAMEL) {
buildCamelSubTrees(true);
} else if (typeGen == ETypeGen.MR) {
buildMRSubTrees();
}
}
}
@@ -93,6 +98,21 @@ 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,34 +16,32 @@ 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;
@@ -52,20 +50,14 @@ 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/>
@@ -170,6 +162,8 @@ 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$
@@ -197,6 +191,26 @@ 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()) {
@@ -207,6 +221,14 @@ 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);
@@ -297,8 +319,7 @@ public class TalendJetEmitter extends JETEmitter {
}
}
boolean needRebuild = true;
String targetFileName = jetCompiler.getSkeleton().getClassName() + ".java"; //$NON-NLS-1$
IFile targetFile = sourceContainer.getFile(new Path(targetFileName));
IFile targetFile = sourceContainer.getFile(new Path(jetCompiler.getSkeleton().getClassName() + ".java")); //$NON-NLS-1$
if (!targetFile.exists()) {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETCreating_message", //$NON-NLS-1$
new Object[] { targetFile.getFullPath() }));
@@ -339,17 +360,26 @@ 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;
if (!output.isEmpty()) {
errors = true;
log.error(output);
setClassAvailable(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 (!errors) {
@@ -358,7 +388,8 @@ public class TalendJetEmitter extends JETEmitter {
// Construct a proper URL for relative lookup.
//
URL url = new File(project.getLocation() + "/" + "runtime" + "/") //$NON-NLS-1$ //$NON-NLS-2$
URL url = new File(project.getLocation()
+ "/" + javaProject.getOutputLocation().removeFirstSegments(1) + "/") //$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$
@@ -400,163 +431,6 @@ 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)
*
@@ -642,7 +516,7 @@ public class TalendJetEmitter extends JETEmitter {
public boolean isClassAvailable() {
return this.classAvailable;
}
public void setClassAvailable(boolean classAvailable) {
this.classAvailable = classAvailable;
}

View File

@@ -22,10 +22,13 @@ 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;
@@ -33,37 +36,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.ICodeGeneratorService;
import org.talend.designer.codegen.config.CodeGeneratorProgressMonitor;
import org.talend.designer.codegen.config.EInternalTemplate;
import org.talend.designer.codegen.config.JetBean;
import org.talend.designer.codegen.config.LightJetBean;
@@ -133,18 +136,23 @@ public final class CodeGeneratorEmittersPoolFactory {
jetFilesCompileFail.clear();
IProgressMonitor monitorWrap = null;
monitorWrap = new NullProgressMonitor();
boolean headless = CommonUIPlugin.isFullyHeadless();
if (!headless) {
monitorWrap = new CodeGeneratorProgressMonitor(delegateMonitor);
} else {
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();
@@ -155,7 +163,6 @@ 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()));
@@ -170,7 +177,6 @@ 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;
@@ -185,12 +191,10 @@ 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$
@@ -198,7 +202,7 @@ public final class CodeGeneratorEmittersPoolFactory {
@Override
protected IStatus run(IProgressMonitor monitor) {
CorePlugin.getDefault().getDesignerCoreService()
.synchronizeDesignerUI(new PropertyChangeEvent(this, IComponentConstants.NORMAL, null, null));
.synchronizeDesignerUI(new PropertyChangeEvent(this, ComponentUtilities.NORMAL, null, null));
return Status.OK_STATUS;
}
@@ -223,17 +227,15 @@ 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;
@@ -288,15 +290,21 @@ 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 Job(Messages.getString("CodeGeneratorEmittersPoolFactory.initMessage")) { //$NON-NLS-1$
Job job = new AccessingEmfJob(Messages.getString("CodeGeneratorEmittersPoolFactory.initMessage")) { //$NON-NLS-1$
@Override
protected IStatus run(IProgressMonitor monitor) {
protected IStatus doRun(IProgressMonitor monitor) {
synchronized (delegateMonitor) {
if (jobRunnable == null) {
jobRunnable = new JobRunnable(Messages.getString("CodeGeneratorEmittersPoolFactory.codeThread")); //$NON-NLS-1$
@@ -324,8 +332,8 @@ public final class CodeGeneratorEmittersPoolFactory {
}
};
job.setUser(false);
job.setPriority(Job.LONG);
job.setUser(true);
job.setPriority(Job.INTERACTIVE);
job.schedule();
job.wakeUp(); // start as soon as possible
@@ -416,12 +424,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);
}
@@ -660,12 +668,7 @@ public final class CodeGeneratorEmittersPoolFactory {
*/
public static JETEmitter getJETEmitter(JetBean jetBean) {
if (emitterPool == null || (!isInitialized() && !isInitializeStart())) {
try {
new CodeGeneratorManager().initTemplate();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
initialize();
}
// only for components, not for /resources jet file, if it compile error, it will get the
@@ -775,37 +778,4 @@ 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,6 +17,7 @@ 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;
@@ -24,6 +25,7 @@ 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;
/**
@@ -75,7 +77,11 @@ 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=Exchange
Exchange=Training
DownloadComponenentsAction.Label=\u4E0B\u8F7D\u9009\u62E9\u7684\u7EC4\u4EF6
RefreshComponenentsAction.Label=\u5237\u65B0\u7EC4\u4EF6\u6E05\u5355

View File

@@ -1,7 +1,4 @@
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
@@ -9,10 +6,12 @@ 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,5 +19,12 @@ 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,8 +89,15 @@ 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,19 +3,17 @@ 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=UPDATE
DownloadedExtensionsComposite.updateOperateStatus=Mettre à jour
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
@@ -71,7 +69,14 @@ 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,4 +14,7 @@ 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,7 +88,14 @@ 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,3 +1,4 @@
DownloadedExtensionsComposite.updateOperateStatus=UPDATE
MyExtensionsComposite.UpdateOperateStatus=UPDATE
ImportExchangeDialog.TEMPLATES_BUTTON=SQL \u0161abloni
ImportExchangeDialog.REFRESH_BUTTON=Osve\u017Eavanje

View File

@@ -1,4 +1,4 @@
ExchangeView.Exchange=Exchange
ExchangeView.Exchange=Training
AvailableExtensionsComposite.ExtensionName=\u6269\u5C55\u540D
AvailableExtensionsComposite.Version=\u7248\u672C
AvailableExtensionsComposite.Author=\u4F5C\u8005
@@ -14,11 +14,14 @@ 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 Plug-in
Bundle-Name: Exchange plugin
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.core.runtime,
org.eclipse.ui,
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.apache.log4j,
org.apache.commons.collections,
org.apache.commons.logging,
@@ -13,9 +13,7 @@ Require-Bundle: org.eclipse.core.runtime,
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,20 +90,21 @@
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 + "'";
@@ -113,7 +114,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;
}
}
@@ -151,8 +152,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-->
@@ -165,9 +166,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,7 +105,19 @@ ImportExchangeDialog.EXTENSION_NAME=Extension Name
ImportExchangeDialog.AUTHOR_NAME=Author Name
ImportExchangeDialog.LATEST_REVISION=Latest Revision
ImportExchangeDialog.EXTENSION_DESCRIPTION=Extension Description
ImportExchangeDialog.download.extensions=Download extensions\! Please Wait\!
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

View File

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

View File

@@ -46,8 +46,7 @@ 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.ComponentManager;
import org.talend.core.model.components.ComponentPaletteUtilities;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.components.IComponentsFactory;
import org.talend.designer.codegen.ICodeGeneratorService;
@@ -61,6 +60,7 @@ 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,7 +75,6 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
private List<ComponentExtension> fDownloadedComponents;
@Override
public void run() {
try {
Job job = new DownloadJob(ExchangeManager.getInstance().getSelectedExtension());
@@ -88,7 +87,6 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
updateUI(event);
}
@@ -124,7 +122,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
@Override
public void done(IJobChangeEvent event) {
ComponentPaletteUtilities.setSkipUpdatePalette(false);
ComponentUtilities.setSkipUpdatePalette(false);
}
});
RefreshComponenentsAction action = new RefreshComponenentsAction();
@@ -136,7 +134,6 @@ 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$
@@ -208,7 +205,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
AbstractMultiPageTalendEditor editor = (AbstractMultiPageTalendEditor) part;
AbstractTalendEditor talendEditor = editor.getTalendEditor();
try {
ComponentPaletteUtilities.setSkipUpdatePalette(true);
ComponentUtilities.setSkipUpdatePalette(true);
talendEditor.selectPaletteEntry(componentName);
} catch (Exception e) {
ExceptionHandler.process(e);
@@ -306,7 +303,6 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
} else {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
}
});
@@ -340,11 +336,9 @@ 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
@@ -356,7 +350,6 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
fMonitor.worked(bytesRead);
}
@Override
public void downloadStart(int totalSize) {
fProgressLabel = "/" + toKbFormat(totalSize); //$NON-NLS-1$
fBytesDownloaded = 0;
@@ -368,7 +361,6 @@ 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,7 +17,6 @@ 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;
@@ -55,7 +54,6 @@ 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;
@@ -68,45 +66,54 @@ import org.talend.designer.components.exchange.util.ExchangeWebService;
*/
public class ImportExchangeDialog extends Dialog {
private static String category;
private ImportExchangeProperty downloadproperty;
private Button jobButton;
private Button templatesButton;
private Button routinesButton;
private Button refresh;
private static String type;
private static String version;
public Combo categoryCombo;
private URL url;
private String selectFile;
private String progressBarMessage;
private File tempFile;
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);
}
@@ -125,18 +132,25 @@ public class ImportExchangeDialog extends Dialog {
layout.marginWidth = 0;
exchangeDialogCom.setLayout(layout);
GridData gridData = new GridData(GridData.FILL_BOTH);
exchangeDialogCom.setLayoutData(gridData);
new ImportCompatibleEcoComponentsComposite(exchangeDialogCom, exchangeDialogCom.getShell(), false);
ImportCompatibleEcoComponentsComposite eco = 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) {
@@ -146,10 +160,12 @@ 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()) {
@@ -184,6 +200,7 @@ public class ImportExchangeDialog extends Dialog {
}
selectFile = tempFile.toString();
super.okPressed();
}
@@ -193,7 +210,9 @@ public class ImportExchangeDialog extends Dialog {
*/
class ImportCompatibleEcoComponentsComposite extends Composite {
private static final int HEIGHT = 350;
private static final int HEIGHT = 300;
private static final int WIDTH = 500;
public ImportCompatibleEcoComponentsComposite(Composite parent, Shell shell, boolean init) {
super(parent, SWT.NONE);
@@ -201,13 +220,16 @@ public class ImportExchangeDialog extends Dialog {
}
public void createControls(Composite parent) {
setLayout(new GridLayout());
setLayout(clearGridLayoutSpace(new GridLayout(1, false)));
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);
@@ -276,19 +298,98 @@ public class ImportExchangeDialog extends Dialog {
layout.marginWidth = 5;
group.setLayout(layout);
group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
// Category
creatCategory(group);
category = categoryCombo.getText();
// Tos Version
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();
}
}
});
creatTosVersionFilter(group, true);
version = versionCombo.getText();
// Refresh
Button refresh = new Button(group, SWT.PUSH);
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();
}
@@ -297,46 +398,12 @@ public class ImportExchangeDialog extends Dialog {
}
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 GridLayout clearGridLayoutSpace(GridLayout layout) {
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
layout.marginWidth = 0;
layout.marginHeight = 0;
return layout;
}
public void creatTosVersionFilter(Composite parent, boolean isInitTosVersion) {
@@ -361,13 +428,7 @@ public class ImportExchangeDialog extends Dialog {
}
public void widgetSelected(SelectionEvent 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();
onVersionFilterChanged(e);
}
});
}
@@ -378,6 +439,7 @@ 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;
@@ -390,6 +452,35 @@ 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();
}
/**
@@ -406,9 +497,11 @@ 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(),
categoryCombo.getSelectionIndex() >= 0 ? fCategorys.get(categoryCombo.getSelectionIndex())
.getCategoryId() : "");
type);
updateTable(compatible);
}
});
@@ -442,15 +535,20 @@ 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) {
@@ -469,11 +567,4 @@ 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.ComponentPaletteUtilities;
import org.talend.core.model.components.ComponentUtilities;
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);
URL url = FileLocator.find(ExchangePlugin.getDefault().getBundle(), new Path(componentfolder), null); //$NON-NLS-1$
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
ComponentPaletteUtilities.updatePalette();
ComponentUtilities.updatePalette();
}
public static void deleteComponent(ComponentExtension component) {
@@ -358,7 +358,6 @@ 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);
@@ -375,7 +374,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(type).append("&version="); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
url.append(REVISION_LIST_URL).append("?categories=").append(5).append(",").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,9 +1,8 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Components Libs Plug-in
Bundle-Name: Libs Plug-in
Bundle-SymbolicName: org.talend.designer.components.libs
Bundle-Version: 1.0.0.qualifier
Bundle-Version: 1.0.0
Require-Bundle: org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: .Talend SA.

View File

@@ -1,88 +0,0 @@
<?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

@@ -1,127 +0,0 @@
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,23 +19,21 @@ 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.
}
@@ -51,98 +49,89 @@ 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 String getTransactionId() {
return transactionId;
}
public void setTransactionId(String transactionId) {
this.transactionId = transactionId;
}
public void setOptions(BulkloadOptions options) {
this.options = options;
}
/**
* 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()}.
@@ -161,7 +150,6 @@ public class BulkloadClient {
xmlDocuments,
username,
password,
transactionId,
universe);
}
@@ -170,18 +158,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,
@@ -192,7 +180,6 @@ public class BulkloadClient {
options.isSmartpk(),
username,
password,
transactionId,
universe,
startedBulkloadCount);
}

View File

@@ -20,17 +20,8 @@ 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 transactionId,
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 universe) throws Exception {
HostConfiguration config = new HostConfiguration();
URI uri = new URI(url, false, "UTF-8"); //$NON-NLS-1$
config.setHost(uri);
@@ -56,9 +47,6 @@ 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
@@ -78,31 +66,10 @@ public class BulkloadClientUtil {
}
}
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) {
public static InputStreamMerger bulkload(String url, String cluster, String concept, String dataModel, boolean validate, boolean smartPK, String username, String password, String universe, AtomicInteger startedBulkloadCount) {
InputStreamMerger merger = new InputStreamMerger();
Runnable loadRunnable = new AsyncLoadRunnable(url,
cluster,
concept,
dataModel,
validate,
smartPK,
merger,
username,
password,
transactionId,
universe,
startedBulkloadCount);
Runnable loadRunnable = new AsyncLoadRunnable(url, cluster, concept, dataModel, validate, smartPK, merger, username, password, universe, startedBulkloadCount);
Thread loadThread = new Thread(loadRunnable);
loadThread.start();
@@ -129,24 +96,11 @@ 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 transactionId,
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 universe, AtomicInteger startedBulkloadCount) {
this.url = url;
this.cluster = cluster;
this.concept = concept;
@@ -156,7 +110,6 @@ public class BulkloadClientUtil {
this.inputStream = inputStream;
this.userName = userName;
this.password = password;
this.transactionId = transactionId;
this.universe = universe;
this.startedBulkloadCount = startedBulkloadCount;
}
@@ -164,17 +117,7 @@ public class BulkloadClientUtil {
public void run() {
try {
startedBulkloadCount.incrementAndGet();
bulkload(url,
cluster,
concept,
dataModel,
validate,
smartPK,
inputStream,
userName,
password,
transactionId,
universe);
bulkload(url, cluster, concept, dataModel, validate, smartPK, inputStream, userName, password, universe);
} catch (Throwable e) {
inputStream.reportFailure(e);
} finally {

View File

@@ -1,91 +0,0 @@
<?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

@@ -1,88 +0,0 @@
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

@@ -1,78 +0,0 @@
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,18 +18,14 @@ public class MsmqUtil {
private String msgContent;
boolean bTried = false;
String ipAddr = "";
final String LOCALIP = "127.0.0.1";
public MsmqUtil() {
try {
java.net.InetAddress thisIp = java.net.InetAddress.getLocalHost();
ipAddr = thisIp.getHostAddress();
} catch (Exception ex1) {
ex1.printStackTrace();
}
public MsmqUtil() throws Exception {
java.net.InetAddress thisIp = java.net.InetAddress.getLocalHost();
ipAddr = thisIp.getHostAddress();
}
public static void main(String[] args) throws java.lang.Exception {
@@ -52,43 +48,29 @@ public class MsmqUtil {
}
// message remain in queue
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();
}
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());
}
// close an open queue
public void close() {
try {
checkOpen();
msmqHandle.close();
msmqHandle = null;
} catch (MessageQueueException ex1) {
System.out.println("close failure: " + ex1);
}
public void close() throws MessageQueueException {
checkOpen();
msmqHandle.close();
msmqHandle = null;
}
// delete the queue
private void delete() {
try {
String fullname = getQueueFullName(".", queueName);
ionic.Msmq.Queue.delete(fullname);
} catch (MessageQueueException ex1) {
System.out.println("Queue deletion failure: " + ex1);
}
private void delete() throws MessageQueueException {
String fullname = getQueueFullName(".", queueName);
ionic.Msmq.Queue.delete(fullname);
}
// open the queue, if it not exists, and creating is required, try to create a queue with the name.
public void open() {
public void open() throws MessageQueueException {
try {
if (msmqHandle != null) {
msmqHandle.close();
@@ -98,45 +80,34 @@ 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() {
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 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 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;
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();
}
private String getQueueFullName(String hostname, String queueShortName) {
@@ -151,19 +122,15 @@ public class MsmqUtil {
return "DIRECT=" + a1 + ":" + h1 + "\\private$\\" + queueShortName;
}
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);
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.
}
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,6 +102,9 @@ 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,8 +2,6 @@
<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" />
<!-- #################################################### -->
@@ -17,7 +15,7 @@
<path id="compile.classpath">
<pathelement location="${component.plugin.home}/tSalesforceBulkExec/partnerBulk.jar" />
<pathelement location="${component.plugin.home}/tSalesforceBulkExec/wsc.jar" />
<pathelement location="${csv.dir}/talendcsv.jar" />
<pathelement location="${component.plugin.home}/tFileInputDelimited/talendcsv.jar" />
</path>
<!-- #################################################### -->
@@ -25,7 +23,7 @@
<!-- sourcecode and final jar path -->
<property name="source.home" value="." />
<property name="jar.home" value="${lib.dir}/${jar.name}" />
<property name="jar.home" value="${component.plugin.home}/${component.name}/${jar.name}" />
<!-- temp dir for clasee files -->
<property name="build.dir" value="../../build" />

View File

@@ -103,10 +103,6 @@ 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;
@@ -220,21 +216,17 @@ public class SalesforceBulkAPI {
// Creating the connection automatically handles login and stores
// the session in partnerConfig
new PartnerConnection(partnerConfig);
// 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;
// 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);
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);
setProxyToConnection(config);
// This should only be false when doing debugging.
config.setCompression(needCompression);
@@ -489,6 +481,8 @@ public class SalesforceBulkAPI {
}
}
batchInfoList.add(info);
//For TDI-27909
closeJob();
}
public String[] getQueryResultIDs() {

View File

@@ -2,37 +2,24 @@
<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="${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" />
<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" />
</path>
<!-- #################################################### -->
@@ -40,7 +27,7 @@
<!-- sourcecode and final jar path -->
<property name="source.home" value="." />
<property name="jar.home" value="${lib.dir}/${jar.name}" />
<property name="jar.home" value="${component.plugin.home}/${component.name}/${jar.name}" />
<!-- temp dir for clasee files -->
<property name="build.dir" value="../../build" />
@@ -66,27 +53,14 @@
<target name="compile" description="Compile Java sources">
<!-- compile -->
<javac destdir="${build.dir}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
<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/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,8 +44,6 @@ 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;
@@ -54,9 +52,6 @@ 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,27 +64,22 @@ 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();
@@ -110,15 +105,12 @@ 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");
@@ -128,15 +120,12 @@ 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");
@@ -146,15 +135,12 @@ 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);
}
}
@@ -163,7 +149,20 @@ public class SforceManagementImpl implements SforceManagement {
// HTTPConstants.HEADER_PROTOCOL_10);
}
private void _init() {
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;
this.commitLevel = 1;
this.deleteItems = new ArrayList<ID>(commitLevel * 2);
@@ -171,39 +170,7 @@ 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();
@@ -218,32 +185,9 @@ 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(sessionID);
stub = new SforceServiceStub(endpoint);
Options options = stub._getServiceClient().getOptions();
sh.setSessionId(loginResult.getSessionId());
stub = new SforceServiceStub(loginResult.getServerUrl());
options = stub._getServiceClient().getOptions();
if (needCompression) {
@@ -255,29 +199,22 @@ public class SforceManagementImpl implements SforceManagement {
return true;
}
@Override
public boolean login(String sessionID, String endpoint, int timeout, boolean needCompression) throws Exception {
_init();
return _login(sessionID, endpoint, timeout, needCompression);
}
@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);
this.commitLevel = 1;
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;
}
private boolean exceptionForErrors = false;
@@ -298,39 +235,97 @@ 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 {
_init(commitLevel, exceptionForErrors, errorLogFile);
return _login(endpoint, username, password, timeout, needCompression);
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;
}
@Override
public void login(SforceServiceStub stub, SessionHeader sh, int commitLevel, boolean exceptionForErrors, String errorLogFile)
throws Exception {
_init(commitLevel, exceptionForErrors, errorLogFile);
if (commitLevel < 0)
commitLevel = 1;
else if (commitLevel > 200)
commitLevel = 200;
_login(stub, sh);
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;
}
/**
* logout
*/
@Override
public void logout() throws Exception {
Object returnObject = null;
// if there are still records to be commited:
@@ -352,8 +347,7 @@ 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) {
@@ -368,9 +362,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);
@@ -387,8 +381,7 @@ 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) {
@@ -403,9 +396,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);
@@ -422,8 +415,7 @@ 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) {
@@ -439,12 +431,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;
}
}
@@ -465,8 +457,7 @@ 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) {
@@ -490,11 +481,9 @@ 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();
@@ -503,9 +492,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);
@@ -522,8 +511,7 @@ 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) {
@@ -539,7 +527,6 @@ 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);
@@ -550,15 +537,12 @@ 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);
@@ -583,8 +567,7 @@ 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) {
@@ -603,7 +586,6 @@ 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
@@ -618,9 +600,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);
@@ -637,8 +619,7 @@ 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) {
@@ -659,7 +640,6 @@ public class SforceManagementImpl implements SforceManagement {
/**
* upsert, one record, one time.
*/
@Override
public UpsertResult[] upsert(String tablename, String upsertkey, OMElement[] updatefields, String[] fieldsToNull)
throws Exception {
@@ -676,13 +656,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;
}
}
@@ -703,8 +683,7 @@ 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) {
@@ -730,10 +709,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) {
@@ -762,21 +741,18 @@ 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()) {
@@ -796,15 +772,13 @@ 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());
}
}
@@ -813,16 +787,14 @@ 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()) {
@@ -843,12 +815,10 @@ 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);
@@ -859,7 +829,6 @@ 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);
@@ -876,7 +845,6 @@ 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);
@@ -891,7 +859,6 @@ public class SforceManagementImpl implements SforceManagement {
return result;
}
@Override
public QueryResult queryAll(String soql, int batchSize) throws Exception {
QueryAll queryAll = new QueryAll();
queryAll.setQueryString(soql);
@@ -901,7 +868,6 @@ public class SforceManagementImpl implements SforceManagement {
return qr;
}
@Override
public QueryResult queryMore(QueryLocator queryLocator, int batchSize) throws Exception {
QueryOptions queryOptions = new QueryOptions();
queryOptions.setBatchSize(batchSize);
@@ -911,7 +877,6 @@ public class SforceManagementImpl implements SforceManagement {
return qr;
}
@Override
public QueryResult query(String soql, int batchSize) throws Exception {
Query query = new Query();
query.setQueryString(soql);
@@ -920,5 +885,4 @@ public class SforceManagementImpl implements SforceManagement {
QueryResult qr = stub.query(query, sh, co, queryOptions, null, null).getResult();
return qr;
}
}

View File

@@ -1,97 +0,0 @@
<?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

@@ -1,84 +0,0 @@
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

@@ -1,394 +0,0 @@
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

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

@@ -1,61 +0,0 @@
// ============================================================================
//
// 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="../../../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/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="${component.plugin.home}/tWebServiceInput/mail.jar" />
<pathelement location="${component.plugin.home}/tWebServiceInput/activation.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" />
<pathelement location="${component.plugin.home}/tEDIFACTtoXML/dom4j-1.6.1.jar" />
<pathelement location="${component.plugin.home}/tEDIFACTtoXML/jaxen-1.1.1.jar" />
</path>
<!-- #################################################### -->
@@ -58,20 +58,15 @@
<!-- 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,320 +1,186 @@
/**
* 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;
}
}
/**
* 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;
}
}

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