Compare commits

..

283 Commits

Author SHA1 Message Date
nrousseau
aec9ebb198 merge r94958 from trunk to branch 5.2
TDI-23640 : change the original fix, since it disabled the CTRL+SHIFT+F3


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_2@94986 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-12-07 09:27:40 +00:00
nrousseau
47723aa25d merge r94879 from trunk to branch 5.2
TDI-24053 fixed: avoid to set several times the same metadata for nothing, which can reset the current metadata setup before. fix one problem as well for the size of shell, each time reopen the tRowGenerator, the dialog becomes smaller and smaller...


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_2@94912 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-12-06 09:21:41 +00:00
wliu
a5b7d15181 fix bug TDI-24011 : merge trunk to branch5.2
https://jira.talendforge.org/browse/TDI-24011

git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_2@94868 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-12-05 12:04:30 +00:00
zwzhao
d81aa7b53a merge r94854 from trunk to branch 5.2
bug TDI-24023 fixed : Command line publish hangs until GUI alert is confirmed


git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_2@94859 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-12-05 10:21:25 +00:00
rdubois
3fbe0c6115 Add CDH3 and MapR1.2 support for Hive and CDH3 for HBase
git-svn-id: http://talendforge.org/svn/tos/branches/branch-5_2@94807 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-12-04 14:32:36 +00:00
rdubois
92bdbc8bae TDI-23858: revert previous wrong commit
git-svn-id: http://talendforge.org/svn/tos/trunk@94700 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 13:10:06 +00:00
rdubois
fea02836db TDI-23858: remove the jar condition
git-svn-id: http://talendforge.org/svn/tos/trunk@94699 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 13:02:01 +00:00
nrousseau
21abd7a0d5 TDI-23641 : fix the problem of root folder, only have a root folder if export serveral jobs.
git-svn-id: http://talendforge.org/svn/tos/trunk@94697 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 12:38:54 +00:00
ycbai
19a2b0cdc6 bug TDI-23972 fixed : Deleting components in job pops-up error
git-svn-id: http://talendforge.org/svn/tos/trunk@94687 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 10:22:54 +00:00
ilazebny
eb8c3283b1 Update version to 5.2.1 in poms
git-svn-id: http://talendforge.org/svn/tos/trunk@94677 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 09:07:23 +00:00
jyhu
46ecf8ddd2 Fix Bug TDI-23989 : Unable to run the component tEXAOutput well with default configuration of "Additional JDBC Parameters"
https://jira.talendforge.org/browse/TDI-23989

git-svn-id: http://talendforge.org/svn/tos/trunk@94674 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 08:50:27 +00:00
nrousseau
a75b149e0e TDI-23640 : improve the speed of generation, avoid to build for nothing for some javajet if it's already generated with same content
git-svn-id: http://talendforge.org/svn/tos/trunk@94656 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 04:28:54 +00:00
jyhu
ef1802eb01 Fix Bug TDI-23974 : NPE in the code generation part when using a tEXAOutput component
https://jira.talendforge.org/browse/TDI-23974

git-svn-id: http://talendforge.org/svn/tos/trunk@94650 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 03:53:50 +00:00
jzhao
9981367d33 Fixed issue TDI-23740: Find all these components with EConnectionType.FLOW_MAIN to check if they could work together with tUnite
https://jira.talendforge.org/browse/TDI-23740
Note:Modify  tLDAPAttributesInput link tjava with OnComponentOK generate code compile code error

git-svn-id: http://talendforge.org/svn/tos/trunk@94648 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-30 03:24:47 +00:00
rdubois
6b376666df Add new images and htmls to subversion
git-svn-id: http://talendforge.org/svn/tos/trunk@94643 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 16:21:26 +00:00
rdubois
150d71d635 Remove old images and htmls from subversion
git-svn-id: http://talendforge.org/svn/tos/trunk@94641 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 15:26:38 +00:00
amarkevich
cd611f48b2 TESB-7735: Job having tmominput and tmomcommit can't read message from activemq any more when deploy into runtime at second time
git-svn-id: http://talendforge.org/svn/tos/trunk@94636 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 12:03:38 +00:00
hwang
32568fface TDI-22839:Other joblets used in job locked when joblet saved
git-svn-id: http://talendforge.org/svn/tos/trunk@94612 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 09:28:36 +00:00
jyhu
00b998f8e8 Fix Bug TDI-23858 : tRunJob/IndependantProcess/JobServerCache - tRunJob part.
https://jira.talendforge.org/browse/TDI-23858

git-svn-id: http://talendforge.org/svn/tos/trunk@94606 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 08:48:44 +00:00
hwang
15bb3e9d9d TDI-22839:Other joblets used in job locked when joblet saved
git-svn-id: http://talendforge.org/svn/tos/trunk@94604 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 08:45:18 +00:00
hwang
a453a05d85 TDI-22839:Other joblets used in job locked when joblet saved
git-svn-id: http://talendforge.org/svn/tos/trunk@94602 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 08:32:47 +00:00
jjzhou
6dbe1a51e5 fix Bug TDI-23739 : (wrong commit for tMDMOutput_main.javajet, keep the same change as http://www.talendforge.org/trac/tos/changeset/94528 commit)
https://jira.talendforge.org/browse/TDI-23739

git-svn-id: http://talendforge.org/svn/tos/trunk@94593 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 07:33:54 +00:00
zwzhao
40499ac4dc bug TDI-5815 fixed : tELTAggregate: source and target table name are not set
git-svn-id: http://talendforge.org/svn/tos/trunk@94581 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 06:27:31 +00:00
wliu
96fd75bea7 Fix workitem TDI-23969 : use the correct breaks=5.2.0 for the migrationtask created in 5.2.1
https://jira.talendforge.org/browse/TDI-23969

git-svn-id: http://talendforge.org/svn/tos/trunk@94578 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-29 06:19:59 +00:00
scorreia
35bc1b0259 i18n: synchronize Babili strings exported on 2012-11-28-18-05-51
git-svn-id: http://talendforge.org/svn/tos/trunk@94565 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 17:15:14 +00:00
jjzhou
59a67ffc31 fix Bug TDI-23739 : clear up unneccessary import classes in the generated java classes of project .emitter
https://jira.talendforge.org/browse/TDI-23739

git-svn-id: http://talendforge.org/svn/tos/trunk@94536 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 10:36:29 +00:00
wliu
f0b7bca93f Fix Bug TDI-23949 : fix for non-virtual situation when the checkbox:"Build the document" is not ticked
https://jira.talendforge.org/browse/TDI-23949

git-svn-id: http://talendforge.org/svn/tos/trunk@94528 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 09:48:23 +00:00
jyhu
22b0610477 Fix Bug TDI-23858 : tRunJob/IndependantProcess/JobServerCache - tRunJob part.
https://jira.talendforge.org/browse/TDI-23858

git-svn-id: http://talendforge.org/svn/tos/trunk@94513 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 07:22:18 +00:00
wwang
d2893bd870 Fix Bug TDI-23676 : revert the code and add the exception information
https://jira.talendforge.org/browse/TDI-23676

git-svn-id: http://talendforge.org/svn/tos/trunk@94499 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 06:34:44 +00:00
jzhao
9676d9da04 Fixed issue TDI-23740: Find all these components with EConnectionType.FLOW_MAIN to check if they could work together with tUnite
https://jira.talendforge.org/browse/TDI-23740
Note:This modify for tLDAPAttributesInput

git-svn-id: http://talendforge.org/svn/tos/trunk@94496 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 05:55:42 +00:00
nrousseau
69745e8e72 Fix Bug TDI-22618 : can't lock a opened job with Svn lock mode = 'ask user' & Svn commit mode= 'unlock item'
https://jira.talendforge.org/browse/TDI-22618

git-svn-id: http://talendforge.org/svn/tos/trunk@94488 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 03:37:32 +00:00
nrousseau
fd2963778c Fix Bug TDI-22618 : can't lock a opened job with Svn lock mode = 'ask user' & Svn commit mode= 'unlock item'
https://jira.talendforge.org/browse/TDI-22618

git-svn-id: http://talendforge.org/svn/tos/trunk@94485 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 02:52:13 +00:00
fwang
63fa9e505e bug TDI-21813 fixed:FTP_fail to update repository for ftp connection
git-svn-id: http://talendforge.org/svn/tos/trunk@94482 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-28 02:44:30 +00:00
rdubois
a853e0dc11 TDI-23949 fixed: remove the REJECT link from the eligible connection list, to get the column list
git-svn-id: http://talendforge.org/svn/tos/trunk@94474 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 15:06:50 +00:00
etatarintseva
5be0d0fbec Close connection in tMomInput if no use exist connection after loop
git-svn-id: http://talendforge.org/svn/tos/trunk@94469 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 12:51:28 +00:00
amarkevich
a76412a3db TESB-7714: Issue with tESBConsumer in route called from cTalendJob
git-svn-id: http://talendforge.org/svn/tos/trunk@94467 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 11:44:20 +00:00
ycbai
5a62ea448e bug TDI-23693 fixed : Exporting a Job as an Autonomous Job results in 1KB JAR files which fail to include the Job Classes
git-svn-id: http://talendforge.org/svn/tos/trunk@94461 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 11:04:18 +00:00
jjzhou
be5c0cfecd Fix Bug TDI-23911 : Need Component side to support: Add REPOSITORY_VALUE for "MAPRED_JT"and "FS_DEFAULT_NAME" in tHive*_java.xml file
https://jira.talendforge.org/browse/TDI-23911

git-svn-id: http://talendforge.org/svn/tos/trunk@94457 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 10:32:21 +00:00
jjzhou
e3c1a2f802 Fix Bug TDI-23783 : Different behavior in the tFileInputExcel with the trailing zeros for BigDecimal
https://jira.talendforge.org/browse/TDI-23783

git-svn-id: http://talendforge.org/svn/tos/trunk@94452 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 10:11:25 +00:00
zwzhao
dd97ab49d7 bug TDI-23896 fixed : Fetch license :Connection status not right after fetch license successfuly
git-svn-id: http://talendforge.org/svn/tos/trunk@94450 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 09:29:59 +00:00
nrousseau
5500604d2e TDI-23944 fixed
git-svn-id: http://talendforge.org/svn/tos/trunk@94440 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 08:44:07 +00:00
hwang
400294def4 TDI-23690:when modify the joblet context,can not use tool bar(datect and update all jobs) to updaye all the jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@94439 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 08:35:38 +00:00
wchen
f0f9ba38e6 bug TDI-23745 fixed: select context group list box only appear once when checking connection
git-svn-id: http://talendforge.org/svn/tos/trunk@94430 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 07:18:27 +00:00
hwang
eec72ec9ca TDI-23690:when modify the joblet context,can not use tool bar(datect and update all jobs) to updaye all the jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@94417 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 06:25:46 +00:00
bchen
b63d18484a Fix Bug TDI-22640 : Problem with combination of tWebservice and tXSLT
https://jira.talendforge.org/browse/TDI-22640
add xalan as implement of javax.xml.transform.TransformerFactory

git-svn-id: http://talendforge.org/svn/tos/trunk@94413 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 06:01:24 +00:00
jzhao
e2968d2b7e Fixed Backlog Task TDQ-6500: Migration task for the rename of property's name.
https://jira.talendforge.org/browse/TDQ-6500
Note:RenametStandardizePhoneNumberColumnName.java

git-svn-id: http://talendforge.org/svn/tos/trunk@94405 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-27 04:29:52 +00:00
jzhao
eae351da33 Fixed Bug TDI-23513: Method exceeding 65535 bytes limit while using tAdvancedFileOutputXML
https://jira.talendforge.org/browse/TDI-23513

git-svn-id: http://talendforge.org/svn/tos/trunk@94383 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 10:35:12 +00:00
wchen
d666d1f2c3 bug TDI-23745 fixed: select context group list box only appear once when checking connection
git-svn-id: http://talendforge.org/svn/tos/trunk@94372 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 10:08:30 +00:00
zwzhao
f4ade04b08 bug TDI-23902 fixed : Login button on MacOS half vanished & text unreadable
git-svn-id: http://talendforge.org/svn/tos/trunk@94365 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 09:29:00 +00:00
jjzhou
d450bf1d97 Fix Bug TDI-23911 : Need Component side to support: Add REPOSITORY_VALUE for "MAPRED_JT"and "FS_DEFAULT_NAME" in tHive*_java.xml file
https://jira.talendforge.org/browse/TDI-23911

git-svn-id: http://talendforge.org/svn/tos/trunk@94361 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 08:58:39 +00:00
fwang
75f7e6c0ad bug TDI-23872 fixed:When logon remote project,there is an log in configuration and didn't have register page.
git-svn-id: http://talendforge.org/svn/tos/trunk@94356 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 08:33:46 +00:00
jjzhou
faaec3e65f Fix Bug TDI-23184 : trunjob: BufferOutput + tAggregateRow with List returns wrong List parent job
https://jira.talendforge.org/browse/TDI-23184

git-svn-id: http://talendforge.org/svn/tos/trunk@94339 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 06:53:57 +00:00
ycbai
216d19b48b bug TDI-23851 fixed : specific items in TIS should not be detected for TOS
git-svn-id: http://talendforge.org/svn/tos/trunk@94337 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 06:46:41 +00:00
wliu
c1e820922f Fix Bug TDI-23885 : make tFileOutputEBCDIC support different schema under custom mode
https://jira.talendforge.org/browse/TDI-23885

git-svn-id: http://talendforge.org/svn/tos/trunk@94327 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-26 05:05:31 +00:00
fwang
d4f8286818 bug TDI-23146 fixed:Slowly Changing Dimensions (SCDs) Field Updating
git-svn-id: http://talendforge.org/svn/tos/trunk@94285 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 10:15:36 +00:00
plv
93b15ecf15 bug TDI-8569:Exporting a job should not prompt to save unrelated jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@94281 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 09:50:24 +00:00
plv
caf43e3801 bug TDI-8569:Exporting a job should not prompt to save unrelated jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@94276 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 09:22:40 +00:00
zwzhao
27f7f40ab1 bug TDQ-6488 fixed : tMatchGroup can not select the column user want to set as "Key definition"
git-svn-id: http://talendforge.org/svn/tos/trunk@94275 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 09:20:17 +00:00
zwzhao
419c64b14b bug TDQ-6488 fixed : tMatchGroup can not select the column user want to set as "Key definition"
git-svn-id: http://talendforge.org/svn/tos/trunk@94273 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 08:57:29 +00:00
cli
9ccf8b6493 TUP-264: check the cache for lib and components
git-svn-id: http://talendforge.org/svn/tos/trunk@94270 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 08:00:19 +00:00
jjzhou
ef28f73882 fix Bug TDI-23885:tFileOutputEBCDIC / "<COLUMN> cannot be resolved or is not a field"
https://jira.talendforge.org/browse/TDI-23885

git-svn-id: http://talendforge.org/svn/tos/trunk@94265 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 07:43:16 +00:00
nrousseau
c20091bd4a TDI-23899 : fix problem of missing validation rules on db output component
git-svn-id: http://talendforge.org/svn/tos/trunk@94263 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 07:35:24 +00:00
plv
6de7d7e9c2 bug TDI-8569:Exporting a job should not prompt to save unrelated jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@94256 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 06:38:07 +00:00
zwzhao
c3b1e053a6 bug TDI-23846 fixed : In SVN project, if a job is locked by userA, its jobscript can be edit by userB
git-svn-id: http://talendforge.org/svn/tos/trunk@94253 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 06:25:36 +00:00
plv
ed068cd126 bug TDI-8569:Exporting a job should not prompt to save unrelated jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@94247 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 05:16:01 +00:00
plv
149630ba41 bug TDI-23781:double click the tELTxxxMap components, the title of the window is "Talend Open Studio ..."
git-svn-id: http://talendforge.org/svn/tos/trunk@94231 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-23 02:11:52 +00:00
jyhu
8aa5dbd16b Fix Bug TDI-23887 : can not get tCombinedSQLFilter input column for the first time.
https://jira.talendforge.org/browse/TDI-23887

git-svn-id: http://talendforge.org/svn/tos/trunk@94215 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 10:20:46 +00:00
wchen
4110050560 bug TDI-23708 fixed: problem with tXMLMap and multi-level loop
git-svn-id: http://talendforge.org/svn/tos/trunk@94198 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 08:10:03 +00:00
zwzhao
84d85418d6 bug TDI-23515 fixed : Show exception when running job with tHL7Output which created from file
git-svn-id: http://talendforge.org/svn/tos/trunk@94195 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 07:55:48 +00:00
plv
06709d277d bug TDI-23781:double click the tELTxxxMap components, the title of the window is "Talend Open Studio ..."
git-svn-id: http://talendforge.org/svn/tos/trunk@94186 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 07:04:53 +00:00
hwang
5b8fcd0e45 TDI-23724:Can't not have more than one input linked to the same connection
git-svn-id: http://talendforge.org/svn/tos/trunk@94182 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 06:50:36 +00:00
wliu
4b822ea7c2 fix for TDI-12563 :The migrationtask would be included from 5.1.3 &5.2.1
git-svn-id: http://talendforge.org/svn/tos/trunk@94180 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 06:44:05 +00:00
jzhao
dfe89e4e95 Fixed Bug TDI-21558: tConvertType reject flow should have same structure as input not output
https://jira.talendforge.org/browse/TDI-21558
Note:Add line number for error message

git-svn-id: http://talendforge.org/svn/tos/trunk@94173 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 05:52:02 +00:00
plv
6b3047e2a0 bug TDI-23764:Wrong product name when start Jasper Express (community or not)
git-svn-id: http://talendforge.org/svn/tos/trunk@94171 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 05:31:01 +00:00
wwang
3926f4f146 Fix Bug TDI-23676 : tXMLMap: NPE on unused input Document column
https://jira.talendforge.org/browse/TDI-23676

git-svn-id: http://talendforge.org/svn/tos/trunk@94168 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 04:17:25 +00:00
zwzhao
18cd1cfab0 bug TDI-23448 fixed : modify on GUI part to take automatically the optional jars in jar install system and module view
git-svn-id: http://talendforge.org/svn/tos/trunk@94161 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 03:03:17 +00:00
jzhao
3a73e4e2f9 Fixed TDI-23866: Some SCD components like tOracleSCD when check "use memory saving mode" generate SQL error
https://jira.talendforge.org/browse/TDI-23866

git-svn-id: http://talendforge.org/svn/tos/trunk@94158 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 03:01:20 +00:00
wwang
ebb738ee0a Fix Bug TDI-12563 : fix the migratask
https://jira.talendforge.org/browse/TDI-12563

git-svn-id: http://talendforge.org/svn/tos/trunk@94154 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 02:24:59 +00:00
zwzhao
5ca96fd27f bug TDI-23448 fixed : modify on GUI part to take automatically the optional jars in jar install system and module view
git-svn-id: http://talendforge.org/svn/tos/trunk@94153 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-22 01:53:02 +00:00
etatarintseva
1520b4f121 fix tMomOutput close connetion when tMomConnection used and some refactoring.
git-svn-id: http://talendforge.org/svn/tos/trunk@94145 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 15:32:05 +00:00
plv
fe7f2bdc29 bug TDI-8569:revert code
git-svn-id: http://talendforge.org/svn/tos/trunk@94118 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 09:31:10 +00:00
nrousseau
2e88c8285e TDI-23811 : fix problem when a job was opened in editor and locked by another user. (there should be no update)
git-svn-id: http://talendforge.org/svn/tos/trunk@94108 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 08:43:10 +00:00
wliu
068cf8e7e6 Fix workitem TDI-23750 : import the oracle driver jar as necessary.
https://jira.talendforge.org/browse/TDI-23750

git-svn-id: http://talendforge.org/svn/tos/trunk@94099 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 07:40:37 +00:00
cli
416ee00cc9 TUP-292: add two parameters to support logon remote project, when bootstrap
git-svn-id: http://talendforge.org/svn/tos/trunk@94088 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 06:20:31 +00:00
jyhu
1593679275 Fix Bug TDI-23762 : can not get tCombinedSQLFilter input column for the first time.
https://jira.talendforge.org/browse/TDI-23762

git-svn-id: http://talendforge.org/svn/tos/trunk@94084 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 05:48:38 +00:00
wwang
0f0be526df Fix Bug TDI-23680 : Marketo 2.0 API request Timezone Offset when authentication
https://jira.talendforge.org/browse/TDI-23680

git-svn-id: http://talendforge.org/svn/tos/trunk@94073 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 04:27:33 +00:00
jyhu
1b8340da17 Fix Bug TDI-23762 : SQL syntax error when use tCombinedSQLInput for GreenPlum with tCombinedSQLFilter
https://jira.talendforge.org/browse/TDI-23762

git-svn-id: http://talendforge.org/svn/tos/trunk@94072 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 04:10:50 +00:00
cli
254a52d59f TDI-23641: add the statistics with false value by default.
git-svn-id: http://talendforge.org/svn/tos/trunk@94071 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 04:10:47 +00:00
zwzhao
a7eccf1e1f bug TDI-23645 fixed : Web service of reference project can be edit in main project
git-svn-id: http://talendforge.org/svn/tos/trunk@94055 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 03:44:32 +00:00
nrousseau
3f3e44374a TDI-23794 : remove the selection of oracle jar depends the version of java installed. Just get the version from component only
git-svn-id: http://talendforge.org/svn/tos/trunk@94052 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 03:36:31 +00:00
cli
b9096f5fe0 TDI-23641: make the adding classpath.jar to be disable by default.
git-svn-id: http://talendforge.org/svn/tos/trunk@94046 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 03:29:40 +00:00
cli
a45070b0c3 TDI-23641: make the adding classpath.jar to be disable by default.
git-svn-id: http://talendforge.org/svn/tos/trunk@94045 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 03:28:15 +00:00
jjzhou
1b02e17613 fix Bug TDI-23750: t*Oracle: change dependencies resolution from PARAMETER NAME="DB_VERSION" to IMPORT REQUIRED_IF , add migra task
https://jira.talendforge.org/browse/TDI-23750

git-svn-id: http://talendforge.org/svn/tos/trunk@94042 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 03:14:40 +00:00
jjzhou
6b726b50d2 fix Bug TDI-23750: t*Oracle: change dependencies resolution from PARAMETER NAME="DB_VERSION" to IMPORT REQUIRED_IF , add migra task
https://jira.talendforge.org/browse/TDI-23750

git-svn-id: http://talendforge.org/svn/tos/trunk@94040 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 03:06:05 +00:00
wliu
f4ac0d4857 fix workitem TDI-23480 : avoid NPE.
https://jira.talendforge.org/browse/TDI-23480

git-svn-id: http://talendforge.org/svn/tos/trunk@94039 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-21 02:50:55 +00:00
etatarintseva
745831e0e7 fix the situation when hidden server is "WebSphere" and use existing connection.
git-svn-id: http://talendforge.org/svn/tos/trunk@94027 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 15:14:22 +00:00
rzubairov
fc7393661e - due to fix for TDI-23747: migration task is changed. We do not need MQ_DERVIERS property at all.
git-svn-id: http://talendforge.org/svn/tos/trunk@94022 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 11:33:51 +00:00
jyhu
2bd7511afb Fix Bug TDI-23762 : SQL syntax error when use tCombinedSQLInput for GreenPlum
https://jira.talendforge.org/browse/TDI-23762

git-svn-id: http://talendforge.org/svn/tos/trunk@94020 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 11:01:32 +00:00
hwang
0409932d3c TDI-21955:when job is upopen , show a flag"(*)"
git-svn-id: http://talendforge.org/svn/tos/trunk@94017 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 10:29:39 +00:00
etatarintseva
29db0cd433 fix context value with failover
git-svn-id: http://talendforge.org/svn/tos/trunk@94015 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 10:19:36 +00:00
cli
086156c891 TDI-23641: enable to add/remove the classpath.jar when export job.
git-svn-id: http://talendforge.org/svn/tos/trunk@94013 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 09:55:32 +00:00
nrousseau
d9f6016c6d TDI-23811 : enhance the system of job update, to avoid to call the update several times for nothing, and lose informations
git-svn-id: http://talendforge.org/svn/tos/trunk@94011 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 09:27:32 +00:00
jjzhou
935b8db6c1 fix Bug TDI-23778: BUG tFileOutputLDIF if you check the Base64
https://jira.talendforge.org/browse/TDI-23778

git-svn-id: http://talendforge.org/svn/tos/trunk@94009 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 09:15:40 +00:00
jzhao
73a7dbfb1f Fixed issue TDI-23740: Find all these components with EConnectionType.FLOW_MAIN to check if they could work together with tUnite
https://jira.talendforge.org/browse/TDI-23740

git-svn-id: http://talendforge.org/svn/tos/trunk@94005 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 08:02:50 +00:00
wwang
32496fa721 Fix Bug TDI-23480 : create a migrationtask to help change the jar name in the value of Dynamic properites like: DRIVER_JAR, HOTLIBS and etc.
https://jira.talendforge.org/browse/TDI-23480

git-svn-id: http://talendforge.org/svn/tos/trunk@93987 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 03:51:21 +00:00
hwang
20cee8bcfa TDI-21955:Closed jobs updated when joblet changed
git-svn-id: http://talendforge.org/svn/tos/trunk@93986 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 03:41:37 +00:00
jjzhou
04f23d2bc7 fix Bug TDI-23647: Unable to create a tSalesforceConnection from the metadata
https://jira.talendforge.org/browse/TDI-23647

git-svn-id: http://talendforge.org/svn/tos/trunk@93980 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-20 02:52:20 +00:00
etatarintseva
09148f5699 remove MQ_DERVIERS section from tMom*.xml
git-svn-id: http://talendforge.org/svn/tos/trunk@93965 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 13:50:06 +00:00
nrousseau
dc2ca051cc TDI-23804 : fix problem of update schema
git-svn-id: http://talendforge.org/svn/tos/trunk@93962 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 10:39:53 +00:00
jjzhou
406eb1fc84 fix Bug TDI-23778: BUG tFileOutputLDIF if you check the Base64
https://jira.talendforge.org/browse/TDI-23778

git-svn-id: http://talendforge.org/svn/tos/trunk@93959 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 10:19:12 +00:00
etatarintseva
2a024b8c08 Add REQUIRED_IF into tMom*.xml and fix transaction with keep listening
git-svn-id: http://talendforge.org/svn/tos/trunk@93954 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 09:33:59 +00:00
zwzhao
926628b41f bug TDI-23645 fixed : Web service of reference project can be edit in main project
git-svn-id: http://talendforge.org/svn/tos/trunk@93950 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 09:09:58 +00:00
hwang
0e62d4efae TDI-21955:Closed jobs updated when joblet changed
git-svn-id: http://talendforge.org/svn/tos/trunk@93930 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 06:24:56 +00:00
hcyi
6624c1b43b bug TDI-23426 fixed : upgrade the jar from mysql-connector-java-5.1.0-bin.jar to mysql-connector-java-5.1.22-bin.jar for studio part .
git-svn-id: http://talendforge.org/svn/tos/trunk@93923 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 05:58:50 +00:00
jjzhou
614bb9a29b fix Bug TDI-23750: t*Oracle: change dependencies resolution from PARAMETER NAME="DB_VERSION" to IMPORT REQUIRED_IF , add migra task
https://jira.talendforge.org/browse/TDI-23750

git-svn-id: http://talendforge.org/svn/tos/trunk@93906 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 02:32:03 +00:00
wwang
61dcc0f926 Fix Bug TDI-12563 : also keep the old jar
https://jira.talendforge.org/browse/TDI-12563

git-svn-id: http://talendforge.org/svn/tos/trunk@93905 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 02:28:29 +00:00
jjzhou
56bc84c818 fix Bug TDI-23750: t*Oracle: change dependencies resolution from PARAMETER NAME="DB_VERSION" to IMPORT REQUIRED_IF , add migra task
https://jira.talendforge.org/browse/TDI-23750

git-svn-id: http://talendforge.org/svn/tos/trunk@93904 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 02:14:57 +00:00
jjzhou
049e11d6b3 fix Bug TDI-23750: t*Oracle: change dependencies resolution from PARAMETER NAME="DB_VERSION" to IMPORT REQUIRED_IF
https://jira.talendforge.org/browse/TDI-23750

git-svn-id: http://talendforge.org/svn/tos/trunk@93903 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-19 02:12:33 +00:00
jzhao
bcf02a2dcb Fixed Bug TDI-23513: Method exceeding 65535 bytes limit while using tAdvancedFileOutputXML
https://jira.talendforge.org/browse/TDI-23513

git-svn-id: http://talendforge.org/svn/tos/trunk@93894 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 10:25:25 +00:00
zwzhao
756f1cdc00 bug TDI-23448 fixed : modify on GUI part to take automatically the optional jars in jar install system and module view
git-svn-id: http://talendforge.org/svn/tos/trunk@93880 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 08:25:05 +00:00
plv
7b86fe22f8 bug TDI-8569:Exporting a job should not prompt to save unrelated jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@93878 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 08:16:41 +00:00
ldong
c0192c70ad bug TDI-22977 fixed:Lookup settings lost if drop component onto lookup flow.
git-svn-id: http://talendforge.org/svn/tos/trunk@93873 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 08:05:42 +00:00
hwang
204f1e3f10 TDI-23690:when modify the joblet context,can not use tool bar(detect and update all jobs) to update all the jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@93865 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 06:33:58 +00:00
wwang
bdaa5a8a9a Fix Bug TDI-23699 : Check Ignore data out of range on tMSSqlOutput component throw error when input data type is DateTimeOffSet
https://jira.talendforge.org/browse/TDI-23699

git-svn-id: http://talendforge.org/svn/tos/trunk@93862 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 06:05:44 +00:00
hwang
2f87fd8bde TDI-23724:If add a new input to joblet component, the old job using joblet is on error when update.
git-svn-id: http://talendforge.org/svn/tos/trunk@93859 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 04:14:08 +00:00
jjzhou
ca223cf400 fix Bug TDI-23706: tFileInputExcel : Sort issue with "Less memory consumed" mode
https://jira.talendforge.org/browse/TDI-23706

git-svn-id: http://talendforge.org/svn/tos/trunk@93851 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 02:27:17 +00:00
plv
e7d7cdfd82 bug TDI-23736:Error when i open a stored query
git-svn-id: http://talendforge.org/svn/tos/trunk@93849 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-16 02:18:41 +00:00
ycbai
80a8d0236f bug TDI-23536 fixed : The route that is exported with maven script at CommandLine, failed to be packed by "mvn package".
git-svn-id: http://talendforge.org/svn/tos/trunk@93833 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 10:02:21 +00:00
plv
d4847d7cc4 bug TDI-21022:Project setting_the setting will be saved after import the setting xml file even you click cancel
git-svn-id: http://talendforge.org/svn/tos/trunk@93817 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 07:57:14 +00:00
plv
1d99f4026b bug TDI-21022:Project setting_the setting will be saved after import the setting xml file even you click cancel
git-svn-id: http://talendforge.org/svn/tos/trunk@93816 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 07:52:44 +00:00
plv
af074bd1b8 bug TDI-21022:Project setting_the setting will be saved after import the setting xml file even you click cancel
git-svn-id: http://talendforge.org/svn/tos/trunk@93814 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 07:27:29 +00:00
hwang
c410f6a1ac TDI-23700:revert code
git-svn-id: http://talendforge.org/svn/tos/trunk@93811 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 06:43:33 +00:00
hwang
f2e65773e1 TDI-23700:two subjob become one subjob when connect them with onsubjobok
git-svn-id: http://talendforge.org/svn/tos/trunk@93810 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 05:30:19 +00:00
wliu
bb558620ce Fix Bug TDI-23735 : tWriteXMLField, tWriteJSONField, tMDMOutput can't connect to component with merge connector
https://jira.talendforge.org/browse/TDI-23735

git-svn-id: http://talendforge.org/svn/tos/trunk@93803 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 03:49:55 +00:00
fwang
d74c2fd614 bug TDI-23599 fixed:No default choice "ant" or "maven", when using "Add build Script", while exporting a TalendJob from the Studio
git-svn-id: http://talendforge.org/svn/tos/trunk@93793 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-15 01:28:32 +00:00
sizhaoliu
b7029e3a49 TDQ-6149 centralize the generated jibx binding into "Drools/<user project name>" in the Studio root directory
+ fixed an deploy issue when the new binding jar has the same name than the chosen module in the component

git-svn-id: http://talendforge.org/svn/tos/trunk@93790 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 17:42:02 +00:00
gliu
7709e796bc [TESB-7587] fixed:
fixed the generated code error of cIntercept

git-svn-id: http://talendforge.org/svn/tos/trunk@93781 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 13:32:19 +00:00
gliu
c9332f24c7 [TESB-7585] redesigned ROUTE_WHEN connection
git-svn-id: http://talendforge.org/svn/tos/trunk@93779 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 13:30:06 +00:00
fwang
408e65b479 bug TDI-23599 fixed:No default choice "ant" or "maven", when using "Add build Script", while exporting a TalendJob from the Studio
git-svn-id: http://talendforge.org/svn/tos/trunk@93774 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 09:38:57 +00:00
gliu
870d7a703e [TESB-7570] fixed:
If in attached job in component cMessageFilter the Language = JavaScript the error appear in Runtime
This fix include 3 parts:
1. Java execute library
2. OSGI Bundle Dependencies
3. Kar features

git-svn-id: http://talendforge.org/svn/tos/trunk@93770 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 09:19:47 +00:00
ycbai
1027c61038 bug TDI-23517 fixed : There is a small issue about exporting route when checked the option "add maven script".
git-svn-id: http://talendforge.org/svn/tos/trunk@93763 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 08:01:57 +00:00
jyhu
c7139da44d Fix Bug TDI-22200 : SQL syntax error when use tCombinedSQLAggregate for Teradata
https://jira.talendforge.org/browse/TDI-22200

git-svn-id: http://talendforge.org/svn/tos/trunk@93756 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 06:16:27 +00:00
hwang
6e37d555b4 TDI-23700:revert code
git-svn-id: http://talendforge.org/svn/tos/trunk@93752 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 05:53:50 +00:00
zwzhao
03db0cc44a bug TDI-23520 fixed : Fix retrieve WSDL from GUI side
git-svn-id: http://talendforge.org/svn/tos/trunk@93751 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 05:53:07 +00:00
jjzhou
b90feb1852 fix Work Item TDI-23684:change the interface of tJDBCInput
https://jira.talendforge.org/browse/TDI-23684

git-svn-id: http://talendforge.org/svn/tos/trunk@93741 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 03:35:40 +00:00
wchen
4e457b3a2e bug TDI-23546 fixed: Wrong routines settings after assigned job for services to create new Talend job.
git-svn-id: http://talendforge.org/svn/tos/trunk@93739 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-14 03:13:44 +00:00
wliu
cc3290cf24 when choosing "java client" and the checkbox: "Use process ID" is ticked, the field: "Process definition ID" should be visible
git-svn-id: http://talendforge.org/svn/tos/trunk@93698 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 10:14:44 +00:00
jyhu
ca7d5bf7f6 Fix Bug TDI-23395 : tWaitforfile couldn't monitor files added if there are too many folder in the subdirectories
https://jira.talendforge.org/browse/TDI-23395

git-svn-id: http://talendforge.org/svn/tos/trunk@93695 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 10:10:34 +00:00
jyhu
62f56ec52f Fix Bug TDI-22868: tFileList should sort all matched files together not within each mask
https://jira.talendforge.org/browse/TDI-22868 

git-svn-id: http://talendforge.org/svn/tos/trunk@93692 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 10:05:05 +00:00
hwang
13e9758ac4 TDI-23700:two subjob become one subjob when connect them with onsubjobok
git-svn-id: http://talendforge.org/svn/tos/trunk@93689 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 10:00:13 +00:00
hcyi
8f936edf11 bug TDI-22465 fixed : Throw compilation error if tRunJob output flow has no schema .
git-svn-id: http://talendforge.org/svn/tos/trunk@93682 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 09:18:38 +00:00
hwang
96470a5afa TDI-23648 :Only can use one Trigger Input(OnSubjobXXX) in Joblet, should support multi Trigger Input.
git-svn-id: http://talendforge.org/svn/tos/trunk@93681 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 08:53:05 +00:00
mwang
da6f72eeee For bug TDI-23253, just add double quotation marks.
git-svn-id: http://talendforge.org/svn/tos/trunk@93670 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 07:18:16 +00:00
jyhu
358a7e31ac Fix Bug TDI-23395 : tWaitforfile couldn't monitor files added if there are too many folder in the subdirectories
https://jira.talendforge.org/browse/TDI-23395

git-svn-id: http://talendforge.org/svn/tos/trunk@93648 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 03:34:33 +00:00
fwang
f840f42400 bug TDI-23599 fixed:No default choice "ant" or "maven", when using "Add build Script", while exporting a TalendJob from the Studio
git-svn-id: http://talendforge.org/svn/tos/trunk@93646 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 03:22:34 +00:00
wliu
883b0bf0c6 Fix Bug TDI-22552 : tLoop---> tIterateToFlow --- > tUnite ---> tOutput has compile error
https://jira.talendforge.org/browse/TDI-22552

git-svn-id: http://talendforge.org/svn/tos/trunk@93637 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-13 02:11:45 +00:00
nrousseau
49bf906cbf TDI-23691 fixed: avoid some compilation check for nothing
git-svn-id: http://talendforge.org/svn/tos/trunk@93610 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 10:14:26 +00:00
hwang
725512cacb TDI-23690:when modify the joblet context,can not use tool bar(datect and update all jobs) to updaye all the jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@93604 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 10:05:39 +00:00
ycbai
e1839e0f75 bug TDI-23453 fixed : Need to add a way to set bundleId for system routines defined by extension point
git-svn-id: http://talendforge.org/svn/tos/trunk@93599 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 09:48:17 +00:00
plv
cdb9fc90e6 bug TDI-23174:Impact analysis:Imported joblet can not detect impact analysis
git-svn-id: http://talendforge.org/svn/tos/trunk@93587 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 08:01:49 +00:00
wwang
63156e3c09 Fix Bug TDI-23541 : Location of source document 'loop element' within tXMLMap impacts mapping capability
https://jira.talendforge.org/browse/TDI-23541

git-svn-id: http://talendforge.org/svn/tos/trunk@93585 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 07:26:17 +00:00
nrousseau
e8eff74ba5 TDI-23440 fixed: don't add to the needed libraries anything linked to hidden parameters
git-svn-id: http://talendforge.org/svn/tos/trunk@93582 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 06:50:33 +00:00
zwzhao
5c900f52e9 bug TDI-23419 fixed : Update the links to the Documentation Guides on the Welcome page
git-svn-id: http://talendforge.org/svn/tos/trunk@93579 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 06:25:58 +00:00
jjzhou
240619de76 fix Bug TDI-23263: I got a problem for tFTPPut component, I can't put file name like this : "a(b).txt" to the server .
https://jira.talendforge.org/browse/TDI-23263

git-svn-id: http://talendforge.org/svn/tos/trunk@93575 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 04:28:03 +00:00
wliu
adbfe9c4ee Fix TDI-23271 : source code
https://jira.talendforge.org/browse/TDI-23271

git-svn-id: http://talendforge.org/svn/tos/trunk@93574 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 04:07:55 +00:00
nrousseau
3a4d78e91b TDI-23674 fixed: fix problem of latest version.
git-svn-id: http://talendforge.org/svn/tos/trunk@93572 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 03:56:31 +00:00
gliu
823b6568bd [TESB-7547] fixed:
Fix the problem by remove label from variable name

git-svn-id: http://talendforge.org/svn/tos/trunk@93561 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-12 01:53:48 +00:00
jyhu
1e85729fbf Fix Bug TDI-22868: tFileList should sort all matched files together not within each mask
https://jira.talendforge.org/browse/TDI-22868 

git-svn-id: http://talendforge.org/svn/tos/trunk@93543 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 10:16:31 +00:00
zwzhao
c91fa16eb6 bug TDI-23219 fixed : Need to refresh repository to get routines after generating codes by WSDL2Java
git-svn-id: http://talendforge.org/svn/tos/trunk@93530 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 09:11:56 +00:00
jjzhou
97a44b6588 fix Bug TDI-23647:Unable to create a tSalesforceConnection from the metadata
https://jira.talendforge.org/browse/TDI-23647

git-svn-id: http://talendforge.org/svn/tos/trunk@93517 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 07:18:05 +00:00
jzhao
e62b4efe82 Fix Work Item TDI-22783 : Optimize the code automatically according to the columns number
https://jira.talendforge.org/browse/TDI-22783
Note:
optimize code of tFileOutputMSXML and remove unused code

git-svn-id: http://talendforge.org/svn/tos/trunk@93513 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 06:57:12 +00:00
jzhao
c49e762284 Fixed Bug TDI-22783: Optimize the code automatically according to the columns number
https://jira.talendforge.org/browse/TDI-22783
Note: tFileOutputMSXML/tFileInputEBCDIC

git-svn-id: http://talendforge.org/svn/tos/trunk@93499 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 04:28:16 +00:00
hwang
ae26f91cb4 TDI-22770:revert what yihongchun did for 20096
git-svn-id: http://talendforge.org/svn/tos/trunk@93496 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 03:53:19 +00:00
mwang
d79627b91a For bug TDI-21610
git-svn-id: http://talendforge.org/svn/tos/trunk@93494 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 03:30:20 +00:00
wchen
16785bcbdf bug TDI-21740 fixed: Unable to use "tFileOuputMSXML" with "tUnite"
git-svn-id: http://talendforge.org/svn/tos/trunk@93491 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-09 02:54:51 +00:00
rbaldwin
2a7f25b21b TDI-23122 Lookup data are doubled when using the tPartitioner/tCollector components.
git-svn-id: http://talendforge.org/svn/tos/trunk@93479 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 23:27:20 +00:00
etatarintseva
6cbfb89baf minor changes in tMom migration task
git-svn-id: http://talendforge.org/svn/tos/trunk@93465 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 13:48:51 +00:00
etatarintseva
5662149cd8 add migration task for tMOMCommit tMomRollback if component list is empty but tMomInput exist on job.
git-svn-id: http://talendforge.org/svn/tos/trunk@93464 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 13:32:33 +00:00
amarkevich
3454cc9825 TESB-7271: temp workaround
git-svn-id: http://talendforge.org/svn/tos/trunk@93463 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 11:30:28 +00:00
jjzhou
42a1bb3ba9 fix Bug TDI-23590:tSplitRow lose the values of output mapping
https://jira.talendforge.org/browse/TDI-23590


git-svn-id: http://talendforge.org/svn/tos/trunk@93449 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 10:10:39 +00:00
bchen
1a4d5e661f Fix Bug TDI-15391 : tMap output flows incorrectly populated if no lookup fields directly specified
https://jira.talendforge.org/browse/TDI-15391
revert this modification r93162

git-svn-id: http://talendforge.org/svn/tos/trunk@93444 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 09:42:06 +00:00
hwang
f2244dfa4a TDI-22770:Joblet changes that do not affect input/output should not trigger job update detection
git-svn-id: http://talendforge.org/svn/tos/trunk@93439 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 09:01:06 +00:00
hwang
44be0ff815 TDI-22770:Joblet changes that do not affect input/output should not trigger job update detection
git-svn-id: http://talendforge.org/svn/tos/trunk@93436 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 08:53:30 +00:00
jjzhou
2ce9b595bf fix Bug TDI-23590:tSplitRow lose the values of output mapping
https://jira.talendforge.org/browse/TDI-23590


git-svn-id: http://talendforge.org/svn/tos/trunk@93427 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 07:54:23 +00:00
mwang
018fc97902 For bug TDI-23415, we assumed that all jars from user's choose are in our libs manager.
git-svn-id: http://talendforge.org/svn/tos/trunk@93425 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 07:46:06 +00:00
wchen
c0e0e96de8 bug TDI-22552 fixed :Error "Duplicate nested type" for some main-connections after adding tUnite
git-svn-id: http://talendforge.org/svn/tos/trunk@93423 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 07:36:21 +00:00
cli
3d44705fca TDI-23377: enable to export the route with cTalendJob nodes and Maven option.
git-svn-id: http://talendforge.org/svn/tos/trunk@93419 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 07:25:46 +00:00
plv
544bdcaf48 bug TDI-22916:Remove the full outer join for tELTMysqlMap
git-svn-id: http://talendforge.org/svn/tos/trunk@93416 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-08 07:14:38 +00:00
jjzhou
013e24ac52 fix Bug TDI-23263: I got a problem for tFTPPut component, I can't put file name like this : "a(b).txt" to the server .
https://jira.talendforge.org/browse/TDI-23263

git-svn-id: http://talendforge.org/svn/tos/trunk@93384 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 10:16:27 +00:00
ldong
aeabc70849 bug TDI-23593 fixed:Need MDM team to verify a patch for this issue since I modified something in org.talend.mdm.bpm plugin.
git-svn-id: http://talendforge.org/svn/tos/trunk@93379 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 10:03:50 +00:00
plv
ab6813f33d bug TDI-4742:Little glitch in tMap Map editor
git-svn-id: http://talendforge.org/svn/tos/trunk@93372 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 09:19:45 +00:00
fwang
c92efbacc7 bug TDI-23433 fixed:SybaceJDBC:use it in a job, get error
git-svn-id: http://talendforge.org/svn/tos/trunk@93371 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 09:18:14 +00:00
jjzhou
302ddbd1ec fix Bug TDI-22465:revert the code
https://jira.talendforge.org/browse/TDI-22465

git-svn-id: http://talendforge.org/svn/tos/trunk@93363 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 08:56:06 +00:00
jjzhou
d9bed00121 fix Bug TDI-23386:tMDMOutput IndexOutOfBoundsException with Fields not existing
https://jira.talendforge.org/browse/TDI-23386

git-svn-id: http://talendforge.org/svn/tos/trunk@93359 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 08:20:00 +00:00
bchen
e712d37d84 Fix Backlog Task TDI-23521 : Review the use of the component (before or after GUI change)
https://jira.talendforge.org/browse/TDI-23521
update src

git-svn-id: http://talendforge.org/svn/tos/trunk@93352 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 07:12:04 +00:00
bchen
dbfadacf76 Fix Backlog Task TDI-23521 : Review the use of the component (before or after GUI change)
https://jira.talendforge.org/browse/TDI-23521
1. fixed the bug when the schema don't have targetNamespace.
2. support abstract type.
3. modified jaxb-xjc-2.2.5.jar to generate get mothed instead of is method for boolean type.

git-svn-id: http://talendforge.org/svn/tos/trunk@93350 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 07:08:25 +00:00
wchen
2d066ea156 bug TDI-23585 fixed: Select the checkbox in table controller in component view does not dirty the job.
git-svn-id: http://talendforge.org/svn/tos/trunk@93343 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 06:21:50 +00:00
mwang
d39bff5bc0 For bug TUP-221, just for extract the hard codes.
git-svn-id: http://talendforge.org/svn/tos/trunk@93331 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 04:20:35 +00:00
mwang
8abb5cbf3d For bug TUP-221
git-svn-id: http://talendforge.org/svn/tos/trunk@93329 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 03:51:51 +00:00
wchen
4ee1cf2ec5 bug TDI-23285 fixed: tXmlMap variable name overwrites any existing expression when creating a 'Var'
git-svn-id: http://talendforge.org/svn/tos/trunk@93326 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-07 03:32:51 +00:00
wliu
93c665fee7 Fix Bug TDI-23122 : revert the code in tHash and modify the tAdvancedHash to support parallelization components
https://jira.talendforge.org/browse/TDI-23122

git-svn-id: http://talendforge.org/svn/tos/trunk@93312 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 11:42:38 +00:00
rzubairov
cf60a22c6e - fixed TDI-23555 (part 1.) TESB-7509
git-svn-id: http://talendforge.org/svn/tos/trunk@93304 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 10:06:11 +00:00
hwang
5c3b6b759e TDI-23007:Joblet output schema changes not propagated to jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@93297 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 09:18:39 +00:00
jyhu
3b6968fa19 Fix Bug TDI-23444: Setting to Drop Table created by toraclebulkexec component
https://jira.talendforge.org/browse/TDI-23444 

git-svn-id: http://talendforge.org/svn/tos/trunk@93295 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 09:14:57 +00:00
mwang
64fb001951 For bug TUP-221
git-svn-id: http://talendforge.org/svn/tos/trunk@93276 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 07:38:46 +00:00
ycbai
00bbc4519c bug TDI-23414 fixed : Show error when export job as Petals ESB on TOSDI and TOSBD
git-svn-id: http://talendforge.org/svn/tos/trunk@93271 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 06:50:16 +00:00
zwzhao
ececb4224a bug TDI-23472 fixed : Login screen misaligned on linux/GTK desktop
git-svn-id: http://talendforge.org/svn/tos/trunk@93267 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 06:26:46 +00:00
zwzhao
c5a039c248 bug TDI-23472 fixed : Login screen misaligned on linux/GTK desktop
git-svn-id: http://talendforge.org/svn/tos/trunk@93264 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 06:06:58 +00:00
wwang
3a6581bc06 Fix Bug TDI-22589 : only refactor the code
https://jira.talendforge.org/browse/TDI-22589

git-svn-id: http://talendforge.org/svn/tos/trunk@93262 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 05:38:09 +00:00
wwang
0a56c24be5 Fix Bug TDI-22589 : tWaitForFile not waiting for release of files already present
https://jira.talendforge.org/browse/TDI-22589

git-svn-id: http://talendforge.org/svn/tos/trunk@93260 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 05:02:39 +00:00
wliu
ef81b0454e Fix Bug TDI-23122 : format the added java file and include the modification into the jar:advancedPersistentLookupLib-1.0.jar
https://jira.talendforge.org/browse/TDI-23122

git-svn-id: http://talendforge.org/svn/tos/trunk@93257 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 03:27:24 +00:00
hcyi
7fa48af6e2 bug TDI-23477 fixed : Set the dependency of the wizards dynamic for the module view .
git-svn-id: http://talendforge.org/svn/tos/trunk@93251 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 02:40:35 +00:00
rbaldwin
8118262e17 TOS specific changes related to the partitioning components. Most notably TDI-23122.
git-svn-id: http://talendforge.org/svn/tos/trunk@93246 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-06 00:20:19 +00:00
ycbai
cc0a180a49 bug TDI-23503 fixed : ctrl + s in doesn't work anymore
git-svn-id: http://talendforge.org/svn/tos/trunk@93225 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-05 07:28:49 +00:00
wchen
8ea39cd048 bug TDI-23298 fixed: The tXMLMap component should filter the illeagl character "tns:" when WSDL file using namespace.
git-svn-id: http://talendforge.org/svn/tos/trunk@93222 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-05 06:47:44 +00:00
jyhu
386f9b5bff Fix Bug TDI-23395 : tWaitforfile couldn't monitor files added if there are too many folder in the subdirectories
https://jira.talendforge.org/browse/TDI-23395 

git-svn-id: http://talendforge.org/svn/tos/trunk@93197 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 10:34:04 +00:00
wchen
fc384740f5 bug TDI-22830 fixed: the jar file can't be imported when import routines
git-svn-id: http://talendforge.org/svn/tos/trunk@93195 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 10:32:35 +00:00
zwzhao
4c4a61b604 bug TDI-23441 fixed : studio do not check the compile error when export job which is closed
git-svn-id: http://talendforge.org/svn/tos/trunk@93191 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 09:41:09 +00:00
nrousseau
d8e030126e TDI-23475 fixed: just enhanced, in case no display found
git-svn-id: http://talendforge.org/svn/tos/trunk@93179 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 09:09:29 +00:00
jzhao
77877ed3e8 Fixed Bug TDI-23297: New problems from TDI-8528 regarding file path parsing
https://jira.talendforge.org/browse/TDI-23297

git-svn-id: http://talendforge.org/svn/tos/trunk@93178 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 09:09:01 +00:00
etatarintseva
67e241dccf Changes it tMOM for support transaction mode jira TESB-7382
git-svn-id: http://talendforge.org/svn/tos/trunk@93174 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 08:57:02 +00:00
bchen
eaa30e76c9 Fix Bug TDI-15391 : tMap output flows incorrectly populated if no lookup fields directly specified
https://jira.talendforge.org/browse/TDI-15391
when the lookup without rows and the Match type is All Rows, none of the data should be populated.

git-svn-id: http://talendforge.org/svn/tos/trunk@93162 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 06:23:05 +00:00
nrousseau
39d77ba9f0 TDI-23233 fixed: add the support of IN for any IF for table elements
git-svn-id: http://talendforge.org/svn/tos/trunk@93149 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-02 01:06:35 +00:00
jzhao
1c1dcf2f9d Fix Bug TDI-23502 : Oracle SCD
https://jira.talendforge.org/browse/TDI-23502
Note: Modify wrong commit
 1.tMysqlSCD/tMSSqlSCD/tNetezzaSCD/tSybaseSCD/tVerticaSCD not be commited
 2.tPostgresPlusSCDELT/tPostgresqlSCDELT revert wrong commit

git-svn-id: http://talendforge.org/svn/tos/trunk@93143 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-01 10:36:47 +00:00
jzhao
8db1040ac9 Fix Bug TDI-23502 : Oracle SCD
https://jira.talendforge.org/browse/TDI-23502
Note:
1. modify SCD component which  has "DB Sequence"  function ("SK_DB_SEQUENCE" default  value remove "")
2. Some SCD component which has no "DB Sequence"  function ,remove  "SK_DB_SEQUENCE" 

git-svn-id: http://talendforge.org/svn/tos/trunk@93138 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-01 10:25:43 +00:00
jjzhou
2d8ddec13a fix Bug TDI-22465:Throw compilation error if tRunJob output flow has no schema
https://jira.talendforge.org/browse/TDI-22465

git-svn-id: http://talendforge.org/svn/tos/trunk@93107 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-11-01 02:14:42 +00:00
jjzhou
64a5a3ad3e fix Bug TDI-22465:Throw compilation error if tRunJob output flow has no schema
https://jira.talendforge.org/browse/TDI-22465

git-svn-id: http://talendforge.org/svn/tos/trunk@93096 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 12:56:56 +00:00
etatarintseva
9577e398bf Add combobox "MQ server" with one value: "Active MQ"
git-svn-id: http://talendforge.org/svn/tos/trunk@93095 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 11:50:11 +00:00
sgandon
5fc4fa8af2 make ant plugin unpack
git-svn-id: http://talendforge.org/svn/tos/trunk@93085 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 10:40:44 +00:00
jjzhou
9247379002 fix WorkItem TDI-23470:Unable to use "advanced seperator" correctly when event mode is triggered for tFileInputExcel
https://jira.talendforge.org/browse/TDI-23470

git-svn-id: http://talendforge.org/svn/tos/trunk@93076 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 10:11:44 +00:00
mwang
d1ee1bd21e For bug TDI-22060
git-svn-id: http://talendforge.org/svn/tos/trunk@93073 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 09:29:44 +00:00
hwang
b0ff60c80d TDI-23195:Deactivate component in joblet will be reactivated automatically after saving the job
git-svn-id: http://talendforge.org/svn/tos/trunk@93062 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 08:54:55 +00:00
bchen
78e35d661b Fix Bug TDI-13950 : Error with temporary TIS filed and link names
https://jira.talendforge.org/browse/TDI-13950
change the name of variables for store temp data function.

git-svn-id: http://talendforge.org/svn/tos/trunk@93059 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 08:32:42 +00:00
jyhu
5b7e247309 Fix Bug TDI-23271: Memory leak - usage of child job and how they release reference
https://jira.talendforge.org/browse/TDI-23271 

git-svn-id: http://talendforge.org/svn/tos/trunk@93051 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 07:57:59 +00:00
wliu
472cd19f00 Fix Bug TDI-23184 : trunjob: BufferOutput + tAggregateRow with List returns wrong List parent job
https://jira.talendforge.org/browse/TDI-23184

git-svn-id: http://talendforge.org/svn/tos/trunk@93043 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 06:55:48 +00:00
hwang
8804b08bb7 TDI-23195:Deactivate component in joblet will be reactivated automatically after saving the job
git-svn-id: http://talendforge.org/svn/tos/trunk@93038 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 03:39:45 +00:00
wliu
0d71b088c6 Fix Bug TDI-23184 : trunjob: BufferOutput + tAggregateRow with List returns wrong List parent job
https://jira.talendforge.org/browse/TDI-23184

git-svn-id: http://talendforge.org/svn/tos/trunk@93036 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-31 03:28:56 +00:00
amarkevich
3e709e8067 TESB-5916: Rest service can't be deployed in the Runtime on the port said in the studio
git-svn-id: http://talendforge.org/svn/tos/trunk@93017 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 10:26:07 +00:00
cli
94473e29e1 TDI-23491: add the modifications
git-svn-id: http://talendforge.org/svn/tos/trunk@93013 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 10:10:16 +00:00
wchen
a61d1567a4 bug TDI-23383 fixed : Merge reference project can not work
git-svn-id: http://talendforge.org/svn/tos/trunk@93012 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 10:06:21 +00:00
jjzhou
0e82cc9a05 fix WorkItem TDI-23452: add DB_TYPE for tAmazonIn/Out component
git-svn-id: http://talendforge.org/svn/tos/trunk@93003 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 09:20:23 +00:00
ycbai
9b17639100 fix missing ant lib bug
git-svn-id: http://talendforge.org/svn/tos/trunk@92985 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 05:54:11 +00:00
plv
fc15539c5a bug TDI-23252:Joblet ui problem
git-svn-id: http://talendforge.org/svn/tos/trunk@92981 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 05:36:58 +00:00
fwang
d2094d3c2d bug TDQ-6228 fixed:In tMatchGroup, check the "seperate output" option after that the MAIN output is connected, should show a red cross beside the component calling for deletion of MAIN ouput.
git-svn-id: http://talendforge.org/svn/tos/trunk@92980 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 05:19:01 +00:00
hcyi
610f01ab0b bug TDI-23426 fixed : upgrade the jar from mysql-connector-java-5.1.0-bin.jar to mysql-connector-java-5.1.22-bin.jar for studio part .
git-svn-id: http://talendforge.org/svn/tos/trunk@92974 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-30 03:27:23 +00:00
wliu
56ea6dc57c Fix Bug TDI-12563 : format these 2 java files
https://jira.talendforge.org/browse/TDI-12563

git-svn-id: http://talendforge.org/svn/tos/trunk@92959 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 10:13:44 +00:00
bchen
524530db5b Fix Bug TDI-22640 : Problem with combination of tWebservice and tXSLT
https://jira.talendforge.org/browse/TDI-22640
as tXSLT component use saxon as JAXP factory, but it can't work with tWebservice component, so set the default JAXP factory for tWebservice

git-svn-id: http://talendforge.org/svn/tos/trunk@92952 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 09:49:49 +00:00
wchen
90239f5c86 bug TDI-23218 fixed: Unable to associate a fixed value with an XML element (duplicate to 0011723 which is NOT FIXED)
git-svn-id: http://talendforge.org/svn/tos/trunk@92947 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 07:42:44 +00:00
ycbai
492771a027 bug TDI-23389 fixed : Enhance the Services script manager to export with Maven option
git-svn-id: http://talendforge.org/svn/tos/trunk@92944 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 07:34:28 +00:00
zshen
2699013af4 TDQ-5330 TDQ-6341 revert code for EMFComponent
git-svn-id: http://talendforge.org/svn/tos/trunk@92940 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 07:23:42 +00:00
fwang
452fc97a99 bug TDI-21740 fixed:Unable to use "tFileOuputMSXML" with "tUnite"
git-svn-id: http://talendforge.org/svn/tos/trunk@92937 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 06:58:46 +00:00
cli
787f8b0937 TDI-23390: add the service karaf preference page.
git-svn-id: http://talendforge.org/svn/tos/trunk@92933 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 06:31:24 +00:00
nrousseau
633bf34bd1 TDI-23475: avoid dialog to appear in commandline mode.
git-svn-id: http://talendforge.org/svn/tos/trunk@92932 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 06:25:37 +00:00
wwang
8bd45968c8 Fix Bug TDI-22965 : DTD not being created for each export XML
https://jira.talendforge.org/browse/TDI-22965

git-svn-id: http://talendforge.org/svn/tos/trunk@92925 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 04:14:31 +00:00
zwzhao
ad73e1c55f bug TDI-23219 fixed : Need to refresh repository to get routines after generating codes by WSDL2Java
git-svn-id: http://talendforge.org/svn/tos/trunk@92912 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 03:15:39 +00:00
wwang
fd8f8d9275 Fix Bug TDI-12563 : add the lost parameter.
https://jira.talendforge.org/browse/TDI-12563

git-svn-id: http://talendforge.org/svn/tos/trunk@92908 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-29 02:15:17 +00:00
wwang
663d8d5cc4 Fix Bug TDI-12563 : Make the component tMysqlInput work with Dynamic schema and enable stream.
https://jira.talendforge.org/browse/TDI-12563

git-svn-id: http://talendforge.org/svn/tos/trunk@92873 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-26 09:52:01 +00:00
jyhu
26205ffcb9 Fix Bug TDI-23312 : tCreateTable throw error with drop table if exists and create when using SQLite database
https://jira.talendforge.org/browse/TDI-23312 

git-svn-id: http://talendforge.org/svn/tos/trunk@92866 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-26 09:29:39 +00:00
cli
e41fc713ac TDI-23391: refactor to enhance to split the lib with provided-lib and fix a problem for karaf preference page.
git-svn-id: http://talendforge.org/svn/tos/trunk@92844 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-26 06:23:25 +00:00
cli
c613c4e70c TDI-23391: refactor to enhance to split the lib with provided-lib and fix a problem for karaf preference page.
git-svn-id: http://talendforge.org/svn/tos/trunk@92841 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-26 06:02:35 +00:00
jjzhou
5e1a1089fa fix WorkItem TDI-23452:Resolve the same problem in TDI-23103 for tAmazonOracleInput/Output
https://jira.talendforge.org/browse/TDI-23452

git-svn-id: http://talendforge.org/svn/tos/trunk@92838 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-26 05:55:02 +00:00
ilazebny
96b1bb8dd7 Update version in poms to 5.2.1-SNAPSHOT
git-svn-id: http://talendforge.org/svn/tos/trunk@92815 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 12:05:57 +00:00
jjzhou
87862875b1 fix Bug TDI-23434: Fix the components part for the drivers IMPORT
https://jira.talendforge.org/browse/TDI-23434

git-svn-id: http://talendforge.org/svn/tos/trunk@92798 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 10:51:10 +00:00
ilazebny
8a399bd3bd Update version to 5.2.0 in poms
git-svn-id: http://talendforge.org/svn/tos/trunk@92777 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 08:46:25 +00:00
hwang
1c601b666d TDI-23027:Don't make dirty joblet read-only when expanded in job
git-svn-id: http://talendforge.org/svn/tos/trunk@92764 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 07:40:27 +00:00
wchen
13582c3529 bug TDI-23416 fixed: TOS_BD Studio freezes when trying to download a jar after launching a job which has an error
git-svn-id: http://talendforge.org/svn/tos/trunk@92749 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 05:10:16 +00:00
jzhao
6e7f416c28 Fixed Bug TDI-23411: NodeUtil.getPrivateConnClassName(final IConnection conn) return value is not correct
https://jira.talendforge.org/browse/TDI-23411
Note:
Another problem about tExtractEBCDICFields special circumstances lead code generate error.

git-svn-id: http://talendforge.org/svn/tos/trunk@92745 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 04:24:59 +00:00
jyhu
48db08d91c Fix Bug TDI-22793 : tMSSQLInput of small numbers
https://jira.talendforge.org/browse/TDI-22793 

git-svn-id: http://talendforge.org/svn/tos/trunk@92741 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 03:23:59 +00:00
fwang
fe2142be2b bug TDI-23257 fixed:When drag&drop more a context or a metadata with a context linked, it should ask to copy all context group.
git-svn-id: http://talendforge.org/svn/tos/trunk@92736 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 03:02:25 +00:00
ycbai
58cbd1a788 Wait for commiting to Branch 5.2
git-svn-id: http://talendforge.org/svn/tos/trunk@92731 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 02:47:23 +00:00
ycbai
d9a9492704 bug TDI-23226 fixed : When click the 'Detect Dependencies' button after some modifications for service, no correct pop-up information.
git-svn-id: http://talendforge.org/svn/tos/trunk@92729 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-25 02:44:32 +00:00
nrousseau
ea006a97f7 TDI-23413: fix rename table name
git-svn-id: http://talendforge.org/svn/tos/trunk@92703 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 12:18:08 +00:00
nrousseau
b230a01deb TDI-23413: fix update schema
git-svn-id: http://talendforge.org/svn/tos/trunk@92702 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 12:12:43 +00:00
hwang
baea7f17f4 TDI-20219:The data should be not transfered to the joblet in a job
git-svn-id: http://talendforge.org/svn/tos/trunk@92699 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 12:04:57 +00:00
hwang
1c884aab4d TDI-23190:Job and Joblet still can be edit in read mode
git-svn-id: http://talendforge.org/svn/tos/trunk@92697 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 11:59:15 +00:00
jzhao
444fd96a13 Fixed Bug TDI-23411: NodeUtil.getPrivateConnClassName(final IConnection conn) return value is not correct
https://jira.talendforge.org/browse/TDI-23411
Note:
Another problem about tExtractEBCDICFields special circumstances lead code generate error.

git-svn-id: http://talendforge.org/svn/tos/trunk@92690 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 11:10:24 +00:00
zwzhao
fe57b3e3bf bug TDI-23093 fixed : fix random xsd check, seems sometimes it will do, sometimes not....
git-svn-id: http://talendforge.org/svn/tos/trunk@92679 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 09:46:07 +00:00
jjzhou
a569ad1e20 fix WorkItem TDI-23381:Update tMDMBulkload library
https://jira.talendforge.org/browse/TDI-23381

git-svn-id: http://talendforge.org/svn/tos/trunk@92677 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 09:38:41 +00:00
amarkevich
ffa9a8b5c5 simplify internal api
git-svn-id: http://talendforge.org/svn/tos/trunk@92671 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 08:50:11 +00:00
jjzhou
784667da89 fix Bug TDI-23263: I got a problem for tFTPPut component, I can't put file name like this : "a(b).txt" to the server .
https://jira.talendforge.org/browse/TDI-23263

git-svn-id: http://talendforge.org/svn/tos/trunk@92663 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 08:22:31 +00:00
wwang
1b48313eb6 Fix Bug TDI-23351 : When the value includes special characters like < >, tBonitaInstantiateProcess doesn't work anymore with HTTP Client
https://jira.talendforge.org/browse/TDI-23351

git-svn-id: http://talendforge.org/svn/tos/trunk@92656 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 07:03:01 +00:00
cli
f2fbef89b1 TDI-23403: fixed the problem for bundle name with empty.
git-svn-id: http://talendforge.org/svn/tos/trunk@92651 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-24 03:35:27 +00:00
cli
6a5939950f TDI-22791: fixed the mistake for null.
git-svn-id: http://talendforge.org/svn/tos/trunk@92622 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-23 09:03:33 +00:00
2699 changed files with 262154 additions and 245546 deletions

View File

@@ -740,7 +740,7 @@
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
unpack="true"/>
<plugin
id="org.eclipse.jet.core"

View File

@@ -2,6 +2,7 @@ PushToPaletteActionProvider.Error2=Fout
PushToPaletteActionProvider.Error=Fout
NewActionProvider.New=Nieuw
NewActionProvider.NewComponent=Nieuw Component
AbstractXMLConfigPage.Delete=Verwijderen
CreateComponentWizard.NewComponent=Nieuw Component
WizardComponentFolderPage.Name=Naam
AbstractXMLConfigPage.New=Nieuw

View File

@@ -1,3 +1,2 @@
PushToPaletteActionProvider.Error2=Gre\u0161ka
PushToPaletteActionProvider.Error=Gre\u0161ka
AbstractXMLConfigPage.Delete=DELETE

View File

@@ -557,5 +557,16 @@
level="20"
name="ReadDiagramAction"/>
</extension>
<extension
point="org.eclipse.core.expressions.definitions">
<definition
id="isActiveEditorOfBusinessModelEditor">
<not>
<instanceof
value="org.talend.designer.business.model.business.diagram.part.BusinessDiagramEditor">
</instanceof>
</not>
</definition>
</extension>
</plugin>

View File

@@ -56,7 +56,7 @@
if(param != null && !"__UNIQUE_NAME__".equals(param.getValue())){
cid = (String)param.getValue()+"_"+cid;
}
String endpointVar = "endpoint" + cid;
String endpointVar = "endpoint_" + node.getUniqueName();
String uriRef = "uriMap.get(\"" + cid + "\")";
%>
// CXF endpoint for <%=cid%>

View File

@@ -32,9 +32,19 @@ INode node = (INode) codeGenArgument.getArgument();
List< ? extends IConnection> connsIf = node.getIncomingConnections();
if(connsIf.size()>0) {
if(connsIf.get(0).getLineStyle()==EConnectionType.ROUTE_WHEN) {
INode sourceNode = connsIf.get(0).getSource();
String languageType = connsIf.get(0).getRouteConnectionType();
String condition = connsIf.get(0).getCondition();
String expression = "none".equals(languageType)?condition:languageType+"("+condition+")";
if("cIntercept".equals(sourceNode.getComponent().getName())){
%>
.when().<%=connsIf.get(0).getRouteConnectionType()%>(<%=connsIf.get(0).getCondition()%>)
.when(<%=expression%>)
<%
}else{
%>
.when().<%=expression%>
<%
}
} else if(connsIf.get(0).getLineStyle()==EConnectionType.ROUTE_OTHER) {
%>
.otherwise()

File diff suppressed because it is too large Load Diff

View File

@@ -99,8 +99,8 @@ import java.util.Comparator;
String talendJobInterfaces = "TalendJob";
boolean talendMdmJob = !process.getNodesOfType("tMDMTriggerInput").isEmpty() || !process.getNodesOfType("tMDMTriggerOutput").isEmpty();
boolean talendEsbJob = !process.getNodesOfType("tESBProviderRequest").isEmpty() || !process.getNodesOfType("tESBConsumer").isEmpty();
boolean talendEsbJobFactory = !process.getNodesOfType("tESBProviderRequest").isEmpty();
boolean talendEsbJob = !process.getNodesOfType("tESBProviderRequest").isEmpty() || !process.getNodesOfType("tESBConsumer").isEmpty() || !process.getNodesOfType("tRouteInput").isEmpty();
boolean talendEsbJobFactory = !process.getNodesOfType("tESBProviderRequest").isEmpty() || !process.getNodesOfType("tRouteInput").isEmpty();
if (talendMdmJob) {
talendJobInterfaces += ", TalendMDMJob"; // Talend MDM job
@@ -126,6 +126,8 @@ public class <%=process.getName()%> implements <%=talendJobInterfaces%> {
}
talendESBJob.setDataSources(dataSources);
}
// fix for TESB-7714
talendESBJob.setEndpointRegistry(registry);
return talendESBJob;
}
<% } %>

View File

@@ -69,7 +69,7 @@ import org.talend.core.model.components.IComponentsFactory;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.ComponentSetting;
import org.talend.core.ui.branding.IBrandingService;
import org.talend.core.utils.BrandingChecker;
import org.talend.core.utils.TalendCacheUtils;
import org.talend.designer.codegen.CodeGeneratorActivator;
import org.talend.designer.codegen.i18n.Messages;
import org.talend.designer.core.ITisLocalProviderService;
@@ -159,7 +159,7 @@ public class ComponentsFactory implements IComponentsFactory {
Project currentProject = ProjectManager.getInstance().getCurrentProject();
if (currentProject != null && currentProject.getEmfProject() != null) {
List<ComponentSetting> components = (List<ComponentSetting>) currentProject.getEmfProject().getComponentsSettings();
List<ComponentSetting> components = currentProject.getEmfProject().getComponentsSettings();
return components;
}
return Collections.emptyList();
@@ -231,8 +231,7 @@ public class ComponentsFactory implements IComponentsFactory {
ProjectManager manager = ProjectManager.getInstance();
List<Project> referencedProjects = manager.getReferencedProjects();
for (Project curProject : referencedProjects) {
List<ComponentSetting> componentsSettings = (List<ComponentSetting>) curProject.getEmfProject()
.getComponentsSettings();
List<ComponentSetting> componentsSettings = curProject.getEmfProject().getComponentsSettings();
for (ComponentSetting setting : componentsSettings) {
if (setting.isHidden() && setting.getName().equals(settingInMain.getName())
&& setting.getFamily().equals(settingInMain.getFamily())) {
@@ -262,7 +261,7 @@ public class ComponentsFactory implements IComponentsFactory {
skeletonList = new ArrayList<String>();
String installLocation = new Path(Platform.getConfigurationLocation().getURL().getPath()).toFile().getAbsolutePath();
componentToProviderMap = new HashMap<IComponent, AbstractComponentsProvider>();
boolean isNeedClean = cleanComponentCache();
boolean isNeedClean = TalendCacheUtils.cleanComponentCache();
isCreated = hasComponentFile(installLocation) && !isNeedClean;
if (isReset) {
isCreated = false;
@@ -348,6 +347,7 @@ public class ComponentsFactory implements IComponentsFactory {
FileFilter fileFilter = new FileFilter() {
@Override
public boolean accept(final File file) {
return file.isDirectory() && file.getName().charAt(0) != '.'
&& !file.getName().equals(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER)
@@ -482,11 +482,6 @@ public class ComponentsFactory implements IComponentsFactory {
return file.exists();
}
private boolean cleanComponentCache() {
return ArrayUtils.contains(Platform.getApplicationArgs(), "--clean_component_cache")
|| ArrayUtils.contains(Platform.getApplicationArgs(), "-clean") || BrandingChecker.isBrandingChanged();
}
private void loadComponentsFromComponentsProviderExtension() {
ComponentsProviderManager componentsProviderManager = ComponentsProviderManager.getInstance();
for (AbstractComponentsProvider componentsProvider : componentsProviderManager.getProviders()) {
@@ -517,6 +512,7 @@ public class ComponentsFactory implements IComponentsFactory {
}
}
@Override
public void loadUserComponentsFromComponentsProviderExtension() {
ComponentsProviderManager.getInstance().getProviders();
ComponentsProviderManager componentsProviderManager = ComponentsProviderManager.getInstance();
@@ -587,6 +583,7 @@ public class ComponentsFactory implements IComponentsFactory {
FileFilter fileFilter = new FileFilter() {
@Override
public boolean accept(final File file) {
return file.isDirectory() && file.getName().charAt(0) != '.'
&& !file.getName().equals(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER)
@@ -607,6 +604,7 @@ public class ComponentsFactory implements IComponentsFactory {
FileFilter skeletonFilter = new FileFilter() {
@Override
public boolean accept(final File file) {
String fileName = file.getName();
return file.isFile() && fileName.charAt(0) != '.'
@@ -913,6 +911,7 @@ public class ComponentsFactory implements IComponentsFactory {
component.setImageRegistry(componentsImageRegistry);
}
@Override
public int size() {
if (componentList == null) {
init(false);
@@ -920,6 +919,7 @@ public class ComponentsFactory implements IComponentsFactory {
return componentList.size();
}
@Override
public IComponent get(String name) {
if (componentList == null) {
init(false);
@@ -933,6 +933,7 @@ public class ComponentsFactory implements IComponentsFactory {
return null;
}
@Override
public void initializeComponents(IProgressMonitor monitor) {
this.monitor = monitor;
if (componentList == null) {
@@ -942,6 +943,7 @@ public class ComponentsFactory implements IComponentsFactory {
this.subMonitor = null;
}
@Override
public void initializeComponents(IProgressMonitor monitor, boolean duringLogon) {
this.monitor = monitor;
if (componentList == null) {
@@ -956,6 +958,7 @@ public class ComponentsFactory implements IComponentsFactory {
*
* @see org.talend.core.model.components.IComponentsFactory#getComponents()
*/
@Override
public Set<IComponent> getComponents() {
if (componentList == null) {
init(false);
@@ -963,6 +966,7 @@ public class ComponentsFactory implements IComponentsFactory {
return componentList;
}
@Override
public List<IComponent> getCustomComponents() {
if (customComponentList == null) {
init(false);
@@ -975,6 +979,7 @@ public class ComponentsFactory implements IComponentsFactory {
*
* @see org.talend.core.model.components.IComponentsFactory#getComponentPath()
*/
@Override
public URL getComponentPath() throws IOException {
String componentsPath = IComponentsFactory.COMPONENTS_LOCATION;
IBrandingService breaningService = (IBrandingService) GlobalServiceRegister.getDefault().getService(
@@ -992,6 +997,7 @@ public class ComponentsFactory implements IComponentsFactory {
*
* @see org.talend.core.model.components.IComponentsFactory#getSkeletons()
*/
@Override
public List<String> getSkeletons() {
if (skeletonList == null) {
init(false);
@@ -999,6 +1005,7 @@ public class ComponentsFactory implements IComponentsFactory {
return skeletonList;
}
@Override
public void reset() {
componentsImageRegistry.clear();
componentList = null;
@@ -1008,6 +1015,7 @@ public class ComponentsFactory implements IComponentsFactory {
}
@Override
public void resetCache() {
componentsImageRegistry.clear();
componentList = null;
@@ -1026,6 +1034,7 @@ public class ComponentsFactory implements IComponentsFactory {
* @see org.talend.core.model.components.IComponentsFactory#getFamilyTranslation(IComponent component,
* java.lang.String)
*/
@Override
public String getFamilyTranslation(Object component, String text) {
String translated = Messages.getString(text);
@@ -1056,6 +1065,7 @@ public class ComponentsFactory implements IComponentsFactory {
*
* @see org.talend.core.model.components.IComponentsFactory#getAllComponentsCanBeProvided()
*/
@Override
public Map<String, String> getAllComponentsCanBeProvided() {
List source = new ArrayList();
if (allComponents == null) {
@@ -1080,6 +1090,7 @@ public class ComponentsFactory implements IComponentsFactory {
FileFilter fileFilter = new FileFilter() {
@Override
public boolean accept(final File file) {
return file.isDirectory() && file.getName().charAt(0) != '.'
&& !file.getName().equals(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER);
@@ -1138,14 +1149,17 @@ public class ComponentsFactory implements IComponentsFactory {
analyseur = fabrique.newDocumentBuilder();
analyseur.setErrorHandler(new ErrorHandler() {
@Override
public void error(final SAXParseException exception) throws SAXException {
throw exception;
}
@Override
public void fatalError(final SAXParseException exception) throws SAXException {
throw exception;
}
@Override
public void warning(final SAXParseException exception) throws SAXException {
throw exception;
}
@@ -1197,10 +1211,12 @@ public class ComponentsFactory implements IComponentsFactory {
*
* @see org.talend.core.model.components.IComponentsFactory#resetSpecificComponents()
*/
@Override
public void resetSpecificComponents() {
loadComponentsFromExtensions();
}
@Override
public Map<String, File> getComponentsProvidersFolder() {
Map<String, File> list = new HashMap<String, File>();
@@ -1217,6 +1233,7 @@ public class ComponentsFactory implements IComponentsFactory {
return list;
}
@Override
public Map<String, ImageDescriptor> getComponentsImageRegistry() {
return componentsImageRegistry;
}

View File

@@ -80,20 +80,14 @@ public class XsdValidationCacheManager {
public boolean needCheck(java.io.File file, long currentCRC) {
String path = file.getAbsolutePath();
if (forceXSDAlreadyChecked) {
alreadyCheckedXsd.put(path, currentCRC);
return false;
} else {
Long lastCheckedCRC = alreadyCheckedXsd.get(path);
Long lastCheckedCRC = alreadyCheckedXsd.get(path);
if (lastCheckedCRC == null) {
return true;
}
boolean isChanged = currentCRC != lastCheckedCRC;
return isChanged;
if (lastCheckedCRC == null) {
return true;
}
boolean isChanged = currentCRC != lastCheckedCRC;
return isChanged;
}
public void setChecked(File file, long currentCRC) {

View File

@@ -14,6 +14,7 @@ package org.talend.designer.codegen.config;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.InputStream;
import java.lang.reflect.Method;
@@ -27,7 +28,6 @@ import java.util.StringTokenizer;
import org.apache.commons.lang.ArrayUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IMarker;
@@ -52,12 +52,10 @@ import org.eclipse.emf.common.util.Monitor;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaModel;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.talend.commons.debug.TalendDebugHandler;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.core.model.components.ComponentCompilations;
import org.talend.designer.codegen.i18n.Messages;
/**
@@ -300,93 +298,107 @@ public class TalendJetEmitter extends JETEmitter {
progressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETOpeningJavaProject_message", //$NON-NLS-1$
new Object[] { project.getName() }));
// javaProject.open(new SubProgressMonitor(progressMonitor, 1));
IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
IPackageFragmentRoot sourcePackageFragmentRoot = null;
for (int j = 0; j < packageFragmentRoots.length; ++j) {
IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[j];
if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
sourcePackageFragmentRoot = packageFragmentRoot;
break;
}
}
String packageName = jetCompiler.getSkeleton().getPackageName();
StringTokenizer stringTokenizer = new StringTokenizer(packageName, "."); //$NON-NLS-1$
IProgressMonitor subProgressMonitor = new SubProgressMonitor(progressMonitor, 1);
subProgressMonitor.beginTask("", stringTokenizer.countTokens() + 4); //$NON-NLS-1$
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_CreateTargetFile_message")); //$NON-NLS-1$
IContainer sourceContainer = (IContainer) sourcePackageFragmentRoot.getCorrespondingResource();
IFolder sourceContainer = project.getFolder("src");
while (stringTokenizer.hasMoreElements()) {
String folderName = stringTokenizer.nextToken();
sourceContainer = sourceContainer.getFolder(new Path(folderName));
if (!sourceContainer.exists()) {
try {
((IFolder) sourceContainer).create(true, true, new SubProgressMonitor(subProgressMonitor, 1));
sourceContainer.create(true, true, new SubProgressMonitor(subProgressMonitor, 1));
} catch (Exception e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
}
boolean needRebuild = true;
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() }));
targetFile.create(contents, true, new SubProgressMonitor(subProgressMonitor, 1));
} else {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETUpdating_message", //$NON-NLS-1$
new Object[] { targetFile.getFullPath() }));
targetFile.setContents(contents, true, true, new SubProgressMonitor(subProgressMonitor, 1));
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETBuilding_message", //$NON-NLS-1$
new Object[] { project.getName() }));
DataInputStream dis = new DataInputStream(targetFile.getContents());
int len = 0;
byte[] buf = new byte[1024];
while (((len = dis.read(buf))) != -1) {
baos.write(buf, 0, len);
}
dis.close();
if (!ComponentCompilations.getMarkers()) {
project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new SubProgressMonitor(subProgressMonitor, 1));
}
IMarker[] markers = targetFile.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
boolean errors = false;
for (int i = 0; i < markers.length; ++i) {
IMarker marker = markers[i];
if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
errors = true;
subProgressMonitor.subTask(marker.getAttribute(IMarker.MESSAGE) + " : " //$NON-NLS-1$
+ (CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) })));
log.error(jetEmitter.templateURI.substring(jetEmitter.templateURI.lastIndexOf("/") + 1) //$NON-NLS-1$
+ Messages.getString(
"TalendJetEmitter.compileFail", //$NON-NLS-1$
marker.getAttribute(IMarker.MESSAGE),
(CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) }))));
String currentContent = baos.toString();
String newContent = outputStream.toString();
// since the build is done on linux, if use windows, it will use different rules for \r + \n
// so compare without \r, at least to see if original string is the same
// if yes, consider all is ok, no need to replace the content and recompile
currentContent = currentContent.replace("\r", ""); //$NON-NLS-1$//$NON-NLS-2$
newContent = newContent.replace("\r", ""); //$NON-NLS-1$//$NON-NLS-2$
if (!newContent.equals(currentContent)) {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETUpdating_message", //$NON-NLS-1$
new Object[] { targetFile.getFullPath() }));
targetFile.setContents(contents, true, true, new SubProgressMonitor(subProgressMonitor, 1));
} else {
needRebuild = false;
}
}
if (!errors) {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETLoadingClass_message", //$NON-NLS-1$
new Object[] { jetCompiler.getSkeleton().getClassName() + ".class" })); //$NON-NLS-1$
// if jetEmitter.getMethod() == null, means the class file doesn't exist anymore
// it should be impossible to have only the class file deleted and the .java never modified, but still
// handle this case.
if (needRebuild || jetEmitter.getMethod() == null) {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETBuilding_message", //$NON-NLS-1$
new Object[] { project.getName() }));
// Construct a proper URL for relative lookup.
//
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$
+ jetCompiler.getSkeleton().getClassName());
String methodName = jetCompiler.getSkeleton().getMethodName();
Method[] methods = theClass.getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
if (methods[i].getName().equals(methodName)) {
jetEmitter.setMethod(methods[i]);
break;
project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new SubProgressMonitor(subProgressMonitor, 1));
IMarker[] markers = targetFile.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
boolean errors = false;
for (int i = 0; i < markers.length; ++i) {
IMarker marker = markers[i];
if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
errors = true;
subProgressMonitor.subTask(marker.getAttribute(IMarker.MESSAGE) + " : " //$NON-NLS-1$
+ (CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) })));
log.error(jetEmitter.templateURI.substring(jetEmitter.templateURI.lastIndexOf("/") + 1) //$NON-NLS-1$
+ Messages.getString(
"TalendJetEmitter.compileFail", //$NON-NLS-1$
marker.getAttribute(IMarker.MESSAGE),
(CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) }))));
}
}
if (!errors) {
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETLoadingClass_message", //$NON-NLS-1$
new Object[] { jetCompiler.getSkeleton().getClassName() + ".class" })); //$NON-NLS-1$
// Construct a proper URL for relative lookup.
//
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$
+ jetCompiler.getSkeleton().getClassName());
String methodName = jetCompiler.getSkeleton().getMethodName();
Method[] methods = theClass.getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
if (methods[i].getName().equals(methodName)) {
jetEmitter.setMethod(methods[i]);
break;
}
}
}
}
subProgressMonitor.done();
} catch (CoreException exception) {
TalendDebugHandler.debug(exception);

View File

@@ -1,6 +1,7 @@
ExchangeView.Exchange=Exchange
AvailableExtensionsComposite.ExtensionName=Nom de l'extension
AvailableExtensionsComposite.Version=Version
AvailableExtensionsComposite.Rating=Note
AvailableExtensionsComposite.Author=Auteur
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Installer
AvailableExtensionsComposite.ViewDetail.WriteReview=Donnez votre avis
@@ -9,6 +10,7 @@ DownloadedExtensionsComposite.DownloadedVersion=Version t
DownloadedExtensionsComposite.DownloadDate=Date de téléchargement
DownloadedExtensionsComposite.installedOperateStatus=Installé
DownloadedExtensionsComposite.updateOperateStatus=Mettre à jour
MyExtensionsComposite.Version=Version
MyExtensionsComposite.UploadDate=Date du chargement
MyExtensionsComposite.AddNewExtensionTitle=Ajouter une nouvelle extension
MyExtensionsComposite.UpLoadNewVersionOperateStatus=Charger une nouvelle version
@@ -19,6 +21,7 @@ MyExtensionsComposite.Form.ExtensionTitle=Titre de l'extension
MyExtensionsComposite.Form.InitialVersion=Version initiale
MyExtensionsComposite.Form.Compatibility=Compatibilité
MyExtensionsComposite.Form.Compatibility.AllVersions=Toutes les versions
MyExtensionsComposite.Form.Compatibility.Version=Version
MyExtensionsComposite.Form.Compatibility.AllVersionsExcept=Toutes les versions sauf :
MyExtensionsComposite.Form.Compatibility.OnlyTheseVersions=Uniquement ces versions :
MyExtensionsComposite.Form.Description=Description

View File

@@ -1,4 +1,7 @@
DownloadedExtensionsComposite.updateOperateStatus=Update
MyExtensionsComposite.UpdateOperateStatus=Update
MyExtensionsComposite.ModifyOperateStatus=Wijzigen
MyExtensionsComposite.DeleteOperateStatus=Verwijderen
MyExtensionsComposite.Form.Upload.Browse=Blader...
RefreshJob.FindExtensions.Title=Beschikbare extensies zoeken
RefreshJob.FindExtensions.Message=Extensies zoeken op Exchange...

View File

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

View File

@@ -1,32 +1,55 @@
package org.talend.mdm.bulkload.client;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.net.URL;
import java.util.List;
import java.io.*;
import java.util.concurrent.atomic.AtomicInteger;
public class BulkloadClient {
String url;
String username;
String password;
String universe;
String cluster;
String concept;
String datamodel;
BulkloadOptions options=new BulkloadOptions();
public BulkloadClient(String url, String username,String password,String universe,String cluster,String concept,String datamodel) {
private String url;
private String username;
private String password;
private String universe;
private String cluster;
private String concept;
private String dataModel;
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;
this.dataModel = dataModel;
}
public void startThreadCount(){
// Kept for compatibility with tMDMBulkload.
}
public void waitForEndOfQueue() {
try {
synchronized (startedBulkloadCount) {
while (startedBulkloadCount.get() > 0) {
System.out.println(startedBulkloadCount.get() + " remaining.");
startedBulkloadCount.wait();
}
}
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
public String getUrl() {
return url;
}
@@ -76,11 +99,11 @@ public class BulkloadClient {
}
public String getDatamodel() {
return datamodel;
return dataModel;
}
public void setDatamodel(String datamodel) {
this.datamodel = datamodel;
public void setDatamodel(String dataModel) {
this.dataModel = dataModel;
}
public BulkloadOptions getOptions() {
@@ -90,93 +113,75 @@ public class BulkloadClient {
public void setOptions(BulkloadOptions options) {
this.options = options;
}
public void load(List<String > items) {
doLoad(items);
}
/**
/**
* load from a huge xml string
* @param xmlString
* @param xmlString A full xml document.
* @throws Exception Thrown in case of bulk load error.
*/
public void load(String xmlString)throws Exception {
List<String > items=BulkloadClientUtil.getItemXmls(xmlString);
doLoad(items);
}
private void doLoad(List<String> items) {
if(items.size()>options.getArraySize()) {
int loop=items.size()/options.getArraySize();
int left=items.size()-options.getArraySize()*loop;
for(int i=0; i<loop; i++) {
List<String> subItems=items.subList(i*options.getArraySize(), (i+1)*options.getArraySize());
try {
BulkloadClientUtil.bulkload(url, cluster, concept, datamodel, options.isValidate(), options.isSmartpk(), subItems, username, password,universe);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(left>0) {
List<String> subItems=items.subList(loop*options.getArraySize(), loop*options.getArraySize()+left);
try {
BulkloadClientUtil.bulkload(url, cluster, concept, datamodel, options.isValidate(), options.isSmartpk(), subItems, username, password,universe);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}else {
try {
BulkloadClientUtil.bulkload(url, cluster, concept, datamodel, options.isValidate(), options.isSmartpk(), items, username, password,universe);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* load from File
* @param inputXmlFile
*/
public void load(Reader inputXmlFile) {
BufferedReader reader=null;
try {
reader=new BufferedReader(inputXmlFile);
StringBuffer sb=new StringBuffer();
String line=reader.readLine();
while(line!=null) {
sb=sb.append(line);
line=reader.readLine();
}
List<String > items=BulkloadClientUtil.getItemXmls(sb.toString());
doLoad(items);
}catch(Exception e) {
e.printStackTrace();
}finally {
if(reader!=null)
try {
reader.close();
} catch (IOException e) {
}
}
}
public static void main(String[] args) {
//test
//FileReader reader=new FileReader(file)
URL url=BulkloadClient.class.getResource("test.xml");
try {
BufferedInputStream in=((BufferedInputStream)url.getContent());
byte[] buf=new byte[in.available()];
in.read(buf);
String xml=new String(buf);
BulkloadClient client=new BulkloadClient("http://localhost:8080/datamanager/loadServlet","admin","talend",null,"Order","Country","Order");
client.setOptions(new BulkloadOptions());
client.load(xml);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
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>
*
* <code>
* InputStream is = new ByteArrayInputStream("<doc></doc><doc></doc><doc></doc>".getBytes());
* </code>
*
* <p>
* This method blocks until all documents in <code>xmlDocuments</code> are read. For non blocking use cases
* see {@link #load()}.
* </p>
*
* @param xmlDocuments A stream that contains several XML documents.
* @throws Exception Thrown in case of bulk load error
*/
public void load(InputStream xmlDocuments) throws Exception {
BulkloadClientUtil.bulkload(url,
cluster,
concept,
dataModel,
options.isValidate(),
options.isSmartpk(),
xmlDocuments,
username,
password,
universe);
}
/**
* <p>
* 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>
*
* <code>
* BulkloadClient client = ...<br/>
* InputStreamMerger is = client.load();<br/>
* for(...) {<br/>
* is.push(new ByteArrayInputStream("...".getBytes());<br/>
* }
* </code>
*
* @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,
cluster,
concept,
dataModel,
options.isValidate(),
options.isSmartpk(),
username,
password,
universe,
startedBulkloadCount);
}
}

View File

@@ -1,189 +1,131 @@
package org.talend.mdm.bulkload.client;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.InputStream;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
import org.apache.commons.httpclient.methods.PutMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
/**
* Bulkload amount items client
* @author achen
*
*/
public class BulkloadClientUtil {
/**
* @param args
*/
public static void main(String[] args)throws Exception {
if((!args[0].startsWith("http://") && args.length>0) && (args.length != 9 || args.length!=7 || args.length!=6)) {
usage();
return;
}
String url= args[0];
String username=args[1];
String password=args[2];
String cluster= args[3];
String concept= args[4];
String datamodel= args[5];
boolean validate= false;
boolean smartpk= false;
List<String> itemdata= new ArrayList<String>();
if(args.length==9) {
validate= Boolean.valueOf(args[6]);
smartpk= Boolean.valueOf(args[7]);
itemdata=getItemXmls(args[8]);
}
if(args.length==7) {
itemdata=getItemXmls(args[6]);
}
if(args.length==6) {//get itemdata from System.in
byte[] buf=new byte[System.in.available()];
System.in.read(buf);
itemdata=getItemXmls(new String(buf));
}
try {
bulkload(url,cluster, concept,datamodel, validate, smartpk, itemdata,username,password,null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static List<String> getItemXmls(String itemdata)throws Exception {
Element root=parse(itemdata).getDocumentElement();
List<String> items=new ArrayList<String>();
for(int i=0; i<root.getChildNodes().getLength(); i++) {
Node node=root.getChildNodes().item(i);
if(node.getNodeType() == Node.ELEMENT_NODE) {
items.add(nodeToString(node, true));
}
}
return items;
}
private static String nodeToString(Node n, boolean omitXMLDeclaration) throws TransformerException{
StringWriter sw = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
if (omitXMLDeclaration)
transformer.setOutputProperty("omit-xml-declaration","yes");
else
transformer.setOutputProperty("omit-xml-declaration","no");
transformer.setOutputProperty("indent","yes");
transformer.transform(
new DOMSource(n),
new StreamResult(sw)
);
if (sw==null) return null;
return sw.toString().replaceAll("\r\n", "\n");
}
private static Document parse(String xmlString) throws ParserConfigurationException,IOException, SAXException{
//parse
Document d=null;
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);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//Schema validation based on schemaURL
factory.setNamespaceAware(true);
factory.setAttribute(
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
"http://www.w3.org/2001/XMLSchema");
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
NameValuePair[] parameters = {new NameValuePair("cluster", cluster), //$NON-NLS-1$
new NameValuePair("concept", concept), //$NON-NLS-1$
new NameValuePair("datamodel", datamodel), //$NON-NLS-1$
new NameValuePair("validate", String.valueOf(validate)), //$NON-NLS-1$
new NameValuePair("action", "load"), //$NON-NLS-1$ //$NON-NLS-2$
new NameValuePair("smartpk", String.valueOf(smartpk))}; //$NON-NLS-1$
d = builder.parse(new InputSource(new StringReader(xmlString)));
HttpClient client = new HttpClient();
String user = universe == null || universe.trim().length() == 0 ? username : universe + "/" + username; //$NON-NLS-1$
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(user, password));
HttpClientParams clientParams = client.getParams();
clientParams.setAuthenticationPreemptive(true);
clientParams.setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
return d;
}
private static void usage() {
String usage="Usage:\n"+
"\t java -jar bulkloadclient.jar <url> <username> <password> <datacontainer> <concept> <datamodel> [validate] [smartpk] [itemdata] \n"+
"\t example1: java -jar bulkloadclient.jar http://localhost:8080/datamanager/loadServlet admin talend Order Country Order <itemdata><Country><isoCode>zh</isoCode><label>china</label><Continent>Asia</Continent></Country></itemdata>"+
"\t example2(on linux): cat myfile.xml|java -jar bulkloadclient.jar http://localhost:8080/datamanager/loadServlet admin talend Order Country Order";
System.out.println(usage);
}
public static boolean bulkload(String URL, String cluster,String concept,String datamodel, boolean validate, boolean smartpk, List<String> itemdata,
String username, String password,String universe) throws Exception {
HttpClient client = new HttpClient();
HttpClientParams params = new HttpClientParams();
// params.setSoTimeout(1000);
// params.setConnectionManagerTimeout(200);
client.setParams(params);
String user=universe==null||universe.trim().length()==0?username:universe+"/"+username;
client.getState().setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(user, password));
PutMethod putMethod = new PutMethod();
// This setPath call is *really* important (if not set, request will be sent to the JBoss root '/')
putMethod.setPath(url);
String responseBody;
try {
// Configuration
putMethod.setRequestHeader("Content-Type", "text/xml; charset=utf8"); //$NON-NLS-1$ //$NON-NLS-2$
putMethod.setQueryString(parameters);
putMethod.setContentChunked(true);
// Set the content of the PUT request
putMethod.setRequestEntity(new InputStreamRequestEntity(itemdata));
URI uri = new URI(URL, false, "utf-8");
HostConfiguration config = new HostConfiguration();
config.setHost(uri);
client.executeMethod(config, putMethod);
responseBody = putMethod.getResponseBodyAsString();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
putMethod.releaseConnection();
}
PostMethod postMethod = new PostMethod(URL);
HttpMethodParams reqParams = postMethod.getParams();
reqParams.setContentCharset("UTF-8");
List<NameValuePair> list=new ArrayList<NameValuePair>();
NameValuePair[] data = { new NameValuePair("cluster", cluster),
new NameValuePair("concept", concept),
new NameValuePair("datamodel", datamodel),
new NameValuePair("validate", String.valueOf(validate)),
new NameValuePair("smartpk", String.valueOf(smartpk))};
list.addAll(Arrays.asList(data));
for(int i=0; i<itemdata.size(); i++) {
list.add(new NameValuePair("itemdata"+i, itemdata.get(i)));
}
postMethod.setRequestBody((NameValuePair[])list.toArray(new NameValuePair[list.size()]));
// post method
int statusCode = 0;
try {
statusCode = client.executeMethod(config,postMethod);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int statusCode = putMethod.getStatusCode();
if (statusCode >= 400) {
throw new BulkloadException(responseBody);
}
}
if (statusCode >= 400)
return false;
String str = "";
try {
str = postMethod.getResponseBodyAsString();
} catch (IOException e) {
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();
}
System.out.println(str);
Runnable loadRunnable = new AsyncLoadRunnable(url, cluster, concept, dataModel, validate, smartPK, merger, username, password, universe, startedBulkloadCount);
Thread loadThread = new Thread(loadRunnable);
loadThread.start();
postMethod.releaseConnection();
return true;
}
return merger;
}
private static class AsyncLoadRunnable implements Runnable {
private final String url;
private final String cluster;
private final String concept;
private final String dataModel;
private final boolean validate;
private final boolean smartPK;
private final InputStreamMerger inputStream;
private final String userName;
private final String password;
private final String universe;
private final AtomicInteger startedBulkloadCount;
public AsyncLoadRunnable(String url, String cluster, String concept, String dataModel, boolean validate, boolean smartPK, InputStreamMerger inputStream, String userName, String password, String universe, AtomicInteger startedBulkloadCount) {
this.url = url;
this.cluster = cluster;
this.concept = concept;
this.dataModel = dataModel;
this.validate = validate;
this.smartPK = smartPK;
this.inputStream = inputStream;
this.userName = userName;
this.password = password;
this.universe = universe;
this.startedBulkloadCount = startedBulkloadCount;
}
public void run() {
try {
startedBulkloadCount.incrementAndGet();
bulkload(url, cluster, concept, dataModel, validate, smartPK, inputStream, userName, password, universe);
} catch (Throwable e) {
inputStream.reportFailure(e);
} finally {
startedBulkloadCount.decrementAndGet();
synchronized (startedBulkloadCount) {
startedBulkloadCount.notifyAll();
}
}
}
}
}

View File

@@ -0,0 +1,52 @@
/*
* 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.mdm.bulkload.client;
import java.io.PrintStream;
import java.io.PrintWriter;
/**
*
*/
public class BulkloadException extends RuntimeException {
private static final String SERVER_EXCEPTION_SEPARATOR = "== SERVER EXCEPTION ==";
private static final String LINE_SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
private final String serverException;
public BulkloadException(String serverException) {
super("An exception happened during bulk load on MDM server.");
this.serverException = serverException;
}
public String getServerException() {
return serverException;
}
@Override
public void printStackTrace(PrintStream s) {
super.printStackTrace(s);
s.append(LINE_SEPARATOR);
s.append(SERVER_EXCEPTION_SEPARATOR);
s.append(LINE_SEPARATOR);
s.append(serverException);
}
@Override
public void printStackTrace(PrintWriter s) {
super.printStackTrace(s);
s.println(SERVER_EXCEPTION_SEPARATOR);
s.println(serverException);
}
}

View File

@@ -0,0 +1,191 @@
/*
* 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.mdm.bulkload.client;
import java.io.IOException;
import java.io.InputStream;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
*/
public class InputStreamMerger extends InputStream {
private static final Logger log = Logger.getLogger(InputStreamMerger.class.getName());
private final Queue<InputStream> inputStreamBuffer = new ConcurrentLinkedQueue<InputStream>();
private final Object readLock = new Object();
private final Object exhaustLock = new Object();
private boolean isClosed;
private InputStream currentStream;
private boolean hasFinishedRead;
private Throwable lastFailure;
public void push(InputStream inputStream) throws IOException {
if (inputStream == null) {
throw new IllegalArgumentException("Input stream can not be null.");
}
if (isClosed) {
throw new IOException("Stream is closed");
}
inputStreamBuffer.add(inputStream);
debug("Added a new input stream (buffer now has " + inputStreamBuffer.size() + " streams)");
}
public void reportFailure(Throwable e) {
debug("Exception occurred in consumer thread: " + e.getMessage());
lastFailure = e;
synchronized (exhaustLock) {
exhaustLock.notifyAll();
}
}
@Override
public int available() throws IOException {
return 4096;
}
@Override
public boolean markSupported() {
return false;
}
/**
* <p> Read block the current thread until data is pushed to this stream (using {@link #push(java.io.InputStream)}
* or if {@link #close()} is called. </p>
*
* @return the next byte of data, or <code>-1</code> if the end of the stream is reached <b>or</b> if stream is
* closed.
* @throws IOException
* @see java.io.InputStream#read()
*/
@Override
public int read() throws IOException {
int read = -1;
if (currentStream != null) {
read = currentStream.read();
} else {
moveToNextInputStream();
if (currentStream != null) {
read = currentStream.read();
}
}
if (read < 0) {
moveToNextInputStream();
if (currentStream != null) {
read = currentStream.read();
}
}
if (read < 0) {
synchronized (exhaustLock) {
debug("Notify exhaust lock");
exhaustLock.notifyAll();
}
}
// Throw any exception that might have occurred during last record processing.
throwLastFailure();
return read;
}
private void throwLastFailure() throws IOException {
if (lastFailure != null) {
debug("Report last failure exception to producer.");
throw new IOException("An exception occurred while processing last record.", lastFailure);
}
}
private void moveToNextInputStream() throws IOException {
// Throw any exception that might have occurred during previous records
throwLastFailure();
// Check the isClosed flag in case we've got waken up by a close()
while (inputStreamBuffer.isEmpty() && !isClosed) {
synchronized (readLock) {
try {
debug("Wait for more input...");
readLock.wait();
debug("Wait for more input done.");
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
if (!inputStreamBuffer.isEmpty()) {
if (currentStream != null) {
currentStream.close();
}
currentStream = inputStreamBuffer.poll();
} else {
currentStream = null;
hasFinishedRead = true;
}
debug("Remaining buffers : " + inputStreamBuffer.size());
}
/**
* <p> Close this stream and perform some checks: <ul> <li>Mark this stream as closed (no more calls to {@link
* #push(java.io.InputStream)} are allowed)</li> <li>Closes any remaining stream pushed to this stream</li> </ul>
* </p> <p> Calling this method wakes up any thread blocked on {@link #read()} </p> <p> Wait till all streams pushed
* to this stream (and stored in <code>inputStreamBuffer</code>) are processed by a reader. </p> <p> When this
* method exits, the buffer is empty and the last stream in buffer is fully read (i.e. until read() returns -1).
* </p>
*
* @throws IOException In case at least one stream in buffer hasn't been read.
* @see java.io.InputStream#close()
*/
@Override
public void close() throws IOException {
super.close();
isClosed = true;
synchronized (readLock) {
readLock.notifyAll();
}
debug("Input stream buffer size: " + +inputStreamBuffer.size());
debug("Has finished read: " + hasFinishedRead);
debug("Stop condition: " + (!inputStreamBuffer.isEmpty() && !hasFinishedRead));
while (!inputStreamBuffer.isEmpty() && !hasFinishedRead) {
try {
debug("Waiting for exhaust... (" + inputStreamBuffer.size() + " remaining)");
synchronized (exhaustLock) {
exhaustLock.wait();
}
// In case we got woken up due to a failure
throwLastFailure();
debug("Waiting for exhaust done.");
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
// In case failure happened on very last read.
throwLastFailure();
debug("Close completed.");
}
private static void debug(String message) {
Level debugLevel = Level.FINEST;
if (log.isLoggable(debugLevel)) {
log.log(debugLevel, "[" + Thread.currentThread() + "] " + message);
}
}
public Throwable getLastReportedFailure() {
return lastFailure;
}
}

View File

@@ -15,8 +15,8 @@
<pathelement location="${component.plugin.home}/tFileInputXML/dom4j-1.6.1.jar" />
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/geronimo-stax-api_1.0_spec-1.0.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/log4j-1.2.15.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-3.8-20120326.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20120326.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-3.8-20120913_modified_talend.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20121127_modified_talend.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-schemas-3.8-20120326.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-scratchpad-3.8-20120326.jar" />
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/xmlbeans-2.3.0.jar" />

View File

@@ -27,30 +27,41 @@ public class DefaultTalendSheetContentsHandler implements TalendXSSFSheetXMLHand
private boolean stop = false;
private int currentColumnIndex = -1;
private int lastColumnIndex = -1;
public DefaultTalendSheetContentsHandler(DataBufferCache cache) {
this.cache = cache;
}
@Override
public void startRow(int rowNum) {
row = new ArrayList<String>();
}
@Override
public void endRow() {
cache.writeData(row);
row = null;
// when each row end ,reset lastColumnIndex
lastColumnIndex = -1;
if (stop) {
throw new EnoughDataException("Get enough data,now stop the xml parse action");
}
}
@Override
public void cell(String cellReference, String formattedValue) {
checkHasNullValue(cellReference);
row.add(formattedValue);
}
@Override
public void headerFooter(String text, boolean isHeader, String tagName) {
}
@Override
public void endSheet() {
}
@@ -59,4 +70,40 @@ public class DefaultTalendSheetContentsHandler implements TalendXSSFSheetXMLHand
this.stop = true;
}
/**
* when currentCellReferecnce is "A1" ,and next currentCellReferecnce is "C1",we need add a null value for "B1"
*/
private void checkHasNullValue(String cellReference) {
currentColumnIndex = getIndexOfColumn(cellReference);
// Might be the empty string.
for (int i = lastColumnIndex; i < currentColumnIndex - 1; i++) {
row.add(null);
}
// Update column
if (currentColumnIndex > -1) {
lastColumnIndex = currentColumnIndex;
}
}
/**
* get index of column,like "AB12" return 27
*/
private int getIndexOfColumn(String cellReference) {
int columnIndex = -1;
// get First Digit index ,like cellReferecnce is "AA13" ,firstDigitIndex return 2
int firstDigitIndex = -1;
for (int c = 0; c < cellReference.length(); ++c) {
if (Character.isDigit(cellReference.charAt(c))) {
firstDigitIndex = c;
break;
}
}
// get String part for cellReference,like "AB2" ,return "AB"
String cellStringPart = cellReference.substring(0, firstDigitIndex);
for (int i = 0; i < cellStringPart.length(); ++i) {
int c = cellStringPart.charAt(i);
columnIndex = (columnIndex + 1) * 26 + c - 'A';
}
return columnIndex;
}
}

View File

@@ -1412,8 +1412,7 @@ public class MktowsApiSoapBindingStub extends org.apache.axis.client.Stub implem
public void addMarketoAuthenticatioNHeader(org.apache.axis.client.Call _call) throws Exception {
// Request timestamp: a timestamp string in W3C WSDL date format
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
String requestTimestamp = df.format(Calendar.getInstance().getTime());
String requestTimestamp = formatAsW3C(Calendar.getInstance().getTime());
// System.out.println(requestTimestamp);
String stringToEncrypt = requestTimestamp + clientAccessID;
@@ -1435,6 +1434,13 @@ public class MktowsApiSoapBindingStub extends org.apache.axis.client.Stub implem
// System.out.println(authenticationHeader.getAsString());
_call.addHeader(authenticationHeader);
}
public String formatAsW3C(java.util.Date dt) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String text = df.format(dt);
String w3cValue = text.substring(0, 22) + ":" + text.substring(22);
return w3cValue;
}
public com.marketo.www.mktows.SuccessGetLeadActivity getLeadActivity(com.marketo.www.mktows.ParamsGetLeadActivity paramsGetLeadActivity) throws java.rmi.RemoteException {
if (super.cachedEndpoint == null) {

View File

@@ -16,7 +16,7 @@
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/geronimo-stax-api_1.0_spec-1.0.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/log4j-1.2.15.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-3.8-20120913_modified_talend.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20120326.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20121127_modified_talend.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-schemas-3.8-20120326.jar" />
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-scratchpad-3.8-20120326.jar" />
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/xmlbeans-2.3.0.jar" />

View File

@@ -3,6 +3,8 @@ package org.talend.designer.components.hashfile.common;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import org.talend.designer.components.hashfile.memory.AdvancedMemoryHashFile;
public class MapHashFile {
@@ -39,4 +41,29 @@ public class MapHashFile {
public Map<String, String> getKeyMap() {
return keyMap;
}
public void clearCache(String key){
clearChildCache(getRootCache(key));
}
public void clearChildCache(String root){
Set<String> set = keyMap.keySet();
synchronized(keyMap) {
Iterator<String> it = set.iterator();
while(it.hasNext()){
String key = it.next();
if(keyMap.get(key).equals(root)){
this.resourceMap.remove(key);
clearChildCache(key);
}
}
}
this.resourceMap.remove(root);
}
public String getRootCache(String cache){
String root;
while((root = keyMap.get(cache))!=null){
cache=root;
}
return cache;
}
}

View File

@@ -12,6 +12,7 @@
// ============================================================================
package org.talend.designer.components.hashfile.memory;
import java.util.Collections;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -34,9 +35,9 @@ public class AdvancedMemoryHashFile<V> {
public AdvancedMemoryHashFile(MATCHING_MODE matchingMode) {
this.matchingMode = matchingMode;
if (matchingMode == MATCHING_MODE.KEEP_ALL) {
allList = new ArrayList<V>();
allList = Collections.synchronizedList(new ArrayList<V>());
} else if (matchingMode == MATCHING_MODE.KEEP_FIRST) {
firstHash = new HashMap<V, V>();
firstHash = Collections.synchronizedMap(new HashMap<V, V>());
}
}

View File

@@ -63,7 +63,7 @@ bin.excludes = components/tBonitaDeploy/,\
components/tMSSqlInput/jtds-1.2.5.jar,\
components/tMicrosoftMQInput/msmq.jar,\
components/tMysqlInput/mysql-connector-java-3.1.14-bin.jar,\
components/tAmazonMysqlInput/mysql-connector-java-5.1.0-bin.jar,\
components/tAmazonMysqlInput/mysql-connector-java-5.1.22-bin.jar,\
components/tAmazonMysqlInput/mysql-connector-java-5.1.0-bin.jar,\
components/tGreenplumGPLoad/namedpipe_jni.dll,\
components/tNamedPipeOutput/namedpipe_jni.dll,\

View File

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

View File

@@ -7,9 +7,7 @@ imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
java.util.List
java.util.Map"
%>

View File

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

View File

@@ -1,7 +1,6 @@
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
"
%>

View File

@@ -4,9 +4,6 @@ imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.core.model.process.IConnection
@@ -14,7 +11,6 @@ imports="
java.util.ArrayList
java.util.Map
java.util.HashMap
java.util.LinkedList
"
skeleton="../templates/db_output_bulk.skeleton"
%>

View File

@@ -4,10 +4,8 @@ imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.core.model.process.IConnectionCategory
@@ -15,7 +13,6 @@ imports="
java.util.ArrayList
java.util.Map
java.util.HashMap
java.util.LinkedList
"
skeleton="../templates/db_output_bulk.skeleton"
%>

View File

@@ -24,7 +24,7 @@ DATA_ACTION.ITEM.INSERT_OR_UPDATE=Insert ou update
DATA_ACTION.ITEM.UPDATE=UPDATE
DATA_ACTION.ITEM.UPDATE_OR_INSERT=Update ou insert
DATA_ACTION.NAME=Action sur les données
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
ENCODING.NAME=Encodage
FIELD_OPTIONS.ITEM.DELETE_KEY=Clé pour suppression
FIELD_OPTIONS.ITEM.INSERTABLE=Insérable

View File

@@ -6,5 +6,9 @@ ADD_COLS.ITEM.OPERATOR.ITEM.IS=IS
ADD_COLS.ITEM.OPERATOR.ITEM.LESS_THAN=Kleiner dan
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
COMMIT_EVERY.NAME=Commit iedere
DATA_ACTION.ITEM.DELETE=Verwijderen
DATA_ACTION.ITEM.UPDATE=Update
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1

View File

@@ -6,6 +6,5 @@ ADD_COLS.ITEM.OPERATOR.ITEM.LESS_THAN=Manje od
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
ADD_COLS.ITEM.REFCOL=Referentna kolona
ADD_COLS.ITEM.SQL=SQL izraz
DATA_ACTION.ITEM.DELETE=DELETE
DATA_ACTION.ITEM.INSERT=INSERT
DATA_ACTION.ITEM.UPDATE=UPDATE

View File

@@ -1,6 +1,6 @@
COMMIT_EVERY.NAME=Commiter toutes les
DBD-DB2.INFO=Requis
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
ENCODING.NAME=Encodage
HELP=org.talend.help.tAS400Row
HOST.NAME=Hôte

View File

@@ -1,3 +1,5 @@
COMMIT_EVERY.NAME=Commit iedere
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1

View File

@@ -4,7 +4,6 @@ imports="
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.MetadataTalendType
org.talend.core.model.metadata.MappingTypeRetriever
java.util.List

View File

@@ -1,2 +1,4 @@
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.Access_2003=Access 2003
DB_VERSION.ITEM.Access_2007=Access 2007

View File

@@ -1,2 +1,4 @@
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.Access_2003=Access 2003
DB_VERSION.ITEM.Access_2007=Access 2007

View File

@@ -7,9 +7,7 @@ imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
java.util.List
java.util.Map
"

View File

@@ -1 +1,3 @@
PASS.NAME=Wachtwoord
DB_VERSION.ITEM.Access_2003=Access 2003
DB_VERSION.ITEM.Access_2007=Access 2007

View File

@@ -3,16 +3,12 @@ imports="org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
java.util.List
java.util.ArrayList
java.util.Map
java.util.HashMap
java.util.LinkedList"
java.util.HashMap"
skeleton="../templates/db_output_bulk.skeleton"
%>

View File

@@ -4,10 +4,8 @@ imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.core.model.process.IConnectionCategory
@@ -15,7 +13,6 @@ imports="
java.util.ArrayList
java.util.Map
java.util.HashMap
java.util.LinkedList
"
skeleton="../templates/db_output_bulk.skeleton"
%>

View File

@@ -15,7 +15,7 @@ DATA_ACTION.ITEM.INSERT_OR_UPDATE=Insert ou update
DATA_ACTION.ITEM.UPDATE=UPDATE
DATA_ACTION.ITEM.UPDATE_OR_INSERT=Update ou insert
DATA_ACTION.NAME=Action sur les données
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
ENCODING.NAME=Encodage
HELP=org.talend.help.tAccessOutput
LONG_NAME=Insère ou met à jour des lignes dans une table Access.

View File

@@ -1,5 +1,7 @@
ADD_COLS.ITEM.NAME=Naam
COMMIT_EVERY.NAME=Commit iedere
DATA_ACTION.ITEM.DELETE=Verwijderen
DATA_ACTION.ITEM.UPDATE=Update
PASS.NAME=Wachtwoord
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
ADD_COLS.ITEM.OPERATOR.ITEM.LESS_THAN=Kleiner dan
@@ -7,3 +9,5 @@ ADD_COLS.ITEM.OPERATOR.ITEM.LESS_EQUAL_THAN=Kleiner dan
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_THAN=Groter dan of gelijk aan
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_EQUAL_THAN=Groter dan of gelijk aan
ADD_COLS.ITEM.OPERATOR.ITEM.IS=IS
DB_VERSION.ITEM.Access_2003=Access 2003
DB_VERSION.ITEM.Access_2007=Access 2007

View File

@@ -1,6 +1,5 @@
ADD_COLS.ITEM.REFCOL=Referentna kolona
ADD_COLS.ITEM.SQL=SQL izraz
DATA_ACTION.ITEM.DELETE=DELETE
DATA_ACTION.ITEM.INSERT=INSERT
DATA_ACTION.ITEM.UPDATE=UPDATE
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>

View File

@@ -1,5 +1,6 @@
APPEND.NAME=Ecrire après
ENCODING.NAME=Encodage
FILENAME.NAME=Nom de fichier
HELP=org.talend.help.tAccessOutputBulk
INCLUDEHEADER.NAME=Inclure l'en-tête
LONG_NAME=Ecrit un fichier préparé pour chargement de masse Access

View File

@@ -1,6 +1,7 @@
APPEND.NAME=Ecrire après
DBNAME.NAME=Nom de la base de données
DB_SCHEMA.NAME=Schéma
FILENAME.NAME=Nom de fichier
HELP=org.talend.help.tAccessOutputBulkExec
INCLUDEHEADER.NAME=Inclure l'en-tête
LONG_NAME=Construit un fichier de masse au format Access, et demande à la base de données de charger ce fichier
@@ -31,3 +32,4 @@ CREATE.NAME=Cr
PROPERTIES.NAME=Paramètres JDBC supplémentaires
USE_EXISTING_CONNECTION.NAME=Utiliser une connexion existante
USE_FIELDS_ENCLOSURE.NAME=Utiliser l'entourage du texte
FIELDS_ENCLOSURE.NAME=Entourage du champ

View File

@@ -1,3 +1,5 @@
APPEND.NAME=Toevoegen
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.Access_2003=Access 2003
DB_VERSION.ITEM.Access_2007=Access 2007

View File

@@ -1,6 +1,6 @@
COMMIT_EVERY.NAME=Commiter toutes les
TABLE.NAME=Nom de la table
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
ENCODING.NAME=Encodage
HELP=org.talend.help.tAccessRow
LONG_NAME=Exécute une requête SQL à chaque itération de flux Talend

View File

@@ -1,2 +1,4 @@
COMMIT_EVERY.NAME=Commit iedere
PASS.NAME=Wachtwoord
DB_VERSION.ITEM.Access_2003=Access 2003
DB_VERSION.ITEM.Access_2007=Access 2007

View File

@@ -1,10 +1,7 @@
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.designer.codegen.config.CodeGeneratorArgument
java.util.List
"
%>

View File

@@ -1,7 +1,6 @@
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
"
%>

View File

@@ -0,0 +1,3 @@
LOCATION_TYPE_CODE2.NAME=Land code 2 letters
LOCATION_TYPE_CODE3.NAME=Land code 3 letters
LOCATION_TYPE_CODE.NAME=Land code

View File

@@ -0,0 +1,583 @@
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.metadata.IMetadataTable
java.util.List
java.util.Map
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.IMetadataColumn
java.util.ArrayList
java.util.LinkedList
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.utils.NodeUtil
"
%>
<%
//XMLTool
class XMLTool{
public boolean advancedSeparator = false;
public String thousandsSeparator = null;
public String decimalSeparator =null;
public String connName = null;
public String cid = null;
public void getValue(XMLNode node){
%>
valueMap_<%=cid%>.get("<%=node.relatedColumn.getLabel()%>")
<%
}
public void getValue(IMetadataColumn column){
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
String defaultValue=column.getDefault();
boolean isNotSetDefault = false;
if(defaultValue!=null){
isNotSetDefault = defaultValue.length()==0;
}else{
isNotSetDefault=true;
}
%>
(
<%
if(column.isNullable()){
%>
<%=connName%>.<%=column.getLabel()%> != null?
<%
}
if(advancedSeparator && JavaTypesManager.isNumberType(javaType, column.isNullable())) {
if(javaType == JavaTypesManager.BIGDECIMAL) {
%>
FormatterUtils.format_Number(String.valueOf(<%=column.getPrecision() == null? connName + "." + column.getLabel() : connName + "." + column.getLabel() + ".setScale(" + column.getPrecision() + ", java.math.RoundingMode.HALF_UP)" %>), <%= thousandsSeparator%>,<%=decimalSeparator %>)
<%
} else {
%>
FormatterUtils.format_Number(String.valueOf(<%=connName%>.<%=column.getLabel()%>), <%= thousandsSeparator %>,<%=decimalSeparator %>)
<%
}
} else if(JavaTypesManager.isJavaPrimitiveType( column.getTalendType(), column.isNullable())){
%>
String.valueOf(<%=connName%>.<%=column.getLabel()%>)
<%
}else if(javaType == JavaTypesManager.DATE){
if( column.getPattern() != null && column.getPattern().trim().length() != 0 ){
%>
FormatterUtils.format_Date(<%=connName%>.<%=column.getLabel()%>,<%=column.getPattern()%>)
<%
}else{
%>
<%=connName%>.<%=column.getLabel()%>
<%
}
}else if (javaType == JavaTypesManager.BIGDECIMAL) {
%>
String.valueOf(<%=column.getPrecision() == null? connName + "." + column.getLabel() : connName + "." + column.getLabel() + ".setScale(" + column.getPrecision() + ", java.math.RoundingMode.HALF_UP)" %>)
<%
}else{
%>
<%=connName%>.<%=column.getLabel()%>.toString()
<%
}
if(column.isNullable()){
%>:<%
if(isNotSetDefault == false){
%><%=column.getDefault()%><%
}else{
%>null<%
}
}
%>
)
<%
}
}
// ------------------- *** Dom4j generation mode start *** ------------------- //
class GenerateToolByDom4j{
String cid = null;
boolean allowEmpty = false;
boolean bAddEmptyAttr = false, bAddUnmappedAttr = false;
boolean outputAsXSD = false;
XMLTool tool = null;
boolean isAppend = false;
public void generateCode(XMLNode node, String currEleName, String parentName){
if(("ELEMENT").equals(node.type)){
createElement(currEleName,node,parentName);
setText(currEleName,node);
for(XMLNode ns:node.namespaces){
addNameSpace(currEleName,ns);
}
for(XMLNode attri:node.attributes){
addAttribute(currEleName,attri);
}
if(node.name.indexOf(":")>0){
%>
<%=currEleName%>_<%=cid%>.setName("<%=node.name%>");
<%
}
int index = 0;
for(XMLNode child:node.elements){
if(0==(child.special & 1)){
generateCode(child,currEleName+"_"+index++,currEleName);
}
}
if(node.relatedColumn != null && (node.special & 2)==0 && (node.special & 1)==0){
if(isAppend && !outputAsXSD && !allowEmpty){
%>
if (<%=currEleName%>_<%=cid%>.content().size() == 0
&& <%=currEleName%>_<%=cid%>.attributes().size() == 0
&& <%=currEleName%>_<%=cid%>.declaredNamespaces().size() == 0) {
<%=parentName%>_<%=cid%>.remove(<%=currEleName%>_<%=cid%>);
}
<%
}
}
}
}
private void createElement(String currEleName, XMLNode node, String parentName){
int index = node.name.indexOf(":");
if(5==(node.special & 5)){
int currPos = node.getCurrGroupPos();
if(index>0 && node.parent!=null){
%>
org.dom4j.Element <%=currEleName%>_<%=cid%>;
if (<%=parentName%>_<%=cid%>.getNamespaceForPrefix("<%=node.name.substring(0,index)%>") == null) {
<%=currEleName%>_<%=cid%> = org.dom4j.DocumentHelper.createElement("<%=node.name.substring(index+1)%>");
} else {
<%=currEleName%>_<%=cid%> = org.dom4j.DocumentHelper.createElement("<%=node.name%>");
}
<%
}else{
%>
org.dom4j.Element <%=currEleName%>_<%=cid%> = org.dom4j.DocumentHelper.createElement("<%=node.name%>");
<%
}
if(isAppend){
%>
int app_size_<%=cid %>=<%=parentName%>_<%=cid%>.elements("<%=node.name%>").size();
if(app_size_<%=cid %> > 0){
orders_<%=cid %>[<%=currPos %>] =1+ <%=parentName%>_<%=cid%>.elements().indexOf(<%=parentName%>_<%=cid%>.elements("<%=node.name%>").get(app_size_<%=cid %>-1));
}else{
<%
if(currPos==0){
%>
orders_<%=cid %>[<%=currPos %>] = <%=parentName%>_<%=cid%>.elements().size();
<%
}else{
%>
orders_<%=cid %>[<%=currPos %>] = <%=node.getNodeInsertIndex() %>;
if(orders_<%=cid %>[<%=currPos %>] == 0 && <%=parentName%>_<%=cid%>.elements().size() != 0 && !bl_<%=cid%>) {
orders_<%=cid %>[<%=currPos %>] = <%=parentName%>_<%=cid%>.elements().size();
}
<%
}
%>
}
<%=parentName%>_<%=cid%>.elements().add(orders_<%=cid %>[<%=currPos %>],<%=currEleName%>_<%=cid%>);
<%
}else{
%>
if(orders_<%=cid %>[<%=currPos %>]==0){
orders_<%=cid %>[<%=currPos %>] = <%=node.getNodeInsertIndex() %>;
}
if(<%=currPos +1 %> < orders_<%=cid %>.length){
orders_<%=cid %>[<%=currPos +1 %>] = 0;
}
<%=parentName%>_<%=cid%>.elements().add(orders_<%=cid %>[<%=currPos %>]++,<%=currEleName%>_<%=cid%>);
<%
}
}else{
if(index>0 && node.parent!=null){
%>
org.dom4j.Element <%=currEleName%>_<%=cid%>;
if (<%=parentName%>_<%=cid%>.getNamespaceForPrefix("<%=node.name.substring(0,index)%>") == null) {
<%=currEleName%>_<%=cid%> = <%=parentName%>_<%=cid%>.addElement("<%=node.name.substring(index+1)%>");
} else {
<%=currEleName%>_<%=cid%> = <%=parentName%>_<%=cid%>.addElement("<%=node.name%>");
}
<%
}else{
%>
org.dom4j.Element <%=currEleName%>_<%=cid%> = <%=parentName%>_<%=cid%>.addElement("<%=node.name%>");
<%
}
}
if(0!=(node.special & 2)){
%>
subTreeRootParent_<%=cid%> = <%=currEleName%>_<%=cid%>;
<%
}
}
private void setText(String currEleName, XMLNode node){
if(node.relatedColumn!=null){
JavaType javaType = JavaTypesManager.getJavaTypeFromId(node.relatedColumn.getTalendType());
if(javaType == JavaTypesManager.OBJECT){
%>
if(<%tool.getValue(node); %>!=null){
nestXMLTool_<%=cid%> .parseAndAdd(<%=currEleName%>_<%=cid%>,<%tool.getValue(node);%>);
}
<%
if(outputAsXSD){
%>
else{
nestXMLTool_<%=cid%> .parseAndAdd(<%=currEleName%>_<%=cid%>,"");
<%=currEleName%>_<%=cid%>.addAttribute("xsi:nil","true");
}
<%
}
}else{
if("id_Document".equals(node.relatedColumn.getTalendType())) {
%>
if(<%tool.getValue(node); %>!=null){
nestXMLTool_<%=cid%> .setText(<%=currEleName%>_<%=cid%>, ParserUtils.parseTo_Document(<%tool.getValue(node);%>).getDocument().getRootElement().asXML());
}
<%
} else {
%>
if(<%tool.getValue(node); %>!=null){
nestXMLTool_<%=cid%> .setText(<%=currEleName%>_<%=cid%>,<%tool.getValue(node);%>);
}
<%
}
if(outputAsXSD){
%>
else{
<%=currEleName%>_<%=cid%>.setText("");
<%=currEleName%>_<%=cid%>.addAttribute("xsi:nil","true");
}
<%
}
}
}else if(node.defaultValue != null && !("").equals(node.defaultValue) ){
%>
nestXMLTool_<%=cid %>.parseAndAdd(<%=currEleName %>_<%=cid %>,"<%=node.defaultValue %>");
<%
}
}
private void addAttribute(String currEleName, XMLNode node){
if (node.relatedColumn != null){
%>
if (<%tool.getValue(node);%> != null){
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", <%tool.getValue(node);%>);
} <% if (bAddEmptyAttr) { %> else {
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", "");
}
<%}
} else {
if (node.defaultValue != null && !("").equals(node.defaultValue) ){
%>
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", "<%=node.defaultValue %>");
<%
} else if (bAddUnmappedAttr){
%>
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", "");
<%
}
}
}
private void addNameSpace(String currEleName, XMLNode node){
if(node.relatedColumn!=null){
%>
if(<%tool.getValue(node);%>!=null){
<%=currEleName%>_<%=cid%>.addNamespace("<%=node.path%>",TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>));
<%
if(node.path ==null || node.path.length()==0){
%>
<%=currEleName%>_<%=cid%>.setQName(org.dom4j.DocumentHelper.createQName(<%=currEleName%>_<%=cid%>.getName(),
org.dom4j.DocumentHelper.createNamespace("",TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>))));
<%
}
%>
}
<%
}else if(node.defaultValue != null && !("").equals(node.defaultValue) ){
%>
<%=currEleName %>_<%=cid %>.addNamespace("<%=node.path %>",TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>"));
<%
if(node.path ==null || node.path.length()==0){
%>
<%=currEleName %>_<%=cid %>.setQName(org.dom4j.DocumentHelper.createQName(<%=currEleName %>_<%=cid %>.getName(),
org.dom4j.DocumentHelper.createNamespace("",TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>"))));
<%
}
}
}
}
//----------** add by wliu dom4j to genenrate get function for node **-------//
class GenerateExprCmpByDom4j{
// String cid = null;
XMLTool tool = null;
XMLNode groupNode = null;
boolean needEmptyNode = true;
public void generateCode(XMLNode node, String parentName){
String tmpPath = node.path.replaceFirst(groupNode.path,"");
String[] arrNames = tmpPath.split("/");
if(node==groupNode){
%>true
<%
}
if(node.relatedColumn != null){
%> && (<%
if(!needEmptyNode){
%>(<%tool.getValue(node); %>==null && <%generateCmnExpr(arrNames, parentName); %> == null) || (true &&
<% }%>
<%generateCmnExpr(arrNames, parentName); %>!=null
&& <%generateCmnExpr(arrNames, parentName); %>.getText()!=null
&& <%generateCmnExpr(arrNames, parentName); %>.getText().equals(<%tool.getValue(node); %>)
<%if(!needEmptyNode){%>)<%}%>
)
<%
}
//first generate the attribute comparision
if(node.attributes!=null){
for(XMLNode attri:node.attributes){
if(attri.relatedColumn !=null){
%> && (<%
if(!needEmptyNode){
%>(<%tool.getValue(attri); %>==null && <%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>") == null) || (true &&
<% }%>
<%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>")!=null
&& <%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>").getText()!=null
&& <%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>").getText().equals(<%tool.getValue(attri); %>)
<%
if(!needEmptyNode){%>)<%}
%>)<%
}
}
}
if(node.elements!=null){
for(XMLNode child:node.elements){
if(!child.isMainNode()){
generateCode(child,parentName);
}
}
}
}
private void generateCmnExpr(String[] arrNames, String parentName){
%>
<%=parentName %>
<%
for(int i=1;arrNames != null && i<arrNames.length; i++){
%>.element(<%=parentName%>.getQName("<%=arrNames[i]%>"))
<%
}
}
}
// ------------------- *** Dom4j generation mode end *** ------------------- //
// ------------------- *** Null generation mode start *** ------------------- //
class GenerateToolByNull{
String cid = null;
boolean allowEmpty = false;
boolean bAddEmptyAttr = false, bAddUnmappedAttr = false;
boolean outputAsXSD = false;
XMLTool tool = null;
boolean isCompact = false;
public void generateCode(XMLNode node, String emptySpace){
if(("ELEMENT").equals(node.type)){
startElement(node,emptySpace);
setText(node);
XMLNode mainChild = null;
for(XMLNode child:node.elements){
if(child.isMainNode()){ //loop dosen't have a main child node
mainChild = child;
break;
}
}
for(XMLNode child:node.elements){
if(mainChild!=null && mainChild.order<=child.order){ //loop dosen't have a main child node
if(1==(node.special & 1)){ // group
%>
// buffer the start tabs to group buffer
groupBuffer_<%=cid%>[<%=node.getCurrGroupPos()%>] = buf_<%=cid%>.toString();
buf_<%=cid%> = new StringBuffer();
<%
}else{// root
int num = node.path.split("/").length-2;
if(!outputAsXSD && !allowEmpty){
%>
startTabs_<%=cid%>[<%=num%>] = buf_<%=cid%>.toString();
buf_<%=cid%> = new StringBuffer();
<%
}else{
%>
out_<%=cid%>.write(buf_<%=cid%>.toString());
buf_<%=cid%> = new StringBuffer();
<%
}
}
mainChild = null;
}
if(!child.isMainNode()){ //make the main node output last
if(!outputAsXSD && !allowEmpty
&& (child.relatedColumn != null || child.childrenColumnList.size()>0
|| child.hasDefaultValue == true ) ){
%>
if( false
<%
for(IMetadataColumn column : child.childrenColumnList){
%> || valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null<%
}
if(child.hasDefaultValue == true){%> || true
<%}%>
){
<%
if(isCompact==false)
generateCode(child,emptySpace+" ");
else
generateCode(child,emptySpace);
%>
}
<%
}else{
if(isCompact==false)
generateCode(child,emptySpace+" ");
else
generateCode(child,emptySpace);
}
}
}
if(!node.isMainNode()){ // is not main node
endElement(node,emptySpace);
}
}
}
private void startElement(XMLNode node, String emptySpace){
%>
buf_<%=cid%>.append("<%=isCompact?"":"\\n"%>");
buf_<%=cid%>.append("<%=emptySpace%><<%=node.name%>");
<%
if(outputAsXSD && node.parent==null){
%>
buf_<%=cid%>.append(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
buf_<%=cid%>.append(" xsi:noNamespaceSchemaLocation= \""+ file_<%=cid%>.substring(file_<%=cid%>.lastIndexOf("/")+1)+".xsd"+"\"");
<%
}
for(XMLNode ns:node.namespaces){
addNameSpace(ns);
}
for(XMLNode attri:node.attributes){
addAttribute(attri);
}
if(outputAsXSD && node.relatedColumn != null){
%>
if(<%tool.getValue(node); %> == null){
buf_<%=cid%>.append(" xsi:nil=\"true\"");
}
<%
}
%>
buf_<%=cid%>.append(">");
<%
}
public void endElement(XMLNode node, String emptySpace){
if(node.elements.size()>0){
%>
buf_<%=cid%>.append("<%=isCompact?"":"\\n"%>");
buf_<%=cid%>.append("<%=emptySpace%></<%=node.name%>>");
<%
}else{
%>
buf_<%=cid%>.append("</<%=node.name%>>");
<%
}
}
private void setText(XMLNode node){
if(node.relatedColumn!=null){
JavaType javaType = JavaTypesManager.getJavaTypeFromId(node.relatedColumn.getTalendType());
if(javaType == JavaTypesManager.OBJECT){
%>
if(<%tool.getValue(node);%>!=null){
if(routines.system.XMLHelper.getInstance().isValid(<%tool.getValue(node);%>)){
buf_<%=cid%>.append(<%tool.getValue(node);%>);
} else {
buf_<%=cid%>.append(TalendString.checkCDATAForXML(<%tool.getValue(node);%>));
}
}
<%
}else{
%>
if(<%tool.getValue(node);%>!=null){
buf_<%=cid%>.append(TalendString.checkCDATAForXML(<%tool.getValue(node);%>));
}
<%
}
}else if(node.defaultValue !=null && !("").equals(node.defaultValue) ){
%>
if(routines.system.XMLHelper.getInstance().isValid("<%=node.defaultValue %>")){
buf_<%=cid %>.append("<%=node.defaultValue %>");
} else {
buf_<%=cid %>.append(TalendString.checkCDATAForXML("<%=node.defaultValue %>"));
}
<%
}
}
private void addAttribute(XMLNode node){
if (node.relatedColumn != null){
%>
if (<%tool.getValue(node); %>!=null){
buf_<%=cid%>.append(" <%=node.path%>=\""+TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>)+"\"");
} <% if (bAddEmptyAttr){%> else{
buf_<%=cid%>.append(" <%=node.path%>=\"\"");
}
<%}
} else {
if (node.defaultValue != null && !("").equals(node.defaultValue)){
%>
buf_<%=cid%>.append(" <%=node.path%>=\""+TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>")+"\"");
<%
} else if (bAddUnmappedAttr){
%>
buf_<%=cid%>.append(" <%=node.path%>=\"\"");
<%
}
}
}
private void addNameSpace(XMLNode node){
if(node.relatedColumn!=null){
%>
if(<%tool.getValue(node);%>!=null){
<%
if(node.path ==null || node.path.length()==0){
%>
buf_<%=cid%>.append(" xmlns=\""+TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>)+"\"");
<%
}else{
%>
buf_<%=cid%>.append(" xmlns:<%=node.path%>=\""+TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>)+"\"");
<%
}
%>
}
<%
}else if(node.defaultValue !=null && !("").equals(node.defaultValue) ){
if(node.path ==null || node.path.length()==0){
%>
buf_<%=cid%>.append(" xmlns=\""+TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>")+"\"");
<%
}else{
%>
buf_<%=cid%>.append(" xmlns:<%=node.path%>=\""+TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>")+"\"");
<%
}
}
}
}
// ------------------- *** Null generation mode end *** ------------------- //
%>

View File

@@ -8,7 +8,14 @@
java.util.Map
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.IMetadataColumn
java.util.ArrayList
java.util.LinkedList
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.utils.NodeUtil
"
skeleton="tAdvancedFileOutputXML_java.skeleton"
%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
@@ -18,6 +25,11 @@ String cid_original = cid;
cid = cid_original.replace("tAdvancedFileOutputXML","tAFOX");
List< ? extends IConnection> conns = node.getIncomingConnections();
%>
<%@ include file="tAdvancedFileOutputXML_begin.inc.javajet"%>
<%
if (conns == null || conns.isEmpty()) {
return "";
} else {
@@ -60,7 +72,7 @@ if ((metadatas != null) && (metadatas.size() > 0)) {
%>
int nb_line_<%=cid%> = 0;
<%if (isMerge == true) {%>
<%if (isMerge) {%>
boolean needRoot_<%=cid%> = false;
<%} else {%>
boolean needRoot_<%=cid%> = true;
@@ -85,7 +97,7 @@ if ((metadatas != null) && (metadatas.size() > 0)) {
}
<%}
if (isMerge==true) {
if (isMerge) {
%>
if (!createFile<%=cid%>.exists() || (createFile<%=cid %>.isFile() && createFile<%=cid %>.length() < 1)) {
needRoot_<%=cid %> = true;
@@ -198,7 +210,7 @@ if ((metadatas != null) && (metadatas.size() > 0)) {
org.dom4j.Element root4Group_<%=cid%> = null;
org.dom4j.Document doc_<%=cid %>=null;
<%if (!useStream && isMerge == true) {//append mode and the code of file path%>
<%if (!useStream && isMerge) {//append mode and the code of file path%>
if (needRoot_<%=cid %> == false) {
try {
org.dom4j.io.SAXReader saxReader_<%=cid %>= new org.dom4j.io.SAXReader();
@@ -320,6 +332,345 @@ if ((metadatas != null) && (metadatas.size() > 0)) {
}
}
}
if(conns!=null && conns.size()>0){
IConnection conn = conns.get(0);
if(conn.getLineStyle().hasConnectionCategory(IConnectionCategory.DATA)){
String allowEmpty = ElementParameterParser.getValue(node, "__CREATE_EMPTY_ELEMENT__");
String advancedSeparatorStr = ElementParameterParser.getValue(node, "__ADVANCED_SEPARATOR__");
boolean advancedSeparator = (advancedSeparatorStr!=null&&!("").equals(advancedSeparatorStr))?("true").equals(advancedSeparatorStr):false;
String thousandsSeparator = ElementParameterParser.getValueWithJavaType(node, "__THOUSANDS_SEPARATOR__", JavaTypesManager.CHARACTER);
String decimalSeparator = ElementParameterParser.getValueWithJavaType(node, "__DECIMAL_SEPARATOR__", JavaTypesManager.CHARACTER);
String outputAsXSD = ElementParameterParser.getValue(node, "__OUTPUT_AS_XSD__");
boolean bAddEmptyAttr = "true".equals(ElementParameterParser.getValue(node, "__ADD_EMPTY_ATTRIBUTE__"));
boolean bAddUnmappedAttr = "true".equals(ElementParameterParser.getValue(node, "__ADD_UNMAPPED_ATTRIBUTE__"));
int schemaOptNum=100;
String schemaOptNumStr=ElementParameterParser.getValue(node, "__SCHEMA_OPT_NUM__");
if(schemaOptNumStr!=null && !"".equals(schemaOptNumStr) && !"\"\"".equals(schemaOptNumStr)){
schemaOptNum = Integer.parseInt(schemaOptNumStr);
}
// init tool
XMLTool tool = new XMLTool();
tool.connName = NodeUtil.getPrivateConnClassName(conn);
tool.advancedSeparator=advancedSeparator;
tool.thousandsSeparator=thousandsSeparator;
tool.decimalSeparator=decimalSeparator;
tool.cid=cid;
// change tables to a tree
Object[] treeObjs = getTree(rootTable, groupTable, loopTable, metadata.getListColumns());
if(treeObjs == null || treeObjs.length == 0){
return "";
}
List<XMLNode> mainList = (ArrayList<XMLNode>)treeObjs[0];
List<XMLNode> groupList = (ArrayList<XMLNode>)treeObjs[1];
XMLNode root = mainList.get(0);
XMLNode loop = (XMLNode)treeObjs[2];
if(!("true").equals(allowEmpty)){
removeEmptyElement(root);
}
List<List<XMLNode>> groupbyNodeList = new ArrayList<List<XMLNode>>();
for(XMLNode group:groupList){
groupbyNodeList.add(getGroupByNodeList(group));
}
if(metadata.getListColumns().size()> schemaOptNum){
%>
class AdvancedXMLUtil_<%=cid%>{
<%
int colNum = 0;
for(IMetadataColumn column :metadata.getListColumns()){
if(colNum%schemaOptNum==0){
%>
public void putValue_<%=colNum/schemaOptNum%>(<%=tool.connName%>Struct <%=tool.connName%>,java.util.Map<String,String> valueMap_<%=cid%>){
<%
}
%>
valueMap_<%=cid%>.put("<%=column.getLabel()%>", <% tool.getValue(column); %>);
<%
if((colNum+1)%schemaOptNum==0){
%>
}
<%
}
colNum++;
}
if(colNum>0&&(colNum%schemaOptNum)>0){
%>
}
<%
}
if((groupTable.size()>0 && "Dom4j".equals(mode)&&(useStream || !isMerge))||("Null".equals(mode))){
for(int groupNum=0;groupNum<groupList.size();groupNum++){
XMLNode groupRootNode = groupList.get(groupNum);
int nodeNum=0;
for(int j=0;j<groupbyNodeList.get(groupNum).size();j++){
XMLNode attr = groupbyNodeList.get(groupNum).get(j);
if(attr.relatedColumn!=null){
if(nodeNum%schemaOptNum==0){
%>
public boolean getValue_<%=groupNum%>_<%=nodeNum/schemaOptNum%>(java.util.List<java.util.List<String>> groupbyList_<%=cid%>,java.util.Map<String,String> valueMap_<%=cid%>){
return false
<%
}
%>
|| ( groupbyList_<%=cid%>.get(<%=groupNum%>).get(<%=j%>)!=null
? !groupbyList_<%=cid%>.get(<%=groupNum%>).get(<%=j%>).equals(<%tool.getValue(attr);%>)
: <%tool.getValue(attr);%>!=null )
<%
if((nodeNum+1)%schemaOptNum==0){
%>
;
}
<%
}
nodeNum++;
}
}
if(nodeNum>0&&(nodeNum%schemaOptNum)>0){
%>
;
}
<%
}
for(int j=0;j<groupbyNodeList.get(groupNum).size();j++){
XMLNode attr = groupbyNodeList.get(groupNum).get(j);
if(j%schemaOptNum==0){
%>
public void setValue_<%=groupNum%>_<%=j/schemaOptNum%>(java.util.List<java.util.List<String>> groupbyList_<%=cid%>,java.util.Map<String,String> valueMap_<%=cid%>){
<%
}
%>
groupbyList_<%=cid%>.get(<%=groupNum%>).add(<%tool.getValue(attr);%>);
<%
if((j+1)%schemaOptNum==0){
%>
}
<%
}
}
if(groupbyNodeList.get(groupNum).size()>0&&(groupbyNodeList.get(groupNum).size()%schemaOptNum)>0){
%>
}
<%
}
}
}
if(("Dom4j").equals(mode)){
//init the generate tool.
GenerateToolByDom4j generateToolByDom4j = new GenerateToolByDom4j();
if(!useStream && ("true").equals(outputAsXSD)){ // add a new prerequisite:useStream to ignore generating the xsd file
generateToolByDom4j.outputAsXSD = true;
}
if(("true").equals(allowEmpty)){
generateToolByDom4j.allowEmpty = true;
}
generateToolByDom4j.bAddEmptyAttr = bAddEmptyAttr;
generateToolByDom4j.bAddUnmappedAttr = bAddUnmappedAttr;
generateToolByDom4j.cid = cid;
generateToolByDom4j.tool = tool;
if( groupTable.size()>0){
if((!useStream && isMerge)){
generateToolByDom4j.isAppend= true;
for( int i=0; i<groupList.size();i++){
XMLNode groupNode= groupList.get(i);
GenerateExprCmpByDom4j generateExprCmpByDom4j = new GenerateExprCmpByDom4j();
generateExprCmpByDom4j.tool = tool;
generateExprCmpByDom4j.groupNode = groupNode;
generateExprCmpByDom4j.needEmptyNode = ("true").equals(allowEmpty);
%>
public boolean generateCodeDom4j_FindInsertNode<%=i%>(org.dom4j.Element tempElem,java.util.Map<String,String> valueMap_<%=cid%>){
return <%generateExprCmpByDom4j.generateCode(groupNode, "tempElem"); %>;
}
public org.dom4j.Element generateCodeDom4j_UnFindInsertNode<%=i%>(NestXMLTool_<%=cid%> nestXMLTool_<%=cid%>,java.util.Map<String,String> valueMap_<%=cid%>,org.dom4j.Element subTreeRootParent_<%=cid%>,int[] orders_<%=cid %>,boolean bl_<%=cid %>){
<%
generateToolByDom4j.generateCode(groupList.get(i),"group"+i+"_","subTreeRootParent");
%>
return group<%=i%>__<%=cid%>;
}
<%
}
}else{
for(int i=0;i<groupList.size();i++){
XMLNode groupRootNode = groupList.get(i);
%>
public org.dom4j.Element generateCodeDom4j_group<%=i%>(NestXMLTool_<%=cid%> nestXMLTool_<%=cid%>,java.util.Map<String,String> valueMap_<%=cid%>,org.dom4j.Element subTreeRootParent_<%=cid%>,int[] orders_<%=cid %>){
<%
generateToolByDom4j.generateCode(groupList.get(i),"group"+i+"_","subTreeRootParent");
%>
return group<%=i%>__<%=cid%>;
}
<%
}
}
}
if(loopTable!=null && loopTable.size()>0){
%>
public org.dom4j.Element generateCodeDom4j_Loop(NestXMLTool_<%=cid%> nestXMLTool_<%=cid%>,java.util.Map<String,String> valueMap_<%=cid%>,org.dom4j.Element subTreeRootParent_<%=cid%>,int[] orders_<%=cid %><%if(!useStream && isMerge && groupTable.size()>0){%>,boolean bl_<%=cid %><%}%>){
<%
generateToolByDom4j.generateCode(loop,"loop","subTreeRootParent");
%>
return loop_<%=cid%>;
}
<%
}
}
if("Null".equals(mode)){
GenerateToolByNull generateToolByNull = new GenerateToolByNull();
if(!useStream && ("true").equals(outputAsXSD)){ // add a new prerequisite:useStream to ignore generating the xsd file
generateToolByNull.outputAsXSD = true;
}
if(("true").equals(allowEmpty)){
generateToolByNull.allowEmpty = true;
}
generateToolByNull.bAddEmptyAttr = bAddEmptyAttr;
generateToolByNull.bAddUnmappedAttr = bAddUnmappedAttr;
generateToolByNull.cid = cid;
generateToolByNull.tool = tool;
generateToolByNull.isCompact = isCompact;
String rootEmptySpace = "";
for(int i=0;i < mainList.size();i++){
%>
public StringBuffer generateCodeNull_rootEmptySpace<%=i%>(StringBuffer buf_<%=cid%>,java.io.BufferedWriter out_<%=cid%>,String[] startTabs_<%=cid%>,String[] endTabs_<%=cid%>,java.util.Map<String, String> valueMap_<%=cid%>)throws IOException{
<%
generateToolByNull.generateCode(mainList.get(i),rootEmptySpace);
%>
return buf_<%=cid%>;
}
<%
if(isCompact==false){//generate pretty file
rootEmptySpace+=" ";
}
if(!generateToolByNull.outputAsXSD && !generateToolByNull.allowEmpty){
if(mainList.get(i).relatedColumn != null || mainList.get(i).childrenColumnList.size()>0){
int columnNum=0;
for(IMetadataColumn column : mainList.get(i).childrenColumnList){
if(columnNum%schemaOptNum==0){
%>
public boolean generateCodeNull_conditMain<%=i%>_<%=columnNum/schemaOptNum%>(java.util.Map<String,String> valueMap_<%=cid%>){
return false
<%
}
%>
|| valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null
<%
if((columnNum+1)%schemaOptNum==0){
%>
;}
<%
}
columnNum++;
}
if(columnNum>0&&(columnNum%schemaOptNum)>0){
%>
;}
<%
}
}
}
}
for(int i=0;i<groupList.size();i++){
String emptySpace = "";
if(isCompact==false){//generate pretty file
for(int len = groupList.get(i).path.split("/").length-1;len>1;len--){
emptySpace +=" ";
}
}
%>
public StringBuffer generateCodeNull_emptySpace<%=i%>(StringBuffer buf_<%=cid%>,java.util.Map<String, String> valueMap_<%=cid%>,String[] groupBuffer_<%=cid%>){
<%
generateToolByNull.generateCode(groupList.get(i),emptySpace);
%>
return buf_<%=cid%>;
}
<%
if(!("true").equals(outputAsXSD) && !("true").equals(allowEmpty)){
if((groupList.get(i).relatedColumn != null || groupList.get(i).childrenColumnList.size()>0)){
int columnNum=0;
for(IMetadataColumn column : groupList.get(i).childrenColumnList){
if(columnNum%schemaOptNum==0){
%>
public boolean generateCodeNull_conditGroup<%=i%>_<%=columnNum/schemaOptNum%>(java.util.Map<String,String> valueMap_<%=cid%>){
return false
<%
}
%>
|| valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null
<%
if((columnNum+1)%schemaOptNum==0){
%>
;}
<%
}
columnNum++;
}
if(columnNum>0&&(columnNum%schemaOptNum)>0){
%>
;}
<%
}
}
}
}
if(!("true").equals(outputAsXSD) && !("true").equals(allowEmpty)){
int columnNum=0;
for(IMetadataColumn column : loop.childrenColumnList){
if(columnNum%schemaOptNum==0){
%>
public boolean generateCodeNull_conditLoop_<%=columnNum/schemaOptNum%>(java.util.Map<String,String> valueMap_<%=cid%>){
return false
<%
}
%>
|| valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null
<%
if((columnNum+1)%schemaOptNum==0){
%>
;}
<%
}
columnNum++;
}
if(columnNum>0&&(columnNum%schemaOptNum)>0){
%>
;}
<%
}
}
String emptySpace = "";
if(isCompact==false){//generate pretty file
for(int len =loop.path.split("/").length-1;len>1;len--){
emptySpace +=" ";
}
}
%>
public void generateCodeNull_loopEmptySpace(StringBuffer buf_<%=cid%>,java.io.BufferedWriter out_<%=cid%>,String[] endTabs_<%=cid%>,java.util.Map<String, String> valueMap_<%=cid%>){
<%
generateToolByNull.generateCode(loop,emptySpace);
generateToolByNull.endElement(loop,emptySpace);
%>
}
<%
}
%>
}
AdvancedXMLUtil_<%=cid%> advancedXMLUtil_<%=cid%>=new AdvancedXMLUtil_<%=cid%>();
<%
}
}
}
}
}
%>

View File

@@ -192,6 +192,11 @@
<PARAMETER NAME="DELETE_EMPTYFILE" FIELD="CHECK" REQUIRED="true" NUM_ROW="70" NOT_SHOW_IF="USESTREAM=='true'">
<DEFAULT>false</DEFAULT>
</PARAMETER>
<PARAMETER NAME="SCHEMA_OPT_NUM" FIELD="TEXT" NUM_ROW="90"
REQUIRED="true" SHOW="false">
<DEFAULT>100</DEFAULT>
</PARAMETER>
</ADVANCED_PARAMETERS>
<CODEGENERATION>

View File

@@ -13,574 +13,14 @@ imports="
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.utils.NodeUtil
"
skeleton="tAdvancedFileOutputXML_java.skeleton"
%>
<%
//XMLTool
class XMLTool{
public boolean advancedSeparator = false;
public String thousandsSeparator = null;
public String decimalSeparator =null;
public String connName = null;
public String cid = null;
public void getValue(XMLNode node){
%>
valueMap_<%=cid%>.get("<%=node.relatedColumn.getLabel()%>")
<%
}
public void getValue(IMetadataColumn column){
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
String defaultValue=column.getDefault();
boolean isNotSetDefault = false;
if(defaultValue!=null){
isNotSetDefault = defaultValue.length()==0;
}else{
isNotSetDefault=true;
}
%>
(
<%
if(column.isNullable()){
%>
<%=connName%>.<%=column.getLabel()%> != null?
<%
}
if(advancedSeparator && JavaTypesManager.isNumberType(javaType, column.isNullable())) {
if(javaType == JavaTypesManager.BIGDECIMAL) {
%>
FormatterUtils.format_Number(String.valueOf(<%=column.getPrecision() == null? connName + "." + column.getLabel() : connName + "." + column.getLabel() + ".setScale(" + column.getPrecision() + ", java.math.RoundingMode.HALF_UP)" %>), <%= thousandsSeparator%>,<%=decimalSeparator %>)
<%
} else {
%>
FormatterUtils.format_Number(String.valueOf(<%=connName%>.<%=column.getLabel()%>), <%= thousandsSeparator %>,<%=decimalSeparator %>)
<%
}
} else if(JavaTypesManager.isJavaPrimitiveType( column.getTalendType(), column.isNullable())){
%>
String.valueOf(<%=connName%>.<%=column.getLabel()%>)
<%
}else if(javaType == JavaTypesManager.DATE){
if( column.getPattern() != null && column.getPattern().trim().length() != 0 ){
%>
FormatterUtils.format_Date(<%=connName%>.<%=column.getLabel()%>,<%=column.getPattern()%>)
<%
}else{
%>
<%=connName%>.<%=column.getLabel()%>
<%
}
}else if (javaType == JavaTypesManager.BIGDECIMAL) {
%>
String.valueOf(<%=column.getPrecision() == null? connName + "." + column.getLabel() : connName + "." + column.getLabel() + ".setScale(" + column.getPrecision() + ", java.math.RoundingMode.HALF_UP)" %>)
<%
}else{
%>
<%=connName%>.<%=column.getLabel()%>.toString()
<%
}
if(column.isNullable()){
%>:<%
if(isNotSetDefault == false){
%><%=column.getDefault()%><%
}else{
%>null<%
}
}
%>
)
<%
}
}
// ------------------- *** Dom4j generation mode start *** ------------------- //
class GenerateToolByDom4j{
String cid = null;
boolean allowEmpty = false;
boolean bAddEmptyAttr = false, bAddUnmappedAttr = false;
boolean outputAsXSD = false;
XMLTool tool = null;
boolean isAppend = false;
public void generateCode(XMLNode node, String currEleName, String parentName){
if(("ELEMENT").equals(node.type)){
createElement(currEleName,node,parentName);
setText(currEleName,node);
for(XMLNode ns:node.namespaces){
addNameSpace(currEleName,ns);
}
for(XMLNode attri:node.attributes){
addAttribute(currEleName,attri);
}
if(node.name.indexOf(":")>0){
%>
<%=currEleName%>_<%=cid%>.setName("<%=node.name%>");
<%
}
int index = 0;
for(XMLNode child:node.elements){
if(0==(child.special & 1)){
generateCode(child,currEleName+"_"+index++,currEleName);
}
}
if(node.relatedColumn != null && (node.special & 2)==0 && (node.special & 1)==0){
if(isAppend && !outputAsXSD && !allowEmpty){
%>
if (<%=currEleName%>_<%=cid%>.content().size() == 0
&& <%=currEleName%>_<%=cid%>.attributes().size() == 0
&& <%=currEleName%>_<%=cid%>.declaredNamespaces().size() == 0) {
<%=parentName%>_<%=cid%>.remove(<%=currEleName%>_<%=cid%>);
}
<%
}
}
}
}
private void createElement(String currEleName, XMLNode node, String parentName){
int index = node.name.indexOf(":");
if(5==(node.special & 5)){
int currPos = node.getCurrGroupPos();
if(index>0 && node.parent!=null){
%>
org.dom4j.Element <%=currEleName%>_<%=cid%>;
if (<%=parentName%>_<%=cid%>.getNamespaceForPrefix("<%=node.name.substring(0,index)%>") == null) {
<%=currEleName%>_<%=cid%> = org.dom4j.DocumentHelper.createElement("<%=node.name.substring(index+1)%>");
} else {
<%=currEleName%>_<%=cid%> = org.dom4j.DocumentHelper.createElement("<%=node.name%>");
}
<%
}else{
%>
org.dom4j.Element <%=currEleName%>_<%=cid%> = org.dom4j.DocumentHelper.createElement("<%=node.name%>");
<%
}
if(isAppend){
%>
int app_size_<%=cid %>=<%=parentName%>_<%=cid%>.elements("<%=node.name%>").size();
if(app_size_<%=cid %> > 0){
orders_<%=cid %>[<%=currPos %>] =1+ <%=parentName%>_<%=cid%>.elements().indexOf(<%=parentName%>_<%=cid%>.elements("<%=node.name%>").get(app_size_<%=cid %>-1));
}else{
<%
if(currPos==0){
%>
orders_<%=cid %>[<%=currPos %>] = <%=parentName%>_<%=cid%>.elements().size();
<%
}else{
%>
orders_<%=cid %>[<%=currPos %>] = <%=node.getNodeInsertIndex() %>;
if(orders_<%=cid %>[<%=currPos %>] == 0 && <%=parentName%>_<%=cid%>.elements().size() != 0 && !bl_<%=cid%>) {
orders_<%=cid %>[<%=currPos %>] = <%=parentName%>_<%=cid%>.elements().size();
}
<%
}
%>
}
<%=parentName%>_<%=cid%>.elements().add(orders_<%=cid %>[<%=currPos %>],<%=currEleName%>_<%=cid%>);
<%
}else{
%>
if(orders_<%=cid %>[<%=currPos %>]==0){
orders_<%=cid %>[<%=currPos %>] = <%=node.getNodeInsertIndex() %>;
}
if(<%=currPos +1 %> < orders_<%=cid %>.length){
orders_<%=cid %>[<%=currPos +1 %>] = 0;
}
<%=parentName%>_<%=cid%>.elements().add(orders_<%=cid %>[<%=currPos %>]++,<%=currEleName%>_<%=cid%>);
<%
}
}else{
if(index>0 && node.parent!=null){
%>
org.dom4j.Element <%=currEleName%>_<%=cid%>;
if (<%=parentName%>_<%=cid%>.getNamespaceForPrefix("<%=node.name.substring(0,index)%>") == null) {
<%=currEleName%>_<%=cid%> = <%=parentName%>_<%=cid%>.addElement("<%=node.name.substring(index+1)%>");
} else {
<%=currEleName%>_<%=cid%> = <%=parentName%>_<%=cid%>.addElement("<%=node.name%>");
}
<%
}else{
%>
org.dom4j.Element <%=currEleName%>_<%=cid%> = <%=parentName%>_<%=cid%>.addElement("<%=node.name%>");
<%
}
}
if(0!=(node.special & 2)){
%>
subTreeRootParent_<%=cid%> = <%=currEleName%>_<%=cid%>;
<%
}
}
private void setText(String currEleName, XMLNode node){
if(node.relatedColumn!=null){
JavaType javaType = JavaTypesManager.getJavaTypeFromId(node.relatedColumn.getTalendType());
if(javaType == JavaTypesManager.OBJECT){
%>
if(<%tool.getValue(node); %>!=null){
nestXMLTool_<%=cid%> .parseAndAdd(<%=currEleName%>_<%=cid%>,<%tool.getValue(node);%>);
}
<%
if(outputAsXSD){
%>
else{
nestXMLTool_<%=cid%> .parseAndAdd(<%=currEleName%>_<%=cid%>,"");
<%=currEleName%>_<%=cid%>.addAttribute("xsi:nil","true");
}
<%
}
}else{
if("id_Document".equals(node.relatedColumn.getTalendType())) {
%>
if(<%tool.getValue(node); %>!=null){
nestXMLTool_<%=cid%> .setText(<%=currEleName%>_<%=cid%>, ParserUtils.parseTo_Document(<%tool.getValue(node);%>).getDocument().getRootElement().asXML());
}
<%
} else {
%>
if(<%tool.getValue(node); %>!=null){
nestXMLTool_<%=cid%> .setText(<%=currEleName%>_<%=cid%>,<%tool.getValue(node);%>);
}
<%
}
if(outputAsXSD){
%>
else{
<%=currEleName%>_<%=cid%>.setText("");
<%=currEleName%>_<%=cid%>.addAttribute("xsi:nil","true");
}
<%
}
}
}else if(node.defaultValue != null && !("").equals(node.defaultValue) ){
%>
nestXMLTool_<%=cid %>.parseAndAdd(<%=currEleName %>_<%=cid %>,"<%=node.defaultValue %>");
<%@ include file="tAdvancedFileOutputXML_begin.inc.javajet"%>
<%
}
}
private void addAttribute(String currEleName, XMLNode node){
if (node.relatedColumn != null){
%>
if (<%tool.getValue(node);%> != null){
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", <%tool.getValue(node);%>);
} <% if (bAddEmptyAttr) { %> else {
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", "");
}
<%}
} else {
if (node.defaultValue != null && !("").equals(node.defaultValue) ){
%>
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", "<%=node.defaultValue %>");
<%
} else if (bAddUnmappedAttr){
%>
<%=currEleName%>_<%=cid%>.addAttribute("<%=node.path%>", "");
<%
}
}
}
private void addNameSpace(String currEleName, XMLNode node){
if(node.relatedColumn!=null){
%>
if(<%tool.getValue(node);%>!=null){
<%=currEleName%>_<%=cid%>.addNamespace("<%=node.path%>",TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>));
<%
if(node.path ==null || node.path.length()==0){
%>
<%=currEleName%>_<%=cid%>.setQName(org.dom4j.DocumentHelper.createQName(<%=currEleName%>_<%=cid%>.getName(),
org.dom4j.DocumentHelper.createNamespace("",TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>))));
<%
}
%>
}
<%
}else if(node.defaultValue != null && !("").equals(node.defaultValue) ){
%>
<%=currEleName %>_<%=cid %>.addNamespace("<%=node.path %>",TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>"));
<%
if(node.path ==null || node.path.length()==0){
%>
<%=currEleName %>_<%=cid %>.setQName(org.dom4j.DocumentHelper.createQName(<%=currEleName %>_<%=cid %>.getName(),
org.dom4j.DocumentHelper.createNamespace("",TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>"))));
<%
}
}
}
}
//----------** add by wliu dom4j to genenrate get function for node **-------//
class GenerateExprCmpByDom4j{
// String cid = null;
XMLTool tool = null;
XMLNode groupNode = null;
boolean needEmptyNode = true;
public void generateCode(XMLNode node, String parentName){
String tmpPath = node.path.replaceFirst(groupNode.path,"");
String[] arrNames = tmpPath.split("/");
if(node==groupNode){
%>true
<%
}
if(node.relatedColumn != null){
%> && (<%
if(!needEmptyNode){
%>(<%tool.getValue(node); %>==null && <%generateCmnExpr(arrNames, parentName); %> == null) || (true &&
<% }%>
<%generateCmnExpr(arrNames, parentName); %>!=null
&& <%generateCmnExpr(arrNames, parentName); %>.getText()!=null
&& <%generateCmnExpr(arrNames, parentName); %>.getText().equals(<%tool.getValue(node); %>)
<%if(!needEmptyNode){%>)<%}%>
)
<%
}
//first generate the attribute comparision
if(node.attributes!=null){
for(XMLNode attri:node.attributes){
if(attri.relatedColumn !=null){
%> && (<%
if(!needEmptyNode){
%>(<%tool.getValue(attri); %>==null && <%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>") == null) || (true &&
<% }%>
<%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>")!=null
&& <%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>").getText()!=null
&& <%generateCmnExpr(arrNames, parentName); %>.attribute("<%=attri.name %>").getText().equals(<%tool.getValue(attri); %>)
<%
if(!needEmptyNode){%>)<%}
%>)<%
}
}
}
if(node.elements!=null){
for(XMLNode child:node.elements){
if(!child.isMainNode()){
generateCode(child,parentName);
}
}
}
}
private void generateCmnExpr(String[] arrNames, String parentName){
%>
<%=parentName %>
<%
for(int i=1;arrNames != null && i<arrNames.length; i++){
%>.element(<%=parentName%>.getQName("<%=arrNames[i]%>"))
<%
}
}
}
// ------------------- *** Dom4j generation mode end *** ------------------- //
// ------------------- *** Null generation mode start *** ------------------- //
class GenerateToolByNull{
String cid = null;
boolean allowEmpty = false;
boolean bAddEmptyAttr = false, bAddUnmappedAttr = false;
boolean outputAsXSD = false;
XMLTool tool = null;
boolean isCompact = false;
public void generateCode(XMLNode node, String emptySpace){
if(("ELEMENT").equals(node.type)){
startElement(node,emptySpace);
setText(node);
XMLNode mainChild = null;
for(XMLNode child:node.elements){
if(child.isMainNode()){ //loop dosen't have a main child node
mainChild = child;
break;
}
}
for(XMLNode child:node.elements){
if(mainChild!=null && mainChild.order<=child.order){ //loop dosen't have a main child node
if(1==(node.special & 1)){ // group
%>
// buffer the start tabs to group buffer
groupBuffer_<%=cid%>[<%=node.getCurrGroupPos()%>] = buf_<%=cid%>.toString();
buf_<%=cid%> = new StringBuffer();
<%
}else{// root
int num = node.path.split("/").length-2;
if(!outputAsXSD && !allowEmpty){
%>
startTabs_<%=cid%>[<%=num%>] = buf_<%=cid%>.toString();
buf_<%=cid%> = new StringBuffer();
<%
}else{
%>
out_<%=cid%>.write(buf_<%=cid%>.toString());
buf_<%=cid%> = new StringBuffer();
<%
}
}
mainChild = null;
}
if(!child.isMainNode()){ //make the main node output last
if(!outputAsXSD && !allowEmpty
&& (child.relatedColumn != null || child.childrenColumnList.size()>0
|| child.hasDefaultValue == true ) ){
%>
if( false
<%
for(IMetadataColumn column : child.childrenColumnList){
%> || valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null<%
}
if(child.hasDefaultValue == true){%> || true
<%}%>
){
<%
if(isCompact==false)
generateCode(child,emptySpace+" ");
else
generateCode(child,emptySpace);
%>
}
<%
}else{
if(isCompact==false)
generateCode(child,emptySpace+" ");
else
generateCode(child,emptySpace);
}
}
}
if(!node.isMainNode()){ // is not main node
endElement(node,emptySpace);
}
}
}
private void startElement(XMLNode node, String emptySpace){
%>
buf_<%=cid%>.append("<%=isCompact?"":"\\n"%>");
buf_<%=cid%>.append("<%=emptySpace%><<%=node.name%>");
<%
if(outputAsXSD && node.parent==null){
%>
buf_<%=cid%>.append(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
buf_<%=cid%>.append(" xsi:noNamespaceSchemaLocation= \""+ file_<%=cid%>.substring(file_<%=cid%>.lastIndexOf("/")+1)+".xsd"+"\"");
<%
}
for(XMLNode ns:node.namespaces){
addNameSpace(ns);
}
for(XMLNode attri:node.attributes){
addAttribute(attri);
}
if(outputAsXSD && node.relatedColumn != null){
%>
if(<%tool.getValue(node); %> == null){
buf_<%=cid%>.append(" xsi:nil=\"true\"");
}
<%
}
%>
buf_<%=cid%>.append(">");
<%
}
public void endElement(XMLNode node, String emptySpace){
if(node.elements.size()>0){
%>
buf_<%=cid%>.append("<%=isCompact?"":"\\n"%>");
buf_<%=cid%>.append("<%=emptySpace%></<%=node.name%>>");
<%
}else{
%>
buf_<%=cid%>.append("</<%=node.name%>>");
<%
}
}
private void setText(XMLNode node){
if(node.relatedColumn!=null){
JavaType javaType = JavaTypesManager.getJavaTypeFromId(node.relatedColumn.getTalendType());
if(javaType == JavaTypesManager.OBJECT){
%>
if(<%tool.getValue(node);%>!=null){
if(routines.system.XMLHelper.getInstance().isValid(<%tool.getValue(node);%>)){
buf_<%=cid%>.append(<%tool.getValue(node);%>);
} else {
buf_<%=cid%>.append(TalendString.checkCDATAForXML(<%tool.getValue(node);%>));
}
}
<%
}else{
%>
if(<%tool.getValue(node);%>!=null){
buf_<%=cid%>.append(TalendString.checkCDATAForXML(<%tool.getValue(node);%>));
}
<%
}
}else if(node.defaultValue !=null && !("").equals(node.defaultValue) ){
%>
if(routines.system.XMLHelper.getInstance().isValid("<%=node.defaultValue %>")){
buf_<%=cid %>.append("<%=node.defaultValue %>");
} else {
buf_<%=cid %>.append(TalendString.checkCDATAForXML("<%=node.defaultValue %>"));
}
<%
}
}
private void addAttribute(XMLNode node){
if (node.relatedColumn != null){
%>
if (<%tool.getValue(node); %>!=null){
buf_<%=cid%>.append(" <%=node.path%>=\""+TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>)+"\"");
} <% if (bAddEmptyAttr){%> else{
buf_<%=cid%>.append(" <%=node.path%>=\"\"");
}
<%}
} else {
if (node.defaultValue != null && !("").equals(node.defaultValue)){
%>
buf_<%=cid%>.append(" <%=node.path%>=\""+TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>")+"\"");
<%
} else if (bAddUnmappedAttr){
%>
buf_<%=cid%>.append(" <%=node.path%>=\"\"");
<%
}
}
}
private void addNameSpace(XMLNode node){
if(node.relatedColumn!=null){
%>
if(<%tool.getValue(node);%>!=null){
<%
if(node.path ==null || node.path.length()==0){
%>
buf_<%=cid%>.append(" xmlns=\""+TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>)+"\"");
<%
}else{
%>
buf_<%=cid%>.append(" xmlns:<%=node.path%>=\""+TalendString.replaceSpecialCharForXML(<%tool.getValue(node);%>)+"\"");
<%
}
%>
}
<%
}else if(node.defaultValue !=null && !("").equals(node.defaultValue) ){
if(node.path ==null || node.path.length()==0){
%>
buf_<%=cid%>.append(" xmlns=\""+TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>")+"\"");
<%
}else{
%>
buf_<%=cid%>.append(" xmlns:<%=node.path%>=\""+TalendString.replaceSpecialCharForXML("<%=node.defaultValue %>")+"\"");
<%
}
}
}
}
// ------------------- *** Null generation mode end *** ------------------- //
// ------------------- *** Common code start *** ------------------- //
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
@@ -628,10 +68,30 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
boolean useStream = ("true").equals(ElementParameterParser.getValue(node,"__USESTREAM__"));
String outStream = ElementParameterParser.getValue(node,"__STREAMNAME__");
//*******************add for feature:8873 end ****************
boolean needFileValid = ("true").equals(ElementParameterParser.getValue(node, "__FILE_VALID__"));
boolean needDTDValid = ("true").equals(ElementParameterParser.getValue(node, "__DTD_VALID__"));
String dtdRootName = ElementParameterParser.getValue(node, "__DTD_NAME__");
String dtdFileName = ElementParameterParser.getValue(node, "__DTD_SYSTEMID__");
boolean needXSLValid = ("true").equals(ElementParameterParser.getValue(node, "__XSL_VALID__"));
String xslType = ElementParameterParser.getValue(node, "__XSL_TYPE__");
String xslHref = ElementParameterParser.getValue(node, "__XSL_HREF__");
int schemaOptNum=100;
boolean isOptimizeCode=false;
String schemaOptNumStr=ElementParameterParser.getValue(node, "__SCHEMA_OPT_NUM__");
if(schemaOptNumStr!=null && !"".equals(schemaOptNumStr) && !"\"\"".equals(schemaOptNumStr)){
schemaOptNum = Integer.parseInt(schemaOptNumStr);
}
if(metadata.getListColumns().size()> schemaOptNum){
isOptimizeCode=true;
}
// init tool
XMLTool tool = new XMLTool();
tool.connName = conn.getName();
tool.connName = NodeUtil.getPrivateConnClassName(conn);
tool.advancedSeparator=advancedSeparator;
tool.thousandsSeparator=thousandsSeparator;
tool.decimalSeparator=decimalSeparator;
@@ -661,10 +121,20 @@ if ((metadatas!=null)&&(metadatas.size()>0)) {
nb_line_<%=cid%>++;
valueMap_<%=cid%>.clear();
<%
int colNum=0;
for(IMetadataColumn column :metadata.getListColumns()){
if(isOptimizeCode){
if(colNum%schemaOptNum==0){
%>
advancedXMLUtil_<%=cid%>.putValue_<%=colNum/schemaOptNum%>(<%=tool.connName%>,valueMap_<%=cid%>);
<%
}
}else{
%>
valueMap_<%=cid%>.put("<%=column.getLabel()%>", <% tool.getValue(column); %>);
<%
}
colNum++;
}
// ------------------- *** Common code end *** ------------------- //
@@ -696,7 +166,7 @@ if(("Dom4j").equals(mode)){
}
<%
generateToolByDom4j.generateCode(root,"root","doc");
if(isMerge==false || useStream){ // add a prerequisite useStream to ignore the append mode
if(!isMerge || useStream){ // add a prerequisite useStream to ignore the append mode
%>
root4Group_<%=cid%> = subTreeRootParent_<%=cid%>;
}else{
@@ -711,7 +181,7 @@ if(("Dom4j").equals(mode)){
}
if(groupTable.size()>0){ //init the generate tool.
if(!useStream && isMerge==true){//merge into the file and add a prerequisite:useStream to ignore the append mode
if(!useStream && isMerge){//merge into the file and add a prerequisite:useStream to ignore the append mode
generateToolByDom4j.isAppend= true;
String firstGroupPath = groupList.get(0).path;
%>
@@ -749,7 +219,17 @@ if(groupTable.size()>0){ //init the generate tool.
for(j=0;j<listNodes.size();j++){
org.dom4j.Element tempElem =listNodes.get(j);
if(("<%=groupNode.path%>").equals(tempElem.getPath()!=null ? tempElem.getPath().replace("*[name()='","").replace("']", "") : "")){
<%
if(isOptimizeCode){
%>
if(advancedXMLUtil_<%=cid%>.generateCodeDom4j_FindInsertNode<%=i%>(tempElem,valueMap_<%=cid%>)){
<%
}else{
%>
if(<%generateExprCmpByDom4j.generateCode(groupNode, "tempElem"); %>){
<%
}
%>
subTreeRootParent_<%=cid %> = tempElem;
break;
}
@@ -763,8 +243,19 @@ if(groupTable.size()>0){ //init the generate tool.
}
}
if(bl_<%=cid %>==true){
<%
generateToolByDom4j.generateCode(groupList.get(i),"group"+i+"_","subTreeRootParent");
<%
if(isOptimizeCode){
%>
org.dom4j.Element group<%=i%>__<%=cid%> = advancedXMLUtil_<%=cid%>.generateCodeDom4j_UnFindInsertNode<%=i%>(nestXMLTool_<%=cid%>,valueMap_<%=cid%>,subTreeRootParent_<%=cid%>,orders_<%=cid %>,bl_<%=cid %>);
<%
if(("ELEMENT").equals(groupList.get(i).type) && (0!=(groupList.get(i).special & 2))){
%>
subTreeRootParent_<%=cid%>=group<%=i%>__<%=cid%>;
<%
}
}else{
generateToolByDom4j.generateCode(groupList.get(i),"group"+i+"_","subTreeRootParent");
}
%>
}
<%
@@ -775,23 +266,44 @@ if(groupTable.size()>0){ //init the generate tool.
<%
for(int i=0;i<groupList.size();i++){
XMLNode groupRootNode = groupList.get(i);
int nodeNum=0;
%>
if(isNewElememt_<%=cid %> || groupbyList_<%=cid%>.size()<=<%=i%> || groupbyList_<%=cid%>.get(<%=i%>)==null
<%
for(int j=0;j<groupbyNodeList.get(i).size();j++){
XMLNode attr = groupbyNodeList.get(i).get(j);
if(attr.relatedColumn!=null){
if(isOptimizeCode){
if(nodeNum%schemaOptNum==0){
%>
|| advancedXMLUtil_<%=cid%>.getValue_<%=i%>_<%=nodeNum/schemaOptNum%>(groupbyList_<%=cid%>,valueMap_<%=cid%>)
<%
}
nodeNum++;
}else{
%>
|| ( groupbyList_<%=cid%>.get(<%=i%>).get(<%=j%>)!=null
? !groupbyList_<%=cid%>.get(<%=i%>).get(<%=j%>).equals(<%tool.getValue(attr);%>)
: <%tool.getValue(attr);%>!=null )
<%
}
}
}
%>
){
<%
generateToolByDom4j.generateCode(groupList.get(i),"group"+i+"_","subTreeRootParent");
if(isOptimizeCode){
%>
org.dom4j.Element group<%=i%>__<%=cid%>=advancedXMLUtil_<%=cid%>.generateCodeDom4j_group<%=i%>(nestXMLTool_<%=cid%>,valueMap_<%=cid%>,subTreeRootParent_<%=cid%>,orders_<%=cid%>);
<%
if(("ELEMENT").equals(groupRootNode.type) && (0!=(groupRootNode.special & 2))){
%>
subTreeRootParent_<%=cid%>=group<%=i%>__<%=cid%>;
<%
}
}else{
generateToolByDom4j.generateCode(groupList.get(i),"group"+i+"_","subTreeRootParent");
}
%>
if(groupbyList_<%=cid%>.size()<=<%=i%>){
groupbyList_<%=cid%>.add(new java.util.ArrayList<String>());
@@ -801,9 +313,17 @@ if(groupTable.size()>0){ //init the generate tool.
<%
for(int j=0;j<groupbyNodeList.get(i).size();j++){
XMLNode attr = groupbyNodeList.get(i).get(j);
if(isOptimizeCode){
if(j%schemaOptNum==0){
%>
advancedXMLUtil_<%=cid%>.setValue_<%=i%>_<%=j/schemaOptNum%>(groupbyList_<%=cid%>,valueMap_<%=cid%>);
<%
}
}else{
%>
groupbyList_<%=cid%>.get(<%=i%>).add(<%tool.getValue(attr);%>);
<%
}
}
%>
isNewElememt_<%=cid %>=true;
@@ -826,7 +346,18 @@ if(groupTable.size()>0){ //init the generate tool.
// build loop xml tree
<%
if(loopTable!=null && loopTable.size()>0){
generateToolByDom4j.generateCode(loop,"loop","subTreeRootParent");
if(isOptimizeCode){
%>
org.dom4j.Element loop_<%=cid%>=advancedXMLUtil_<%=cid%>.generateCodeDom4j_Loop(nestXMLTool_<%=cid%>,valueMap_<%=cid%>,subTreeRootParent_<%=cid%>,orders_<%=cid%><%if(!useStream && isMerge && groupTable.size()>0){%>, bl_<%=cid %><%}%>);
<%
if(("ELEMENT").equals(loop.type) && (0!=(loop.special & 2))){
%>
subTreeRootParent_<%=cid%>=loop_<%=cid%>;
<%
}
}else{
generateToolByDom4j.generateCode(loop,"loop","subTreeRootParent");
}
}
//file split
if(!useStream && ("true").equals(split)){ //add a prerequisite:useStream to ignore the append mode
@@ -860,6 +391,19 @@ if(groupTable.size()>0){ //init the generate tool.
output_<%=cid%>.write(doc_<%=cid%>);
output_<%=cid%>.close();
doc_<%=cid%> = org.dom4j.DocumentHelper.createDocument();
<%
if (!isMerge && needFileValid) {
if(needDTDValid) {
%>
doc_<%=cid %>.addDocType(<%=dtdRootName %>, null, <%=dtdFileName %>);
<%
} else if(needXSLValid) {
%>
doc_<%=cid %>.addProcessingInstruction("xml-stylesheet", inMap_<%=cid %>);
<%
}
}
%>
groupElementList_<%=cid%>.clear();
}
<%
@@ -894,7 +438,13 @@ else if(("Null").equals(mode)){
<%
String rootEmptySpace = "";
for(int i=0;i < mainList.size();i++){
generateToolByNull.generateCode(mainList.get(i),rootEmptySpace);
if(isOptimizeCode){
%>
buf_<%=cid%>=advancedXMLUtil_<%=cid%>.generateCodeNull_rootEmptySpace<%=i%>(buf_<%=cid%>,out_<%=cid%>,startTabs_<%=cid%>,endTabs_<%=cid%>,valueMap_<%=cid%>);
<%
}else{
generateToolByNull.generateCode(mainList.get(i),rootEmptySpace);
}
if(isCompact==false){//generate pretty file
rootEmptySpace+=" ";
}
@@ -904,8 +454,18 @@ else if(("Null").equals(mode)){
%>
if( false
<%
int columnNum=0;
for(IMetadataColumn column : mainList.get(i).childrenColumnList){
if(isOptimizeCode){
if(columnNum%schemaOptNum==0){
%>
|| advancedXMLUtil_<%=cid%>.generateCodeNull_conditMain<%=i%>_<%=columnNum/schemaOptNum%>(valueMap_<%=cid%>)
<%
}
columnNum++;
}else{
%> || valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null<%
}
}
%>
){
@@ -936,6 +496,7 @@ else if(("Null").equals(mode)){
}
for(int i=0;i<groupList.size();i++){
XMLNode groupRootNode = groupList.get(i);
int nodeNum=0;
%>
// need a new group element <%=groupRootNode.name%> or not
@@ -944,11 +505,20 @@ else if(("Null").equals(mode)){
for(int j=0;j<groupbyNodeList.get(i).size();j++){
XMLNode attr = groupbyNodeList.get(i).get(j);
if(attr.relatedColumn!=null){
if(isOptimizeCode){
if(nodeNum%schemaOptNum==0){
%>
|| advancedXMLUtil_<%=cid%>.getValue_<%=i%>_<%=nodeNum/schemaOptNum%>(groupbyList_<%=cid%>,valueMap_<%=cid%>)
<%
}
nodeNum++;
}else{
%>
|| ( groupbyList_<%=cid%>.get(<%=i%>).get(<%=j%>)!=null
? !groupbyList_<%=cid%>.get(<%=i%>).get(<%=j%>).equals(<%tool.getValue(attr);%>)
: <%tool.getValue(attr);%>!=null )
<%
}
}
}
%>
@@ -967,9 +537,17 @@ else if(("Null").equals(mode)){
<%
for(int j=0;j<groupbyNodeList.get(i).size();j++){
XMLNode attr = groupbyNodeList.get(i).get(j);
if(isOptimizeCode){
if(j%schemaOptNum==0){
%>
advancedXMLUtil_<%=cid%>.setValue_<%=i%>_<%=j/schemaOptNum%>(groupbyList_<%=cid%>,valueMap_<%=cid%>);
<%
}
}else{
%>
groupbyList_<%=cid%>.get(<%=i%>).add(<%tool.getValue(attr);%>);
<%
}
}
%>
isNewElememt_<%=cid %>=true;
@@ -984,16 +562,30 @@ else if(("Null").equals(mode)){
emptySpace +=" ";
}
}
generateToolByNull.generateCode(groupList.get(i),emptySpace);
if(isOptimizeCode){
%>
buf_<%=cid%>=advancedXMLUtil_<%=cid%>.generateCodeNull_emptySpace<%=i%>(buf_<%=cid%>,valueMap_<%=cid%>,groupBuffer_<%=cid%>);
<%
}else{
generateToolByNull.generateCode(groupList.get(i),emptySpace);
}
if(!("true").equals(outputAsXSD) && !("true").equals(allowEmpty)){
if((groupList.get(i).relatedColumn != null || groupList.get(i).childrenColumnList.size()>0)){
%>
if( false
<%
int columnNum=0;
for(IMetadataColumn column : groupList.get(i).childrenColumnList){
%> || valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null<%
if(isOptimizeCode){
if(columnNum%schemaOptNum==0){
%>
|| advancedXMLUtil_<%=cid%>.generateCodeNull_conditGroup<%=i%>_<%=columnNum/schemaOptNum%>(valueMap_<%=cid%>)
<%
}
columnNum++;
}else{
%> || valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null<%
}
}
%>
){
@@ -1112,16 +704,32 @@ else if(("Null").equals(mode)){
%>
if( false
<%
int columnNum=0;
for(IMetadataColumn column : loop.childrenColumnList){
%> || valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null<%
if(isOptimizeCode){
if(columnNum%schemaOptNum==0){
%>
|| advancedXMLUtil_<%=cid%>.generateCodeNull_conditLoop_<%=columnNum/schemaOptNum%>(valueMap_<%=cid%>)
<%
}
columnNum++;
}else{
%> || valueMap_<%=cid%>.get("<%=column.getLabel()%>") != null<%
}
}
if(loop.hasDefaultValue == true){%> || true
<%}%>
){
<%
}
generateToolByNull.generateCode(loop,emptySpace);
generateToolByNull.endElement(loop,emptySpace);
if(isOptimizeCode){
%>
advancedXMLUtil_<%=cid%>.generateCodeNull_loopEmptySpace(buf_<%=cid%>,out_<%=cid%>,endTabs_<%=cid%>,valueMap_<%=cid%>);
<%
}else{
generateToolByNull.generateCode(loop,emptySpace);
generateToolByNull.endElement(loop,emptySpace);
}
%>
// output all buffer
for (int i_<%=cid%> = 0; i_<%=cid%> < startTabs_<%=cid%>.length; i_<%=cid%>++) {
@@ -1203,6 +811,22 @@ else if(("Null").equals(mode)){
out_<%=cid%> = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(file_<%=cid%> + currentFileCount_<%=cid %> + suffix_<%=cid %>), <%=encoding%>));
out_<%=cid%>.write("<?xml version=\"1.0\" encoding=\""+<%=encoding%>+"\"?>");
out_<%=cid%>.newLine();
<%
if (needFileValid) {
if (needDTDValid) {
%>
out_<%=cid%>.write("<!DOCTYPE "+<%=dtdRootName %>+" SYSTEM \"" + <%=dtdFileName %> + "\">");
out_<%=cid%>.newLine();
<%
} else if (needXSLValid) {
%>
out_<%=cid%>.write("<?xml-stylesheet type=\""+<%=xslType %>+"\" href=\""+<%=xslHref%>+"\">");
out_<%=cid%>.newLine();
<%
}
}
%>
}
<%
}

View File

@@ -32,6 +32,7 @@ MAPPING.NAME=
MERGE.NAME=Append the source xml file
NB_LINE.NAME=Number of line
NOT_TRIM_TEXT.NAME=
SCHEMA_OPT_NUM.NAME=Min column number of optimize code
OUTPUT_AS_XSD.NAME=Create associated XSD file
PRETTY_COMPACT.NAME=Generate compact file
ROOT.ITEM.ATTRIBUTE=Attribute

View File

@@ -5,6 +5,7 @@ DECIMAL_SEPARATOR.NAME=S
DELETE_EMPTYFILE.NAME=Ne pas générer de fichier vide
ENCODING.NAME=Encodage
FIELD_TAG.NAME=Étiquette du champ
FILENAME.NAME=Nom de fichier
GENERATION_MODE.ITEM.DOM4J=Lent et consommateur de mémoire (Dom4J)
GENERATION_MODE.ITEM.NULL=Rapide avec peu de consommation de mémoire
GENERATION_MODE.NAME=Mode de génération
@@ -40,7 +41,7 @@ VALIDATORMODE.NAME=Mode de validation
FILE_VALID.NAME=Inclure les DTD ou XSL
DTD_VALID.NAME=DTD
DTD_NAME.NAME=Elément racine
DTD_SYSTEMID.NAME=Nom du fichier
DTD_SYSTEMID.NAME=Nom de fichier
XSL_VALID.NAME=XSL
XSL_TYPE.NAME=Type
XSL_HREF.NAME=Href

View File

@@ -6,15 +6,10 @@
org.talend.core.model.process.ElementParameterParser
java.util.List
java.util.ArrayList
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IHashableInputConnections
org.talend.core.model.process.IHashConfiguration
org.talend.core.model.process.IHashableColumn
org.talend.core.model.process.IMatchingMode
java.util.HashSet
java.util.Set
org.talend.core.model.process.EConnectionType
org.talend.core.model.process.IDataConnection
"
%>
@@ -22,6 +17,7 @@
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
String cid = node.getUniqueName();
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
@@ -80,11 +76,23 @@
}
boolean isAllRows = "ALL_ROWS".equals(matchingModeStr);
boolean includeParallelComps = false;
List<? extends INode> listPartitions= node.getProcess().getNodesOfType("tPartitioner");
if (listPartitions!=null && listPartitions.size() > 0 ) {
includeParallelComps = true;
}
%>
org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE matchingModeEnum_<%=connectionName%> =
org.talend.designer.components.lookup.common.ICommonLookup.MATCHING_MODE.<%= matchingModeStr %>;
<%if (includeParallelComps && !(hashConfiguration != null && hashConfiguration.isPersistent() || bSortOnDisk)) {%>
synchronized(this) {
try {
if (globalMap.get("tHash_Lookup_<%=connectionName%>") == null) {
<%
}
if (hashConfiguration != null && hashConfiguration.isPersistent() || bSortOnDisk) {
%>
org.talend.designer.components.lookup.persistent.Persistent<%= isAllRows ? "" : "Sorted" %>LookupManager<<%=connectionName%>Struct> tHash_Lookup_<%=connectionName%> =
@@ -102,13 +110,23 @@
tHash_Lookup_<%=connectionName%>.initPut();
globalMap.put("tHash_Lookup_<%=connectionName%>", tHash_Lookup_<%=connectionName%>);
<%
} else {
if (includeParallelComps) {
%>
org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<<%=connectionName%>Struct> tHash_Lookup_<%=connectionName%> =
org.talend.designer.components.lookup.memory.AdvancedMemoryLookup.
org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<<%=connectionName%>Struct> tHash_Lookup_<%=connectionName%> =
org.talend.designer.components.lookup.memory.ConcurrentAdvancedMemoryLookup.
<<%=connectionName%>Struct>getLookup(matchingModeEnum_<%=connectionName%>);
<%
} else {
%>
org.talend.designer.components.lookup.memory.AdvancedMemoryLookup<<%=connectionName%>Struct> tHash_Lookup_<%=connectionName%> =org.talend.designer.components.lookup.memory.AdvancedMemoryLookup.
<<%=connectionName%>Struct>getLookup(matchingModeEnum_<%=connectionName%>);
<%
}
%>
globalMap.put("tHash_Lookup_<%=connectionName%>", tHash_Lookup_<%=connectionName%>);
<%
@@ -124,4 +142,4 @@
}
%>

View File

@@ -3,29 +3,86 @@
org.talend.core.model.process.INode
org.talend.core.model.process.IConnection
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.ElementParameterParser
java.util.List
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IHashableInputConnections
org.talend.core.model.process.IHashConfiguration
org.talend.core.model.process.IDataConnection
"
%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
String cid = node.getUniqueName();
List<IConnection> connections = (List<IConnection>) node.getIncomingConnections();
if (connections != null && connections.size() > 0) {
for (IConnection connection : connections) {
String connectionName = connection.getName();
IMetadataTable metadataTable = connection.getMetadataTable();
INode validTarget = ((IDataConnection) connection).getLinkNodeForHash();
boolean memoryStorage = true;
if(validTarget != null) {
IHashConfiguration hashConfiguration = null;
boolean bSortOnDisk = "true".equals(ElementParameterParser.getValue(node, "__SORT_ON_DISK__"));
if (validTarget instanceof IHashableInputConnections){
IHashableInputConnections target = (IHashableInputConnections) validTarget;
hashConfiguration = target.getHashConfiguration(connection.getName());
}
memoryStorage = !(hashConfiguration != null && hashConfiguration.isPersistent() || bSortOnDisk);
}
boolean includeParallelComps = false;
List<? extends INode> listPartitions= node.getProcess().getNodesOfType("tPartitioner");
if (listPartitions!=null && listPartitions.size() > 0 ) {
includeParallelComps = true;
}
%>
tHash_Lookup_<%=connectionName%>.endPut();
<%
}
if (includeParallelComps && memoryStorage) {
%>
java.util.List<java.util.concurrent.ConcurrentHashMap<String,Object>> mapsList_<%=cid%> =
(java.util.List<java.util.concurrent.ConcurrentHashMap<String,Object>>)globalMap.get("THREAD_MAPS_"+jobName);
if (mapsList_<%=cid%> != null) {
for (java.util.concurrent.ConcurrentHashMap<String,Object> map : mapsList_<%=cid%>) {
org.talend.designer.components.lookup.memory.ConcurrentAdvancedMemoryLookup
<<%=connectionName%>Struct> tmp = (org.talend.designer.components.lookup.memory.ConcurrentAdvancedMemoryLookup
<<%=connectionName%>Struct>)tHash_Lookup_<%=connectionName%>;
if (globalMap != map) {
//map.put("MAP_POPULATED_<%=connectionName%>",Boolean.TRUE);
map.put("tHash_Lookup_<%=connectionName%>",new org.talend.designer.components.lookup.memory.ConcurrentAdvancedMemoryLookup
<<%=connectionName%>Struct>(tmp));
while (map.get("tHash_Lookup_<%=connectionName%>") == null) {
Thread.sleep(1);
}
}
}
}
}
} catch (Exception ex) {
globalMap.put("THREADS_HAVE_ERROR",ex);
throw ex;
} catch (Error er) {
globalMap.put("THREADS_HAVE_ERROR",er);
throw er;
}
}//end synchronized
<%
}
}
}
%>

View File

@@ -12,9 +12,6 @@
org.talend.core.model.process.IHashConfiguration
org.talend.core.model.process.IHashableColumn
org.talend.core.model.process.IMatchingMode
java.util.HashSet
java.util.Set
org.talend.core.model.process.EConnectionType
org.talend.core.model.process.IDataConnection
"
%>

View File

@@ -14,13 +14,10 @@
org.talend.core.model.process.IMatchingMode
java.util.List
java.util.ArrayList
java.util.HashSet
java.util.Set
java.util.Map
java.util.HashMap
java.util.Comparator
java.util.Collections
org.talend.core.model.process.EConnectionType
org.talend.core.model.process.IDataConnection
org.talend.designer.xmlmap.XmlMapComponent
org.eclipse.emf.common.util.EList

View File

@@ -5,8 +5,6 @@
org.talend.designer.codegen.config.CodeGeneratorArgument
java.util.List
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
"
%>

View File

@@ -12,13 +12,10 @@
org.talend.core.model.process.IMatchingMode
java.util.List
java.util.ArrayList
java.util.HashSet
java.util.Set
java.util.Map
java.util.HashMap
java.util.Comparator
java.util.Collections
org.talend.core.model.process.EConnectionType
org.talend.core.model.process.IDataConnection
org.talend.designer.xmlmap.XmlMapComponent
org.eclipse.emf.common.util.EList

View File

@@ -2,3 +2,4 @@ LONG_NAME=Remplit une m
HELP=org.talend.help.tAdvancedHash
RUN_IF.MENU=Run if
RUN_IF.LINK=If
NB_LINE.NAME=Nombre de lignes

View File

@@ -1,17 +1,8 @@
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
java.util.List
java.util.Map
java.util.HashMap
"
%>

View File

@@ -1,24 +1,4 @@
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
java.util.List
java.util.Map
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
"
imports=""
%>
<%
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
INode node = (INode)codeGenArgument.getArgument();
String cid = node.getUniqueName();
%>
} // G_AggR_600

View File

@@ -11,7 +11,6 @@ imports="
java.util.Map
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.process.INode
"
%>

View File

@@ -4,7 +4,6 @@ imports="
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.metadata.types.JavaTypesManager
@@ -12,7 +11,6 @@ imports="
java.util.List
java.util.ArrayList
java.util.Map
java.util.HashMap
"
%>

View File

@@ -1,16 +1,9 @@
<%@ jet
imports="
org.talend.core.model.process.INode
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
java.util.List
java.util.Map
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
"
%>

View File

@@ -2,15 +2,8 @@
imports="
org.talend.core.model.process.INode
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.designer.codegen.config.CodeGeneratorArgument
java.util.ArrayList
java.util.HashMap
java.util.LinkedList
java.util.List
java.util.Map
"

View File

@@ -4,14 +4,7 @@ imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.ElementParameterParser
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
java.util.HashMap
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
"
%>

View File

@@ -6,14 +6,8 @@ imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.ElementParameterParser
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Map
java.util.HashMap
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
"
%>

View File

@@ -22,7 +22,6 @@ ENCODING.NAME=Encodage
HELP=org.talend.help.tAmazonMysqlCommit
HOST.NAME=Hôte
LONG_NAME=Commite toutes les transactions n'ayant pas encore été commitées dans une connexion MySQL Amazon RDS sélectionnée
NB_LINE.NAME=Nombre de lignes
NULL_CHAR.NAME=Caractère Null
PASS.NAME=Mot de passe
PORT.NAME=Port

View File

@@ -1,4 +1,6 @@
ADD_COLS.ITEM.NAME=Naam
COMMIT_EVERY.NAME=Commit iedere
DATA_ACTION.ITEM.DELETE=Verwijderen
DATA_ACTION.ITEM.UPDATE=Update
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam

View File

@@ -1,6 +1,5 @@
ADD_COLS.ITEM.REFCOL=Referentna kolona
ADD_COLS.ITEM.SQL=SQL izraz
DATA_ACTION.ITEM.DELETE=DELETE
DATA_ACTION.ITEM.INSERT=INSERT
DATA_ACTION.ITEM.UPDATE=UPDATE
SQL_SYNTAX.NAME=SQL sintaksa

View File

@@ -49,7 +49,7 @@
REPOSITORY_VALUE="DB_VERSION"
READONLY="true">
<ITEMS DEFAULT="MYSQL_5">
<ITEM NAME="MYSQL_5" VALUE="mysql-connector-java-5.1.0-bin.jar" />
<ITEM NAME="MYSQL_5" VALUE="MYSQL_5" />
</ITEMS>
</PARAMETER>
@@ -160,7 +160,7 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="Driver-MysqlConnector" MODULE="mysql-connector-java-5.1.0-bin.jar" REQUIRED="false" />
<IMPORT NAME="Driver-MysqlConnector" MODULE="mysql-connector-java-5.1.22-bin.jar" REQUIRED_IF="DB_VERSION == 'MYSQL_5'" />
</IMPORTS>
</CODEGENERATION>
<RETURNS/>

View File

@@ -6,7 +6,6 @@ ENCODING.NAME=Encodage
HELP=org.talend.help.tAmazonMysqlConnection
HOST.NAME=Hôte
LONG_NAME=Crée une connexion à une base de données MySQL Amazon RDS
NB_LINE.NAME=Nombre de lignes
NULL_CHAR.NAME=Caractère Null
PASS.NAME=Mot de passe
PORT.NAME=Port

View File

@@ -1,2 +1,3 @@
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.MYSQL_5=Mysql 5

View File

@@ -7,9 +7,7 @@ imports="
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.process.IConnection
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
java.util.List
java.util.Map
"

View File

@@ -15,6 +15,7 @@
</HEADER>
<FAMILIES>
<FAMILY>Databases/AmazonRDS/MySQL</FAMILY>
<FAMILY>Cloud/AmazonRDS/MySQL</FAMILY>
</FAMILIES>
@@ -50,7 +51,7 @@
READONLY="true"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'">
<ITEMS DEFAULT="MYSQL_5">
<ITEM NAME="MYSQL_5" VALUE="mysql-connector-java-5.1.0-bin.jar" />
<ITEM NAME="MYSQL_5" VALUE="MYSQL_5" />
</ITEMS>
</PARAMETER>
@@ -237,7 +238,7 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="Driver-Mysql5" MODULE="mysql-connector-java-5.1.0-bin.jar" REQUIRED="false" />
<IMPORT NAME="Driver-Mysql5" MODULE="mysql-connector-java-5.1.22-bin.jar" REQUIRED_IF="(DB_VERSION == 'MYSQL_5') AND (USE_EXISTING_CONNECTION == 'false')" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -7,7 +7,6 @@ ENCODING.NAME=Encodage
HELP=org.talend.help.tAmazonMysqlInput
HOST.NAME=Hôte
LONG_NAME=Lit une table MySQL Amazon RDS et extrait des champs à partir d'une requête SQL
NB_LINE.NAME=Nombre de lignes
NULL_CHAR.NAME=Caractère Null
PASS.NAME=Mot de passe
PORT.NAME=Port

View File

@@ -1,2 +1,3 @@
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.MYSQL_5=Mysql 5

View File

@@ -4,9 +4,7 @@ imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.core.model.process.IProcess
@@ -15,7 +13,6 @@ imports="
java.util.ArrayList
java.util.Map
java.util.HashMap
java.util.LinkedList
"
skeleton="../templates/db_output_bulk.skeleton"
%>
@@ -208,7 +205,7 @@ if(!useExistingConnection) {
}
%>
<%
if (useBatchSize && "mysql-connector-java-5.1.0-bin.jar".equals(dbVersion) && !extendedInsert) {
if (useBatchSize && "MYSQL_5".equals(dbVersion) && !extendedInsert) {
if(!("").equals(batchSize)&&!("0").equals(batchSize)) {
%>
int batchSize_<%=cid%> = <%=batchSize%>;
@@ -332,7 +329,7 @@ if(columnList != null && columnList.size() > 0) {
<%
} else {//extended-insert mode(begin)
if ("mysql-connector-java-3.1.14-bin.jar".equals(dbVersion)) {
if ("MYSQL_4".equals(dbVersion)) {
%>
class BufferLine_<%=cid%> {
<%
@@ -403,7 +400,7 @@ if(columnList != null && columnList.size() > 0) {
String insertColValue<%=cid%> = "<%=insertValueStmt.toString()%>";
int rowCount<%=cid%> = 0;
<%
} else if ("mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) {
} else if ("MYSQL_5".equals(dbVersion)) {
%>
String insert_<%=cid%> = "INSERT INTO `" + <%=table%> + "` (<%=insertColName.toString()%>) VALUES (<%=insertValueStmt.toString()%>)";
<%
@@ -478,7 +475,7 @@ if(columnList != null && columnList.size() > 0) {
}
}
if(isDynamic) {
if ("mysql-connector-java-3.1.14-bin.jar".equals(dbVersion) && extendedInsert) {
if ("MYSQL_4".equals(dbVersion) && extendedInsert) {
%>
class BufferLine_<%=cid%> {

View File

@@ -4,11 +4,8 @@ imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
org.talend.core.model.process.IProcess
@@ -104,7 +101,7 @@ skeleton="../templates/db_output_bulk.skeleton"
if(extendedInsert){
if ("mysql-connector-java-3.1.14-bin.jar".equals(dbVersion)) {
if ("MYSQL_4".equals(dbVersion)) {
class ExtendInsertOperation{
public String generateType(String typeToGenerate){
if(("byte[]").equals(typeToGenerate)){
@@ -340,7 +337,7 @@ skeleton="../templates/db_output_bulk.skeleton"
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
}
<%
} else if ("mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) {
} else if ("MYSQL_5".equals(dbVersion)) {
//////////batch execute by batch size///////
if(!("").equals(numPerInsert ) && !("0").equals(numPerInsert )) {
%>
@@ -423,7 +420,7 @@ skeleton="../templates/db_output_bulk.skeleton"
<%
} else {
%>
<%if ((rejectConnName==null && "mysql-connector-java-5.1.0-bin.jar".equals(dbVersion) && useBatchSize) && ( ("INSERT").equals(dataAction) ||("UPDATE").equals(dataAction) || ("DELETE").equals(dataAction))) {
<%if ((rejectConnName==null && "MYSQL_5".equals(dbVersion) && useBatchSize) && ( ("INSERT").equals(dataAction) ||("UPDATE").equals(dataAction) || ("DELETE").equals(dataAction))) {
%>
try {
int countSum_<%=cid%> = 0;

View File

@@ -17,6 +17,7 @@
</HEADER>
<FAMILIES>
<FAMILY>Databases/AmazonRDS/MySQL</FAMILY>
<FAMILY>Cloud/AmazonRDS/MySQL</FAMILY>
</FAMILIES>
@@ -54,7 +55,7 @@
READONLY="true"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'">
<ITEMS DEFAULT="MYSQL_5">
<ITEM NAME="MYSQL_5" VALUE="mysql-connector-java-5.1.0-bin.jar" />
<ITEM NAME="MYSQL_5" VALUE="MYSQL_5" />
</ITEMS>
</PARAMETER>
@@ -419,7 +420,7 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="Driver-Mysql5" MODULE="mysql-connector-java-5.1.0-bin.jar" REQUIRED="false" />
<IMPORT NAME="Driver-Mysql5" MODULE="mysql-connector-java-5.1.22-bin.jar" REQUIRED_IF="(DB_VERSION == 'MYSQL_5') AND (USE_EXISTING_CONNECTION == 'false')" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -4,10 +4,8 @@ imports="
org.talend.core.model.process.INode
org.talend.core.model.process.ElementParameterParser
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.IMetadataColumn
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.process.IConnectionCategory
org.talend.core.model.metadata.MappingTypeRetriever
org.talend.core.model.metadata.MetadataTalendType
@@ -16,7 +14,6 @@ imports="
java.util.ArrayList
java.util.Map
java.util.HashMap
java.util.LinkedList
"
skeleton="../templates/db_output_bulk.skeleton"
%>
@@ -233,7 +230,7 @@ if(columnList != null && columnList.size() > 0) {
<%
} else {//extended-insert mode(begin)
if ("mysql-connector-java-3.1.14-bin.jar".equals(dbVersion)) {
if ("MYSQL_4".equals(dbVersion)) {
%>
////////////////////////////////////////////////////////////////////////////////////////////
@@ -300,7 +297,7 @@ if(columnList != null && columnList.size() > 0) {
int rowCount<%=cid%> = 0;
<%
}
} else if ("mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) {
} else if ("MYSQL_5".equals(dbVersion)) {
List< ? extends IConnection> conns_dynamic = node.getIncomingConnections();
if(conns_dynamic!=null && conns_dynamic.size()>0){
IConnection conn = conns_dynamic.get(0);
@@ -626,7 +623,7 @@ if(columnList != null && columnList.size() > 0) {
<%
}
}
if ("mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) {
if ("MYSQL_5".equals(dbVersion)) {
if (extendedInsert || useBatchSize) {
if((!("").equals(numPerInsert)&&!("0").equals(numPerInsert))
||(!("").equals(batchSize)&&!("0").equals(batchSize))) {
@@ -647,7 +644,7 @@ if(columnList != null && columnList.size() > 0) {
<%
if(("INSERT").equals(dataAction)) {
if(extendedInsert) {//extended-insert mode(begin)
if ("mysql-connector-java-3.1.14-bin.jar".equals(dbVersion)) {
if ("MYSQL_4".equals(dbVersion)) {
ExtendInsertOperation eiOperation = new ExtendInsertOperation();
int insertableCount = 0;
for(Column column : colStruct) {
@@ -726,7 +723,7 @@ if(columnList != null && columnList.size() > 0) {
counter<%=cid%>=1;
}
<%
} else if ("mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) {
} else if ("MYSQL_5".equals(dbVersion)) {
int counter = 1;
for(Column column : colStruct) {
if(column.isInsertable()) {
@@ -936,7 +933,7 @@ if(columnList != null && columnList.size() > 0) {
}
%>
<%if (rejectConnName == null && useBatchSize && "mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) { // whether use batch
<%if (rejectConnName == null && useBatchSize && "MYSQL_5".equals(dbVersion)) { // whether use batch
%>
pstmt_<%=cid %>.addBatch();
nb_line_<%=cid%>++;
@@ -1374,7 +1371,7 @@ if(columnList != null && columnList.size() > 0) {
<%
}
%>
<%if (rejectConnName == null && useBatchSize && "mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) { // whether use batch
<%if (rejectConnName == null && useBatchSize && "MYSQL_5".equals(dbVersion)) { // whether use batch
%>
pstmt_<%=cid %>.addBatch();
nb_line_<%=cid%>++;
@@ -1644,7 +1641,7 @@ if(columnList != null && columnList.size() > 0) {
<%
}
//////////batch execute by batch size///////
if (extendedInsert && "mysql-connector-java-5.1.0-bin.jar".equals(dbVersion) && ("INSERT").equals(dataAction)) {
if (extendedInsert && "MYSQL_5".equals(dbVersion) && ("INSERT").equals(dataAction)) {
if(!("").equals(numPerInsert ) && !("0").equals(numPerInsert )) {
%>
if ( batchSize_<%=cid%> <= batchSizeCounter_<%=cid%>) {
@@ -1691,7 +1688,7 @@ if(columnList != null && columnList.size() > 0) {
}
}
if (useBatchSize && "mysql-connector-java-5.1.0-bin.jar".equals(dbVersion) &&(rejectConnName==null)) {
if (useBatchSize && "MYSQL_5".equals(dbVersion) &&(rejectConnName==null)) {
if(!("").equals(batchSize) && !("0").equals(batchSize)) {
%>
if ( batchSize_<%=cid%> <= batchSizeCounter_<%=cid%>) {
@@ -1751,7 +1748,7 @@ if(columnList != null && columnList.size() > 0) {
if(commitEvery_<%=cid%> <= commitCounter_<%=cid%>) {
<%if ((rejectConnName==null && useBatchSize && "mysql-connector-java-5.1.0-bin.jar".equals(dbVersion)) && (("INSERT").equals(dataAction) || ("UPDATE").equals(dataAction) || ("DELETE").equals(dataAction)) ) {
<%if ((rejectConnName==null && useBatchSize && "MYSQL_5".equals(dbVersion)) && (("INSERT").equals(dataAction) || ("UPDATE").equals(dataAction) || ("DELETE").equals(dataAction)) ) {
%>
try {
int countSum_<%=cid%> = 0;

View File

@@ -35,13 +35,12 @@ DBD-ODBC.INFO=Requis pour les connexions de type ODBC
DBD-Oracle.INFO=Requis pour Oracle
DBD-Pg.INFO=Requis pour PostgreSQL
DBD-mysql.INFO=Requis pour MySQL
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
ENCODING.NAME=Encodage
EXTENDINSERT.NAME=Insertions étendues
HELP=org.talend.help.tAmazonMysqlOutput
HOST.NAME=Hôte
LONG_NAME=Insère ou met à jour des lignes dans une table MySQL Amazon RDS
NB_LINE.NAME=Nombre de lignes
NULL_CHAR.NAME=Caractère Null
PASS.NAME=Mot de passe
PORT.NAME=Port

View File

@@ -2,5 +2,11 @@ ADD_COLS.ITEM.NAME=Naam
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
ADD_COLS.ITEM.OPERATOR.ITEM.IS=IS
COMMIT_EVERY.NAME=Commit iedere
DATA_ACTION.ITEM.DELETE=Verwijderen
DATA_ACTION.ITEM.UPDATE=Update
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
HINT_OPTIONS.ITEM.SQL_STMT.ITEM.UPDATE=Update
HINT_OPTIONS.ITEM.SQL_STMT.ITEM.DELETE=Verwijderen
DB_VERSION.ITEM.MYSQL_4=Mysql 4
DB_VERSION.ITEM.MYSQL_5=Mysql 5

View File

@@ -5,7 +5,6 @@ ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
ADD_COLS.ITEM.OPERATOR.ITEM.LESS_THAN=<
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_THAN=>
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_EQUAL_THAN=>=
DATA_ACTION.ITEM.DELETE=DELETE
DATA_ACTION.ITEM.INSERT=INSERT
DATA_ACTION.ITEM.UPDATE=UPDATE
SQL_SYNTAX.NAME=SQL sintaksa
@@ -15,6 +14,5 @@ TYPE.ITEM.PGSQL=Postgre SQL
HINT_OPTIONS.ITEM.SQL_STMT=SQL STMT*
HINT_OPTIONS.ITEM.SQL_STMT.ITEM.INSERT=INSERT
HINT_OPTIONS.ITEM.SQL_STMT.ITEM.UPDATE=UPDATE
HINT_OPTIONS.ITEM.SQL_STMT.ITEM.DELETE=DELETE
DB_VERSION.ITEM.MYSQL_4=Mysql 4
DB_VERSION.ITEM.MYSQL_5=Mysql 5

View File

@@ -22,7 +22,6 @@ ENCODING.NAME=Encodage
HELP=org.talend.help.tAmazonMysqlRollback
HOST.NAME=Hôte
LONG_NAME=Annule toutes les transactions n'ayant pas encore été commitées dans une connexion MySQL Amazon RDS sélectionnée
NB_LINE.NAME=Nombre de lignes
NULL_CHAR.NAME=Caractère Null
PASS.NAME=Mot de passe
PORT.NAME=Port

View File

@@ -1,4 +1,6 @@
ADD_COLS.ITEM.NAME=Naam
COMMIT_EVERY.NAME=Commit iedere
DATA_ACTION.ITEM.DELETE=Verwijderen
DATA_ACTION.ITEM.UPDATE=Update
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam

View File

@@ -1,6 +1,5 @@
ADD_COLS.ITEM.REFCOL=Referentna kolona
ADD_COLS.ITEM.SQL=SQL izraz
DATA_ACTION.ITEM.DELETE=DELETE
DATA_ACTION.ITEM.INSERT=INSERT
DATA_ACTION.ITEM.UPDATE=UPDATE
SQL_SYNTAX.NAME=SQL sintaksa

View File

@@ -51,7 +51,7 @@
READONLY="true"
SHOW_IF="USE_EXISTING_CONNECTION == 'false'">
<ITEMS DEFAULT="MYSQL_5">
<ITEM NAME="MYSQL_5" VALUE="mysql-connector-java-5.1.0-bin.jar" />
<ITEM NAME="MYSQL_5" VALUE="MYSQL_5" />
</ITEMS>
</PARAMETER>
@@ -276,7 +276,7 @@
<CODEGENERATION>
<IMPORTS>
<IMPORT NAME="Driver-Mysql5" MODULE="mysql-connector-java-5.1.0-bin.jar" REQUIRED="false" />
<IMPORT NAME="Driver-Mysql5" MODULE="mysql-connector-java-5.1.22-bin.jar" REQUIRED_IF="(DB_VERSION == 'MYSQL_5') AND (USE_EXISTING_CONNECTION == 'false')" />
</IMPORTS>
</CODEGENERATION>

View File

@@ -4,12 +4,11 @@ DBD-Oracle.INFO=Requis pour Oracle
DBD-Pg.INFO=Requis pour PostgreSQL
DBD-mysql.INFO=Requis pour MySQL
DBTABLE.NAME=Nom de la table
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
ENCODING.NAME=Encodage
HELP=org.talend.help.tAmazonMysqlRow
HOST.NAME=Hôte
LONG_NAME=Exécute une requête SQL à chaque itération de flux Talend
NB_LINE.NAME=Nombre de lignes
PASS.NAME=Mot de passe
PORT.NAME=Port
PREPARED_STATEMENT.NAME=Instruction préparée
@@ -45,7 +44,7 @@ SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_INDEX=Index des param
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE=Type de paramètre
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.BigDecimal=BigDecimal
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Blob=Blob
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Boolean=Booléen
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Boolean=Boolean
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Byte=Byte
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Bytes=Bytes
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Clob=Clob

View File

@@ -1,3 +1,5 @@
COMMIT_EVERY.NAME=Commit iedere
PASS.NAME=Wachtwoord
USER.NAME=Gebruikersnaam
DB_VERSION.ITEM.MYSQL_4=Mysql 4
DB_VERSION.ITEM.MYSQL_5=Mysql 5

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