Compare commits

..

1074 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
rdubois
2fec4484a1 Add new images and htmls to subversion
git-svn-id: http://talendforge.org/svn/tos/trunk@92580 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 09:53:25 +00:00
rdubois
dfa5d6669c Remove old images and htmls from subversion
git-svn-id: http://talendforge.org/svn/tos/trunk@92570 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 08:27:07 +00:00
zshen
f39df2dfcc TDQ-5330 TDQ-6341 fix issue related to the combination of tMatchGroup and tRecordMatching
git-svn-id: http://talendforge.org/svn/tos/trunk@92563 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 07:57:18 +00:00
scorreia
1582b023fb i18n: synchronize Babili strings exported on 5.2.0RC2-2012-10-22-09-39-11
git-svn-id: http://talendforge.org/svn/tos/trunk@92559 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 07:46:23 +00:00
jzhao
afdc6933ee Fixed Bug TDI-23278: There are conflict between the final result and the checkbox (Get rid of duplicate row from output) when use tNomalize component
https://jira.talendforge.org/browse/TDI-23278
Note:
Modify to reuse existing code 

git-svn-id: http://talendforge.org/svn/tos/trunk@92558 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 07:46:14 +00:00
cli
2e3a8ee813 TDI-23355: enhance and fix the generating OSGI bundle by Maven.
git-svn-id: http://talendforge.org/svn/tos/trunk@92547 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 06:54:03 +00:00
ycbai
66df38f377 bug TUP-224 fixed : Review modification from commits 92519 and 92521
git-svn-id: http://talendforge.org/svn/tos/trunk@92540 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 06:05:01 +00:00
ycbai
69a1d2b903 bug TDI-23368 fixed : Error when try export to spagic
git-svn-id: http://talendforge.org/svn/tos/trunk@92539 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 06:01:56 +00:00
jzhao
5007c9708e Fixed Bug TDI-23278: There are conflict between the final result and the checkbox (Get rid of duplicate row from output) when use tNomalize component
https://jira.talendforge.org/browse/TDI-23278

git-svn-id: http://talendforge.org/svn/tos/trunk@92532 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 05:28:31 +00:00
nrousseau
45e2a51a3b Fix Backlog Task TDI-23363 : update studio part for the jars of oracle.
https://jira.talendforge.org/browse/TDI-23363

git-svn-id: http://talendforge.org/svn/tos/trunk@92524 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-22 02:48:11 +00:00
mhirt
bc58299368 Fix Compilation error on trunk due to commit 92519. Both commits should To be rechecked.
git-svn-id: http://talendforge.org/svn/tos/trunk@92521 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-20 21:30:32 +00:00
amarkevich
66a4b777fb simplify internal api
git-svn-id: http://talendforge.org/svn/tos/trunk@92519 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 14:42:15 +00:00
wliu
301c4ce701 Fix Bug TDI-23362 : update component part for the oracle jars
https://jira.talendforge.org/browse/TDI-23362

git-svn-id: http://talendforge.org/svn/tos/trunk@92505 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 11:03:58 +00:00
nrousseau
44cb8d164f TDI-23363 fixed: update versions of jars, still need to review for migration task of job settings after.
git-svn-id: http://talendforge.org/svn/tos/trunk@92504 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 10:53:07 +00:00
rdubois
b1d9a7aad5 TDI-23362 fixed: change the oracle drivers name
git-svn-id: http://talendforge.org/svn/tos/trunk@92503 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 10:40:16 +00:00
plv
72052b06b2 bug TDI-23335:tHL7Output component could not modify the node name
git-svn-id: http://talendforge.org/svn/tos/trunk@92488 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 09:14:29 +00:00
bchen
20843f46b6 Fix Bug TDI-22867 : Job doesn't end with OutOfMemoryError when 'Multithread execution' is checked
https://jira.talendforge.org/browse/TDI-22867


git-svn-id: http://talendforge.org/svn/tos/trunk@92478 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 08:14:24 +00:00
jzhao
6d9f56f4bc Fix Bug TDI-21714: When use "drop table if exists and create /create table if not exists" ,
will get create table error even table not exsists .(DB2,Postgres components).
http://jira.talendforge.org/browse/TDI-21714
Note:
1.change the variable: tableNameIgnoreCase to tableNameCaseSensitive
2.Fix tPostgreSQLOutput still have problem.

git-svn-id: http://talendforge.org/svn/tos/trunk@92477 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 08:07:41 +00:00
amarkevich
ffe9796207 TESB-6333: Beans should not be named as "userRoutines.jar" in exported Route bundle
git-svn-id: http://talendforge.org/svn/tos/trunk@92475 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 07:58:26 +00:00
fwang
f413c33cc7 bug TDI-23330 fixed:Exception throw up when import version 4.2.3 or 5.1.2 items to 5.2.0 if the items contain generated documentation
git-svn-id: http://talendforge.org/svn/tos/trunk@92469 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 07:42:05 +00:00
zwzhao
e1a381cb17 bug TDI-22975 fixed : Cancelling Expression Builder
git-svn-id: http://talendforge.org/svn/tos/trunk@92467 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 07:31:18 +00:00
cli
d119b01694 TDI-22791: fixed the NPE.
at org.talend.repository.ui.actions.importexport.ExportItemWizardPage.createItemRoot(ExportItemWizardPage.java:567)

git-svn-id: http://talendforge.org/svn/tos/trunk@92464 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 07:21:47 +00:00
plv
a62acb7eb2 bug TDI-23304:joblet can't be correctly used by clicking from Palette
git-svn-id: http://talendforge.org/svn/tos/trunk@92436 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-19 02:59:39 +00:00
rdubois
797267d281 Add CDDL licenses for different new libraries.
git-svn-id: http://talendforge.org/svn/tos/trunk@92426 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 15:49:05 +00:00
rdubois
cde141fb05 Fix some unknown required libraries
git-svn-id: http://talendforge.org/svn/tos/trunk@92425 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 15:02:10 +00:00
amarkevich
dc34f77ec1 TESB-5848: Class-loading issues when Talend routes invoke beans referring to CXF libs
git-svn-id: http://talendforge.org/svn/tos/trunk@92422 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 14:25:26 +00:00
rdubois
90e30c776d TDI-23320 fixed: correctly throw the exception for the tMDMOutput, tWriteXMLField, tBRMS and tWriteJSONField components.
git-svn-id: http://talendforge.org/svn/tos/trunk@92411 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 12:21:45 +00:00
ycbai
e3f017e5b8 feature TDI-23323 added : Move maven preference pages and scripts
git-svn-id: http://talendforge.org/svn/tos/trunk@92390 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 10:43:47 +00:00
wliu
3a1d73e1bb Fix workitem TDI-23342 : remove both declaration of partnerBulk.jar and sqljdbc.jar
https://jira.talendforge.org/browse/TDI-23342

git-svn-id: http://talendforge.org/svn/tos/trunk@92377 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 10:15:53 +00:00
jyhu
68d48336c0 Fix Bug TDI-23339 : When installing Talend V5.1.2 I got a virus message (JAVA/Agent.FB)
https://jira.talendforge.org/browse/TDI-23339 

git-svn-id: http://talendforge.org/svn/tos/trunk@92376 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 10:11:16 +00:00
rzubairov
d2202cf448 - fixed active-mq version in tMOMInputIn component
git-svn-id: http://talendforge.org/svn/tos/trunk@92371 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 09:45:50 +00:00
wliu
4fcf883dbf Fix Bug TDI-22892 : If lookup in parallel fails, job continues
https://jira.talendforge.org/browse/TDI-22892

git-svn-id: http://talendforge.org/svn/tos/trunk@92354 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 08:14:22 +00:00
fwang
aceccd331f bug TDI-23012 fixed:Missing error message when deleting links with expanded joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@92347 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 07:25:18 +00:00
fwang
17ede3fd0c bug TDI-22734 fixed:Joblet icon:Revert not worked for it
git-svn-id: http://talendforge.org/svn/tos/trunk@92342 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 07:03:07 +00:00
wwang
8268b0e763 Fix Bug TDI-23238 : NPE with reject from tExtractDelimiterFields
https://jira.talendforge.org/browse/TDI-23238

git-svn-id: http://talendforge.org/svn/tos/trunk@92327 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 04:03:29 +00:00
cli
e638f6471e TDI-22791: fixed the problem on linux system and refactor something at the same time.
git-svn-id: http://talendforge.org/svn/tos/trunk@92322 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 03:40:23 +00:00
jjzhou
3df9fceea6 fix Bug TDI-23209: The hint tags are wrong for all tSQLTemplate components
https://jira.talendforge.org/browse/TDI-23209

git-svn-id: http://talendforge.org/svn/tos/trunk@92312 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-18 02:47:08 +00:00
wwang
e58dbf4b73 Fix Bug TDI-23284 : t_FileCopy IOException
https://jira.talendforge.org/browse/TDI-23284

git-svn-id: http://talendforge.org/svn/tos/trunk@92292 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 10:24:53 +00:00
plv
2bd35c82d5 merge r92277 from branch 5.1 to trunk
bug TDI-22953:Update detection:Copybook :Duplicated items detected


git-svn-id: http://talendforge.org/svn/tos/trunk@92283 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 09:37:31 +00:00
ldong
79b854c62d bug TDI-22791 fixed:Talend Studio EE fails exporting service as zip archive on Ubuntu Linux 12.04.
git-svn-id: http://talendforge.org/svn/tos/trunk@92281 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 09:30:13 +00:00
wliu
a6e99e29b5 Fix Bug TDI-23276 : NPE when ticking the checkbox: implicit tContextLoad.
https://jira.talendforge.org/browse/TDI-23276

git-svn-id: http://talendforge.org/svn/tos/trunk@92255 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 07:52:15 +00:00
amarkevich
bacfbf31d4 TDI-22934: temp workaround
git-svn-id: http://talendforge.org/svn/tos/trunk@92251 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 07:32:07 +00:00
ycbai
95fed0a877 bug TDI-22989 fixed : HDFS browser doesn't work everytime
git-svn-id: http://talendforge.org/svn/tos/trunk@92240 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 06:39:26 +00:00
gliu
1e2f6d40ff [TESB-7302] Change the dataFormats of cCXF to "PAYLOAD", "RAW", "CXF_MESSAGE" and "POJO"
Changed the configuration and code generation of cCXF

git-svn-id: http://talendforge.org/svn/tos/trunk@92234 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 05:53:26 +00:00
wchen
cbfc7712d8 bug TDI-23275 fixed: BD build:Project setting->Palette Setting->Transfer components under "Technical" folder from Hide part to Show part, get error message
git-svn-id: http://talendforge.org/svn/tos/trunk@92232 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 05:44:59 +00:00
nrousseau
1a400a2e36 TDI-23162 modified: update to allow SHOW_IF="false" and SHOW_IF="true" in the components
git-svn-id: http://talendforge.org/svn/tos/trunk@92226 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 04:09:00 +00:00
hcyi
9fec8e690c bug TDI-23079 fixed : Generation pops up error , still get NPE when hide all components and restart the studio .
git-svn-id: http://talendforge.org/svn/tos/trunk@92219 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 03:19:31 +00:00
ldong
cb038f3e12 bug TDI-22791 fixed:Talend Studio EE fails exporting service as zip archive on Ubuntu Linux 12.04.
git-svn-id: http://talendforge.org/svn/tos/trunk@92207 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 02:05:59 +00:00
jzhao
789c821992 Fixed Bug TDI-22933: The code of method tFixedFlowInput_1Process(Map<String,Object>) is exceeding the 65535 bytes limit
https://jira.talendforge.org/browse/TDI-22933

git-svn-id: http://talendforge.org/svn/tos/trunk@92202 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-17 01:30:02 +00:00
nrousseau
12f2cd02ee bug TDI-23269 fixed: fix preview of file wizards
git-svn-id: http://talendforge.org/svn/tos/trunk@92176 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-16 06:17:37 +00:00
scorreia
ba5f38368f i18n: synchronize Babili strings exported on 5.2.0RC1-2012-10-15-15-08-15
git-svn-id: http://talendforge.org/svn/tos/trunk@92169 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 13:26:19 +00:00
rdubois
191fcf2e6f Add new images and htmls to subversion
git-svn-id: http://talendforge.org/svn/tos/trunk@92161 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 12:05:30 +00:00
bchen
293455cfd5 Fix Bug TDI-21609 : Unexpected result when tOracleInput load data with time zone
https://jira.talendforge.org/browse/TDI-21609


git-svn-id: http://talendforge.org/svn/tos/trunk@92160 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 11:43:25 +00:00
rdubois
16db517a63 Remove old images and htmls from subversion
git-svn-id: http://talendforge.org/svn/tos/trunk@92153 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 11:25:09 +00:00
jzhao
c3a326cfbd Fixed Bug TDI-22933: The code of method tFixedFlowInput_1Process(Map<String,Object>) is exceeding the 65535 bytes limit
https://jira.talendforge.org/browse/TDI-22933

git-svn-id: http://talendforge.org/svn/tos/trunk@92151 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 11:22:41 +00:00
wliu
711c3ced9a Fix workitem TDI-23262 : replace SHOW_IF="false" with SHOW="false" in the element:PARAMETER of the components
https://jira.talendforge.org/browse/TDI-23262

git-svn-id: http://talendforge.org/svn/tos/trunk@92148 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 10:42:11 +00:00
jzhao
c938945109 Fixed Bug TDI-22933: The code of method tFixedFlowInput_1Process(Map<String,Object>) is exceeding the 65535 bytes limit
https://jira.talendforge.org/browse/TDI-22933
Note : modify tExtractEBCDIC/tFileOutputDelimited

git-svn-id: http://talendforge.org/svn/tos/trunk@92135 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 09:43:38 +00:00
wwang
b860070f9c Fix Bug TDI-23149 : tFileCopy could not delete the file when i am using stat and log
https://jira.talendforge.org/browse/TDI-23149

git-svn-id: http://talendforge.org/svn/tos/trunk@92130 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 09:32:22 +00:00
wwang
2588383a3c Fix Feature TDI-23232 : revert the code and commit after5.2.1 ok
https://jira.talendforge.org/browse/TDI-23232

git-svn-id: http://talendforge.org/svn/tos/trunk@92117 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 08:20:57 +00:00
jyhu
e9f8ba10d4 Fix Bug TDI-23249 : remove the unnecessary code in tExaInput/Output/Row
https://jira.talendforge.org/browse/TDI-23249 

git-svn-id: http://talendforge.org/svn/tos/trunk@92113 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 07:53:26 +00:00
rdubois
0db5dfbe89 TESB-7279 fixed: Add a cid for the different variables
git-svn-id: http://talendforge.org/svn/tos/trunk@92108 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 07:31:05 +00:00
wliu
79681d0e52 Fix Bug TDI-22537 : tBonitaInstantiateProcess
https://jira.talendforge.org/browse/TDI-22537

git-svn-id: http://talendforge.org/svn/tos/trunk@92105 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 07:16:24 +00:00
wliu
9088a81e87 fix workitem TDI-22767: add a new checkbox:"trim result value" for tNormalize
https://jira.talendforge.org/browse/TDI-22767

git-svn-id: http://talendforge.org/svn/tos/trunk@92094 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 04:08:15 +00:00
hwang
f7f1c523ca TDI-20515:when you edit the configuration of tWebService component, the new column will cover the old column for Output mapping
git-svn-id: http://talendforge.org/svn/tos/trunk@92089 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 03:39:21 +00:00
wliu
4f3e26f480 Fix workitem TDI-23248 : replace SHOW_IF="false" with SHOW="false" in tFileInputDelimited
https://jira.talendforge.org/browse/TDI-23248

git-svn-id: http://talendforge.org/svn/tos/trunk@92086 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 02:43:42 +00:00
wwang
bdf26cd734 Fix Feature TDI-23232 : Allow user to set zip64 support mode for tfilearchive
https://jira.talendforge.org/browse/TDI-23232

git-svn-id: http://talendforge.org/svn/tos/trunk@92085 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-15 02:39:30 +00:00
wliu
f53fe1bd11 Fix Feature TDI-22537 : Add a new CLOSED_LIST PARAMETER: Client Mode
https://jira.talendforge.org/browse/TDI-22537

git-svn-id: http://talendforge.org/svn/tos/trunk@92083 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-14 13:20:28 +00:00
wliu
9f99e19518 Fix Feature TDI-22537 : Add a new CLOSED_LIST PARAMETER: Client Mode
https://jira.talendforge.org/browse/TDI-22537

git-svn-id: http://talendforge.org/svn/tos/trunk@92081 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-13 12:25:35 +00:00
wliu
28757ff0e4 Fix Feature TDI-22537 : Add a new CLOSED_LIST PARAMETER: Client Mode
https://jira.talendforge.org/browse/TDI-22537

git-svn-id: http://talendforge.org/svn/tos/trunk@92080 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-13 12:23:13 +00:00
plv
0407febd7c bug TDI-23106:improvement in mapping view of tFileInputXML
git-svn-id: http://talendforge.org/svn/tos/trunk@92073 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 10:21:56 +00:00
zwzhao
44d6e33792 bug TDI-23214 fixed : review the login dialog ,make it more tidiness
git-svn-id: http://talendforge.org/svn/tos/trunk@92072 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 10:12:16 +00:00
nrousseau
d8afec2d21 TDI-23239 fixed: set studio with svn repository when use offline mode.
git-svn-id: http://talendforge.org/svn/tos/trunk@92064 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 09:36:58 +00:00
wchen
c5c2f981be bug TDI-23202 fixed :The outliner view is not refresh when tFlowToIterate change ( check/unchek _DEFAULT_MAP_ parameter )
git-svn-id: http://talendforge.org/svn/tos/trunk@92057 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 08:43:09 +00:00
ycbai
37e9aecd70 feature TDI-23020 added : Add an option to build maven script for routes as KAR
git-svn-id: http://talendforge.org/svn/tos/trunk@92043 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 07:24:05 +00:00
cli
72a0450310 TDI-23225: fix the bundle classpath issue and fixed a bug for export karaf with maven.
git-svn-id: http://talendforge.org/svn/tos/trunk@92036 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 06:55:56 +00:00
cli
6fd58cff9a TDI-23228: fixed the bug for restore defaults in preference page.
git-svn-id: http://talendforge.org/svn/tos/trunk@92013 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 03:15:38 +00:00
jyhu
ceaa8f0076 Fix Bug TDI-23222 : Refactor the tCreateTable UI
https://jira.talendforge.org/browse/TDI-23222 

git-svn-id: http://talendforge.org/svn/tos/trunk@92006 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-12 02:33:41 +00:00
dbushenko
e9454712e2 Lots of small bugfixes. Transaction support for shared connection fixed.
git-svn-id: http://talendforge.org/svn/tos/trunk@91996 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 15:30:28 +00:00
amarkevich
c4a5a1002c [datasource] add osgi prefix for rest spring config
git-svn-id: http://talendforge.org/svn/tos/trunk@91995 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 15:07:17 +00:00
amarkevich
5f2df56ebf move variable
git-svn-id: http://talendforge.org/svn/tos/trunk@91989 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 14:39:06 +00:00
rdubois
86912b7d4f TDI-23209: The hint tags are wrong for all tSQLTemplate components
git-svn-id: http://talendforge.org/svn/tos/trunk@91981 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 12:43:53 +00:00
cli
c6732146d4 TDI-23211: add the preference page for maven scripts.
git-svn-id: http://talendforge.org/svn/tos/trunk@91971 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 09:32:39 +00:00
amarkevich
789515057a revert changes
git-svn-id: http://talendforge.org/svn/tos/trunk@91956 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 07:53:38 +00:00
amarkevich
20c09bc21c don't pack log4j for osgi
git-svn-id: http://talendforge.org/svn/tos/trunk@91954 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 07:51:32 +00:00
jyhu
48f1044ab7 Fix Bug TDI-22374 : Refactor the tCreateTable UI
https://jira.talendforge.org/browse/TDI-22374 

git-svn-id: http://talendforge.org/svn/tos/trunk@91950 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 07:36:01 +00:00
gliu
b558c9e535 [TESB-7151] fixed: Fix the issue
git-svn-id: http://talendforge.org/svn/tos/trunk@91948 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 07:14:09 +00:00
ycbai
a04cdc9517 feature TDI-23020 added : Add an option to build maven script for routes as KAR
git-svn-id: http://talendforge.org/svn/tos/trunk@91942 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 06:31:50 +00:00
hcyi
b08dc1311b bug TDI-23079 fixed : Generation pops up error .
git-svn-id: http://talendforge.org/svn/tos/trunk@91941 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 06:23:38 +00:00
jjzhou
388814bbf2 fix Bug TDI-22646:ELTOutput component "Action on data" has no "UPDATEORINSERT" and "INSERTORUPDATE" ,but in javajet code there has ,It should be remove .
https://jira.talendforge.org/browse/TDI-22646

git-svn-id: http://talendforge.org/svn/tos/trunk@91935 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 04:37:59 +00:00
fwang
61297ef7e2 bug TDI-22981 fixed:Ctrl+C no longer works at all for flow or if names
git-svn-id: http://talendforge.org/svn/tos/trunk@91928 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 03:48:45 +00:00
cli
60ec591e5d TDI-23051: add the karaf maven script and enhance other maven scripts too.
git-svn-id: http://talendforge.org/svn/tos/trunk@91919 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 02:52:04 +00:00
plv
0ba5e9f05c bug TDI-20732:tRowGenerate isses when using getRandomDate in conjunction with context variables
git-svn-id: http://talendforge.org/svn/tos/trunk@91918 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-11 02:46:57 +00:00
amarkevich
5aec2ccedf [osgi] mark commons-colections optional for export to runtime
git-svn-id: http://talendforge.org/svn/tos/trunk@91913 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 14:50:57 +00:00
dbushenko
af4e76cd87 Bugfixes
git-svn-id: http://talendforge.org/svn/tos/trunk@91909 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 12:58:39 +00:00
jyhu
09301acfae Fix Bug TDI-23132 : remove the unnecessary return values from all these tELT*** components
https://jira.talendforge.org/browse/TDI-23132 

git-svn-id: http://talendforge.org/svn/tos/trunk@91907 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 10:59:54 +00:00
jjzhou
6ce2e91f38 Fix new feature TDI-22843 : TflowToIterate component, add a CURRENT_ITERATION variable
https://jira.talendforge.org/browse/TDI-22843

git-svn-id: http://talendforge.org/svn/tos/trunk@91903 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 10:23:00 +00:00
wwang
d72ad3eaab Fix Feature TDI-18994 : change the UI from checkbox to closedlist
https://jira.talendforge.org/browse/TDI-18994

git-svn-id: http://talendforge.org/svn/tos/trunk@91901 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 10:16:56 +00:00
wliu
294e46950b Fix Bug TDI-23103: import the xmlparserv2.jar and xdb.jar in tOracleInput/Output components when needed
https://jira.talendforge.org/browse/TDI-23103

git-svn-id: http://talendforge.org/svn/tos/trunk@91863 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 08:16:16 +00:00
plv
e4547aa8c1 bug TDI-22296:tMap_duplicate error message display when there is no output schema for tMap component
git-svn-id: http://talendforge.org/svn/tos/trunk@91850 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 07:09:27 +00:00
nrousseau
cd9b18841c TDI-23196 fixed: avoid to display the component view if this one is not opened already.
git-svn-id: http://talendforge.org/svn/tos/trunk@91848 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 07:03:06 +00:00
nrousseau
0aeb489f36 TDI-23162 fixed: add the possibility to set new kind of expression
git-svn-id: http://talendforge.org/svn/tos/trunk@91835 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 06:39:27 +00:00
ycbai
c7ccc06bad bug TDI-23045 fixed : Parallel execution of headless command line using different workspaces fails
git-svn-id: http://talendforge.org/svn/tos/trunk@91834 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 06:39:19 +00:00
jjzhou
bbd784d24f Fix new feature TDI-22843 : TflowToIterate component, add a CURRENT_ITERATION variable
https://jira.talendforge.org/browse/TDI-22843

git-svn-id: http://talendforge.org/svn/tos/trunk@91826 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 04:53:50 +00:00
fwang
14f5eabbd0 bug TDI-22981 fixed:Ctrl+C no longer works at all for flow or if names
git-svn-id: http://talendforge.org/svn/tos/trunk@91811 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 02:06:23 +00:00
fwang
5772c0da2c bug TDI-22981 fixed:Ctrl+C no longer works at all for flow or if names
git-svn-id: http://talendforge.org/svn/tos/trunk@91809 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-10 02:00:09 +00:00
jzhao
ec20cb0444 Fix Bug TDI-22703: Problems related with Cassandra
https://jira.talendforge.org/browse/TDI-22703
Note:Modify the migration task "ChangeSpecifyKeysAndColumnsFortCassandraInput"

git-svn-id: http://talendforge.org/svn/tos/trunk@91790 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 11:56:17 +00:00
hcyi
77be39e793 bug TDI-23163 fixed : Need to review the REQUIRED_IF support in the wizards .
git-svn-id: http://talendforge.org/svn/tos/trunk@91778 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 09:59:41 +00:00
hwang
b52effdda2 TDI-23066:TIS 5.1.1 Cannot load Webservice metadata
git-svn-id: http://talendforge.org/svn/tos/trunk@91774 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 09:51:02 +00:00
plv
445f90c8c3 bug TDI-23106:improvement in mapping view of tFileInputXML
git-svn-id: http://talendforge.org/svn/tos/trunk@91770 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 09:36:29 +00:00
hwang
98e2496f71 TDI-23066:TIS 5.1.1 Cannot load Webservice metadata
git-svn-id: http://talendforge.org/svn/tos/trunk@91769 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 09:35:19 +00:00
hwang
81751f55f2 TDI-23070:when deactivate node,the outgoingconnection have been deactivated.
git-svn-id: http://talendforge.org/svn/tos/trunk@91760 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 09:11:00 +00:00
bchen
6a6c120f8f Fix Work Item TDI-23035 : Problems after supporting Timestamp with Timezone type in the Oracle
https://jira.talendforge.org/browse/TDI-23035
1. define "TIMESTAMP WITH TIME ZONE" type instead of "TIMESTAMP(6) WITH TIME ZONE" type, 0~9 permitted for length.
2. modified TalendDate.format method for timezone pattern.
3. modified tCreateTable and tOracleOutput to create table with Timestamp with time zone type.

git-svn-id: http://talendforge.org/svn/tos/trunk@91750 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 08:40:34 +00:00
hwang
9cc0e9d02f TDI-23066:TIS 5.1.1 Cannot load Webservice metadata
git-svn-id: http://talendforge.org/svn/tos/trunk@91739 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-09 03:25:50 +00:00
dbushenko
a722f46b31 Added shared ActiveMQ connection.
git-svn-id: http://talendforge.org/svn/tos/trunk@91727 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 13:45:20 +00:00
bchen
f56808c647 Fix Bug TDI-21779 : tOracleSCD type 2 does not work as expected with fields containing timestamps
https://jira.talendforge.org/browse/TDI-21779

git-svn-id: http://talendforge.org/svn/tos/trunk@91717 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 10:08:52 +00:00
cli
13ae2208af TDI-23050: enhance the exporting job for maven
git-svn-id: http://talendforge.org/svn/tos/trunk@91713 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 09:22:50 +00:00
jyhu
f7c94294a7 Fix Bug TDI-22782 : remove the unnecessary return values from all these tELT*** components
https://jira.talendforge.org/browse/TDI-22782 

git-svn-id: http://talendforge.org/svn/tos/trunk@91708 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 08:34:18 +00:00
wliu
4c7abe10a1 Fix Bug TDI-23130 : rename the jar: vertica_6.0.0_jdk_5.jar to the original name:vertica-jdk5-6.0.0-0.jar
https://jira.talendforge.org/browse/TDI-23130

git-svn-id: http://talendforge.org/svn/tos/trunk@91704 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 07:47:43 +00:00
wliu
34773a9d4a Fix Bug TDI-23130 : rename the jar: vertica_6.0.0_jdk_5.jar to the original name:vertica-jdk5-6.0.0-0.jar
https://jira.talendforge.org/browse/TDI-23130

git-svn-id: http://talendforge.org/svn/tos/trunk@91703 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 07:45:54 +00:00
jyhu
65a1155a1e Fix Bug TDI-22956 : Can't use a Greenplum connection in the SQLTemplate components
https://jira.talendforge.org/browse/TDI-22956 

git-svn-id: http://talendforge.org/svn/tos/trunk@91702 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 07:41:37 +00:00
bchen
d67b9a0f4c Fix Bug TDI-21779 : tOracleSCD type 2 does not work as expected with fields containing timestamps
https://jira.talendforge.org/browse/TDI-21779

git-svn-id: http://talendforge.org/svn/tos/trunk@91697 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 07:15:53 +00:00
cli
7816a18263 TDI-23050: enhance the exporting job for maven
git-svn-id: http://talendforge.org/svn/tos/trunk@91689 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 06:13:21 +00:00
wwang
4d15996435 Fix Bug TDI-22915 : tFTPGet not working with regex
https://jira.talendforge.org/browse/TDI-22915

git-svn-id: http://talendforge.org/svn/tos/trunk@91682 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 03:33:47 +00:00
plv
d82b01e4ab bug TDI-15128:Invalid OnSubjob links
git-svn-id: http://talendforge.org/svn/tos/trunk@91681 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 03:32:39 +00:00
fwang
38a062c48d bug TDI-22981 fixed:Ctrl+C no longer works at all for flow or if names
git-svn-id: http://talendforge.org/svn/tos/trunk@91674 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-08 02:38:58 +00:00
amarkevich
e90f42ce05 close ResultSet
git-svn-id: http://talendforge.org/svn/tos/trunk@91648 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-04 10:09:45 +00:00
sizhaoliu
506fd90029 TUP-202 fix an action loading exception + externalization of messages
& TDQ-6108 when rename a folder which does not exist, a pop-up dialog will be shown


git-svn-id: http://talendforge.org/svn/tos/trunk@91639 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-03 17:00:04 +00:00
sizhaoliu
289f801277 TUP-202 delete the classes that are moved in the last commit.
git-svn-id: http://talendforge.org/svn/tos/trunk@91618 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-02 18:35:57 +00:00
amarkevich
db300f334b TESB-7204: pass DataSources to inner jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@91612 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-02 14:58:51 +00:00
amarkevich
9b7947b1c2 TESB-7204: search for DB aliases within inner jobs
git-svn-id: http://talendforge.org/svn/tos/trunk@91611 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-02 14:43:56 +00:00
amarkevich
e7d6acd111 add all embded jars for bnd
git-svn-id: http://talendforge.org/svn/tos/trunk@91608 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-02 12:23:43 +00:00
rdubois
b3ec9fc0e7 TDI-23070: FIXME. Revert r91525 to fix some tujs.
git-svn-id: http://talendforge.org/svn/tos/trunk@91598 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-01 15:01:59 +00:00
rdubois
da54f25b8a TDI-23004 fixed
git-svn-id: http://talendforge.org/svn/tos/trunk@91576 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-01 08:43:40 +00:00
amarkevich
04ce8f6dae reuse org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider
git-svn-id: http://talendforge.org/svn/tos/trunk@91570 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-10-01 08:25:56 +00:00
fwang
91b5275fb2 bug TDI-23082 fixed:Problem when use tPrejob and Stats&Logs at the same time
git-svn-id: http://talendforge.org/svn/tos/trunk@91544 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-29 06:13:30 +00:00
wwang
e2f824e80d Fix Feature TDI-18994 : add the source of simpleexcel
https://jira.talendforge.org/browse/TDI-18994

git-svn-id: http://talendforge.org/svn/tos/trunk@91541 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-29 05:01:17 +00:00
wwang
20c4f1fd45 Fix Feature TDI-18994 : add the event model support for large excel2007
https://jira.talendforge.org/browse/TDI-18994

git-svn-id: http://talendforge.org/svn/tos/trunk@91537 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-29 03:05:32 +00:00
ycbai
e0a3cc0995 bug TDI-23048 fixed : ant lib is always exported even for standard export
git-svn-id: http://talendforge.org/svn/tos/trunk@91528 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-29 02:23:30 +00:00
hwang
c289a84c2f TDI-23070 :when deactivate node,the outgoingconnection have been deactivated.
git-svn-id: http://talendforge.org/svn/tos/trunk@91525 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-29 02:12:14 +00:00
hwang
c9412b8499 TDI-16902 :Row links not activated
git-svn-id: http://talendforge.org/svn/tos/trunk@91524 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-29 02:10:42 +00:00
zwzhao
6e6bda1c9f bug TDI-23058 fixed : Jar installation: Click component from palette, click job, cancel jar install dialog = no component in job
git-svn-id: http://talendforge.org/svn/tos/trunk@91494 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-27 10:33:19 +00:00
zwzhao
3cff292280 revert TDI-23058
git-svn-id: http://talendforge.org/svn/tos/trunk@91485 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-27 08:09:59 +00:00
zwzhao
f906576cff bug TDI-23058 fixed : Jar installation: Click component from palette, click job, cancel jar install dialog = no component in job
git-svn-id: http://talendforge.org/svn/tos/trunk@91483 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-27 07:39:15 +00:00
rdubois
f714859828 TESB-6967: use DataSource? alias for tMysql and tOracle components
git-svn-id: http://talendforge.org/svn/tos/trunk@91471 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 15:47:15 +00:00
rdubois
528cefabd6 TESB-6967: use DataSource? alias for tMysql and tOracle components
git-svn-id: http://talendforge.org/svn/tos/trunk@91468 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 14:08:45 +00:00
etatarintseva
45eac66f86 add STARTABLE="true" to tMOMconnection
git-svn-id: http://talendforge.org/svn/tos/trunk@91466 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 13:07:23 +00:00
amarkevich
c650e3f80e fixed NPE if no DataSource available
git-svn-id: http://talendforge.org/svn/tos/trunk@91463 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:59:56 +00:00
rzubairov
9009091601 Minor bugfix
git-svn-id: http://talendforge.org/svn/tos/trunk@91462 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:56:31 +00:00
etatarintseva
080ffbdaed tMOMConnection connectors changes
git-svn-id: http://talendforge.org/svn/tos/trunk@91460 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:50:43 +00:00
etatarintseva
9479323fa9 change tMomConnector connections
git-svn-id: http://talendforge.org/svn/tos/trunk@91459 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:43:57 +00:00
rzubairov
9948a7e69a added tMomConnection to filter
git-svn-id: http://talendforge.org/svn/tos/trunk@91458 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:31:15 +00:00
rzubairov
092204aa23 added tMomConnection to filter
git-svn-id: http://talendforge.org/svn/tos/trunk@91457 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:30:58 +00:00
rzubairov
c5421952ab hotfix
git-svn-id: http://talendforge.org/svn/tos/trunk@91456 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:23:04 +00:00
rzubairov
3bc29208de hotfix
git-svn-id: http://talendforge.org/svn/tos/trunk@91455 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 12:21:44 +00:00
rdubois
002fd692d9 TESB-6967: use DataSource? alias for tJDBC components
git-svn-id: http://talendforge.org/svn/tos/trunk@91452 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 11:27:59 +00:00
amarkevich
a5afed8db8 scan all process nodes for DATASOURCE_ALIAS
git-svn-id: http://talendforge.org/svn/tos/trunk@91449 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 11:14:39 +00:00
rdubois
76a4feeabe Fix compilation issue for the connection components
git-svn-id: http://talendforge.org/svn/tos/trunk@91448 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 11:13:30 +00:00
amarkevich
681979336a fix for tJDBCOutput
git-svn-id: http://talendforge.org/svn/tos/trunk@91442 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:52:39 +00:00
wchen
daefcfb01d feature TDI-23030 added: Review the display of the first page of export job
git-svn-id: http://talendforge.org/svn/tos/trunk@91439 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:50:57 +00:00
wchen
c54cb465e5 feature TDI-23030 added: Review the display of the first page of export job
git-svn-id: http://talendforge.org/svn/tos/trunk@91437 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:44:00 +00:00
rzubairov
848f1032e7 tMomInput updated to use existing connection
git-svn-id: http://talendforge.org/svn/tos/trunk@91435 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:41:13 +00:00
jzhao
a3aca4295d Fix Bug TDI-21714: When use "drop table if exists and create /create table if not exists" ,
will get create table error even table not exsists .(DB2,Postgres components).
http://jira.talendforge.org/browse/TDI-21714
Note:
tCreateTable have been support greenplum , so this fixed should also fixed greenplum

git-svn-id: http://talendforge.org/svn/tos/trunk@91434 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:40:09 +00:00
rzubairov
095b665999 tMomOutput updated to use existing connection
git-svn-id: http://talendforge.org/svn/tos/trunk@91433 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:40:07 +00:00
rdubois
bf2ce3d2d1 TESB-6967: use DataSource? alias for tJDBC components
git-svn-id: http://talendforge.org/svn/tos/trunk@91432 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:25:25 +00:00
scorreia
16b52d284f i18n: synchronize Babili strings exported on 5.2.0M4-2012-09-26-12-00-54
git-svn-id: http://talendforge.org/svn/tos/trunk@91431 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:21:29 +00:00
etatarintseva
2d3062d2ff add new tMomConnection component
git-svn-id: http://talendforge.org/svn/tos/trunk@91426 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 10:10:43 +00:00
mhirt
90d16cb3ac Commit new brandings for 5.2 for TOS4DI, TOS4BigData, TOS4ESB
git-svn-id: http://talendforge.org/svn/tos/trunk@91415 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:58:25 +00:00
amarkevich
480fe5cd4e break the loop if sam enabled for route
git-svn-id: http://talendforge.org/svn/tos/trunk@91411 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:53:58 +00:00
plv
e7d60b5a15 bug TDI-22959:Guess schema with JavaDB reports error
git-svn-id: http://talendforge.org/svn/tos/trunk@91410 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:50:29 +00:00
jyhu
87bfef5365 Fix Bug TDI-22512 : tEXAOutput insert data error
https://jira.talendforge.org/browse/TDI-22512 

git-svn-id: http://talendforge.org/svn/tos/trunk@91406 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:34:35 +00:00
amarkevich
9dd1456f84 fixed alias check
git-svn-id: http://talendforge.org/svn/tos/trunk@91403 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:27:05 +00:00
wliu
e2841385f8 Fix Bug TDI-21609 : avoid nullpointerException for DB type: timestamp with time zone
https://jira.talendforge.org/browse/TDI-21609

git-svn-id: http://talendforge.org/svn/tos/trunk@91402 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:18:34 +00:00
jjzhou
11ccf6902f fix Bug TDI-22460:revert code
https://jira.talendforge.org/browse/TDI-22460

git-svn-id: http://talendforge.org/svn/tos/trunk@91399 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:16:48 +00:00
jzhao
db61c02c01 Fix Work Item TDI-22767 : the new checkbox:"Discard the trailing empty strings" should be invisible when "Use CSV parameters" is ticked for tNormalize
https://jira.talendforge.org/browse/TDI-22767
Note:
Add  checkbox "Trim" trim the input data 

git-svn-id: http://talendforge.org/svn/tos/trunk@91398 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 09:16:30 +00:00
amarkevich
09ccd0abfa TESB-6967: check alias in t*Connection component
git-svn-id: http://talendforge.org/svn/tos/trunk@91394 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 08:45:21 +00:00
amarkevich
cf3eb65078 generate additional import in case REST with BASIC auth
git-svn-id: http://talendforge.org/svn/tos/trunk@91393 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 08:39:21 +00:00
ycbai
67f733e2ac feature TDI-22625 added : Need an option to add a build script for Maven or Ant when export a job
git-svn-id: http://talendforge.org/svn/tos/trunk@91392 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 08:38:32 +00:00
wchen
76d9e2fba0 feature TDI-23019 added : Add an option to build maven script for jobs as OSGI bundles
git-svn-id: http://talendforge.org/svn/tos/trunk@91389 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 08:24:15 +00:00
rdubois
cef7f094fd TESB-6967: use DataSource? alias
git-svn-id: http://talendforge.org/svn/tos/trunk@91388 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 08:16:45 +00:00
amarkevich
956d97867d siplify route blueprint generation
git-svn-id: http://talendforge.org/svn/tos/trunk@91386 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 08:10:38 +00:00
amarkevich
edacefef10 lookup for additional packages for routes
git-svn-id: http://talendforge.org/svn/tos/trunk@91382 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 07:48:50 +00:00
nrousseau
1c13f9a8b2 TDI-23019 : add basic code to be able to generate OSGI bundles with maven
git-svn-id: http://talendforge.org/svn/tos/trunk@91376 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 06:30:44 +00:00
plv
4ff5497182 bug TDI-22729:no error or warning message shown when there is no output schema for tMap component
git-svn-id: http://talendforge.org/svn/tos/trunk@91375 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 06:27:08 +00:00
wwang
fc58aa0a30 Fix Bug TDI-22864 : When the zip file is too large ,tFileUnarchive component can't extact it
https://jira.talendforge.org/browse/TDI-22864

git-svn-id: http://talendforge.org/svn/tos/trunk@91366 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 03:55:22 +00:00
gliu
65ee988900 [TESB-7114] fixed: Fix the dependencies issue of RouteBuilder
git-svn-id: http://talendforge.org/svn/tos/trunk@91358 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-26 03:14:38 +00:00
amarkevich
357dd35178 allow aliases with slashes
git-svn-id: http://talendforge.org/svn/tos/trunk@91346 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 14:05:27 +00:00
rzubairov
726a09d9ca - added failover for tMOMInput and tMOMOutput
git-svn-id: http://talendforge.org/svn/tos/trunk@91344 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 13:25:40 +00:00
amarkevich
39cb3837a6 TESB-6967: use DataSource alias
git-svn-id: http://talendforge.org/svn/tos/trunk@91341 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 13:02:54 +00:00
ycbai
ba26d1ac17 feature TDI-22625 added : Need an option to add a build script for Maven or Ant when export a job
git-svn-id: http://talendforge.org/svn/tos/trunk@91333 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 11:43:54 +00:00
jjzhou
8ae1bfc4e0 Fix new feature TDI-22704 : PostGreSql - Problem with Transaction
https://jira.talendforge.org/browse/TDI-22704

git-svn-id: http://talendforge.org/svn/tos/trunk@91326 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 10:37:11 +00:00
fwang
c2f85b92f1 bug TDI-20755 fixed: Got the same column name in tRowGenerator component
git-svn-id: http://talendforge.org/svn/tos/trunk@91318 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 10:10:04 +00:00
wwang
0dcc4e0e99 Fix Bug TDI-22392 : continue to merge
https://jira.talendforge.org/browse/TDI-22392

git-svn-id: http://talendforge.org/svn/tos/trunk@91316 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 10:06:20 +00:00
bchen
f95956787f Fix Bug TDI-21779 : tOracleSCD type 2 does not work as expected with fields containing timestamps
https://jira.talendforge.org/browse/TDI-21779

git-svn-id: http://talendforge.org/svn/tos/trunk@91295 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 08:58:44 +00:00
amarkevich
7e83a10649 TESB-7055: reuse route import-package
git-svn-id: http://talendforge.org/svn/tos/trunk@91286 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 08:42:14 +00:00
ldong
7bd7bfe524 Feature TDI-22773 improved:remove the limit of key "branch" for local project.
git-svn-id: http://talendforge.org/svn/tos/trunk@91281 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 08:02:19 +00:00
ldong
7c7ffc167b Feature TDI-22773 improved:Adding file description in zip of exportJob (Studio and commandline).
git-svn-id: http://talendforge.org/svn/tos/trunk@91262 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 06:22:56 +00:00
hcyi
788ea76c70 bug TDI-22816 fixed : Open ESBDEMOS project,use an existing account can't connect to talendforge .
git-svn-id: http://talendforge.org/svn/tos/trunk@91249 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-25 02:29:48 +00:00
rdubois
42c54a1e57 TESB-6967:Support improved connection pooling for Data Services
git-svn-id: http://talendforge.org/svn/tos/trunk@91239 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 15:32:03 +00:00
rdubois
7dcd28db94 TESB-6967:Support improved connection pooling for Data Services
git-svn-id: http://talendforge.org/svn/tos/trunk@91238 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 15:31:46 +00:00
amarkevich
33a76efe96 [TESB-6967] use DS alias
git-svn-id: http://talendforge.org/svn/tos/trunk@91237 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 15:07:18 +00:00
amarkevich
d7151c86c7 [route] fixed external lib support
git-svn-id: http://talendforge.org/svn/tos/trunk@91235 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 14:04:34 +00:00
amarkevich
8460276d9d fixed reference generation
git-svn-id: http://talendforge.org/svn/tos/trunk@91234 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 14:00:32 +00:00
rdubois
4f12694861 TDI-22958: tHiveInput throw error when execute sql (select columns for table ) on CDH4 with connection mode embedded
git-svn-id: http://talendforge.org/svn/tos/trunk@91233 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 13:32:29 +00:00
wwang
397f3ba72b Fix BugTDI-22392 : merge to other tXXDBRow
https://jira.talendforge.org/browse/TDI-22392

git-svn-id: http://talendforge.org/svn/tos/trunk@91221 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 10:09:50 +00:00
plv
191fdb2247 bug TDI-22900:when create onsubjobok/onsubjoberror connection from one subjob to another subjob, the 2 subjobs become one subjob
git-svn-id: http://talendforge.org/svn/tos/trunk@91220 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 10:03:49 +00:00
wchen
c4259a34f2 feature TDI-22424 added : Revert bad commit
git-svn-id: http://talendforge.org/svn/tos/trunk@91218 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 10:01:27 +00:00
jyhu
f71046cd0b Fix Bug TDI-21748 : Display of String truncation option in tSchemaComplianceCheck.
http://jira.talendforge.org/browse/TDI-21748

git-svn-id: http://talendforge.org/svn/tos/trunk@91215 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 09:56:49 +00:00
jyhu
13495e6c44 Fix Bug TDI-21748 : Display of String truncation option in tSchemaComplianceCheck.
http://jira.talendforge.org/browse/TDI-21748

git-svn-id: http://talendforge.org/svn/tos/trunk@91213 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 09:54:53 +00:00
plv
5351ea224e bug TDI-22900:when create onsubjobok/onsubjoberror connection from one subjob to another subjob, the 2 subjobs become one subjob
git-svn-id: http://talendforge.org/svn/tos/trunk@91194 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 08:48:07 +00:00
wchen
ac3323945d feature TDI-22424 added :Some components are missing java libraries
git-svn-id: http://talendforge.org/svn/tos/trunk@91191 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 08:37:27 +00:00
plv
efac66bfb2 bug TDI-22899:the source and target of onsubjobok/onsubjoberror connection should be start node
git-svn-id: http://talendforge.org/svn/tos/trunk@91190 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 08:33:14 +00:00
bchen
0ec17e6611 Fix Bug TDI-22898 : tSalesforceBulkExec issue with tSetProxy
https://jira.talendforge.org/browse/TDI-22898

git-svn-id: http://talendforge.org/svn/tos/trunk@91189 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 08:09:25 +00:00
bchen
94fe750adf Fix Bug TDI-21779 : tOracleSCD type 2 does not work as expected with fields containing timestamps
https://jira.talendforge.org/browse/TDI-21779
1.make TalendDate.parseDate method support to store timezone
2.make tOracleSCD component support "Timestamp With Time Zone" type


git-svn-id: http://talendforge.org/svn/tos/trunk@91184 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 05:50:52 +00:00
jyhu
c7767178fd Fix Bug TDI-22544 : tCreateTable:Change to different db connection, port canot changed to correspond db
https://jira.talendforge.org/browse/TDI-22544

git-svn-id: http://talendforge.org/svn/tos/trunk@91173 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-24 02:21:19 +00:00
amarkevich
5a2b7506e1 TESB-6967: use osgi reference to preconfigured DataSource
git-svn-id: http://talendforge.org/svn/tos/trunk@91168 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-21 15:03:23 +00:00
ldong
aa29b54a8d Feature TDI-22773 improved:adding file description in zip of exportJob (Studio and commandline).
git-svn-id: http://talendforge.org/svn/tos/trunk@91127 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-21 09:13:03 +00:00
wwang
ea0fa5bbe7 Fix Bug TDI-22682 : add the source
https://jira.talendforge.org/browse/TDI-22682

git-svn-id: http://talendforge.org/svn/tos/trunk@91126 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-21 09:12:54 +00:00
amarkevich
43d1ab222e added systemRoutines.jar for analyzer
git-svn-id: http://talendforge.org/svn/tos/trunk@91125 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-21 09:10:20 +00:00
wwang
812a76fb60 Fix Bug TDI-22682 : Find the detail difference between javacsv.jar and talendcsv.jar,and make their action the same.
https://jira.talendforge.org/browse/TDI-22682

git-svn-id: http://talendforge.org/svn/tos/trunk@91122 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-21 09:00:05 +00:00
plv
2da6db49f0 bug TDI-22729:no error or warning message shown when there is no output schema for tMap component
git-svn-id: http://talendforge.org/svn/tos/trunk@91115 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-21 07:42:34 +00:00
plv
63ec34ae42 bug TDI-22600:error happened when Guess schema whith query on several rows in tMysqlInput
git-svn-id: http://talendforge.org/svn/tos/trunk@91076 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-21 01:55:53 +00:00
amarkevich
1202307444 generate manifest using bndlib
git-svn-id: http://talendforge.org/svn/tos/trunk@91066 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-20 14:12:42 +00:00
rzubairov
b6b1dd9633 - added bnd tool to repository feature
git-svn-id: http://talendforge.org/svn/tos/trunk@91065 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-20 13:58:01 +00:00
rzubairov
a9d86d8144 - added bnd tool
git-svn-id: http://talendforge.org/svn/tos/trunk@91064 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-20 13:47:44 +00:00
hwang
9749b5c54c TDI-22878:missing the name of refactor joblet in job after update joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@91045 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-20 08:56:34 +00:00
rdubois
850e0b3037 Add some indication on the supported versions for Hive, HBase and Pig for the Apache distributions
git-svn-id: http://talendforge.org/svn/tos/trunk@91007 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-19 12:24:52 +00:00
rdubois
64658f6786 TDI-22879: Add commons-lang in the classpath for Apache 1.0
git-svn-id: http://talendforge.org/svn/tos/trunk@91005 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-19 11:34:16 +00:00
jzhao
5da6309897 Fix Feature TDI-22759: We should be able to get all rows from the tCassandraInput
https://jira.talendforge.org/browse/TDI-22759

git-svn-id: http://talendforge.org/svn/tos/trunk@90989 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-19 08:50:51 +00:00
ldong
2405604b3e Feature TDI-22773 improved:Adding file description in zip of exportJob (Studio and commandline).
git-svn-id: http://talendforge.org/svn/tos/trunk@90985 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-19 08:41:44 +00:00
fwang
95f40be489 bug TDI-8046 fixed:tMap in jobs opened as read-only
git-svn-id: http://talendforge.org/svn/tos/trunk@90936 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-19 01:29:41 +00:00
nrousseau
8b2b397e88 bug TDI-22877 fixed: fix possible exception found in the logs (and not affecting anything, just to clean logs)
git-svn-id: http://talendforge.org/svn/tos/trunk@90880 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-18 07:15:47 +00:00
jjzhou
45bba6e7e7 fix Bug TDI-22675:After using tFileCopy, the source file sometime remains open
git-svn-id: http://talendforge.org/svn/tos/trunk@90849 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-18 04:01:01 +00:00
ldong
b43f87bdd2 Feature TDI-22773 added:Adding file description in zip of exportJob (Studio and commandline).
git-svn-id: http://talendforge.org/svn/tos/trunk@90848 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-18 03:54:43 +00:00
cli
4e5103741a TDI-21185 / TDI-22870: fixed the problem.
git-svn-id: http://talendforge.org/svn/tos/trunk@90843 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-18 03:31:29 +00:00
rdubois
2d66a91ea6 Fix the tMysqlOutputBulk import issue.
git-svn-id: http://talendforge.org/svn/tos/trunk@90804 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 19:14:19 +00:00
bchen
876dda4a95 Fix Bug TDI-21609 : Unexpected result when tOracleInput load data with time zone
https://jira.talendforge.org/browse/TDI-21609 
1.add default value "TIMESTAMP(6) WITH TIME ZONE" to mapping_Oracle.xml.
2.remove unuse code.

git-svn-id: http://talendforge.org/svn/tos/trunk@90785 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 09:19:23 +00:00
cli
a0a2785779 TDI-21185: disable it first.
git-svn-id: http://talendforge.org/svn/tos/trunk@90778 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 08:21:00 +00:00
rdubois
ac30f0613b TDI-22811: Issue executing the tHiveInput against Hive from a remote client
git-svn-id: http://talendforge.org/svn/tos/trunk@90775 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 08:10:48 +00:00
jyhu
68ad38f051 Fix Bug TDI-22351 : Execption occured while genereting sample data using tRowGenerator into existing Teradata table.
http://jira.talendforge.org/browse/TDI-22351 

git-svn-id: http://talendforge.org/svn/tos/trunk@90767 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 07:14:25 +00:00
cli
d70ca34410 TDI-21185: change the technical name for local and svn project.
git-svn-id: http://talendforge.org/svn/tos/trunk@90758 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 06:02:13 +00:00
fwang
a3e77961e4 bug TDI-22712 fixed:TIS Freezes when trying to Create Documentation for specific job
git-svn-id: http://talendforge.org/svn/tos/trunk@90752 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 01:30:13 +00:00
jjzhou
d487284760 fix Bug TDI-22420:remove the "Encoding" in tHiveConnection
git-svn-id: http://talendforge.org/svn/tos/trunk@90751 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-17 01:20:10 +00:00
rdubois
f8d54802c9 TDI-22811: revert r90736
git-svn-id: http://talendforge.org/svn/tos/trunk@90737 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-14 15:08:36 +00:00
rdubois
d7d697bfb4 TDI-22811: Issue executing the tHiveInput against Hive from a remote client
git-svn-id: http://talendforge.org/svn/tos/trunk@90736 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-14 15:06:55 +00:00
jzhao
e649065cf5 Fix Work Item TDI-22767 : the new checkbox:"Discard the trailing empty strings" should be invisible when "Use CSV parameters" is ticked for tNormalize
https://jira.talendforge.org/browse/TDI-22767


git-svn-id: http://talendforge.org/svn/tos/trunk@90718 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-14 08:57:03 +00:00
plv
c48335109d bug TDI-22382:Copy Book:rename schema which used in a job , error
git-svn-id: http://talendforge.org/svn/tos/trunk@90705 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-14 05:49:16 +00:00
zshen
7360759a84 TDQ-6054 TDQ-6131 make report support to matching of JUDI.
git-svn-id: http://talendforge.org/svn/tos/trunk@90696 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-14 03:35:23 +00:00
wliu
d04acce675 Fix Bug TDI-21748 : Display of String truncation option in tSchemaComplianceCheck for all these 3 modes::"check all columns from schema", "Custom defined", "Use another Schema for compliance check"
https://jira.talendforge.org/browse/TDI-21748

git-svn-id: http://talendforge.org/svn/tos/trunk@90693 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-14 03:04:51 +00:00
hwang
7ef4854e0c TDI-21427 :tMap:Unexept var under var list
git-svn-id: http://talendforge.org/svn/tos/trunk@90690 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-14 01:33:19 +00:00
rdubois
c0b0cba721 TDI-22354 fixed: replace the poi-3.8-20120326.jar by poi-3.8-20120913_modified_talend.jar
git-svn-id: http://talendforge.org/svn/tos/trunk@90682 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-13 12:40:00 +00:00
amarkevich
9945e5d38d added additional import for javax.xml.namespace
git-svn-id: http://talendforge.org/svn/tos/trunk@90678 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-13 12:15:24 +00:00
amarkevich
e1995e7bad added javax.xml.transform to import packages
git-svn-id: http://talendforge.org/svn/tos/trunk@90675 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-13 11:48:47 +00:00
wliu
bc741820b6 Fix Bug TDI-22820 : tIterateToFlow NPE
https://jira.talendforge.org/browse/TDI-22820

git-svn-id: http://talendforge.org/svn/tos/trunk@90665 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-13 10:47:35 +00:00
jjzhou
2d8726ce60 fix Bug TDI-22064:tRule &tHttprequest: edit schema form can not be expand
git-svn-id: http://talendforge.org/svn/tos/trunk@90653 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-13 10:03:18 +00:00
amarkevich
b74aa638e2 added additional import packages
git-svn-id: http://talendforge.org/svn/tos/trunk@90645 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-13 09:25:59 +00:00
fwang
8566c60102 bug TDI-22712 fixed:TIS Freezes when trying to Create Documentation for specific job
git-svn-id: http://talendforge.org/svn/tos/trunk@90636 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-13 07:32:46 +00:00
jjzhou
b59260108e fix Bug TDI-22604: tPostgresqlOutputBulkExec: COPY escape must be a single one-byte character
git-svn-id: http://talendforge.org/svn/tos/trunk@90607 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-12 11:00:49 +00:00
hwang
b8f6d5fefd TDI-16902:Row links not activated
git-svn-id: http://talendforge.org/svn/tos/trunk@90602 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-12 09:58:11 +00:00
jjzhou
d3c3b37aa0 fix Bug TDI-22800: when schema type is boolean ,tPostgresqlOutputBulkExec ,tPostgresqlOutputBulk make the out file is "1" or "o"
git-svn-id: http://talendforge.org/svn/tos/trunk@90600 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-12 09:46:07 +00:00
ycbai
0d478402d0 bug TDI-22766 fixed : Job cannot run again after update the rule which used in job
git-svn-id: http://talendforge.org/svn/tos/trunk@90582 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-12 07:23:11 +00:00
jyhu
500f93a1fe Fix Bug TDI-22274 : Refactor the ELT greenplum components.
http://jira.talendforge.org/browse/TDI-22274 

git-svn-id: http://talendforge.org/svn/tos/trunk@90570 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-12 03:25:44 +00:00
jjzhou
98c9703850 fix Bug TDI-22675:After using tFileCopy, the source file sometime remains open
git-svn-id: http://talendforge.org/svn/tos/trunk@90559 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-12 01:27:15 +00:00
rdubois
9ea13b7f3c fix Bug TDI-22503
git-svn-id: http://talendforge.org/svn/tos/trunk@90537 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 12:17:19 +00:00
jyhu
938a27cfd7 Fix Feature TDI-20487 : Get error when update table with Netezza ELT components.
http://jira.talendforge.org/browse/TDI-20487 

git-svn-id: http://talendforge.org/svn/tos/trunk@90525 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 09:14:13 +00:00
wchen
e386444153 bug TDI-22548 fixed: <Repository Mode>:"Edit parameter using repository" window cannot pop up when you want to change the parameter
git-svn-id: http://talendforge.org/svn/tos/trunk@90522 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 09:05:05 +00:00
gliu
ab853ce51b [TESB-7002] added: add new component
git-svn-id: http://talendforge.org/svn/tos/trunk@90518 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 08:22:32 +00:00
wwang
6407c8c944 Fix Bug TDI-22565 : add USE_EXISTING_CONNECTION consideration for hadoop components
https://jira.talendforge.org/browse/TDI-22565

git-svn-id: http://talendforge.org/svn/tos/trunk@90515 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 08:10:57 +00:00
mwang
ef5582fb91 for bug TDI-20702
git-svn-id: http://talendforge.org/svn/tos/trunk@90513 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 08:00:42 +00:00
jyhu
0265dbdc39 Fix Feature TDI-20487 : Get error when update table with Netezza ELT components.
http://jira.talendforge.org/browse/TDI-20487 

git-svn-id: http://talendforge.org/svn/tos/trunk@90506 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 06:52:38 +00:00
plv
9e1b2c8988 bug TDI-15128:Invalid OnSubjob links
git-svn-id: http://talendforge.org/svn/tos/trunk@90497 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 06:11:51 +00:00
wwang
e6946726d3 Fix Bug TDI-22354 : tFileInputExcel is not able to handle Date format "yyyy-MM-ddTHH:mm:ss"
https://jira.talendforge.org/browse/TDI-22354 

git-svn-id: http://talendforge.org/svn/tos/trunk@90493 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 05:50:42 +00:00
fwang
9bf3eed81f bug TDI-22677 fixed:Create missing fragments for Babili
git-svn-id: http://talendforge.org/svn/tos/trunk@90482 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 03:30:59 +00:00
jjzhou
8814fa003a Fix new feature TDI-22704 : PostGreSql - Problem with Transaction
git-svn-id: http://talendforge.org/svn/tos/trunk@90476 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 03:06:15 +00:00
wwang
2c6633c450 Fix Bug TDI-22150 : tMysqlOutputBulk treats backslashes in data wrong
https://jira.talendforge.org/browse/TDI-22150 

git-svn-id: http://talendforge.org/svn/tos/trunk@90475 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 03:02:53 +00:00
fwang
f30b2bda58 git-svn-id: http://talendforge.org/svn/tos/trunk@90469 f6f1c999-d317-4740-80b0-e6d1abc6f99e 2012-09-11 02:19:08 +00:00
hwang
fc1b5689ce TDI-22153 :Deactivated components not moved when joblet expanded
git-svn-id: http://talendforge.org/svn/tos/trunk@90467 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 01:50:28 +00:00
wwang
d6a360c44c Fix Bug TDI-22361 : Locked file throws NPE if using CSV options
https://jira.talendforge.org/browse/TDI-22361 

git-svn-id: http://talendforge.org/svn/tos/trunk@90464 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-11 01:32:42 +00:00
rdubois
d3b6b1ebfa TDI-21510: change the component UI.
git-svn-id: http://talendforge.org/svn/tos/trunk@90459 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 13:36:35 +00:00
wchen
90aa8b8338 bug TDI-22635 fixed :Many folders shows in palette after been hide.
git-svn-id: http://talendforge.org/svn/tos/trunk@90438 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 10:07:12 +00:00
hcyi
4cb0ce5b49 bug TDI-22688 fixed : Problem in elt component when create connection .
git-svn-id: http://talendforge.org/svn/tos/trunk@90436 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 10:00:13 +00:00
rdubois
d2369100c8 TDI-22739 fixed: Upgrade from Hive 0.8.1 to 0.9
git-svn-id: http://talendforge.org/svn/tos/trunk@90434 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 09:53:30 +00:00
hcyi
0836f586b1 bug TDI-22688 fixed : Problem in elt component when create connection .
git-svn-id: http://talendforge.org/svn/tos/trunk@90433 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 09:47:14 +00:00
bchen
635fb31ead Fix Bug TDI-22392 : tJDBCRow is marked with red cross if input and output schema are different
https://jira.talendforge.org/browse/TDI-22392

git-svn-id: http://talendforge.org/svn/tos/trunk@90411 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 08:21:02 +00:00
jzhao
a3b1e0c797 Fix Bug TDI-22285: Slowly Changing Dimensions (SCDs) & Source Keys that are NULL
https://jira.talendforge.org/browse/TDI-22285

git-svn-id: http://talendforge.org/svn/tos/trunk@90393 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 07:19:06 +00:00
jjzhou
454f02f0f2 fix Bug TDI-22460:Unable to run tELTHiveMap when configure the incoming and outgoing tables with context
git-svn-id: http://talendforge.org/svn/tos/trunk@90381 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 03:48:30 +00:00
jzhao
f420290f27 Fix Bug TDI-22583: Unexpect result of tNormalize
https://jira.talendforge.org/browse/TDI-22583

git-svn-id: http://talendforge.org/svn/tos/trunk@90378 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 03:22:19 +00:00
ldong
5914cef757 bug TDI-22715 fixed:NPE error when start a studio of M4.
git-svn-id: http://talendforge.org/svn/tos/trunk@90377 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 03:14:28 +00:00
bchen
1b77864598 Fix Bug TDI-22088 : tMap NPE using multiple lookup with the "All rows" option
https://jira.talendforge.org/browse/TDI-22088
merge r90311 into trunk

git-svn-id: http://talendforge.org/svn/tos/trunk@90370 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:35:10 +00:00
hcyi
2e5cf6f0b3 bug TDI-20232 fixed : Documentation_if export a documentation, delete the documentation in studio, then you can not import it .
git-svn-id: http://talendforge.org/svn/tos/trunk@90366 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:28:19 +00:00
hcyi
a6428772e6 bug TDI-20594 fixed : Everytime drag&drop File positional to a job, it will pop up a Confirm dialog .
git-svn-id: http://talendforge.org/svn/tos/trunk@90362 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:19:05 +00:00
gliu
ebaba8a965 [TESB-7014] done: Refactoring the generated code to expose the Route
[TESB-7015] done: Refactoring generated code to expose CamelContext
[TESB-6975] fixed: cBeanRegister will always generate the Arguments even the "Specify Arguments" is unchecked

git-svn-id: http://talendforge.org/svn/tos/trunk@90360 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:18:09 +00:00
wchen
cf43ecc122 bug TDI-21950 fixed :Lots of columns crashes Studio
git-svn-id: http://talendforge.org/svn/tos/trunk@90357 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:15:06 +00:00
cli
abd257685e USV-29: add the property for exchange.
git-svn-id: http://talendforge.org/svn/tos/trunk@90356 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:14:56 +00:00
zwzhao
b26d4e6a28 bug TDI-21143 fixed : Studio repository view : remove all refresh call to repo view
git-svn-id: http://talendforge.org/svn/tos/trunk@90354 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:12:38 +00:00
jjzhou
0e6a03d7d8 fix Bug TDI-22555:tPostgresqlOutputBuk and tPostgresqlOutputBukExec don't handle TEXT_ENCLOSURE
git-svn-id: http://talendforge.org/svn/tos/trunk@90353 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 02:08:32 +00:00
plv
b9c155c333 bug TDI-18208:Restoring the default logo in Documentation settings should take effect immediately for the next HTML generation without the user having to restart the studio
git-svn-id: http://talendforge.org/svn/tos/trunk@90345 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 01:40:04 +00:00
fwang
0a681ee6c3 bug TDI-20666 fixed:copybook_after run the job, the button is disabled
git-svn-id: http://talendforge.org/svn/tos/trunk@90344 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 01:36:42 +00:00
fwang
cc057f68fe bug TDI-20755 fixed: Got the same column name in tRowGenerator component
git-svn-id: http://talendforge.org/svn/tos/trunk@90343 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 01:34:49 +00:00
fwang
a62a9416e8 bug TDI-20219 fixed:The data should be not transfered to the joblet in a job
git-svn-id: http://talendforge.org/svn/tos/trunk@90342 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-10 01:32:28 +00:00
hwang
65b7dbe0d2 TDI-22709:Could not save job after export items
git-svn-id: http://talendforge.org/svn/tos/trunk@90270 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-06 06:05:57 +00:00
nrousseau
a721270fa0 USV-40 : Changed to make most of the actions more general and not only for jobs / joblets.
git-svn-id: http://talendforge.org/svn/tos/trunk@90266 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-06 04:02:10 +00:00
hwang
6624fe2410 TDI-22709:Could not save job after export items
git-svn-id: http://talendforge.org/svn/tos/trunk@90264 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-06 03:36:41 +00:00
wwang
ee25f73998 Fix Bug TDI-22503 : Job hangs if hash not initialised
https://jira.talendforge.org/browse/TDI-22503

git-svn-id: http://talendforge.org/svn/tos/trunk@90261 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-06 02:49:10 +00:00
sgandon
90786a7bff Fix New Feature USV-32 : Remove context-menu for top level nodes
https://jira.talendforge.org/browse/USV-32
updated all tis action provider so that they have an id.

git-svn-id: http://talendforge.org/svn/tos/trunk@90257 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-05 15:39:54 +00:00
ycbai
6092d9c11d bug TDI-22661 fixed : Undo the action which you did, NPE error
git-svn-id: http://talendforge.org/svn/tos/trunk@90224 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-05 09:34:47 +00:00
hcyi
3ec01b36e2 bug TDI-22665 fixed : the output link of tELTGreenPlumInput doesn't work anymore .
git-svn-id: http://talendforge.org/svn/tos/trunk@90194 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-05 03:10:05 +00:00
scorreia
bdc0f828e7 i18n: synchronize Babili strings exported on 5.2.0M3-2012-09-04-14-48-07
git-svn-id: http://talendforge.org/svn/tos/trunk@90166 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 13:07:27 +00:00
wwang
6c1d856e93 Fix Feature TDI-22375 : Replace javacsv in the studio
https://jira.talendforge.org/browse/TDI-22375

git-svn-id: http://talendforge.org/svn/tos/trunk@90164 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 12:55:23 +00:00
ldong
c769a55a30 Feature TDI-22576 added:Add a create tag in the same dialog as the switch action.
git-svn-id: http://talendforge.org/svn/tos/trunk@90156 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 11:07:11 +00:00
wwang
e1949b2f18 Fix Bug TDI-21501 : tFileInputJSON does not work when there are null json values
http://jira.talendforge.org/browse/TDI-21501

git-svn-id: http://talendforge.org/svn/tos/trunk@90155 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 11:01:48 +00:00
hcyi
3803d5006f bug TDI-22671 fixed : Sandbox project creation allow to select "perl" in generation language .
git-svn-id: http://talendforge.org/svn/tos/trunk@90115 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 09:10:31 +00:00
plv
4431a952a8 bug TDI-22296:tMap_duplicate error message display when there is no output schema for tMap component
git-svn-id: http://talendforge.org/svn/tos/trunk@90108 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 08:53:24 +00:00
hcyi
d137589047 bug TDI-22649 fixed : When joblet changed,"Update Detection",there is an error .
git-svn-id: http://talendforge.org/svn/tos/trunk@90078 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 07:33:29 +00:00
fwang
39249820de bug TDI-21747 fixed:Business model:assignment:r-click the service in assignment list, many function lost
git-svn-id: http://talendforge.org/svn/tos/trunk@90073 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 07:25:15 +00:00
ycbai
53875bc775 bug TDI-22661 fixed : Undo the action which you did, NPE error
git-svn-id: http://talendforge.org/svn/tos/trunk@90066 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-04 06:38:35 +00:00
rdubois
ff7e5135e5 TMDM-4398 fixed.
git-svn-id: http://talendforge.org/svn/tos/trunk@90048 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 16:43:51 +00:00
rdubois
f6155f326c TMDM-4398: Polish the tStewardshipTaskDelete
git-svn-id: http://talendforge.org/svn/tos/trunk@90037 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 11:31:34 +00:00
ilazebny
377d467258 Update version in poms to 5.2.0-SNAPSHOT
git-svn-id: http://talendforge.org/svn/tos/trunk@90033 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 11:16:10 +00:00
rdubois
f58c56477f TDI-21590: Polish the tMDMOutput
git-svn-id: http://talendforge.org/svn/tos/trunk@90029 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 11:10:25 +00:00
plv
d35d7411e2 bug TDI-22296:tMap_duplicate error message display when there is no output schema for tMap component
git-svn-id: http://talendforge.org/svn/tos/trunk@90024 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 10:09:39 +00:00
hwang
10afc6ddfd TDI-22620:Compare joblet_exception thrown when compare same name joblet between main and reference project or between trunk and branch project
git-svn-id: http://talendforge.org/svn/tos/trunk@90009 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 09:18:55 +00:00
mwang
2551519ed5 For bug TDI-22566
git-svn-id: http://talendforge.org/svn/tos/trunk@90003 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 08:45:34 +00:00
hcyi
a37e16d5d1 bug TDI-22550 fixed : Remain compile error in old job which has been delete .
git-svn-id: http://talendforge.org/svn/tos/trunk@89975 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-09-03 06:02:23 +00:00
jyhu
d35f9de760 git-svn-id: http://talendforge.org/svn/tos/trunk@89957 f6f1c999-d317-4740-80b0-e6d1abc6f99e 2012-09-03 02:39:58 +00:00
jyhu
636f97249c Fix Bug TDI-22498 : error when executing sybase IQ store proc whith 4.2.3 +patch 17.07.20(revert to last version)
https://jira.talendforge.org/browse/TDI-22498 

git-svn-id: http://talendforge.org/svn/tos/trunk@89929 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-31 09:41:43 +00:00
hwang
ab17988e03 TDI-22153:Deactivated components not moved when joblet expanded
git-svn-id: http://talendforge.org/svn/tos/trunk@89921 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-31 08:27:42 +00:00
jyhu
6b03bdb012 Fix Bug TDI-22498 : error when executing sybase IQ store proc whith 4.2.3 +patch 17.07.20
https://jira.talendforge.org/browse/TDI-22498


git-svn-id: http://talendforge.org/svn/tos/trunk@89911 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-31 06:07:30 +00:00
fwang
26bfb8639e bug TDI-22516 fixed:Can't save the order when I change the element order in tFileOutputMSXML
git-svn-id: http://talendforge.org/svn/tos/trunk@89892 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-31 01:50:05 +00:00
jjzhou
946edd3021 fix Bug TDI-22211:org.courtine can't be resolved
git-svn-id: http://talendforge.org/svn/tos/trunk@89877 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-30 10:31:22 +00:00
wwang
cf2c6e8e8b fix Feature TDI-22616: support CDH4 for tHiveXXX components
https://jira.talendforge.org/browse/TDI-22616

git-svn-id: http://talendforge.org/svn/tos/trunk@89862 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-30 08:23:54 +00:00
ycbai
e6c60c2c8e feature TDI-22127 modified : Fix some bugs and refactor something.
git-svn-id: http://talendforge.org/svn/tos/trunk@89846 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-30 06:18:56 +00:00
nrousseau
5ca1807249 Fix Bug TDI-22608 : Create a job should not ask for logs
https://jira.talendforge.org/browse/TDI-22608

git-svn-id: http://talendforge.org/svn/tos/trunk@89835 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-30 05:32:36 +00:00
wchen
38f81fc559 bug TDI-21950 fixed :Lots of columns crashes Studio
git-svn-id: http://talendforge.org/svn/tos/trunk@89828 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-30 03:58:59 +00:00
plv
9ad9559436 bug TDI-20511:when compare jobs with tParallelize component, it will show difference even if the jobs are same
git-svn-id: http://talendforge.org/svn/tos/trunk@89817 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-30 03:13:46 +00:00
nrousseau
ad20c73d47 TDI-22602 : fix problem when no selection done when create another version
git-svn-id: http://talendforge.org/svn/tos/trunk@89803 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-29 10:43:24 +00:00
jzhao
e149df6051 Fix New Feature TDI-21590 : tMDMOutput component without the XML serialization
https://jira.talendforge.org/browse/TDI-21590

git-svn-id: http://talendforge.org/svn/tos/trunk@89774 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-29 06:34:18 +00:00
hcyi
9183c28b0e bug TDI-22550 fixed : Remain compile error in old job which has been delete .
git-svn-id: http://talendforge.org/svn/tos/trunk@89765 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-29 01:39:15 +00:00
jzhao
bc2508a441 TMDM-4401: New component to delete MDM records based on conditions
https://jira.talendforge.org/browse/TMDM-4401

git-svn-id: http://talendforge.org/svn/tos/trunk@89761 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-28 10:12:02 +00:00
jyhu
7cae037551 Fix Bug TDI-22498 : error when executing sybase IQ store proc whith 4.2.3 +patch 17.07.20
https://jira.talendforge.org/browse/TDI-22498


git-svn-id: http://talendforge.org/svn/tos/trunk@89753 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-28 08:43:29 +00:00
jjzhou
fdb27576f0 fix Bug TDI-22281:Related to Bug http://www.talendforge.org/bugs/view.php?id=18916
git-svn-id: http://talendforge.org/svn/tos/trunk@89742 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-28 05:25:36 +00:00
hcyi
c50d1c151c bug TDI-22098 fixed : Incorrect compilation error mark on job .
git-svn-id: http://talendforge.org/svn/tos/trunk@89737 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-28 03:27:24 +00:00
nrousseau
d240813eae Fix TDI-22475 : Tags as read only in the studio. + enhance offline mode
https://jira.talendforge.org/browse/TDI-22475

git-svn-id: http://talendforge.org/svn/tos/trunk@89734 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-28 03:21:18 +00:00
zwzhao
c6a4bba9f9 bug TDI-21814 fixed : the exported job file doesn't contain *.screenshot file
git-svn-id: http://talendforge.org/svn/tos/trunk@89707 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-27 09:39:44 +00:00
rdubois
49a4f3be11 TDI-22107: Remove the JAR from TOS for BigData
git-svn-id: http://talendforge.org/svn/tos/trunk@89700 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-27 08:58:50 +00:00
fwang
2bc9c94d99 bug TDI-22516 fixed:Can't save the order when I change the element order in tFileOutputMSXML
git-svn-id: http://talendforge.org/svn/tos/trunk@89699 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-27 08:58:49 +00:00
hwang
9ef7898f73 TDI-22350:For 503 file transfer from one svn to another, reopen the new project ,anaysis lose items.
git-svn-id: http://talendforge.org/svn/tos/trunk@89692 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-27 08:23:38 +00:00
jzhao
be5af0f38b Fix New Feature TDI-21590 : tMDMOutput component without the XML serialization
https://jira.talendforge.org/browse/TDI-21590

git-svn-id: http://talendforge.org/svn/tos/trunk@89651 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-24 09:46:14 +00:00
fwang
1f6d49e9db bug TDI-22493 fixed:Business model:assignment:update the name of assignment items, switch to BM component, cannt detect the update
git-svn-id: http://talendforge.org/svn/tos/trunk@89639 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-24 07:21:05 +00:00
hwang
82d71cd854 TDI-22496:Error show in error log when move the components of the joblet in job
git-svn-id: http://talendforge.org/svn/tos/trunk@89626 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-24 05:42:02 +00:00
wchen
925ad74780 bug TDI-22335 fixed Deactivating subjob stops at already deactivated component
git-svn-id: http://talendforge.org/svn/tos/trunk@89621 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-24 04:04:00 +00:00
jjzhou
7ff63301ad fix Bug TDI-22445: tMDMBulkLoad throws NPE when has empty input
git-svn-id: http://talendforge.org/svn/tos/trunk@89598 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 10:24:05 +00:00
plv
a4c34f1593 bug TDI-20511:when compare jobs with tParallelize component, it will show difference even if the jobs are same
git-svn-id: http://talendforge.org/svn/tos/trunk@89568 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 08:07:50 +00:00
hwang
1014cb95a5 TDI-22079:Need to review the display of the background of joblets
git-svn-id: http://talendforge.org/svn/tos/trunk@89560 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 07:00:40 +00:00
wwang
8beef94fe9 fix Feature TDI-22533: replace javacsv in tFileInputDelimited and tFileOutputDelimited
git-svn-id: http://talendforge.org/svn/tos/trunk@89559 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 06:54:53 +00:00
wliu
4bebe20bf8 Fix Feature TDI-22036 : remove "Cross Join" from tELTHiveMap
https://jira.talendforge.org/browse/TDI-22036

git-svn-id: http://talendforge.org/svn/tos/trunk@89557 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 06:40:44 +00:00
wliu
6b144fb05b Fix feature TDI-22429 : Add a static column: ProcessInstanceUUID as the schema for tBonitaInstantiateProcess
https://jira.talendforge.org/browse/TDI-22429

git-svn-id: http://talendforge.org/svn/tos/trunk@89556 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 06:33:32 +00:00
nrousseau
5a002fc40f TDI-22369: fix family for Data_Quality
git-svn-id: http://talendforge.org/svn/tos/trunk@89553 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 06:28:08 +00:00
nrousseau
b417cfb5fc bug TDI-22196: re-enable the import to specified folder.
git-svn-id: http://talendforge.org/svn/tos/trunk@89545 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 04:41:57 +00:00
jjzhou
589def46ca Fix new feature TMDM-4398 : New tStewardshipTaskDelete component
git-svn-id: http://talendforge.org/svn/tos/trunk@89541 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 03:41:52 +00:00
wchen
37dbd436f9 bug TDI-22430 fixed: Duplicate the name of "Column"
git-svn-id: http://talendforge.org/svn/tos/trunk@89538 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-23 03:35:08 +00:00
hwang
59747f26d1 TDI-21879:Collapse joblets before saving job
git-svn-id: http://talendforge.org/svn/tos/trunk@89510 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-22 10:04:46 +00:00
zwzhao
8588f04094 bug TDI-6568 fixed : tSetGlovarVar and tFlowToIterate : the outline view doesnt refresh when a variable is added into those components
git-svn-id: http://talendforge.org/svn/tos/trunk@89509 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-22 10:04:14 +00:00
hwang
3fbf5699da TDI-22295:DI and ESB :Function menu mixed
git-svn-id: http://talendforge.org/svn/tos/trunk@89488 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-22 06:41:24 +00:00
jyhu
d865116d90 Fix Feature TDI-22429 : Change tBonitaInstantiateProcess to return the process instance id
https://jira.talendforge.org/browse/TDI-22429 

git-svn-id: http://talendforge.org/svn/tos/trunk@89481 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-22 06:19:27 +00:00
wchen
2eded5e0ae bug TDI-22383 TDI-22407 fixed: tRowGenerator functions can't display and be select correctly
git-svn-id: http://talendforge.org/svn/tos/trunk@89475 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-22 03:57:11 +00:00
dlin
94f523854f feature TDI-22421 added: REQUIRED_IF for the REQUIRED parameters
git-svn-id: http://talendforge.org/svn/tos/trunk@89441 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 09:47:14 +00:00
nrousseau
5e19847cb5 Fix Bug TDI-19255 : Opening old version of job and create new version opens latest version instead
https://jira.talendforge.org/browse/TDI-19255

git-svn-id: http://talendforge.org/svn/tos/trunk@89424 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 09:06:30 +00:00
zwzhao
51fd8a1e93 bug TDI-22114 fixed : Error message should be displayed if the tns file is not valid
git-svn-id: http://talendforge.org/svn/tos/trunk@89415 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 07:59:58 +00:00
mwang
982197d2a1 TDI-22130, new feature for Hive embedded mode.
git-svn-id: http://talendforge.org/svn/tos/trunk@89410 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 06:34:08 +00:00
jyhu
7cf6afb333 fix bug TDI-22416 :change the checkbox:*No commit* from "false" to "true" for tVerticaOutput and other issues.
http://jira.talendforge.org/browse/TDI-22416 

git-svn-id: http://talendforge.org/svn/tos/trunk@89408 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 06:29:15 +00:00
ycbai
35f6971196 feature TDI-22111 added : Add a component parameter type to browse HDFS
git-svn-id: http://talendforge.org/svn/tos/trunk@89399 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 03:37:55 +00:00
gliu
70b3bf4bc1 [TESB-6817] Changed: Put all import statements field into Basic Setting part
git-svn-id: http://talendforge.org/svn/tos/trunk@89386 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 02:39:47 +00:00
hwang
057abae441 TDI-21917:Expanding/collapsing non-linear joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@89379 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 01:34:08 +00:00
hwang
e6e8dbd400 TDI-21879:Collapse joblets before saving job
git-svn-id: http://talendforge.org/svn/tos/trunk@89378 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-21 01:30:17 +00:00
jjzhou
5d7b9b521c Fix new feature TDI-19591 : Newest Exasol Jdbc Driver, from jdbc14.jar update to exajdbc.jar
git-svn-id: http://talendforge.org/svn/tos/trunk@89353 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-20 07:12:12 +00:00
wchen
ba0681c106 bug TDI-20155 fixed :Fail to use tRules in a job
git-svn-id: http://talendforge.org/svn/tos/trunk@89350 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-20 06:39:48 +00:00
plv
d85511d094 bug TDI-22305:Function name of schema changed after import from xml file to tRowGenerator
git-svn-id: http://talendforge.org/svn/tos/trunk@89346 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-20 05:55:06 +00:00
ycbai
023f9abba6 feature TDI-22127 added : Add a repository metadata for HDFS
git-svn-id: http://talendforge.org/svn/tos/trunk@89342 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-20 03:46:34 +00:00
wchen
5c5563d6d8 bug TDI-22335 fixed Deactivating subjob stops at already deactivated component
git-svn-id: http://talendforge.org/svn/tos/trunk@89319 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-20 01:49:17 +00:00
hcyi
512ae09e27 bug TDI-22413 fixed : Running job fail after export a job which has compile error .
git-svn-id: http://talendforge.org/svn/tos/trunk@89315 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-20 01:41:02 +00:00
nrousseau
e73458866c Fix Bug TDI-22435 : preview file connection get error
https://jira.talendforge.org/browse/TDI-22435

git-svn-id: http://talendforge.org/svn/tos/trunk@89308 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-20 00:55:44 +00:00
wliu
f2b19beee8 Fix Bug TDI-22318 : tHashInput/tHashOutput don't have its own resource
https://jira.talendforge.org/browse/TDI-22318

git-svn-id: http://talendforge.org/svn/tos/trunk@89272 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-17 04:20:31 +00:00
wliu
2c3be8d9a2 Fix Bug TDI-22318 : tHashInput/tHashOutput don't have its own resource
https://jira.talendforge.org/browse/TDI-22318

git-svn-id: http://talendforge.org/svn/tos/trunk@89270 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-17 04:05:15 +00:00
hwang
b29d525a7f TDI-21939:Make joblet in job red if locked or dirty
git-svn-id: http://talendforge.org/svn/tos/trunk@89253 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-17 02:15:52 +00:00
zshen
82753f558d TDQ-5903 add TCheckController and ComponentListControllerl class for TGenKey
git-svn-id: http://talendforge.org/svn/tos/trunk@89247 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 11:17:04 +00:00
wchen
f96b869865 bug TDI-8282 fixed: Connection properties should not be editable
git-svn-id: http://talendforge.org/svn/tos/trunk@89241 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 10:12:38 +00:00
rdubois
c6dc62783b TDI-22401 revert: throw an exception if the schema is emtpy
git-svn-id: http://talendforge.org/svn/tos/trunk@89239 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 09:40:23 +00:00
rdubois
108ea935f6 TDI-22401 fixed: throw an exception if the schema is emtpy
git-svn-id: http://talendforge.org/svn/tos/trunk@89238 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 09:29:22 +00:00
plv
73965e32b7 bug TDI-22305:Function name of schema changed after import from xml file to tRowGenerator
git-svn-id: http://talendforge.org/svn/tos/trunk@89230 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 08:09:27 +00:00
amarkevich
97202d500f fixed variable name
git-svn-id: http://talendforge.org/svn/tos/trunk@89225 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 07:50:07 +00:00
nrousseau
28b4b77150 bug TDI-22250: fix problem of classpath, will reinitialize the classpath when needed, and avoid to rebuild the code if no change required.
git-svn-id: http://talendforge.org/svn/tos/trunk@89218 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 06:31:15 +00:00
wchen
e360932cbd feature TDI-22036 added: Need to have the possibility to use the component tELTHiveMap
git-svn-id: http://talendforge.org/svn/tos/trunk@89217 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-16 06:16:29 +00:00
wliu
83e3c0491e git-svn-id: http://talendforge.org/svn/tos/trunk@89215 f6f1c999-d317-4740-80b0-e6d1abc6f99e 2012-08-16 06:05:42 +00:00
jjzhou
50d19c804d fix Bug TDI-22398:Can not create context with type "int | Integer" in talend studio during create route in Mediation perspective
git-svn-id: http://talendforge.org/svn/tos/trunk@89201 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 10:42:05 +00:00
wliu
c60f462923 fix Bug TDI-21875 : revert the default value from true to false for checkbox:No commit
https://jira.talendforge.org/browse/TDI-21875

git-svn-id: http://talendforge.org/svn/tos/trunk@89195 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 09:53:49 +00:00
wliu
311a8fd9fd fix Bug TDI-21875 : When using the Vertica Output component with the copy method and the batch option turned on, the component always fails as soon as the second batch begins
https://jira.talendforge.org/browse/TDI-21875

git-svn-id: http://talendforge.org/svn/tos/trunk@89190 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 09:43:21 +00:00
dlin
5887ec9ac2 bug TDI-22399 fixed:can't open joblet which in job by double click it
git-svn-id: http://talendforge.org/svn/tos/trunk@89189 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 09:38:01 +00:00
plv
28207ac301 bug TDI-21402:Database connection in job will failed if use the connection in joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@89181 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 08:58:26 +00:00
bchen
46d0076943 Fix Bug TDI-22104 : SAP connection still use sapjco2.jar when sapjco3.jar configured in joblet that causes compile error
http://jira.talendforge.org/browse/TDI-22104

git-svn-id: http://talendforge.org/svn/tos/trunk@89168 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 07:24:49 +00:00
nrousseau
7345e82835 bug TDI-22340: if value was null, there was no error message.
git-svn-id: http://talendforge.org/svn/tos/trunk@89159 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 06:48:36 +00:00
wchen
939019e514 bug TDI-22389 fixed:Get wrong export file when export job to type 'Petals ESB' with a new name
git-svn-id: http://talendforge.org/svn/tos/trunk@89154 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 06:35:04 +00:00
fwang
ce434d7e07 bug TDI-22379 fixed:Version management:Business model:Assign a job to BM,can not detect the dependencies
git-svn-id: http://talendforge.org/svn/tos/trunk@89151 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 06:26:30 +00:00
zwzhao
00f86788d2 bug TDI-22198 fixed : Read-only job:Change Property Type:Job turn to dirty
git-svn-id: http://talendforge.org/svn/tos/trunk@89136 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-15 02:18:55 +00:00
rdubois
4de7009555 TDI-22368 fixed: Get the correct metadata table in the tUnite
git-svn-id: http://talendforge.org/svn/tos/trunk@89118 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 11:42:18 +00:00
wliu
abe07335ca fix Bug TDI-21875 : When using the Vertica Output component with the copy method and the batch option turned on, the component always fails as soon as the second batch begins
https://jira.talendforge.org/browse/TDI-21875

git-svn-id: http://talendforge.org/svn/tos/trunk@89117 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 11:13:11 +00:00
dlin
1776712d34 feature TDI-22180 added: SHOW_IF can only hide the popup button, but the popup-dialog can still show up
git-svn-id: http://talendforge.org/svn/tos/trunk@89113 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 10:43:04 +00:00
bchen
125df10767 Fix Bug TDI-21609 : Unexpected result when tOracleInput load data with time zone
https://jira.talendforge.org/browse/TDI-21609
support oracle type "TIMESTAMP WITH TIME ZONE" 

git-svn-id: http://talendforge.org/svn/tos/trunk@89107 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 10:00:31 +00:00
hcyi
9f15633433 bug TDI-22087 fixed : in txmlmap editor main connector had setting and expression icon ,but when click it,it no use .
git-svn-id: http://talendforge.org/svn/tos/trunk@89098 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 08:51:54 +00:00
jjzhou
903b72da35 fix Bug TDI-22367:investigate to replace "slf4j-API-1.5.8.jar" with "slf4j-API-1.6.1.jar" with Bonita 5.6.1
git-svn-id: http://talendforge.org/svn/tos/trunk@89095 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 08:22:24 +00:00
wliu
649ad4e550 fix feature TDI-22107 : Support for Vertica 6
https://jira.talendforge.org/browse/TDI-22107

git-svn-id: http://talendforge.org/svn/tos/trunk@89092 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 07:57:32 +00:00
wliu
418a90d093 fix feature TDI-22107 : Support for Vertica 6
https://jira.talendforge.org/browse/TDI-22107

git-svn-id: http://talendforge.org/svn/tos/trunk@89090 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 07:25:12 +00:00
nrousseau
40f27afa57 bug TDI-22372: fix problem with previous commit
git-svn-id: http://talendforge.org/svn/tos/trunk@89082 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 06:53:51 +00:00
mzhao
7969119ec2 TDQ-4275 Reoganize TDQ component family.
git-svn-id: http://talendforge.org/svn/tos/trunk@89069 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 04:49:07 +00:00
nrousseau
57bc40071e bug TDI-22262: fix problem of display of error mark
git-svn-id: http://talendforge.org/svn/tos/trunk@89064 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 04:05:40 +00:00
wchen
65d7e1727d feature TDI-22036 added: Need to have the possibility to use the component tELTHiveMap
git-svn-id: http://talendforge.org/svn/tos/trunk@89063 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 03:54:05 +00:00
nrousseau
552912e40c bug TDI-22369: fix wrong family name
git-svn-id: http://talendforge.org/svn/tos/trunk@89059 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 03:08:46 +00:00
jjzhou
89545dd3d4 fix Bug TDI-22283:revert code to 63853 version.
git-svn-id: http://talendforge.org/svn/tos/trunk@89057 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 02:32:49 +00:00
nrousseau
685df9ec6d bug TDI-22372: avoid any warning if the module name is not with any extension.
git-svn-id: http://talendforge.org/svn/tos/trunk@89055 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-14 01:56:42 +00:00
plv
3094cfeb80 bug TDI-21402 fixed:Database connection in job will failed if use the connection in joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@89013 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-13 08:58:37 +00:00
jjzhou
4ed27f05aa fix Bug TDI-22283:Path having backslash not handled, escaping not handled
git-svn-id: http://talendforge.org/svn/tos/trunk@89011 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-13 08:55:11 +00:00
plv
95d04122ae bug TDI-21402 fixed:Database connection in job will failed if use the connection in joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@89010 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-13 08:53:39 +00:00
xpli
2b2fbcddcf TESB-6732 Fix bug -Relative path for cFile component can not work
git-svn-id: http://talendforge.org/svn/tos/trunk@88997 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-13 08:02:16 +00:00
wchen
3d0febd31f bug TDI-8282 fixed: Connection properties should not be editable
git-svn-id: http://talendforge.org/svn/tos/trunk@88996 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-13 07:53:42 +00:00
jjzhou
7ff273810b fix Bug TDI-22283:Path having backslash not handled, escaping not handled
git-svn-id: http://talendforge.org/svn/tos/trunk@88987 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-13 05:23:08 +00:00
fwang
43fcc03fbc bug TDI-21904 fixed:Context: Add to repository context doesn't show existing context group
git-svn-id: http://talendforge.org/svn/tos/trunk@88975 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-13 02:01:42 +00:00
wwang
8440019083 fix Feature TDI-22090: change the jar reference
git-svn-id: http://talendforge.org/svn/tos/trunk@88956 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 09:40:17 +00:00
plv
06d1192e04 bug TDI-8512 fixed:Job description does not word wrap in Job tab
git-svn-id: http://talendforge.org/svn/tos/trunk@88943 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 09:04:37 +00:00
rdubois
ec7cba69b9 Add a missing message in the tSystem properies
git-svn-id: http://talendforge.org/svn/tos/trunk@88939 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 09:00:18 +00:00
cli
1e537505db Add the example demo node in the metadata
git-svn-id: http://talendforge.org/svn/tos/trunk@88926 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 06:14:48 +00:00
fwang
9654d01904 bug TDI-22292 fixed:D-click the blank area of a component, NPE error
git-svn-id: http://talendforge.org/svn/tos/trunk@88921 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 05:59:22 +00:00
wwang
c22188ee1e fix Bug TDI-22094: update the version
git-svn-id: http://talendforge.org/svn/tos/trunk@88919 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 05:59:04 +00:00
wchen
0e8efa318a bug TDI-20705 fixed :Filter link in txmlmap is not correct
git-svn-id: http://talendforge.org/svn/tos/trunk@88909 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 03:28:34 +00:00
jyhu
6fb2e532db Fix Feature TDI-22275 : Support for Vertica in the tCreateTable component
http://jira.talendforge.org/browse/TDI-22275
 

git-svn-id: http://talendforge.org/svn/tos/trunk@88905 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 02:51:05 +00:00
fwang
97b4692a8b bug TDI-22052 fixed:Wrong confirmation after import as local
git-svn-id: http://talendforge.org/svn/tos/trunk@88894 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-10 01:23:13 +00:00
hwang
c839a64ae9 TDI-21917:Expanding/collapsing non-linear joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@88868 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-09 08:52:18 +00:00
hcyi
2c0b4b737c bug TDI-22179 fixed : Apply button do not work in tMap for many cases .
git-svn-id: http://talendforge.org/svn/tos/trunk@88865 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-09 08:19:46 +00:00
wchen
d5485f166a bug TDI-21871 fixed : tXMLMap doesn't allow to set multiple nodes with the same name = unable to use xsi derived complex types
git-svn-id: http://talendforge.org/svn/tos/trunk@88848 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-09 06:22:53 +00:00
jjzhou
c6c8653d0b fix Bug TDI-15344: Duplicate and unnecessary code generated by tReplace
git-svn-id: http://talendforge.org/svn/tos/trunk@88838 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-09 03:25:23 +00:00
fwang
7f485de52c bug TDI-21904 fixed:Context: Add to repository context doesn't show existing context group
git-svn-id: http://talendforge.org/svn/tos/trunk@88834 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-09 03:20:10 +00:00
jjzhou
3a71224387 fix Bug TDI-15344: Duplicate and unnecessary code generated by tReplace
git-svn-id: http://talendforge.org/svn/tos/trunk@88803 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 09:01:02 +00:00
hwang
3f19bdcf9f TDI-21940:Do not allow joblet to be edited in job if joblet is dirty
git-svn-id: http://talendforge.org/svn/tos/trunk@88792 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 07:09:08 +00:00
wwang
d604e94999 fix Bug TDI-22266: replace the getGraphicalNodes() with getGeneratingNodes()
git-svn-id: http://talendforge.org/svn/tos/trunk@88784 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 05:53:20 +00:00
zwzhao
d4c605ada6 bug TDI-19103 fixed : When importing job and canceling in the middle the created workspace dir is not deleted
git-svn-id: http://talendforge.org/svn/tos/trunk@88779 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 05:40:03 +00:00
jjzhou
766daa41d4 fix Bug TDI-15344: Duplicate and unnecessary code generated by tReplace
git-svn-id: http://talendforge.org/svn/tos/trunk@88778 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 05:38:24 +00:00
jyhu
b5a892674e Fix Feature TDI-22181 : Support greenplum in the tCreateTable component
http://jira.talendforge.org/browse/TDI-22181 

git-svn-id: http://talendforge.org/svn/tos/trunk@88773 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 04:21:58 +00:00
hcyi
0ce403763f bug TDI-22146 fixed : Warning/error icon popups still empty .
git-svn-id: http://talendforge.org/svn/tos/trunk@88770 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 03:51:04 +00:00
hwang
a5592fb554 TDI-22001:Exanded joblets not read-only
git-svn-id: http://talendforge.org/svn/tos/trunk@88769 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 03:50:16 +00:00
gliu
e639d60a98 [TESB-6685] fixed: Fix the routeId from label to UniqueName
Now, all ids are changed to use label+uniqueName to avoid duplication

git-svn-id: http://talendforge.org/svn/tos/trunk@88766 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 02:22:22 +00:00
gliu
6f51582b3c [TESB-6677] finished: Investigate how to configure the generated Job
git-svn-id: http://talendforge.org/svn/tos/trunk@88765 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-08 01:36:11 +00:00
jjzhou
8d2cffb5a7 Fix new feature TDI-22035 : remove " REQUIRED="false"" in tHiveConnection and tHiveRow XML file.
git-svn-id: http://talendforge.org/svn/tos/trunk@88754 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 09:57:05 +00:00
wchen
67852827a5 bug TDI-22252 :"Talend News" can not stay in its original place when the some intems in latest item has a long name
git-svn-id: http://talendforge.org/svn/tos/trunk@88752 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 09:47:09 +00:00
ldong
1ae7482fa9 bug TDI-22055 fixed:Copybook wizard - rename schema doesn't refresh to job.
git-svn-id: http://talendforge.org/svn/tos/trunk@88748 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 09:41:42 +00:00
jjzhou
9048db41e2 Fix new feature TDI-22035 :remove ELTHive component from tos, added them into tis.
git-svn-id: http://talendforge.org/svn/tos/trunk@88738 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 09:10:48 +00:00
plv
adb581ef22 bug TDI-6754 fixed:Moving of flow names not undone properly
git-svn-id: http://talendforge.org/svn/tos/trunk@88737 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 09:10:07 +00:00
zwzhao
deb14b8d74 bug TDI-22256 fixed : Switch from designer->code->jobscript, name of component disappear
git-svn-id: http://talendforge.org/svn/tos/trunk@88736 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 09:09:57 +00:00
fwang
ea893171b8 bug TDI-22052 fixed:Wrong confirmation after import as local
git-svn-id: http://talendforge.org/svn/tos/trunk@88733 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 08:53:22 +00:00
hwang
2707ae07d6 TDI-21939:Make joblet in job red if locked or dirty
git-svn-id: http://talendforge.org/svn/tos/trunk@88728 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 07:41:56 +00:00
jjzhou
a8867cea2e fix Bug TDI-22156: Job does not compile with backslash in tFilterRow conditions
git-svn-id: http://talendforge.org/svn/tos/trunk@88714 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 06:06:10 +00:00
wchen
950a23db20 bug TDI-20155 fixed:Fail to use tRules in a job
git-svn-id: http://talendforge.org/svn/tos/trunk@88701 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-07 04:11:11 +00:00
zwzhao
e4ece21bb4 bug TDI-6977 fixed : progress bar is full when import is not finished during import of project from login dialog box
git-svn-id: http://talendforge.org/svn/tos/trunk@88668 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 09:06:00 +00:00
fwang
2b42af1795 bug TDI-8476 fixed:Dynamic settings view displays in Camel components
git-svn-id: http://talendforge.org/svn/tos/trunk@88664 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 08:51:13 +00:00
plv
789f1a8f48 bug TDI-21402 fixed:Database connection in job will failed if use the connection in joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@88662 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 08:43:57 +00:00
jyhu
4d9eeb53ee Fix Feature TDI-22107 : Support for Vertica 6.
http://jira.talendforge.org/browse/TDI-22107 

git-svn-id: http://talendforge.org/svn/tos/trunk@88661 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 08:11:05 +00:00
zwzhao
e405183dbc bug TDI-21154 fixed : Export Job:Export job with folder , drop down list of "Context scripts" is empty
git-svn-id: http://talendforge.org/svn/tos/trunk@88656 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 07:50:11 +00:00
jjzhou
bbaa5a5ea6 Fix new feature TDI-22034 :Create the component tELTHiveOutput
git-svn-id: http://talendforge.org/svn/tos/trunk@88654 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 07:24:27 +00:00
jjzhou
0f9ede5848 Fix new feature TDI-22035 :Create the component tELTHiveMap
git-svn-id: http://talendforge.org/svn/tos/trunk@88653 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 07:23:53 +00:00
jjzhou
fd3b30a7fb Fix new feature TDI-22033 :Create the component tELTHiveInput
git-svn-id: http://talendforge.org/svn/tos/trunk@88648 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 06:39:14 +00:00
zwzhao
fe53b9df66 bug TDI-22198 fixed : Read-only job:Change Property Type:Job turn to dirty
git-svn-id: http://talendforge.org/svn/tos/trunk@88638 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 05:40:30 +00:00
fwang
2732ccd5b3 bug TDI-20206 fixed:Can't copy all the components and the links when expand the joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@88636 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 05:20:37 +00:00
bchen
2c529c6bf0 Fix Bug TDI-22104 : SAP connection still use sapjco2.jar when sapjco3.jar configured in joblet that causes compile error
http://jira.talendforge.org/browse/TDI-22104


git-svn-id: http://talendforge.org/svn/tos/trunk@88632 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-06 03:44:51 +00:00
sgandon
ca85f66ae0 rename org.mockito to org.talend.testutils in all manifest denpendencies
git-svn-id: http://talendforge.org/svn/tos/trunk@88622 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-03 16:46:28 +00:00
wchen
652c5c76ef bug TDI-8507 fixed: Setting element status via project settings -> status management does not affect filters
git-svn-id: http://talendforge.org/svn/tos/trunk@88596 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-03 09:36:12 +00:00
wwang
56e61750ae fix Bug TDI-22094: Upgrade salesforce from v24 to v25
git-svn-id: http://talendforge.org/svn/tos/trunk@88592 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-03 09:15:53 +00:00
hwang
7c864cf5ad TDI-22216:joblet nodeFigure hide CollapseFigure
git-svn-id: http://talendforge.org/svn/tos/trunk@88589 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-03 09:00:36 +00:00
rdubois
3a99f81526 TDI-22187 fixed: Remove the key from the SET list.
git-svn-id: http://talendforge.org/svn/tos/trunk@88559 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 15:03:13 +00:00
sgandon
aa1781b6fe Repo View Action items now have the Id set in the extension points.
This help remove them if necessary.
Example use for repo has been updated.

git-svn-id: http://talendforge.org/svn/tos/trunk@88554 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 14:05:14 +00:00
plv
d190196e4a bug TDI-8512 fixed:Job description does not word wrap in Job tab
git-svn-id: http://talendforge.org/svn/tos/trunk@88536 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 10:00:19 +00:00
zwzhao
ac67939aba bug TDI-7993 fixed : "Modification" label not fully displayed on Job tab
git-svn-id: http://talendforge.org/svn/tos/trunk@88530 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 09:52:12 +00:00
zwzhao
0e3b7816b5 bug TDI-5510 fixed : Missing translations
git-svn-id: http://talendforge.org/svn/tos/trunk@88526 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 09:34:20 +00:00
plv
18898e073e bug TDI-21880 fixed:Auto Generated doc of job/joblet:if import a new job/joblet, this function not work
git-svn-id: http://talendforge.org/svn/tos/trunk@88512 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 09:01:49 +00:00
wliu
01aa07b5ad fix for Bug TDI-19575 : remove CsvWriter2.java from the javacsv.jar
http://jira.talendforge.org/browse/TDI-19575

git-svn-id: http://talendforge.org/svn/tos/trunk@88508 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 08:31:24 +00:00
zwzhao
580872e3bf bug TDI-7161 fixed : Variable in component view not update after update the corresponding metedata
git-svn-id: http://talendforge.org/svn/tos/trunk@88494 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 07:04:32 +00:00
wliu
a0502eeb3d Fix Bug TDI-19575 : Problems related with escape character in the component tMysqlOutputBulkExec
http://jira.talendforge.org/browse/TDI-19575

git-svn-id: http://talendforge.org/svn/tos/trunk@88491 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 06:56:31 +00:00
wliu
a3f2b6957a Fix Bug TDI-19575 : Problems related with escape character in the component tMysqlOutputBulkExec
http://jira.talendforge.org/browse/TDI-19575

git-svn-id: http://talendforge.org/svn/tos/trunk@88488 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 06:23:20 +00:00
fwang
8d07b55065 bug TDI-8443 fixed:Can not create techincal status with more than three letters..
git-svn-id: http://talendforge.org/svn/tos/trunk@88475 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 03:05:57 +00:00
plv
b2b1615b52 bug TDI-21880 fixed:Auto Generated doc of job/joblet:if import a new job/joblet, this function not work
git-svn-id: http://talendforge.org/svn/tos/trunk@88468 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 02:08:11 +00:00
zwzhao
5a27f2f744 bug TDI-7993 fixed : "Modification" label not fully displayed on Job tab
git-svn-id: http://talendforge.org/svn/tos/trunk@88467 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-02 02:06:38 +00:00
wchen
8d389ded59 bug TDI-8338 fixed: Changing lookup globalMap Keys does not dirty tMap
git-svn-id: http://talendforge.org/svn/tos/trunk@88436 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-01 10:03:51 +00:00
plv
31b4804a6e bug TDI-21880 fixed:Auto Generated doc of job/joblet:if import a new job/joblet, this function not work
git-svn-id: http://talendforge.org/svn/tos/trunk@88435 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-01 10:02:12 +00:00
fwang
e0dcf37a23 bug TDI-8601 fixed:Clear button does not delete job execution information
git-svn-id: http://talendforge.org/svn/tos/trunk@88429 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-01 09:51:44 +00:00
jzhao
40dcea51dc Fix Backlog Task TDI-22173: tOleDbRow with reject but can't catch reject.
http://jira.talendforge.org/browse/TDI-22173

git-svn-id: http://talendforge.org/svn/tos/trunk@88414 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-01 07:58:48 +00:00
fwang
d525f41b11 bug TDI-18078 fixed:The action "Manage Dependencies"/"Detecte Dependencies" shouldn't display on Job, SQL template, Business Model, Routines, etc.
git-svn-id: http://talendforge.org/svn/tos/trunk@88409 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-01 07:42:39 +00:00
zwzhao
c5674f19d0 bug TDI-22115 fixed : if want to a guess schema and some jars are missing, a dialog should tell the user directly
git-svn-id: http://talendforge.org/svn/tos/trunk@88403 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-01 07:27:33 +00:00
jzhao
50a1b22e73 TDI-21822: Catch rejects from tJDBCRow without inputRow
http://jira.talendforge.org/browse/TDI-21822

git-svn-id: http://talendforge.org/svn/tos/trunk@88395 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-08-01 05:49:41 +00:00
jjzhou
25666f2e70 fix Bug TDI-21775: bug by naming a column "commonByteArray" in schemas
git-svn-id: http://talendforge.org/svn/tos/trunk@88362 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-31 11:09:26 +00:00
ycbai
e7cdc77564 bug TDI-22125 fixed : Unable to edit routine dependencies : NPE in error log
git-svn-id: http://talendforge.org/svn/tos/trunk@88357 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-31 09:32:50 +00:00
zwzhao
74ef7696ba bug TDI-22114 fixed : Error message should be displayed if the tns file is not valid
git-svn-id: http://talendforge.org/svn/tos/trunk@88332 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-31 06:47:19 +00:00
jzhao
8373e22251 TDI-21809: tFileInputXML doesn't handle UNC path correctly
http://jira.talendforge.org/browse/TDI-21809

git-svn-id: http://talendforge.org/svn/tos/trunk@88317 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-31 03:12:53 +00:00
jyhu
a0c0d2a692 fix bug TDI-21946 : Unable to get RecordSet of MySQL database with tDBSQLRow
http://jira.talendforge.org/browse/TDI-21946 

git-svn-id: http://talendforge.org/svn/tos/trunk@88292 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 10:43:39 +00:00
hwang
cb7140d97a TDI-22058:Could not get the parameter value when we add an new row on the table for the first time
git-svn-id: http://talendforge.org/svn/tos/trunk@88286 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 10:11:02 +00:00
mwang
a501a37dd7 For bug TDI-21898
git-svn-id: http://talendforge.org/svn/tos/trunk@88285 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 10:10:55 +00:00
rdubois
ad9a80861c TDI-22134: fix for the migration task and the contexts.
git-svn-id: http://talendforge.org/svn/tos/trunk@88274 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 09:35:59 +00:00
fwang
33f6be3a8b bug TDI-8265 fixed:Unable to view test schema in read-only mode
git-svn-id: http://talendforge.org/svn/tos/trunk@88266 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 09:11:45 +00:00
gliu
3dc428894d [TESB-6629] added: Add package configuration in advanced parameters of cProcessor
git-svn-id: http://talendforge.org/svn/tos/trunk@88265 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 09:09:16 +00:00
xpli
11bb500cbb TESB-6627 Fix bug by using UNIQUE_NAME to replace label as keys in URI map
git-svn-id: http://talendforge.org/svn/tos/trunk@88262 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 09:03:13 +00:00
plv
d1e47d3e8c bug TDI-21880 fixed:Auto Generated doc of job/joblet:if import a new job/joblet, this function not work
git-svn-id: http://talendforge.org/svn/tos/trunk@88250 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 08:22:37 +00:00
wwang
6f3552daa6 fix Bug TDI-21876: Error reading MS Message Queue
git-svn-id: http://talendforge.org/svn/tos/trunk@88248 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 08:17:30 +00:00
wchen
eda56baad8 bug TDI-8325 fixed:Disable right-click options
git-svn-id: http://talendforge.org/svn/tos/trunk@88237 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 07:29:01 +00:00
ycbai
1aad994281 bug TDQ-5900 fixed : When Get Patterns ETL job ,the job can't run after right click the menu "Run job"
git-svn-id: http://talendforge.org/svn/tos/trunk@88228 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 03:43:14 +00:00
jzhao
6d9a88ee57 Fix Bug TDI-22059:The code of method tFileInputEBCDIC_1Process(Map<String,Object>) is exceeding the 65535 bytes limit
http://jira.talendforge.org/browse/TDI-22059

git-svn-id: http://talendforge.org/svn/tos/trunk@88221 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 03:23:50 +00:00
wwang
42683bc8fe fix Feature TDI-22090: add the runtime dependent jars
git-svn-id: http://talendforge.org/svn/tos/trunk@88220 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-30 01:51:49 +00:00
rdubois
ad596f25df TDI-22134: modify the components for uniformisation.
git-svn-id: http://talendforge.org/svn/tos/trunk@88207 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-27 15:35:59 +00:00
jyhu
55a4ef2e2e fix bug TDI-21730 : Ingers data bulk loading, concurrency issue. (Component:tIngresOutputBulkExec)
http://jira.talendforge.org/browse/TDI-21730 

git-svn-id: http://talendforge.org/svn/tos/trunk@88163 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-27 05:49:11 +00:00
hwang
65bce26dcc TDI-21808 :Could not save as a new version of joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@88152 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-27 03:16:45 +00:00
gliu
0526291d09 [TESB-6619] added: Add a new cBeanRegister component which can be used to register bean
git-svn-id: http://talendforge.org/svn/tos/trunk@88134 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-27 02:30:51 +00:00
gliu
93e0cd9890 [TESB-6619] added: Add a new cBeanRegister component which can be used to register bean
git-svn-id: http://talendforge.org/svn/tos/trunk@88131 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-27 02:17:17 +00:00
hwang
1c1442b75b TDI-22079 :Need to review the display of the background of joblets
git-svn-id: http://talendforge.org/svn/tos/trunk@88121 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-27 01:20:16 +00:00
hwang
31086a55a4 resolve a NEP of junit
git-svn-id: http://talendforge.org/svn/tos/trunk@88120 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-27 01:15:59 +00:00
nrousseau
7fb29bff05 JUnit studio: add some logs to identify easily the tests who have problems with powermock
git-svn-id: http://talendforge.org/svn/tos/trunk@88093 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-26 02:55:44 +00:00
hwang
38d21bb28a TDI-22086:Import item into tis V5.2NB-88009,but I can't find the job in the workspace
git-svn-id: http://talendforge.org/svn/tos/trunk@88078 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-25 10:40:47 +00:00
wwang
c75a5eeb85 fix Feature TDI-22090: support CDH4 for tHiveXXX components
git-svn-id: http://talendforge.org/svn/tos/trunk@88070 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-25 09:11:54 +00:00
fwang
e991857093 bug TDI-22040 fixed:Check box table column in read-only mode can still be edited
git-svn-id: http://talendforge.org/svn/tos/trunk@88048 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-25 06:03:58 +00:00
fwang
fb331e174a bug TDI-21604 fixed:tAggregareRow_the layout is not good of set Column Default Value.
git-svn-id: http://talendforge.org/svn/tos/trunk@88026 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-25 02:35:09 +00:00
nrousseau
15f0773cf8 Modification: improve the logs for startup of junits for jet emitters
git-svn-id: http://talendforge.org/svn/tos/trunk@88025 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-25 02:29:00 +00:00
fwang
c972ff7947 bug TDI-21027 fixed:Component Creation: Missing a scrollbar in the creation Wizzard
git-svn-id: http://talendforge.org/svn/tos/trunk@88019 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-25 01:53:03 +00:00
nrousseau
32e12d34fd Modification: change the way to initialize the studio when run junits, simply check if jet emitters are finished from code instead of use SWTBOT
git-svn-id: http://talendforge.org/svn/tos/trunk@88014 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-25 01:28:32 +00:00
jzhao
5d0452d186 Fix Work Item TDI-22062: Make the tMongoDBInput and tMongoDBConnection work after the Exchange component migration
http://jira.talendforge.org/browse/TDI-22062
Note:
1.Add Migration task to change tMongoDBInput "SORT" form text field to table field .
2.Fix "tMongoDBInput" query and tMongoDBRow "function" contain "\n" have compile error.
3.Fix old job tMongoDBConnection password fill char array import compile error. 

git-svn-id: http://talendforge.org/svn/tos/trunk@87993 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-24 10:07:21 +00:00
hwang
c951a9b6ca TDI-21710:junit of ChangeValuesFromRepository
git-svn-id: http://talendforge.org/svn/tos/trunk@87983 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-24 09:16:20 +00:00
plv
8bf8a10079 bug TDI-21880 fixed:Auto Generated doc of job/joblet:if import a new job/joblet, this function not work
git-svn-id: http://talendforge.org/svn/tos/trunk@87967 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-24 07:48:54 +00:00
jyhu
620b5845e0 fix bug TDI-21975 : tCombinedSQLAggregate - Input/Output Column in Group By
http://jira.talendforge.org/browse/TDI-21975 

git-svn-id: http://talendforge.org/svn/tos/trunk@87959 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-24 06:20:28 +00:00
fwang
5421e767df bug TDI-21027 fixed:Component Creation: Missing a scrollbar in the creation Wizzard
git-svn-id: http://talendforge.org/svn/tos/trunk@87926 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 10:00:37 +00:00
zwzhao
9e49a4f606 bug TDI-21701 fixed : Unable to use repository XML schema populated from customer WSDL. Error "Import from repository fail, please check your repository connection" returned.
git-svn-id: http://talendforge.org/svn/tos/trunk@87921 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 09:01:23 +00:00
fwang
a85ae77ece bug TDI-21835 fixed:Prompt to lock subjob in a reference project after opening in read only
git-svn-id: http://talendforge.org/svn/tos/trunk@87917 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 08:54:35 +00:00
rdubois
20fc42a2fc TDI-21418: Add more information related to the new options
git-svn-id: http://talendforge.org/svn/tos/trunk@87911 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 08:26:50 +00:00
bchen
3d4b837eb1 Fix New Feature TDI-19393 : Salesforce Bulk Query and Delete Action
http://jira.talendforge.org/browse/TDI-19393
1. tSalesforceInput support bulk query mode
2. tSalesforceOutputBulkExec support delete action
3. tSalesforceOutputBulkExec support concurrency mode
update src

git-svn-id: http://talendforge.org/svn/tos/trunk@87896 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 07:21:23 +00:00
jjzhou
0da51203f7 fix Bug TDI-21877: NullPointerException when selecting NTEXT fields from MSSql database connection
git-svn-id: http://talendforge.org/svn/tos/trunk@87895 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 07:17:09 +00:00
bchen
9bf97cd26e Fix New Feature TDI-19393 : Salesforce Bulk Query and Delete Action
http://jira.talendforge.org/browse/TDI-19393
1. tSalesforceInput support bulk query mode
2. tSalesforceOutputBulkExec support delete action
3. tSalesforceOutputBulkExec support concurrency mode

git-svn-id: http://talendforge.org/svn/tos/trunk@87883 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 06:03:45 +00:00
ycbai
8c9d2f3ca8 feature TDI-21417 added : Studio : Migration process should be refactored to allow different edition to work together
git-svn-id: http://talendforge.org/svn/tos/trunk@87866 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 02:43:08 +00:00
ycbai
76dfa25f73 feature TDI-21417 added : Studio : Migration process should be refactored to allow different edition to work together
git-svn-id: http://talendforge.org/svn/tos/trunk@87865 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-23 02:39:20 +00:00
amarkevich
34bee55eae support DataSource for tJDBCOutput & tMysqlOutput components
git-svn-id: http://talendforge.org/svn/tos/trunk@87856 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-20 12:04:58 +00:00
jyhu
54381f6234 fix bug TDI-21875 : When using the Vertica Output component with the copy method and the batch option turned on, the component always fails as soon as the second batch begins
http://jira.talendforge.org/browse/TDI-21875 

git-svn-id: http://talendforge.org/svn/tos/trunk@87826 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-20 06:52:16 +00:00
gliu
95721707e7 [TDI-21993] Fixed: [cMessagingEndpoint]The code can not be generated when using amqp Camel component
git-svn-id: http://talendforge.org/svn/tos/trunk@87821 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-20 05:45:19 +00:00
jzhao
a9cec8b34c Fix Bug TDI-21606:Method exceeding 65535 bytes limit while using tFileInputDelimited and tFileOutputMSXML
http://jira.talendforge.org/browse/TDI-21606


git-svn-id: http://talendforge.org/svn/tos/trunk@87811 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-20 03:43:28 +00:00
jzhao
faf8b739bf Fix Bug TDI-21606:Method exceeding 65535 bytes limit while using tFileInputDelimited and tFileOutputMSXML
http://jira.talendforge.org/browse/TDI-21606


git-svn-id: http://talendforge.org/svn/tos/trunk@87771 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-19 08:29:39 +00:00
ldong
9d43554a8f bug TDI-21997 fixed:ESB SE Studio failed to started on version 87721.
git-svn-id: http://talendforge.org/svn/tos/trunk@87760 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-19 08:10:55 +00:00
jjzhou
54a29179c5 fix Bug TDI-21765: EBCDIC component ecoding for Cp1141
git-svn-id: http://talendforge.org/svn/tos/trunk@87756 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-19 07:17:06 +00:00
hwang
8bade27c69 TDI-21710:junit of ChangeValuesFromRepository
git-svn-id: http://talendforge.org/svn/tos/trunk@87754 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-19 06:54:21 +00:00
hwang
60b4b72acd TDI-21637:junit of Connection
git-svn-id: http://talendforge.org/svn/tos/trunk@87751 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-19 06:51:34 +00:00
xpli
f66dba11be TESB-6386 Productify suport for Route Resources
git-svn-id: http://talendforge.org/svn/tos/trunk@87723 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-19 01:45:58 +00:00
hwang
6d360d396d TDI-21637:junit of Connection
git-svn-id: http://talendforge.org/svn/tos/trunk@87722 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-19 00:53:12 +00:00
rdubois
bfb083b503 TDI-21974 fixed: format hexadecimal md5 code
git-svn-id: http://talendforge.org/svn/tos/trunk@87719 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 16:10:27 +00:00
rdubois
5af1b4c179 merge r87713 from branch 5.0 to trunk
TDI-21912: The detail of the error is interesting even if the job doesn't die.


git-svn-id: http://talendforge.org/svn/tos/trunk@87715 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 13:10:16 +00:00
rdubois
8d1dc01bc8 merge r87710 from branch 5.0 to trunk
TDI-21912: The detail of the error is interesting even if the job doesn't die.


git-svn-id: http://talendforge.org/svn/tos/trunk@87712 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 13:08:09 +00:00
jyhu
e4571c5237 fix bug TDI-21912 : The tTeradataOutput component doesn't detect errors
http://jira.talendforge.org/browse/TDI-21912 

git-svn-id: http://talendforge.org/svn/tos/trunk@87704 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 10:21:04 +00:00
hwang
e7861f0fdd TDI-21637:junit of Connection
git-svn-id: http://talendforge.org/svn/tos/trunk@87694 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 10:03:58 +00:00
nrousseau
e5534ffd2a bug TDI-21827: set the minimum of line in a table to 1 line instead of 8
git-svn-id: http://talendforge.org/svn/tos/trunk@87686 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 08:42:32 +00:00
jyhu
af6d0de986 fix bug TDI-21912 : The tTeradataOutput component doesn't detect errors
http://jira.talendforge.org/browse/TDI-21912 

git-svn-id: http://talendforge.org/svn/tos/trunk@87677 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 07:50:19 +00:00
zwzhao
85f9a27ba9 bug TDI-21498 fixed : Switching from designer to jobscript : remove tXMLMap mappings
git-svn-id: http://talendforge.org/svn/tos/trunk@87671 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 06:52:08 +00:00
ldong
eef8ca5b37 bug TDI-12901 fixed:Increase size of project drop-down in login dialog.
git-svn-id: http://talendforge.org/svn/tos/trunk@87654 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 05:33:37 +00:00
wliu
a98603e4f9 fix bug TDI-21912 : The tTeradataOutput component doesn't detect errors
http://jira.talendforge.org/browse/TDI-21912

git-svn-id: http://talendforge.org/svn/tos/trunk@87636 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-18 02:22:38 +00:00
jyhu
4dabfc2496 Fix Feature TDI-21418 : can't insert data on HyperFile Database.
http://jira.talendforge.org/browse/TDI-21418 

git-svn-id: http://talendforge.org/svn/tos/trunk@87618 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-17 10:35:25 +00:00
xpli
7582702911 TESB-6481 Referenced Resources should be updated automatically
git-svn-id: http://talendforge.org/svn/tos/trunk@87595 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-17 08:08:16 +00:00
mwang
7fda5b767d For bug TDI-21918
git-svn-id: http://talendforge.org/svn/tos/trunk@87574 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-17 06:07:52 +00:00
plv
807d334150 bug TDI-21926:When 'Generate Doc as HTML' the path is exist,it should give a dialog to show if overwrite it.
git-svn-id: http://talendforge.org/svn/tos/trunk@87539 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-17 02:14:02 +00:00
rdubois
bf2cf3abb8 TDI-21930: Add the distribution closed list to the hadoop components
git-svn-id: http://talendforge.org/svn/tos/trunk@87531 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 10:39:24 +00:00
bchen
5c6c5eceda Fix Bug TDI-21708 : tDb2Output with parallel exceution enable cannot insert null value in db
http://jira.talendforge.org/browse/TDI-21708
modify migration task to set "PARALLELIZE_KEEP_EMPTY" with true for old job.


git-svn-id: http://talendforge.org/svn/tos/trunk@87527 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 10:17:10 +00:00
wliu
95c8f10ae5 fix Bug TDI-21571 : Exception handling
http://jira.talendforge.org/browse/TDI-21571

git-svn-id: http://talendforge.org/svn/tos/trunk@87521 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 09:21:23 +00:00
plv
8836356313 bug TDI-21815:When 'Generate Doc as HTML' the path is not the present job path ,and dropdown list is empty .
git-svn-id: http://talendforge.org/svn/tos/trunk@87514 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 08:31:32 +00:00
gliu
cb9019ce92 [TESB-6498] fixed: Fix the export Kar file bug
git-svn-id: http://talendforge.org/svn/tos/trunk@87510 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 07:50:47 +00:00
jyhu
beacdc7a82 Fix Bug TDI-21816 : missing a not(!) for all the tELT***Output components.
http://jira.talendforge.org/browse/TDI-21816 

git-svn-id: http://talendforge.org/svn/tos/trunk@87475 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 03:50:31 +00:00
gliu
d54d92f273 [TESB-6415] Removed: Remove "Detect dependencies" menu item
git-svn-id: http://talendforge.org/svn/tos/trunk@87473 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 03:33:10 +00:00
jyhu
46a0b55f0a Fix Bug TDI-21782 : Null Pointer Exception with dynamic data type and empty table of Oracle component.
http://jira.talendforge.org/browse/TDI-21782 

git-svn-id: http://talendforge.org/svn/tos/trunk@87469 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 03:24:05 +00:00
fwang
53c07682df junit TDI-21916 fixed:add org.talend.designer.rowgenerator.test for test
git-svn-id: http://talendforge.org/svn/tos/trunk@87468 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 03:06:26 +00:00
fwang
fcb177fa71 bug TDI-21916 junit:test getAvailableFunFromValue()
git-svn-id: http://talendforge.org/svn/tos/trunk@87467 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 03:01:01 +00:00
fwang
7767d0bbe3 bug TDI-17359 fixed:tRowGenerator might remove some parenthesis
git-svn-id: http://talendforge.org/svn/tos/trunk@87461 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-16 02:42:47 +00:00
jyhu
7349dce3a8 Fix Feature TDI-21819 : create 3 tELTGreenPlum*** components for greenplum.
http://jira.talendforge.org/browse/TDI-21819 

git-svn-id: http://talendforge.org/svn/tos/trunk@87431 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-13 11:08:44 +00:00
mwang
22d716436f For bug TDI-21546
git-svn-id: http://talendforge.org/svn/tos/trunk@87410 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-13 09:04:21 +00:00
xpli
a44ecea578 TESB-6480 Fix the bug of "OutOfIndex exception when exporting the route as a kar file"
git-svn-id: http://talendforge.org/svn/tos/trunk@87391 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-13 07:25:32 +00:00
xpli
fb6f141145 TESB-6311 Exported KAR file which contains CXF with classpath:XXX.WSDL cannot start in Runtime
git-svn-id: http://talendforge.org/svn/tos/trunk@87379 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-13 06:05:29 +00:00
zwzhao
292a0fd638 bug TDI-21498 fixed : Switching from designer to jobscript : remove tXMLMap mappings
git-svn-id: http://talendforge.org/svn/tos/trunk@87367 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-13 03:06:12 +00:00
nrousseau
eae42d3ce4 Fix Backlog Task TDI-21869 : transfer value of PARALLELIZE_KEEP_EMPTY to tAsyncIn/Out components
http://jira.talendforge.org/browse/TDI-21869

git-svn-id: http://talendforge.org/svn/tos/trunk@87363 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-13 02:55:09 +00:00
fwang
56ba23d550 bug TDI-21027 fixed:Component Creation: Missing a scrollbar in the creation Wizzard
git-svn-id: http://talendforge.org/svn/tos/trunk@87359 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-13 02:39:55 +00:00
amarkevich
3674b2e502 pass correct parameter to constructor
git-svn-id: http://talendforge.org/svn/tos/trunk@87337 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 13:17:52 +00:00
jyhu
a4aa0d8468 Fix Feature TDI-21819 : create 3 tELTGreenPlum*** components for greenplum.
http://jira.talendforge.org/browse/TDI-21819 

git-svn-id: http://talendforge.org/svn/tos/trunk@87311 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 09:28:57 +00:00
bchen
beb1dc2528 Fix Bug TDI-21708 : tDb2Output with parallel exceution enable cannot insert null value in db
http://jira.talendforge.org/browse/TDI-21708
add migration task to set "PARALLELIZE_KEEP_EMPTY" with true for old job.


git-svn-id: http://talendforge.org/svn/tos/trunk@87305 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 09:09:06 +00:00
nrousseau
38f9d49bef Bug TDI-20521 : enhance previous fix, fix in fact the point 1 of the bug TDI-8308
git-svn-id: http://talendforge.org/svn/tos/trunk@87286 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 07:33:21 +00:00
jyhu
11a282cbd3 Fix Feature TDI-21819 : create 3 tELTGreenPlum*** components for greenplum.
http://jira.talendforge.org/browse/TDI-21819 

git-svn-id: http://talendforge.org/svn/tos/trunk@87276 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 05:32:05 +00:00
jyhu
1c4e570381 Fix Feature TDI-21819 : create 3 tELTGreenPlum*** components for greenplum.
http://jira.talendforge.org/browse/TDI-21819 

git-svn-id: http://talendforge.org/svn/tos/trunk@87270 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 04:18:59 +00:00
jjzhou
d8acd45bdf Fix new feature TDI-21347 : Changed the properties file description from "Trim Space" to "Trailing WhiteSpace".
git-svn-id: http://talendforge.org/svn/tos/trunk@87254 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 03:13:46 +00:00
hcyi
212dc74195 bug TDI-21601 fixed : The wizard of tFileOutputMSXML can't display the columns of schema .
git-svn-id: http://talendforge.org/svn/tos/trunk@87253 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 03:11:28 +00:00
jjzhou
4758ec148b Fix new feature TDI-21347 : Changed the properties file description from "Trim Space" to "Trailing WhiteSpace".
git-svn-id: http://talendforge.org/svn/tos/trunk@87251 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 03:04:11 +00:00
jjzhou
f0f4cd5d1c fix Bug TDI-21765 : EBCDIC component ecoding for Cp1141
git-svn-id: http://talendforge.org/svn/tos/trunk@87246 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 02:43:08 +00:00
gliu
2ca7d37f72 [TESB-6457] Improved: Improve DELETE method to support parameters
git-svn-id: http://talendforge.org/svn/tos/trunk@87245 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 02:41:14 +00:00
jjzhou
0bf0b75a1c fix Bug TDI-21765 : EBCDIC component ecoding for Cp1141
git-svn-id: http://talendforge.org/svn/tos/trunk@87243 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 02:31:25 +00:00
nrousseau
8361ca5b11 Fix Bug TDI-21776 : Wrong accents
http://jira.talendforge.org/browse/TDI-21776

git-svn-id: http://talendforge.org/svn/tos/trunk@87240 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 02:12:17 +00:00
fwang
620f1fa193 bug TDI-21719 fixed:Create routine from top menu, NPE error
git-svn-id: http://talendforge.org/svn/tos/trunk@87236 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-12 01:58:01 +00:00
jyhu
a435cabbe1 Fix Bug TDI-21748 : Display of String truncation option in tSchemaComplianceCheck.
http://jira.talendforge.org/browse/TDI-21748 

git-svn-id: http://talendforge.org/svn/tos/trunk@87208 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 10:52:29 +00:00
ldong
465089a314 bug TDI-21733 fixed:Joblet:swith from designer to code tab, NPE error.
git-svn-id: http://talendforge.org/svn/tos/trunk@87193 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 09:10:13 +00:00
gliu
3b8b491483 [TESB-6424] Update Expiry timeout default value
Now the default value is 60000, and also long number is supported.

git-svn-id: http://talendforge.org/svn/tos/trunk@87191 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 08:59:26 +00:00
hcyi
476b9e9e3a bug TDI-21313 fixed : Job will be modified just when select a tFileOutputDelimited with CSV mode .
git-svn-id: http://talendforge.org/svn/tos/trunk@87178 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 08:23:57 +00:00
plv
992e765a71 bug TDI-21402:Database connection in job will failed if use the connection in joblet
git-svn-id: http://talendforge.org/svn/tos/trunk@87168 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 07:53:51 +00:00
xpli
d080d825ac TESB-6437 Change export bundle to remove folder "route_resources"
git-svn-id: http://talendforge.org/svn/tos/trunk@87156 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 06:56:28 +00:00
xpli
cdc92afa82 TESB-6456 Add migration for cJMS (Code refactor for route components check)
git-svn-id: http://talendforge.org/svn/tos/trunk@87155 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 06:52:01 +00:00
nrousseau
cba87950a8 bug TDI-20521: change the size of the NodeContainer, this avoids to have a too big invisible figure which hide the button from expand/collapse.
git-svn-id: http://talendforge.org/svn/tos/trunk@87149 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 06:10:16 +00:00
gliu
d2771247e7 [TESB-6430] Finished: Add support for Export-Package
[TESB-6431] Finished: Make all classpath libraries are optional, and all defined in cConfig are unchecked by default

git-svn-id: http://talendforge.org/svn/tos/trunk@87142 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 04:55:14 +00:00
xpli
9c31bbf779 TESB-6440 Need validation for cJMSConnectionFactory delete operation
git-svn-id: http://talendforge.org/svn/tos/trunk@87130 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-11 03:15:59 +00:00
fwang
55fbd57359 bug TDI-20207 fixed:user should be not able to copy joblet to itself
git-svn-id: http://talendforge.org/svn/tos/trunk@87090 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-10 07:01:12 +00:00
nrousseau
4d026b66da Modification: only to fix few junits since the problem view can't be displayed.
git-svn-id: http://talendforge.org/svn/tos/trunk@87055 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-10 00:37:27 +00:00
wwang
90c3df2c80 fix Bug TDI-7865: marketoutput reject can't syn the schema that only exists one error column without other column.
git-svn-id: http://talendforge.org/svn/tos/trunk@87037 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-09 09:00:16 +00:00
wwang
4e08aa125e fix Bug TDI-21715: fix the compile error for Model changeset
git-svn-id: http://talendforge.org/svn/tos/trunk@87007 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-09 04:14:29 +00:00
nrousseau
278721a8b8 bug TDI-21754: simply force a reload of the item if this one is unloaded when export
git-svn-id: http://talendforge.org/svn/tos/trunk@87003 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-09 03:50:14 +00:00
jyhu
0f42c893e7 Fix Bug TDI-21748 : Display of String truncation option in tSchemaComplianceCheck.
http://jira.talendforge.org/browse/TDI-21748 

git-svn-id: http://talendforge.org/svn/tos/trunk@86949 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-06 09:43:49 +00:00
jyhu
2dc6870f10 Fix Feature TDI-21418 : can't insert data on HyperFile Database.
http://jira.talendforge.org/browse/TDI-21418 

git-svn-id: http://talendforge.org/svn/tos/trunk@86920 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-06 06:55:00 +00:00
jyhu
52de530c1c Fix Feature TDI-21418 : can't insert data on HyperFile Database.
http://jira.talendforge.org/browse/TDI-21418 

git-svn-id: http://talendforge.org/svn/tos/trunk@86918 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-06 06:43:09 +00:00
wchen
fc4a3c85a1 bug TDI-21668 fixed:Remove User Routine Dependency from Job not working
git-svn-id: http://talendforge.org/svn/tos/trunk@86899 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-06 05:33:04 +00:00
wliu
a729b2decb fix Bug TDI-21606:Method exceeding 65535 bytes limit while using tFileInputDelimited and tFileOutputMSXML
http://jira.talendforge.org/browse/TDI-21606

git-svn-id: http://talendforge.org/svn/tos/trunk@86845 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 10:44:09 +00:00
hwang
d9e299e1b7 TDI-21734:junit of ConnectionCreateAction
git-svn-id: http://talendforge.org/svn/tos/trunk@86842 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 10:10:19 +00:00
zwzhao
5a93a0c814 bug TDI-20110 fixed : Studio shreddered my Rest DataService and persistently prevents repairs
git-svn-id: http://talendforge.org/svn/tos/trunk@86840 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 10:03:26 +00:00
wliu
3ace5f728e fix bug TDI-21606
git-svn-id: http://talendforge.org/svn/tos/trunk@86825 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 08:51:17 +00:00
ycbai
dea4b84608 bug TDQ-4974 fixed : When Get Patterns ETL job ,the job can't run and the job run button can't be used
git-svn-id: http://talendforge.org/svn/tos/trunk@86821 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 08:21:19 +00:00
wliu
ef51d9af46 fix Bug TDI-21606:Method exceeding 65535 bytes limit while using tFileInputDelimited and tFileOutputMSXML
http://jira.talendforge.org/browse/TDI-21606

git-svn-id: http://talendforge.org/svn/tos/trunk@86816 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 07:44:42 +00:00
jyhu
9ea85dca37 Fix Feature TDI-21486 : Unable to run tSybaseSP with "FUNCTION".
http://jira.talendforge.org/browse/TDI-21486 

git-svn-id: http://talendforge.org/svn/tos/trunk@86814 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 07:44:26 +00:00
jyhu
d3efc44db0 Fix Bug TDI-20462 : MSSQL 2008 DATE-Type not supported (TIS 4.1.2) .
http://jira.talendforge.org/browse/TDI-20462

git-svn-id: http://talendforge.org/svn/tos/trunk@86808 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 07:18:31 +00:00
jyhu
19875a88eb Fix Feature TDI-21486 : Unable to run tSybaseSP with "FUNCTION".
http://jira.talendforge.org/browse/TDI-21486 

git-svn-id: http://talendforge.org/svn/tos/trunk@86800 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 06:18:50 +00:00
fwang
376ca0a78b bug TDI-15281 fixed:Changes in expression builder lost when tMap closed
git-svn-id: http://talendforge.org/svn/tos/trunk@86796 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 05:55:36 +00:00
wchen
09df424f2e bug TDI-21411 fixed:the modification in Jobscript panel not effect on the job
git-svn-id: http://talendforge.org/svn/tos/trunk@86775 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-05 02:49:42 +00:00
wliu
cb9645b07e fix workitem TDI-21739 : remove the unnecessary code in tMDMReadConf
http://jira.talendforge.org/browse/TDI-21739

git-svn-id: http://talendforge.org/svn/tos/trunk@86745 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-04 09:45:06 +00:00
bchen
040c94a0dc Fix Bug TDI-21573 : tFileOutputMSXML cannot work with output of tUnite
http://jira.talendforge.org/browse/TDI-21573
when the last merge component don't have output connections, the prior merge component should be the start component
but it only affect when the connection is first merge connection for the last merge component.

git-svn-id: http://talendforge.org/svn/tos/trunk@86737 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-04 08:59:35 +00:00
jzhao
2269729f6c Fix Bug TDI-21714: When use "drop table if exists and create /create table if not exists" ,
will get create table error even table not exsists .(DB2,Postgres components).
http://jira.talendforge.org/browse/TDI-21714


git-svn-id: http://talendforge.org/svn/tos/trunk@86718 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-04 06:59:16 +00:00
hwang
676f5c6736 TDI-21710:junit of ChangeValuesFromRepository
git-svn-id: http://talendforge.org/svn/tos/trunk@86711 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-04 06:01:28 +00:00
wchen
9a0d9c0673 bug TDI-21623 fixed:Using CTRL+SPACE in tXMLMap expressions does not generate global variables list
git-svn-id: http://talendforge.org/svn/tos/trunk@86696 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-04 02:55:30 +00:00
ldong
1f4be59d5a bug TDI-8394 fixed:Error when undo output links order change.
git-svn-id: http://talendforge.org/svn/tos/trunk@86691 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-04 02:28:59 +00:00
wwang
53be9b685c fix Bug TDI-19284: tMSSqlInput need to improve MSSQL2008 datetimeoffset type support.
git-svn-id: http://talendforge.org/svn/tos/trunk@86675 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-03 10:37:39 +00:00
wchen
106126e413 bug TDI-21623 fixed: Using CTRL+SPACE in tXMLMap expressions does not generate global variables list
git-svn-id: http://talendforge.org/svn/tos/trunk@86656 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-03 09:24:01 +00:00
plv
9d939eb401 bug TDI-21663:Did not update the shell title of data viewer
git-svn-id: http://talendforge.org/svn/tos/trunk@86625 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-03 03:30:18 +00:00
jjzhou
677789103b Fix new feature TDI-21347 :Ingres bulk component-tIngresOutputBulkExec. The orginal value spaces ' ' (The value only has spaces) is changed to '' in the result.
git-svn-id: http://talendforge.org/svn/tos/trunk@86618 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-03 02:37:53 +00:00
hwang
6deff9757a TDI-21637:junit of Connection
git-svn-id: http://talendforge.org/svn/tos/trunk@86595 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-02 09:22:41 +00:00
wwang
80fd810c61 fix Feature TDI-21698: improve external id support for tSalesforceXXX Bulk components
git-svn-id: http://talendforge.org/svn/tos/trunk@86589 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-02 08:48:18 +00:00
ycbai
a09884f4a0 bug TDI-21296 fixed: No error message when selecting all Jobs&Routes and exporting as OSGI bundles
git-svn-id: http://talendforge.org/svn/tos/trunk@86580 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-02 08:22:12 +00:00
jyhu
280276382c Fix Bug TDI-20462 : MSSQL 2008 DATE-Type not supported (TIS 4.1.2) .
http://jira.talendforge.org/browse/TDI-20462

git-svn-id: http://talendforge.org/svn/tos/trunk@86571 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-02 06:15:28 +00:00
wwang
47a107be90 fix Feature TDI-21696: improve external id support for tSalesforceOutput
git-svn-id: http://talendforge.org/svn/tos/trunk@86567 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-02 05:53:58 +00:00
ldong
50ed367d19 bug TDI-13124 fixed:Action not disabled when changing workspace.
git-svn-id: http://talendforge.org/svn/tos/trunk@86556 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-02 03:34:31 +00:00
fwang
c6520560a3 bug TDI-21604 fixed:tAggregareRow_the layout is not good of set Column Default Value.
git-svn-id: http://talendforge.org/svn/tos/trunk@86554 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-07-02 03:10:11 +00:00
amarkevich
835371e0a9 added check for active component state
git-svn-id: http://talendforge.org/svn/tos/trunk@86529 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 11:14:09 +00:00
amarkevich
cb27b4c914 unquote model parameters
git-svn-id: http://talendforge.org/svn/tos/trunk@86528 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 11:08:30 +00:00
amarkevich
9968a65b72 cleanup imports
git-svn-id: http://talendforge.org/svn/tos/trunk@86526 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 10:28:54 +00:00
amarkevich
b2b8e8f443 support for mysql datasource
git-svn-id: http://talendforge.org/svn/tos/trunk@86525 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 10:26:27 +00:00
amarkevich
51ec33a8f7 display errors to user; cleanup
git-svn-id: http://talendforge.org/svn/tos/trunk@86524 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 10:26:06 +00:00
amarkevich
d36789a66f skip deactivated components
git-svn-id: http://talendforge.org/svn/tos/trunk@86523 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 10:25:26 +00:00
jyhu
3bc8e65cff Fix Bug TDI-21568 : tPop filter settings doesn't work(fixed new bugs).
http://jira.talendforge.org/browse/TDI-21568

git-svn-id: http://talendforge.org/svn/tos/trunk@86521 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 10:22:33 +00:00
ycbai
c6894218a9 bug TDI-20486 fixed: the component is not preconfigured with the chosen rule after drag and drop the validation rules to the component
git-svn-id: http://talendforge.org/svn/tos/trunk@86503 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 07:56:22 +00:00
bchen
45db8a0025 Fix Bug TDI-21573 : tFileOutputMSXML cannot work with output of tUnite
http://jira.talendforge.org/browse/TDI-21573
when the last merge component don't have output connections, the prior merge component should be the start component

git-svn-id: http://talendforge.org/svn/tos/trunk@86502 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 07:15:42 +00:00
fwang
b550beed2a bug TDI-21604 fixed:tAggregareRow_the layout is not good of set Column Default Value.
git-svn-id: http://talendforge.org/svn/tos/trunk@86493 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 06:24:10 +00:00
ldong
a64b5c7775 bug TDI-13124 fixed:Action not disabled when changing workspace.
git-svn-id: http://talendforge.org/svn/tos/trunk@86480 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 03:26:47 +00:00
jzhao
59526459b8 Fix New Feature TDI-21096: The Salesforce output component overwrites in update mode values in Salesforce even when the data are NULL values
http://jira.talendforge.org/browse/TDI-21096
Note:hide "ignore null fields values" when insert and delete



git-svn-id: http://talendforge.org/svn/tos/trunk@86479 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-29 03:19:55 +00:00
fwang
497eff6252 git-svn-id: http://talendforge.org/svn/tos/trunk@86476 f6f1c999-d317-4740-80b0-e6d1abc6f99e 2012-06-29 02:19:48 +00:00
fwang
2a1b82f90f git-svn-id: http://talendforge.org/svn/tos/trunk@86475 f6f1c999-d317-4740-80b0-e6d1abc6f99e 2012-06-29 02:09:53 +00:00
fwang
2e242f89ad git-svn-id: http://talendforge.org/svn/tos/trunk@86472 f6f1c999-d317-4740-80b0-e6d1abc6f99e 2012-06-29 01:47:30 +00:00
amarkevich
033ea34e34 moved DataSource generation to separate class
git-svn-id: http://talendforge.org/svn/tos/trunk@86468 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-28 14:56:11 +00:00
amarkevich
a15a6a9f9b [rest] OSGi DataSource support
git-svn-id: http://talendforge.org/svn/tos/trunk@86466 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-28 13:12:58 +00:00
amarkevich
8961deeff0 [rest] OSGi DataSource support
git-svn-id: http://talendforge.org/svn/tos/trunk@86465 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-28 13:12:44 +00:00
fwang
4a7f6fd3e1 add org.talend.repository.test
git-svn-id: http://talendforge.org/svn/tos/trunk@86449 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-28 09:38:47 +00:00
fwang
5a503ac95f git-svn-id: http://talendforge.org/svn/tos/trunk@86448 f6f1c999-d317-4740-80b0-e6d1abc6f99e 2012-06-28 09:36:33 +00:00
jyhu
35fe47b6ec Fix Bug TDI-21568 : tPop filter settings doesn't work(fixed new bugs).
http://jira.talendforge.org/browse/TDI-21568

git-svn-id: http://talendforge.org/svn/tos/trunk@86437 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-28 08:30:41 +00:00
nrousseau
ce684c174f TDI-21634 : add some basic junits for the ConnectionCreateCommand, will need to add much more for each possible case of component.
git-svn-id: http://talendforge.org/svn/tos/trunk@86417 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-28 03:59:13 +00:00
hwang
fce6409810 TDI-21635:refactor of MetadataTool
git-svn-id: http://talendforge.org/svn/tos/trunk@86388 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 10:08:36 +00:00
wchen
4eb04db668 bug TDI-21499 fixed: tXMLMap : drag & drop is possible but has no effect
git-svn-id: http://talendforge.org/svn/tos/trunk@86382 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 09:35:54 +00:00
jjzhou
46f4a5eb69 fix Bug TDI-21520: a bug with the EBCDIC datatype PIC S9
git-svn-id: http://talendforge.org/svn/tos/trunk@86377 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 09:11:54 +00:00
xpli
0c496deb51 TESB-6300 Cannot export Router with external resource on Windows
git-svn-id: http://talendforge.org/svn/tos/trunk@86374 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 09:08:18 +00:00
wchen
f277839ece bug TDI-21499 fixed: tXMLMap : drag & drop is possible but has no effect
git-svn-id: http://talendforge.org/svn/tos/trunk@86367 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 08:01:47 +00:00
xpli
5cb60571a5 TESB-6294 Fix the Validation problem if user doesn't use the Internal resources
git-svn-id: http://talendforge.org/svn/tos/trunk@86366 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 08:01:21 +00:00
cli
77b681d1c1 TDI-21602: add junit for bug
git-svn-id: http://talendforge.org/svn/tos/trunk@86359 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 05:49:32 +00:00
cli
2d5090a7ba TDI-21602: add junit for bug
git-svn-id: http://talendforge.org/svn/tos/trunk@86353 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 04:01:54 +00:00
xpli
f6abb5bff2 TESB-6294 Fix the Validation problem if user doesn't use the Internal resources
git-svn-id: http://talendforge.org/svn/tos/trunk@86351 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 03:45:26 +00:00
xpli
aeca069a1c TESB-6294 Fix the Validation problem if user doesn't use the Internal resources
git-svn-id: http://talendforge.org/svn/tos/trunk@86347 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 02:32:25 +00:00
xpli
9f1ae7eb1e TESB-6227 E xport Route Resources into KAR files
git-svn-id: http://talendforge.org/svn/tos/trunk@86344 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-27 02:01:44 +00:00
xpli
075d6fbfa5 TESB-6227 E xport Route Resources into KAR files
git-svn-id: http://talendforge.org/svn/tos/trunk@86333 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 09:22:05 +00:00
rzubairov
56598eeb60 - added one more fix for potential problems described in TESB-6046 (here only dom4j)
git-svn-id: http://talendforge.org/svn/tos/trunk@86332 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 09:14:38 +00:00
wchen
fc2b634f2f bug TDI-20299 fixed:tXMLMap: Replacing inbound schema does not purge outbound map links leads to Errors although schema and map are ok
git-svn-id: http://talendforge.org/svn/tos/trunk@86329 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 08:56:20 +00:00
xpli
9a9a062270 TESB-6227 xport Route Resources into KAR files
git-svn-id: http://talendforge.org/svn/tos/trunk@86328 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 08:53:17 +00:00
zwzhao
48ee76d654 bug TDI-21413 fixed : tELTOracleMap : incorrect enclosing occurs when a column name contains other column name in generated sql
git-svn-id: http://talendforge.org/svn/tos/trunk@86324 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 08:42:48 +00:00
wchen
fdb9212619 TDI-21598 :junit added for postgres elt
git-svn-id: http://talendforge.org/svn/tos/trunk@86306 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 03:45:51 +00:00
wchen
259f61b476 TDI-21598 :junit added for postgres elt
git-svn-id: http://talendforge.org/svn/tos/trunk@86303 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 03:44:33 +00:00
jjzhou
39be3e85fb fix Bug TDI-21557: tFileInputEBCDIC decodes incorrectly type PIC S9(n)V99 COMP-[...]
git-svn-id: http://talendforge.org/svn/tos/trunk@86301 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 03:43:16 +00:00
jyhu
dddad5aa5c Fix Bug TDI-21568 : tPop filter settings doesn't work.
http://jira.talendforge.org/browse/TDI-21568

git-svn-id: http://talendforge.org/svn/tos/trunk@86296 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-26 03:23:19 +00:00
rzubairov
79f94a8b90 - fixed TESB-6233: Cannot deploy jobs with tESBConsumer - JSONProvider ClassNotFoundException
both 
1. java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.provider.json.JSONProvider
and 
2. java.lang.ClassCastException: org.dom4j.tree.DefaultDocument cannot be cast to org.dom4j.Document

git-svn-id: http://talendforge.org/svn/tos/trunk@86277 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-25 14:15:42 +00:00
jyhu
c0b066b422 Fix Bug TDI-21568 : tPop filter settings doesn't work.
http://jira.talendforge.org/browse/TDI-21568

git-svn-id: http://talendforge.org/svn/tos/trunk@86274 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-25 10:25:13 +00:00
xpli
229d9c7993 TESB-6226 Chang cCXF to allow users to select Route Resource Node
git-svn-id: http://talendforge.org/svn/tos/trunk@86270 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-25 09:55:20 +00:00
xpli
367802755b TESB-6285 Create a new Component Field ROUTE_RESOURCE for Route components
git-svn-id: http://talendforge.org/svn/tos/trunk@86269 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-25 09:53:01 +00:00
ldong
17ad4138ba bug TDI-21525 fixed:EBCDIC Datatype PIC S9 does not work.
git-svn-id: http://talendforge.org/svn/tos/trunk@86255 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-25 08:50:18 +00:00
wchen
a7dec6bdf5 bug TDI-20733 fixed:Postgres ELT and ETL components act differently
git-svn-id: http://talendforge.org/svn/tos/trunk@86235 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-25 05:38:52 +00:00
gliu
d2bc0166d9 [TESB-6191] Ignore the validation of "PROCESS_TYPE" when the "FROM_REPOSITORY_JOB" is invisible.
git-svn-id: http://talendforge.org/svn/tos/trunk@86227 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-25 02:34:19 +00:00
amarkevich
27918a4802 [osgi] generate bean definitions for tJDBCConnection
git-svn-id: http://talendforge.org/svn/tos/trunk@86218 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-22 16:21:03 +00:00
amarkevich
bd74dcd893 use OSGi DataSource
git-svn-id: http://talendforge.org/svn/tos/trunk@86202 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-21 13:05:29 +00:00
amarkevich
07c72c4635 added setter for OSGi DataSource
git-svn-id: http://talendforge.org/svn/tos/trunk@86200 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-21 12:30:15 +00:00
gliu
5275b02cab [TESB-6210] finish the prototype : Prototype the modularity improvement.
git-svn-id: http://talendforge.org/svn/tos/trunk@86175 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-21 09:56:44 +00:00
jjzhou
483b3af716 fix Bug TDI-21347: It's a feature , revert code to last version.
git-svn-id: http://talendforge.org/svn/tos/trunk@86134 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-21 06:55:22 +00:00
jjzhou
823013f648 fix Bug TDI-21578: Delete function in tLADAPOutput not working
git-svn-id: http://talendforge.org/svn/tos/trunk@86124 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-21 06:16:45 +00:00
jjzhou
77b0034707 fix Bug TDI-21557: tFileInputEBCDIC decodes incorrectly type PIC S9(n)V99 COMP-[...]
git-svn-id: http://talendforge.org/svn/tos/trunk@86101 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-21 01:44:39 +00:00
rdubois
83d88be83e merge r86075 from branch 5.0 to trunk
TDI-21420 fixed: change the default value for METHODNAME parameter


git-svn-id: http://talendforge.org/svn/tos/trunk@86076 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-20 12:07:01 +00:00
rzubairov
b6852a1fd3 - fixed potential issue with Data Service which use MDM components (deployed to Runtime). See TESB-6046
git-svn-id: http://talendforge.org/svn/tos/trunk@85966 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 12:36:20 +00:00
rzubairov
7646e52072 - fixed TESB-6046
git-svn-id: http://talendforge.org/svn/tos/trunk@85964 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 11:57:57 +00:00
hcyi
55e0f25d7b bug TDI-6803 fixed : tFileInputMSDelimited did not fetch separator "\\" .
git-svn-id: http://talendforge.org/svn/tos/trunk@85939 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 09:55:16 +00:00
bchen
9645fc361a Fix Bug TDI-21516 : Bad rejected inner join on linked output
http://jira.talendforge.org/browse/TDI-21516

git-svn-id: http://talendforge.org/svn/tos/trunk@85925 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 08:42:58 +00:00
dlin
b03e915393 bug TDI-21072 fixed: tFileInputMSDelimited:error message pop up when check or uncheck "Use multiple separators"
git-svn-id: http://talendforge.org/svn/tos/trunk@85896 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 04:24:15 +00:00
jzhao
8148d083ea Fix New Feature TDI-21096: The Salesforce output component overwrites in update mode values in Salesforce even when the data are NULL values
http://jira.talendforge.org/browse/TDI-21096

git-svn-id: http://talendforge.org/svn/tos/trunk@85893 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 03:34:16 +00:00
wwang
029876f20f fix Bug TDI-21513: Directory can't be created when parallel lookups are used
git-svn-id: http://talendforge.org/svn/tos/trunk@85888 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 03:21:06 +00:00
dlin
fa4bef66bb bug TDI-21062 fixed: tFileInputMSDelimited_no columns display after click "Edit columns"
git-svn-id: http://talendforge.org/svn/tos/trunk@85887 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 03:17:31 +00:00
hwang
776816e4d3 TDI-21464:Export Petals ESB:Export successfully but with many error logs
git-svn-id: http://talendforge.org/svn/tos/trunk@85882 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-19 03:00:51 +00:00
wchen
b3edb1a1f2 bug TDI-21478 fixed:tXMLMap:Deleted ouput,column which belong to output can not be deleted together
git-svn-id: http://talendforge.org/svn/tos/trunk@85811 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-18 10:12:44 +00:00
hwang
17444b2796 TDI-21464:Export Petals ESB:Export successfully but with many error logs
git-svn-id: http://talendforge.org/svn/tos/trunk@85809 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-18 10:06:50 +00:00
jyhu
c4073a22b7 Fix Bug TDI-21486 : Unable to run tSybaseSP with "FUNCTION".
http://jira.talendforge.org/browse/TDI-21486

git-svn-id: http://talendforge.org/svn/tos/trunk@85792 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-18 09:05:03 +00:00
gliu
232c185eac [TESB-6220] Refactor and Commit the codes to SVN trunk
git-svn-id: http://talendforge.org/svn/tos/trunk@85776 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-18 08:02:29 +00:00
hcyi
9134b07507 bug TDI-21324 fixed : Revert the #TDI-19844 fix , Multiple identical XPaths should be possible within tAdvancedFileOutputXML after applying #TDI-19844 .
git-svn-id: http://talendforge.org/svn/tos/trunk@85766 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-18 07:14:35 +00:00
ldong
d98d1b2acb bug TDI-20584 fixed:Can't retrive schema correctly when migrate a connection from 402 to 423.
git-svn-id: http://talendforge.org/svn/tos/trunk@85737 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-18 02:35:23 +00:00
nrousseau
b191ddd5dd merge r85730 from branch 5.0 to trunk
bug TDI-21534 fixed: allow to use greenplum component  as dbmap


git-svn-id: http://talendforge.org/svn/tos/trunk@85735 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-18 02:23:47 +00:00
jyhu
5b67075dd4 Fix Bug TDI-21486 : Unable to run tSybaseSP with "FUNCTION".
http://jira.talendforge.org/browse/TDI-21486

git-svn-id: http://talendforge.org/svn/tos/trunk@85700 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-15 10:19:39 +00:00
amarkevich
9e72581ea3 reuse monitor
git-svn-id: http://talendforge.org/svn/tos/trunk@85694 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-15 10:13:32 +00:00
hcyi
df7474e042 bug TDQ-3684 fixed : Register via Proxy doesn't work .
git-svn-id: http://talendforge.org/svn/tos/trunk@85648 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-15 07:15:55 +00:00
jzhao
cb5a663aad Fix Backlog Task TDI-21412:Postgres ELT and ETL components act differently ,need additional work form component team
http://jira.talendforge.org/browse/TDI-21412
Note:Rollback part of the changes

git-svn-id: http://talendforge.org/svn/tos/trunk@85627 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-15 04:04:34 +00:00
dlin
911f67d21e bug TDI-6611 fixed: tFileInputMSDelimited use context variable as file name,dont supply checkbox "Use multiple separators"
git-svn-id: http://talendforge.org/svn/tos/trunk@85612 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-15 02:38:51 +00:00
rbaldwin
4904af65ef Fix for TDI-20023
git-svn-id: http://talendforge.org/svn/tos/trunk@85605 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-14 20:45:14 +00:00
zwzhao
1b25c6c2b6 bug TDI-21413 fixed : tELTOracleMap : incorrect enclosing occurs when a column name contains other column name in generated sql
git-svn-id: http://talendforge.org/svn/tos/trunk@85542 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-14 03:17:42 +00:00
jzhao
ed93cdeb8a Fix Backlog Task TDI-21412:Postgres ELT and ETL components act differently ,need additional work form component team
http://jira.talendforge.org/browse/TDI-21412

git-svn-id: http://talendforge.org/svn/tos/trunk@85520 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-14 01:58:00 +00:00
jjzhou
361a7c2640 fix Bug TDI-21347: Ingres bulk component-tIngresOutputBulkExec. The orginal value spaces ' ' (The value only has spaces) is changed to '' in the result.
git-svn-id: http://talendforge.org/svn/tos/trunk@85469 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-13 08:26:09 +00:00
bchen
96c875a152 Fix Bug TDI-21381 : Sybase ASE Store procedure with multiple row insert issue
http://jira.talendforge.org/browse/TDI-21381
use execute method when the procedure return resultset
use executeUpadte method when the procedure don't have return value or have out type return value
use executeQuery method when the procedure return resultset and the procedure have multiple select method

git-svn-id: http://talendforge.org/svn/tos/trunk@85455 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-13 07:38:17 +00:00
bchen
201605dfde Fix Bug TDI-21381 : Sybase ASE Store procedure with multiple row insert issue
http://jira.talendforge.org/browse/TDI-21381
use execute method when the procedure return resultset
use executeUpadte method when the procedure don't have return value or have out type return value
use executeQuery method when the procedure return resultset and the procedure have multiple select method

git-svn-id: http://talendforge.org/svn/tos/trunk@85447 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-13 07:11:36 +00:00
jyhu
58176f54ef Fix Bug TDI-21422 : tFileUnarchive Does not work with uppercase filenames and password protected files on case sensitive OS .
http://jira.talendforge.org/browse/TDI-21422

git-svn-id: http://talendforge.org/svn/tos/trunk@85331 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-12 07:17:50 +00:00
jzhao
8532694464 Fix Bug TDI-21370: tfileoutputexcel component loses format cells in append mode
http://jira.talendforge.org/browse/TDI-21370
Note:1.Use default column style when cell is null but keep cell format
     2.Remove needless blank row when append empty sheet.

git-svn-id: http://talendforge.org/svn/tos/trunk@85330 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-12 07:17:47 +00:00
zwzhao
9e7480c6e0 bug TDI-21444 fixed : context disable after swith between jobscript->code->jobeditor
git-svn-id: http://talendforge.org/svn/tos/trunk@85321 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-12 06:52:27 +00:00
jzhao
ced5418196 Fix Bug TDI-21251 : Cannot create advanced xml file with Hive
http://jira.talendforge.org/browse/TDI-21251
Note:1.revert tAdvancedFileOutputXML add try { at the begin part and } finally {...} at the end part.
     2.Catch Exception in tParseRecordSet component.

git-svn-id: http://talendforge.org/svn/tos/trunk@85302 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-12 05:57:03 +00:00
wwang
d2fd1627b2 fix Bug TDI-19355: tConvertType and tSchemaComplianceCheck should have the same behavior
git-svn-id: http://talendforge.org/svn/tos/trunk@85299 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-12 05:32:43 +00:00
jjzhou
f6675339d1 fix Bug TDI-20886: tMSSqlInput removes some characters
git-svn-id: http://talendforge.org/svn/tos/trunk@85293 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-12 05:27:55 +00:00
hcyi
f26658056a bug TDI-19883 fixed : Artifacts imported to a SVN controlled project are not committed to SVN and are lost after restart .
git-svn-id: http://talendforge.org/svn/tos/trunk@85278 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-12 03:42:20 +00:00
sizhaoliu
b72c7bf124 TDQ-5570 fixed: exclude project name part from generated routine for tStandardizeRow
git-svn-id: http://talendforge.org/svn/tos/trunk@85226 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-11 12:57:51 +00:00
jyhu
9d0510c07d Fix Bug TDI-20462 : MSSQL 2008 DATE-Type not supported (TIS 4.1.2) .
http://jira.talendforge.org/browse/TDI-20462

git-svn-id: http://talendforge.org/svn/tos/trunk@85213 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-11 10:22:59 +00:00
zwzhao
3c94e8bc3a bug TDI-21413 fixed : tELTOracleMap : incorrect enclosing occurs when a column name contains other column name in generated sql
git-svn-id: http://talendforge.org/svn/tos/trunk@85155 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-11 07:21:41 +00:00
mwang
81c4a2cbc0 For bug TDI-21396, just remove the filter and make the "element" can be dragged to "Related Column".
git-svn-id: http://talendforge.org/svn/tos/trunk@85094 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-08 09:53:09 +00:00
bchen
4c6c49ab56 Fix Bug TDI-21416 : tFlowToIterate & tSoap error
http://jira.talendforge.org/browse/TDI-21416


git-svn-id: http://talendforge.org/svn/tos/trunk@85093 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-08 09:51:38 +00:00
fwang
e0eb991974 bug TDI-21189 fixed:A document can be opened many times in studio.
git-svn-id: http://talendforge.org/svn/tos/trunk@85084 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-08 09:24:25 +00:00
wwang
fae1215379 fix Bug TDI-19465: revert it and keep the old behaviour
git-svn-id: http://talendforge.org/svn/tos/trunk@85060 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-08 08:11:59 +00:00
wchen
2d36f1a008 bug TDI-21411 fixed: the modification in Jobscript panel not effect on the job
git-svn-id: http://talendforge.org/svn/tos/trunk@85045 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-08 05:51:42 +00:00
jjzhou
3b349946e4 fix Bug TDI-21323: Problems downloading email from IMAP-Lotus Notes server with tPop
git-svn-id: http://talendforge.org/svn/tos/trunk@85036 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-08 02:55:57 +00:00
rdubois
f41ba08470 TDI-21435 fixed: add the cid after the isURL variable
git-svn-id: http://talendforge.org/svn/tos/trunk@85021 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 14:36:35 +00:00
zwzhao
9b2a6d3572 bug TDI-7445 fixed : wrong name for the "open another version" dialog box
git-svn-id: http://talendforge.org/svn/tos/trunk@84987 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 09:51:18 +00:00
hcyi
cbe33be50a bug TDI-21401 fixed : Same name job/joblet exist in Job Designs/Joblet Designs .
git-svn-id: http://talendforge.org/svn/tos/trunk@84958 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 08:58:29 +00:00
bchen
c16a8432ac Fix Bug TDI-21381 : Sybase ASE Store procedure with multiple row insert issue
http://jira.talendforge.org/browse/TDI-21381
CallableStatement.executeUpdate instead of execute methods

git-svn-id: http://talendforge.org/svn/tos/trunk@84948 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 08:31:21 +00:00
fwang
e06c12667b bug TDI-20630 fixed:update repository connection wizard can't launched for project setting
git-svn-id: http://talendforge.org/svn/tos/trunk@84929 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 07:30:57 +00:00
ycbai
027c2e3fff bug TDI-21387 modified: CommandLine exportItems command may produce empty file or no file at all
git-svn-id: http://talendforge.org/svn/tos/trunk@84917 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 06:45:07 +00:00
fwang
34c2e26074 bug TDI-20142 fixed:Job are not refreshing Implicit ContextLoad from project settings
git-svn-id: http://talendforge.org/svn/tos/trunk@84894 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 03:55:00 +00:00
jzhao
36ed9ff4e0 Fix Bug TDI-20347: tJasperOutput[Exec] creates only blank page on Linux
http://jira.talendforge.org/browse/TDI-20347

git-svn-id: http://talendforge.org/svn/tos/trunk@84887 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-07 02:42:39 +00:00
jzhao
fd1f390081 Fix Bug TDI-21251 : Cannot create advanced xml file with Hive
http://jira.talendforge.org/browse/TDI-21251
Note:add try { at the begin part and } finally {...} at the end part.

git-svn-id: http://talendforge.org/svn/tos/trunk@84833 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-06 09:51:21 +00:00
ycbai
d16e2cd408 bug TDI-21387 fixed: CommandLine exportItems command may produce empty file or no file at all
git-svn-id: http://talendforge.org/svn/tos/trunk@84802 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-06 07:01:50 +00:00
zwzhao
2bbfe9e41b bug TDI-7996 fixed : Esc will not close Expression Editor immediately after open
git-svn-id: http://talendforge.org/svn/tos/trunk@84800 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-06 06:50:27 +00:00
zwzhao
b2ad5147b1 bug TDI-7996 fixed : Esc will not close Expression Editor immediately after open
git-svn-id: http://talendforge.org/svn/tos/trunk@84787 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-06 05:50:38 +00:00
hcyi
d206d1a279 bug TDI-21298 fixed : Different processing order of two tPrejob between studio code and exported code .
git-svn-id: http://talendforge.org/svn/tos/trunk@84763 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-06 03:14:11 +00:00
jjzhou
c259d1c2db fix Bug TDI-20886: tMSSqlInput removes some characters
git-svn-id: http://talendforge.org/svn/tos/trunk@84748 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-06 02:02:25 +00:00
jjzhou
284cb169fd fix Bug TDI-20886: tMSSqlInput removes some characters
git-svn-id: http://talendforge.org/svn/tos/trunk@84707 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-05 09:36:22 +00:00
wwang
4dcafefe2a fix Bug TDI-21341: tPivotToColumnsDelimited component , semi-colon couldn't be applied as a field separator and a data value at same time
git-svn-id: http://talendforge.org/svn/tos/trunk@84680 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-05 07:28:08 +00:00
rdubois
d891cf3d45 TDI-21332 fixed: set a hive property in the code to fix the UGI context issue
git-svn-id: http://talendforge.org/svn/tos/trunk@84645 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-04 16:37:25 +00:00
hcyi
20d701374a bug TDI-21099 fixed : Undo after autolink doesn't return to original state .
git-svn-id: http://talendforge.org/svn/tos/trunk@84602 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-04 09:40:35 +00:00
yyin
8808711fce TDQ-5497 org.eclipse.jface error while opening the job: fixed on trunk
add some judgement for connection before use it(null or not). 

git-svn-id: http://talendforge.org/svn/tos/trunk@84586 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-04 08:24:37 +00:00
ldong
bf57978a91 bug TDI-21049 fixed:FileInputMSDelimited UI issue.
git-svn-id: http://talendforge.org/svn/tos/trunk@84563 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-04 07:06:08 +00:00
jyhu
3a0194e051 Fix Feature TDI-20487 : Get error when update table with Netezza ELT components.
http://jira.talendforge.org/browse/TDI-20487 

git-svn-id: http://talendforge.org/svn/tos/trunk@84559 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-04 07:00:19 +00:00
hcyi
07360c1d1c bug TDI-21099 fixed : Undo after autolink doesn't return to original state .
git-svn-id: http://talendforge.org/svn/tos/trunk@84520 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 10:33:18 +00:00
mwang
c5f5d20dfc For bug TDI-21244, just export all jobs one time.
git-svn-id: http://talendforge.org/svn/tos/trunk@84504 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 09:52:33 +00:00
zwzhao
7598337ea4 bug TDI-21045 fixed : tMap editor doesn't appear for read-only jobs on Mac
git-svn-id: http://talendforge.org/svn/tos/trunk@84494 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 09:45:32 +00:00
wchen
a4f98fc96d add new test plugin
git-svn-id: http://talendforge.org/svn/tos/trunk@84483 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 09:11:02 +00:00
wchen
577d1c7622 add new test plugin
git-svn-id: http://talendforge.org/svn/tos/trunk@84482 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 09:10:29 +00:00
jyhu
cca5d71d90 Fix Bug TDI-20595 : tSetProxy(HTTP) does not work against tFTPConnection(SFTP) .
http://jira.talendforge.org/browse/TDI-20595 

git-svn-id: http://talendforge.org/svn/tos/trunk@84478 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 09:05:34 +00:00
jyhu
67900f149f Fix Bug TDI-5796 : General JDBC DB connection.
http://jira.talendforge.org/browse/TDI-5796 

git-svn-id: http://talendforge.org/svn/tos/trunk@84471 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 08:48:08 +00:00
jyhu
827b55733e Fix Bug TDI-19964 : revert the default value of the components.
http://jira.talendforge.org/browse/TDI-19964 

git-svn-id: http://talendforge.org/svn/tos/trunk@84462 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 08:18:51 +00:00
wchen
131f08f4a4 bug TDI-20781 fixed: Joblet code generation problem
git-svn-id: http://talendforge.org/svn/tos/trunk@84455 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 07:56:36 +00:00
hcyi
b1d3956a54 bug TDI-21102 modified : revert the commited svn_tos:84413 .
git-svn-id: http://talendforge.org/svn/tos/trunk@84454 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 07:53:35 +00:00
jyhu
6340467119 Fix Feature TDI-20487 : Get error when update table with Netezza ELT components.
http://jira.talendforge.org/browse/TDI-20487 

git-svn-id: http://talendforge.org/svn/tos/trunk@84432 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 05:50:37 +00:00
jyhu
f1e749cebf Fix Bug TDI-19964 : drag dbcomponment from palette to job,some values have a default value,maybe didn't hava the value is better.
http://jira.talendforge.org/browse/TDI-19964 

git-svn-id: http://talendforge.org/svn/tos/trunk@84429 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 04:18:45 +00:00
jjzhou
6733cff041 fix Bug TDI-21323: Problems downloading email from IMAP-Lotus Notes server with tPop
git-svn-id: http://talendforge.org/svn/tos/trunk@84424 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 03:08:40 +00:00
fwang
7708a4cd9d bug TDI-20630 fixed:update repository connection wizard can't launched for project setting
git-svn-id: http://talendforge.org/svn/tos/trunk@84416 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 02:31:16 +00:00
hcyi
8d6b2984f3 bug TDI-21102 fixed : Talend MDM_no save button for Receive MDM metadata .
git-svn-id: http://talendforge.org/svn/tos/trunk@84413 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 02:29:29 +00:00
zwzhao
20a94b02e7 bug TDI-14179 fixed : The old version of jobscript is editable
git-svn-id: http://talendforge.org/svn/tos/trunk@84403 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 02:19:42 +00:00
zwzhao
87582bf273 bug TDI-21188 fixed : A job unlocked can be edited.
git-svn-id: http://talendforge.org/svn/tos/trunk@84391 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 02:09:27 +00:00
zwzhao
71f6b0fd91 bug TDI-21250 fixed : Even you add new library with Edit routine Libraries, the routine class will lost the dependency when you restart the studio
git-svn-id: http://talendforge.org/svn/tos/trunk@84387 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 02:05:02 +00:00
hcyi
871cd04b49 bug TDI-21298 fixed : Different processing order of two tPrejob between studio code and exported code .
git-svn-id: http://talendforge.org/svn/tos/trunk@84381 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:58:27 +00:00
jzhao
6ad6277d57 Fix Bug TDI-20905: tSalesforceOutputBulkExec fails to handle fields with a newline value correctly
http://jira.talendforge.org/browse/TDI-20905

git-svn-id: http://talendforge.org/svn/tos/trunk@84377 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:54:48 +00:00
jzhao
1717c45f26 Fix Bug TDI-21180: tHashOutput with KeyManagement=KEEP_FIRST Allows Duplicates
http://jira.talendforge.org/browse/TDI-21180

git-svn-id: http://talendforge.org/svn/tos/trunk@84374 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:52:25 +00:00
fwang
cb081bf363 bug TDI-20733 fixed:Postgres ELT and ETL components act differently,but it also needs component team's help
git-svn-id: http://talendforge.org/svn/tos/trunk@84373 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:51:52 +00:00
hcyi
d1d57e5279 bug TDI-21099 fixed : Undo after autolink doesn't return to original state .
git-svn-id: http://talendforge.org/svn/tos/trunk@84372 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:51:35 +00:00
fwang
6b6caf741d bug TDI-21232 fixed:error will show when "View documentation" for job or joblet with name "Jobs" or "Joblets"
git-svn-id: http://talendforge.org/svn/tos/trunk@84367 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:47:14 +00:00
hcyi
0ddbea0b51 bug TDI-21257 fixed : tSAPOutput : Cannot edit map table after execution .
git-svn-id: http://talendforge.org/svn/tos/trunk@84364 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:42:54 +00:00
wwang
3d049537f1 fix Bug TDI-19465: OnSubJobError doesn't chatch LookUp flow's error.
git-svn-id: http://talendforge.org/svn/tos/trunk@84362 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:39:58 +00:00
nrousseau
f109dfdb7c bug TDI-21214 fixed: add several optimization
git-svn-id: http://talendforge.org/svn/tos/trunk@84360 f6f1c999-d317-4740-80b0-e6d1abc6f99e
2012-06-01 01:33:43 +00:00
5243 changed files with 345499 additions and 270253 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

@@ -38,7 +38,7 @@ ComponentProjectPreferencePage.ChooseProject=S
WizardComponentFolderPage.ErrMSG5=La famille du composant est vide
WizardComponentFolderPage.ErrMSG4=Le nom long du composant est vide
AbstractXMLConfigPage.BooleanTip=Booléen (vrai ou faux)
AbstractXMLConfigPage.Delete=Supprimer
AbstractXMLConfigPage.Delete=DELETE
WizardComponentFolderPage.ErrMSG3=Ce composant existe déjà
WizardComponentFolderPage.ErrMSG2=Le nom du composant est vide
WizardComponentFolderPage.ErrMSG1=Le langage du composant n'a pas été sélectionné

View File

@@ -3,7 +3,7 @@ PushToPaletteActionProvider.PushComponentsToPalette=\u30B3\u30F3\u30DD\u30FC\u30
EditComponentActionProvider.Edit=\u3053\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u7DE8\u96C6
ImportComponentDialog.ErrorMSG4=\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
ProjectSelectionDialog.SelectPath=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D1\u30B9\u306E\u9078\u629E
AbstractXMLConfigPage.TYPETip=\u30C7\u30FC\u30BF\u578B\u3002
AbstractXMLConfigPage.TYPETip=\u30C7\u30FC\u30BF\u578B
PushToPaletteActionProvider.Error2=\u30A8\u30E9\u30FC
CopyFromPaletteActionProvider.Label2=\u30D1\u30EC\u30C3\u30C8\u304B\u3089\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30A4\u30F3\u30DD\u30FC\u30C8
AbstractXMLConfigPage.MAXOUTPUTTip=\u6574\u6570\u5024\u3002\u3053\u306E\u63A5\u7D9A\u306E\u6700\u5927\u51FA\u529B\u6570\u3002

View File

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

@@ -1,3 +1,4 @@
ApplicationActionBarAdvisor.helpMenu=\uB3C4\uC6C0\uB9D0\uBA54\uB274
ApplicationActionBarAdvisor.fileMenu=\uD30C\uC77C\uBA54\uB274
ApplicationActionBarAdvisor.windowMenu=\uC708\uB3C4\uC6B0\uBA54\uB274
ApplicationActionBarAdvisor.windowMenu=\uC708\uB3C4\uC6B0
ApplicationWorkbenchWindowAdvisor.rcpApp=RCP \uC5B4\uD50C\uB9AC\uCF00\uC774\uC158

View File

@@ -52,7 +52,7 @@ public class TreeNodeAttrCompsite extends Composite {
gd = new GridData();
gd.horizontalSpan = 2;
label.setLayoutData(gd);
final Text nodeText = new Text(this, SWT.BORDER | SWT.MULTI | SWT.WRAP);
final Text nodeText = new Text(this, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
gd = new GridData(GridData.FILL_BOTH);
gd.horizontalSpan = 2;
nodeText.setLayoutData(gd);

View File

@@ -18,8 +18,10 @@ import java.util.List;
import java.util.Map;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -71,6 +73,8 @@ public abstract class AbstractXMLConfigPage extends AbstractComponentPage {
protected Map<String, String> attrsToolTipsMap = null;
private ScrolledComposite scrolledComposite;
/**
* DOC rli WizardXMLConfigPage constructor comment.
*
@@ -95,14 +99,19 @@ public abstract class AbstractXMLConfigPage extends AbstractComponentPage {
topComposite.setLayout(new GridLayout(2, false));
GridData data = new GridData(GridData.FILL_BOTH);
topComposite.setLayoutData(data);
// topComposite.setLayout(new FillLayout());
availableXmlTree = new Tree(topComposite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
GridData treeGD = new GridData(GridData.FILL_BOTH);
treeGD.widthHint = 110;
treeGD.widthHint = 196;
treeGD.grabExcessHorizontalSpace = true;
treeGD.grabExcessVerticalSpace = true;
availableXmlTree.setLayoutData(treeGD);
rightComposite = new Composite(topComposite, SWT.NONE);
scrolledComposite = new ScrolledComposite(topComposite, SWT.V_SCROLL);
scrolledComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
scrolledComposite.setLayout(new FillLayout());
// rightComposite = new Composite(topComposite, SWT.NONE);
rightComposite = new Composite(scrolledComposite, SWT.NONE);
GridData rightPanelGd = new GridData(GridData.FILL_BOTH);
rightPanelGd.widthHint = 180;
rightComposite.setLayoutData(rightPanelGd);
@@ -113,6 +122,10 @@ public abstract class AbstractXMLConfigPage extends AbstractComponentPage {
GridData labelGd = new GridData(GridData.FILL_HORIZONTAL);
label.setLayoutData(labelGd);
scrolledComposite.setContent(rightComposite);
scrolledComposite.setExpandHorizontal(true);
scrolledComposite.setExpandVertical(true);
this.setControl(topComposite);
}
@@ -182,6 +195,7 @@ public abstract class AbstractXMLConfigPage extends AbstractComponentPage {
nodeAttrCompsite.dispose();
}
rebuildAttrComposite(treeNodeData);
setComponentMinSize(treeNodeData.getTreeNode().getLabel());
rightComposite.layout();
}
@@ -189,6 +203,24 @@ public abstract class AbstractXMLConfigPage extends AbstractComponentPage {
}
private void setComponentMinSize(String label) {
if (("HEADER").equals(label)) {
scrolledComposite.setMinSize(0, 0);
scrolledComposite.setMinSize(0, 750);
} else if (("CONNECTOR").equals(label)) {
scrolledComposite.setMinSize(0, 0);
scrolledComposite.setMinSize(0, 500);
} else if (("PARAMETER").equals(label)) {
scrolledComposite.setMinSize(0, 0);
scrolledComposite.setMinSize(0, 630);
} else if (("RETURN").equals(label)) {
scrolledComposite.setMinSize(0, 0);
scrolledComposite.setMinSize(0, 150);
} else {
scrolledComposite.setMinSize(0, 0);
}
}
/*
* (non-Javadoc)
*

View File

@@ -4,6 +4,7 @@ prefs.configuration.LINK_STYLE.LINE=Lignes (rapide)
prefs.configuration.LINK_STYLE.BEZIER_CURVE=Courbes
prefs.configuration.LINK_STYLE=Affichage par défaut du lien de mapping \:
DraggingInfosPopup.draggingEntry=Glissement de {0} entrée.
DraggingInfosPopup.dropInvalid=\n<< Déposer invalide >>\n
DraggingInfosPopup.draggingEntries=Glissement de {0} entrées.
DraggingInfosPopup.overwriteMode=\ > Mode écrasement
DraggingInfosPopup.appendMode=\ > Mode écrire après

View File

@@ -0,0 +1,3 @@
prefs.configuration.LINK_STYLE.AUTO=Automatisch
prefs.configuration.LINK_STYLE.LINE=Lijnen (snel)
prefs.configuration.LINK_STYLE.BEZIER_CURVE=Rondingen

View File

@@ -0,0 +1,5 @@
AlfrescoModelDialog.modelTable.title=Titel
AlfrescoOutputManager.schemaError.title=Fout in schema
AlfrescoModelDialog.add=Toevoegen
AlfrescoModelDialog.removeModelFailed=Fout bij verwijderen model
AlfrescoModelDialog.modelTable.name=Naam

View File

@@ -0,0 +1,9 @@
AssignmentPropertySection.Name=Naam
BusinessPaletteFactory.ActionComment=Nieuwe Aktie
BusinessInitDiagramFileAction.Error=Fout
AssignmentPropertySection.Comment=Opmerking
BusinessPaletteFactory.Data=Data
BusinessPaletteFactory.Ellipse=Elips
BusinessPaletteFactory.Document=Document
BusinessPaletteFactory.Action=Aktie
BusinessPaletteFactory.DocuemntComment=Nieuw Document

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

@@ -69,6 +69,7 @@ public class OpenDiagramAction extends AContextualAction implements IIntroAction
*
* @see org.eclipse.jface.action.Action#run()
*/
@Override
protected void doRun() {
ISelection selection = getSelectedObject();
if (selection == null) {
@@ -96,10 +97,11 @@ public class OpenDiagramAction extends AContextualAction implements IIntroAction
if (part instanceof BusinessDiagramEditor) {
((BusinessDiagramEditor) part).setLastVersion(true);
}
IRepositoryView view = getViewPart();
if (view != null) {
view.refresh(repositoryNode);
}
// TDI-21143 : Studio repository view : remove all refresh call to repo view
// IRepositoryView view = getViewPart();
// if (view != null) {
// view.refresh(repositoryNode);
// }
}
}
}

View File

@@ -13,9 +13,12 @@
package org.talend.designer.business.diagram.custom.edit.parts;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.MouseEvent;
import org.eclipse.draw2d.MouseMotionListener;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.EditPart;
import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
@@ -42,6 +45,8 @@ public abstract class BusinessItemShapeEditPart extends ShapeNodeEditPart {
private ElementHelper elementHelper;
private EditPart editPart;
/**
* DOC mhelleboid BusinessItemShapeEditPart constructor comment.
*
@@ -51,6 +56,7 @@ public abstract class BusinessItemShapeEditPart extends ShapeNodeEditPart {
super(view);
tooltipFigure = new BusinessTooltipFigure();
elementHelper = new ElementHelper();
editPart = this;
}
@Override
@@ -103,6 +109,33 @@ public abstract class BusinessItemShapeEditPart extends ShapeNodeEditPart {
for (Object figure : shapFigure.getChildren()) {
if (figure instanceof BusinessItemNameFigure) {
BusinessItemNameFigure nameFigure = (BusinessItemNameFigure) figure;
nameFigure.addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent me) {
// TODO Auto-generated method stub
}
@Override
public void mouseHover(MouseEvent me) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent me) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent me) {
elementHelper.updateTooltipFigure(getNodeFigure(), tooltipFigure, editPart);
}
@Override
public void mouseDragged(MouseEvent me) {
// TODO Auto-generated method stub
}
});
EObject object = ((Node) getModel()).getElement();
if (object instanceof BusinessItem) {
BusinessItem item = (BusinessItem) object;

View File

@@ -18,6 +18,7 @@ import java.beans.PropertyChangeListener;
import org.talend.commons.exception.PersistenceException;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.core.CorePlugin;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryObject;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.repository.model.ProxyRepositoryFactory;
@@ -29,12 +30,6 @@ import org.talend.repository.model.IProxyRepositoryFactory;
*/
public class BusinessDeleteListener implements PropertyChangeListener {
private IRepositoryObject businessObjectToDelete;
private boolean isDeleteBusinessLogical;
private boolean isDeleteBusinessPhysical;
private IProxyRepositoryFactory factory = null;
public BusinessDeleteListener() {
@@ -46,10 +41,11 @@ public class BusinessDeleteListener implements PropertyChangeListener {
*
* @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
*/
@Override
public void propertyChange(PropertyChangeEvent event) {
isDeleteBusinessLogical = event.getPropertyName().equals(ERepositoryActionName.BUSINESS_DELETE_TO_RECYCLE_BIN.getName());
isDeleteBusinessPhysical = event.getPropertyName().equals(ERepositoryActionName.BUSINESS_DELETE_FOREVER.getName());
boolean isDeleteBusinessLogical = event.getPropertyName().equals(ERepositoryActionName.DELETE_TO_RECYCLE_BIN.getName());
boolean isDeleteBusinessPhysical = event.getPropertyName().equals(ERepositoryActionName.DELETE_FOREVER.getName());
if (!isDeleteBusinessLogical && !isDeleteBusinessPhysical) {
return;
@@ -58,13 +54,18 @@ public class BusinessDeleteListener implements PropertyChangeListener {
if (!(event.getNewValue() instanceof IRepositoryObject)) {
return;
}
businessObjectToDelete = (IRepositoryObject) event.getNewValue();
IRepositoryObject object = (IRepositoryObject) event.getNewValue();
if (object.getRepositoryObjectType() != ERepositoryObjectType.BUSINESS_PROCESS) {
return;
}
if (businessObjectToDelete != null) {
object = (IRepositoryObject) event.getNewValue();
if (object != null) {
try {
deleteSVGObjectLogicalOrPhysical(businessObjectToDelete, isDeleteBusinessLogical);
deleteSVGObjectLogicalOrPhysical(object, isDeleteBusinessLogical);
} catch (PersistenceException e) {
ExceptionHandler.process(e);

View File

@@ -12,7 +12,7 @@ import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.runtime.image.OverlayImage;
import org.talend.commons.ui.runtime.image.OverlayImage.EPosition;
import org.talend.core.model.metadata.MetadataTool;
import org.talend.core.model.metadata.MetadataToolHelper;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.metadata.builder.connection.Query;
import org.talend.core.model.metadata.builder.connection.SAPFunctionUnit;
@@ -42,15 +42,16 @@ public class RepositoryFactoryProxyLabelProvider extends AdapterFactoryLabelProv
if (columnIndex == 0) {
IRepositoryViewObject lastVersion = getLastVersion(object);
if (lastVersion == null) {
MetadataTable table = MetadataTool.getMetadataTableFromRepository(assignment.getTalendItem().getId());
MetadataTable table = MetadataToolHelper.getMetadataTableFromRepository(assignment.getTalendItem().getId());
if (table != null) {
return image;
}
Query query = MetadataTool.getQueryFromRepository(assignment.getTalendItem().getId());
Query query = MetadataToolHelper.getQueryFromRepository(assignment.getTalendItem().getId());
if (query != null) {
return image;
}
SAPFunctionUnit function = MetadataTool.getSAPFunctionFromRepository(assignment.getTalendItem().getId());
SAPFunctionUnit function = MetadataToolHelper
.getSAPFunctionFromRepository(assignment.getTalendItem().getId());
if (function != null) {
return image;
}
@@ -97,22 +98,26 @@ public class RepositoryFactoryProxyLabelProvider extends AdapterFactoryLabelProv
try {
if (columnIndex == 0) {
if (lastVersion == null) {
MetadataTable table = MetadataTool.getMetadataTableFromRepository(assignment.getTalendItem().getId());
MetadataTable table = MetadataToolHelper.getMetadataTableFromRepository(assignment.getTalendItem().getId());
if (table != null) {
if (SubItemHelper.isDeleted(table))
if (SubItemHelper.isDeleted(table)) {
columnText += Messages.getString("RepositoryFactoryProxyLabelProvider.Deleted"); //$NON-NLS-1$
}
return columnText;
}
Query query = MetadataTool.getQueryFromRepository(assignment.getTalendItem().getId());
Query query = MetadataToolHelper.getQueryFromRepository(assignment.getTalendItem().getId());
if (query != null) {
if (SubItemHelper.isDeleted(query))
if (SubItemHelper.isDeleted(query)) {
columnText += Messages.getString("RepositoryFactoryProxyLabelProvider.Deleted"); //$NON-NLS-1$
}
return columnText;
}
SAPFunctionUnit function = MetadataTool.getSAPFunctionFromRepository(assignment.getTalendItem().getId());
SAPFunctionUnit function = MetadataToolHelper
.getSAPFunctionFromRepository(assignment.getTalendItem().getId());
if (function != null) {
if (SubItemHelper.isDeleted(function))
if (SubItemHelper.isDeleted(function)) {
columnText += Messages.getString("RepositoryFactoryProxyLabelProvider.Deleted"); //$NON-NLS-1$
}
return columnText;
}
TalendItem item = assignment.getTalendItem();
@@ -151,8 +156,8 @@ public class RepositoryFactoryProxyLabelProvider extends AdapterFactoryLabelProv
if (lastVersion != null) {
String label = lastVersion.getProperty().getLabel();
if (!label.equals(columnText)) {
ChangeTalendItemLabelCommand command = new ChangeTalendItemLabelCommand(((BusinessAssignment) object)
.getTalendItem(), label);
ChangeTalendItemLabelCommand command = new ChangeTalendItemLabelCommand(
((BusinessAssignment) object).getTalendItem(), label);
try {
command.execute(null, null);
} catch (ExecutionException e) {

View File

@@ -27,11 +27,11 @@ import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.runtime.image.ImageUtils;
import org.talend.commons.ui.runtime.image.OverlayImage;
import org.talend.commons.ui.runtime.image.ImageUtils.ICON_SIZE;
import org.talend.commons.ui.runtime.image.OverlayImage;
import org.talend.commons.ui.runtime.image.OverlayImage.EPosition;
import org.talend.core.CorePlugin;
import org.talend.core.model.metadata.MetadataTool;
import org.talend.core.model.metadata.MetadataToolHelper;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.metadata.builder.connection.Query;
import org.talend.core.model.metadata.builder.connection.SAPFunctionUnit;
@@ -97,8 +97,8 @@ public class ElementHelper {
if (assignment instanceof BusinessAssignment) {
TalendItem talendItem = ((BusinessAssignment) assignment).getTalendItem();
if (talendItem != null) {
IRepositoryViewObject obj = CorePlugin.getDefault().getProxyRepositoryFactory().getLastVersion(
talendItem.getId());
IRepositoryViewObject obj = CorePlugin.getDefault().getProxyRepositoryFactory()
.getLastVersion(talendItem.getId());
if (obj != null) {
ERepositoryObjectType type = obj.getRepositoryObjectType();
Item item = obj.getProperty().getItem();
@@ -113,13 +113,13 @@ public class ElementHelper {
} else {
img = CoreImageProvider.getImage(type);
}
label = new Label(talendItem.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", img); //$NON-NLS-1$ //$NON-NLS-2$
label = new Label(obj.getLabel() + " (" + provider.getColumnText(assignment, 0) + ")", img); //$NON-NLS-1$ //$NON-NLS-2$
labels.add(label);
} else {
MetadataTable table = MetadataTool.getMetadataTableFromRepository(talendItem.getId());
Query query = MetadataTool.getQueryFromRepository(talendItem.getId());
SAPFunctionUnit function = MetadataTool.getSAPFunctionFromRepository(talendItem.getId());
MetadataTable table = MetadataToolHelper.getMetadataTableFromRepository(talendItem.getId());
Query query = MetadataToolHelper.getQueryFromRepository(talendItem.getId());
SAPFunctionUnit function = MetadataToolHelper.getSAPFunctionFromRepository(talendItem.getId());
if (table != null) {
img = ImageDescriptor.createFromFile(ECoreImage.class,
ECoreImage.METADATA_TABLE_ICON.getPath()).createImage();

View File

@@ -57,7 +57,7 @@ import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.swt.actions.ITreeContextualAction;
import org.talend.core.CorePlugin;
import org.talend.core.model.business.BusinessType;
import org.talend.core.model.metadata.MetadataTool;
import org.talend.core.model.metadata.MetadataToolHelper;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.metadata.builder.connection.SAPFunctionUnit;
import org.talend.core.model.properties.RoutineItem;
@@ -187,15 +187,18 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
tableViewer.setCellModifier(new ICellModifier() {
@Override
public boolean canModify(Object element, String property) {
return property.equals(columnProperties[2]);
}
@Override
public Object getValue(Object element, String property) {
return EmfPropertyHelper.getValue(itemPropertyDescriptor, element);
}
@Override
public void modify(Object element, String property, Object value) {
if (element instanceof TableItem) {
TableItem tableItem = (TableItem) element;
@@ -221,6 +224,7 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
private void createDoubleClickListener() {
tableViewer.addDoubleClickListener(new IDoubleClickListener() {
@Override
public void doubleClick(DoubleClickEvent event) {
BusinessAssignment businessAssignment = getBusinessAssignment(event.getSelection());
@@ -254,6 +258,7 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
private void createSelectionListener() {
tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
BusinessAssignment businessAssignment = getBusinessAssignment(event.getSelection());
if (businessAssignment != null) {
@@ -284,7 +289,7 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
curNode = RepositoryNodeUtilities.getRepositoryNode(lastVersion);
select(viewer, curNode);
} else if (item instanceof TableMetadata) {
MetadataTable table = MetadataTool.getMetadataTableFromRepository(item.getId());
MetadataTable table = MetadataToolHelper.getMetadataTableFromRepository(item.getId());
if (table != null) {
String id = item.getId().split(" - ")[0]; //$NON-NLS-1$
@@ -298,8 +303,8 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
}
} else if (item instanceof Query) {
org.talend.core.model.metadata.builder.connection.Query query = MetadataTool.getQueryFromRepository(item
.getId());
org.talend.core.model.metadata.builder.connection.Query query = MetadataToolHelper
.getQueryFromRepository(item.getId());
if (query != null) {
String id = item.getId().split(" - ")[0]; //$NON-NLS-1$
IRepositoryView view = getRepositoryView();
@@ -309,7 +314,7 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
}
} else if (item instanceof SAPFunction) {
SAPFunctionUnit function = MetadataTool.getSAPFunctionFromRepository(item.getId());
SAPFunctionUnit function = MetadataToolHelper.getSAPFunctionFromRepository(item.getId());
if (function != null) {
IRepositoryView view = getRepositoryView();
RepositoryNode node = RepositoryNodeUtilities.getSAPFunctionFromConnection(item.getId());
@@ -390,6 +395,7 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager mgr) {
BusinessAssignment businessAssignment = getBusinessAssignment(tableViewer.getSelection());
if (businessAssignment != null) {
@@ -448,18 +454,19 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
return repositoryNode;
}
} else if (item instanceof TableMetadata) {
MetadataTable table = MetadataTool.getMetadataTableFromRepository(item.getId());
MetadataTable table = MetadataToolHelper.getMetadataTableFromRepository(item.getId());
if (table != null) {
return RepositoryNodeUtilities.getMetadataTableFromConnection(item.getId());
}
} else if (item instanceof Query) {
org.talend.core.model.metadata.builder.connection.Query query = MetadataTool.getQueryFromRepository(item.getId());
org.talend.core.model.metadata.builder.connection.Query query = MetadataToolHelper.getQueryFromRepository(item
.getId());
if (query != null) {
return RepositoryNodeUtilities.getQueryFromConnection(item.getId());
}
} else if (item instanceof SAPFunction) {
SAPFunctionUnit function = MetadataTool.getSAPFunctionFromRepository(item.getId());
SAPFunctionUnit function = MetadataToolHelper.getSAPFunctionFromRepository(item.getId());
if (function != null) {
return RepositoryNodeUtilities.getSAPFunctionFromConnection(item.getId());
}
@@ -518,6 +525,7 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
private void createKeyListener(Table table) {
table.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent event) {
ISelection selection = tableViewer.getSelection();
if (selection instanceof IStructuredSelection) {
@@ -558,4 +566,12 @@ public class BusinessAssignmentComposite extends AbstractTabComposite {
return new StructuredSelection(repositoryNode);
}
@Override
public void refresh() {
super.refresh();
if (tableViewer != null) {
tableViewer.refresh();
}
}
}

View File

@@ -0,0 +1,5 @@
prefs.configuration.LINK_STYLE.AUTO=Automatisch
prefs.configuration.LINK_STYLE.BEZIER_CURVE=Rondingen
prefs.configuration.LINK_STYLE.LINE=Lijnen (snel)
FAMILY.Access=Toegang
FAMILY.Connections=Verbindingen

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="output" path="class"/>
</classpath>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.talend.designer.codegen.test</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6

View File

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

View File

@@ -0,0 +1,4 @@
source.. = src/main/java/
output.. = class/
bin.includes = META-INF/,\
.

View File

@@ -0,0 +1,53 @@
// ============================================================================
//
// 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.designer.codegen.junit;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.Test;
import org.talend.designer.codegen.model.CodeGeneratorEmittersPoolFactory;
/**
* created by nrousseau on Jul 25, 2012 Detailled comment
*
*/
public class JUnitStudioStartup {
private static final long ONE_MINUTE_IN_MILLISEC = 60000;
private static final long INIT_TIMEOUT = ONE_MINUTE_IN_MILLISEC * 10;
private static final long INIT_PAUSE = 100;
private final SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd-HH:mm:ss");
@Test
public void test() throws InterruptedException {
System.out.println("|" + format.format(new Date()) + "| Wait for full generation of jet emitters");
long startTimer = System.currentTimeMillis();
long endTimer = startTimer;
while ((!CodeGeneratorEmittersPoolFactory.isInitialized()) && ((endTimer - startTimer) < INIT_TIMEOUT)) {
Thread.sleep(INIT_PAUSE);
endTimer = System.currentTimeMillis();
}
if ((endTimer - startTimer) > INIT_TIMEOUT) {
System.out.println("|" + format.format(new Date())
+ "| Timeout when generate jet emitters (10 minutes), will just continue with standards junits");
} else {
System.out.println("|" + format.format(new Date())
+ "| Jet emitters initialized successfully, will proceed to standards junits");
}
}
}

View File

@@ -6,8 +6,10 @@
org.talend.core.model.process.EConnectionType
org.talend.core.model.process.ElementParameterParser
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.model.utils.JavaResourcesHelper
java.util.Vector
java.util.List
java.util.Map
"
%>
<%
@@ -15,63 +17,107 @@
Vector v = (Vector) codeGenArgument.getArgument();
IProcess process = (IProcess)v.get(0);
String jobFolderName = JavaResourcesHelper.getJobFolderName(process.getName(), process.getVersion());
String packageName = codeGenArgument.getCurrentProjectName().toLowerCase() + "." + jobFolderName;
boolean stats = codeGenArgument.isStatistics();
%>
}
};
getCamelContexts().get(0).addRoutes(routeBuilder);
}
protected void doStop() throws Exception {
super.doStop();
getCamelContexts().get(0).stop();
}
protected org.apache.camel.ProducerTemplate findOrCreateCamelTemplate() {
return getCamelContexts().get(0).createProducerTemplate();
}
protected java.util.Map<String, org.apache.camel.CamelContext> getCamelContextMap() {
java.util.Map<String, org.apache.camel.CamelContext> answer = new java.util.HashMap<String, org.apache.camel.CamelContext>();
org.apache.camel.impl.DefaultCamelContext camelContext;
org.apache.camel.spi.TypeConverterRegistry typeConverterRegistry;
/**
* create a fully configured CameContext and add into map
* the Registry of it is #TalendRouteRegistry
* @return
* <code>key: <%=process.getName()%>-ctx<code>
* <code>value: DefaultCamelContext<code>
*
*/
public Map<String, CamelContext> getCamelContextMap() {
Map<String,CamelContext> answer = new HashMap<String, CamelContext>();
DefaultCamelContext camelContext = camelContext();
<%
//process cConfig components first
List<? extends INode> camelContextNodes = process.getNodesOfType("cConfig");
for(INode node: camelContextNodes){
%>
<%=ElementParameterParser.getValue(node, "__CODE__")%>
<%
boolean startable = false;
for (INode node : (List< ? extends INode>)process.getGraphicalNodes()) {
Object value = node.getPropertyValue("STARTABLE");
startable = value == null? false:(Boolean)value;
if(startable){
break;
}
%>
TalendRouteRegistry contextRegister = new TalendRouteRegistry(camelContext.getRegistry());
camelContext.setRegistry(contextRegister);
<%
//then process cBeanRegister components
List<? extends INode> beanRegisterNodes = process.getNodesOfType("cBeanRegister");
if(beanRegisterNodes != null && beanRegisterNodes.size()>0){
for(INode node: beanRegisterNodes){
String id = ElementParameterParser.getValue(node, "__ID__");
String isSimple = ElementParameterParser.getValue(node, "__SIMPLE_CONFIG__");
String classQualifiedName = ElementParameterParser.getValue(node, "__CLASS_QUALIFIED_NAME__");
String hasArguments = ElementParameterParser.getValue(node, "__SPECIFY_ARGUMENTS__");
List<Map<String, String>> arguments = (List<Map<String, String>>) ElementParameterParser.getObjectValue(node, "__ARGUMENTS__");
String code = ElementParameterParser.getValue(node, "__CODE__");
if("true".equals(isSimple)){
StringBuilder sb = new StringBuilder();
if("true".equals(hasArguments)){
for(Map<String, String> s: arguments){
if(sb.length() == 0){
sb.append(s.get("VALUE"));
}else{
sb.append(",");
sb.append(s.get("VALUE"));
}
}
}
%>
contextRegister.register(<%=id%>, new <%=classQualifiedName%>(<%=sb.toString()%>));
<%
}else{
%>
{
Object beanInstance = null;
<%=code%>
if(beanInstance != null){
contextRegister.register(<%=id%>, beanInstance);
}
}
<%
}
}
}
if (startable) {
%>
if (bundleContext != null) {
org.apache.camel.osgi.CamelContextFactory factory = new org.apache.camel.osgi.CamelContextFactory();
factory.setBundleContext(bundleContext);
camelContext = factory.createContext();
bundleContext.registerService(org.apache.camel.CamelContext.class.getName(), camelContext, null);
} else {
camelContext = new org.apache.camel.impl.DefaultCamelContext();
//after, process cDataset
List<? extends INode> datasetNodes = process.getNodesOfType("cDataset");
for(INode n: datasetNodes){
String beanID = ElementParameterParser.getValue(n, "__DATASET_NAME__");
String registerNewBean = ElementParameterParser.getValue(n, "__REGISTER_DATASET_BEAN__");
if(!"true".equals(registerNewBean)){
continue;
}
String beanClass = ElementParameterParser.getValue(n, "__BEAN_CLASS__");
List<Map<String, String>> beanArguments = (List<Map<String, String>>) ElementParameterParser.getObjectValue(n, "__BEAN_ARGUMENTS__");
StringBuilder sb = new StringBuilder();
if(beanArguments != null){
for(Map<String,String> map: beanArguments){
if(sb.length() == 0){
sb.append(map.get("VALUE"));
}else{
sb.append(",");
sb.append(map.get("VALUE"));
}
}
}
<%
} else {
%>
camelContext = new org.apache.camel.impl.DefaultCamelContext();
contextRegister.register(<%=beanID%>, new <%=beanClass%>(<%=sb.toString()%>));
<%
}
%>
typeConverterRegistry = camelContext.getTypeConverterRegistry();
<%
//cJMSConnectionFactory http://jira.talendforge.org/browse/TESB-4860
List<? extends INode> jmsCFNodes = process.getNodesOfType("cJMSConnectionFactory");
if(jmsCFNodes.size()>0){
%>
javax.jms.ConnectionFactory jmsConnectionFactory = null;
<% }
for(INode node: jmsCFNodes){
//Use transaction http://jira.talendforge.org/browse/TESB-5160 By LiXiaopeng
String useTransaction = ElementParameterParser.getValue(node, "__USE_TRANSACTION__");
@@ -94,7 +140,8 @@
String amqUri = ElementParameterParser.getValue(node, "__AMQ_BROKER_URI__").trim();
%>
jmsConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory(<%=amqUri%>);
{
javax.jms.ConnectionFactory jmsConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory(<%=amqUri%>);
<%
String amqPool = ElementParameterParser.getValue(node, "__AMQ_POOL__").trim();
if("true".equals(amqPool)){
@@ -131,7 +178,7 @@
org.apache.activemq.pool.PooledConnectionFactory pooledConnectionFactory_<%=node.getUniqueName()%>
= new org.apache.activemq.pool.PooledConnectionFactory();
pooledConnectionFactory_<%=node.getUniqueName()%>.setConnectionFactory(jmsConnectionFactory);
pooledConnectionFactory_<%=node.getUniqueName()%>.setExpiryTimeout(<%=amq_pool_expiry_timeout%>);
pooledConnectionFactory_<%=node.getUniqueName()%>.setExpiryTimeout(<%=amq_pool_expiry_timeout%>L);
pooledConnectionFactory_<%=node.getUniqueName()%>.setIdleTimeout(<%=amq_pool_idle_timeout%>);
pooledConnectionFactory_<%=node.getUniqueName()%>.setMaxConnections(<%=amq_pool_max_connections%>);
pooledConnectionFactory_<%=node.getUniqueName()%>.setMaximumActive(<%=amq_pool_max_active%>);
@@ -145,6 +192,9 @@
org.apache.camel.component.jms.JmsComponent.jmsComponent<%=transactedMethodStr%>(jmsConnectionFactory));
<%
}
%>
}
<%
}else if("WebSphere MQ".equals(mqType)){
String wmqServer = ElementParameterParser.getValue(node, "__WQM_SEVER__");
String wmqPort = ElementParameterParser.getValue(node, "__WMQ_PORT__");
@@ -170,7 +220,8 @@
}
%>
jmsConnectionFactory = new com.ibm.mq.jms.MQQueueConnectionFactory();
{
javax.jms.ConnectionFactory jmsConnectionFactory = new com.ibm.mq.jms.MQQueueConnectionFactory();
((com.ibm.mq.jms.MQConnectionFactory) jmsConnectionFactory).setHostName(<%=wmqServer%>);
try {
((com.ibm.mq.jms.MQConnectionFactory) jmsConnectionFactory).setPort(<%=wmqPort%>);
@@ -197,23 +248,22 @@
org.apache.camel.component.jms.JmsComponent.jmsComponent<%=transactedMethodStr%>(connectionFactoryAdapter<%=node.getUniqueName()%>));
<%
}
%>
}
<%
}else if("Other".equals(mqType)){
%>
<%=ElementParameterParser.getValue(node, "__OTHER_CODE__")%>
camelContext.addComponent(<%=name%>,
org.apache.camel.component.jms.JmsComponent.jmsComponent<%=transactedMethodStr%>(jmsConnectionFactory));
{
javax.jms.ConnectionFactory jmsConnectionFactory;
<%=ElementParameterParser.getValue(node, "__OTHER_CODE__")%>
camelContext.addComponent(<%=name%>,
org.apache.camel.component.jms.JmsComponent.jmsComponent<%=transactedMethodStr%>(jmsConnectionFactory));
}
<%
}
}
//cConfig
List<? extends INode> camelContextNodes = process.getNodesOfType("cConfig");
for(INode node: camelContextNodes){
%>
<%=ElementParameterParser.getValue(node, "__CODE__")%>
<%
}
//http://jira.talendforge.org/browse/TESB-4087: Change CamelContext name
%>
//using Route name as CamelContext ID
@@ -221,36 +271,40 @@
camelContext.setName("<%=process.getName() + "-ctx"%>");
return answer;
}
protected org.apache.camel.view.ModelFileGenerator createModelFileGenerator()
throws javax.xml.bind.JAXBException {
return null;
/**
* create a simple DefaultCamelContext
* please use #getCamelContextMap() to get a fully configured CamelContext
* @return DefaultCamelContext
*/
public DefaultCamelContext camelContext() {
DefaultCamelContext camelContext;
<%
boolean startable = false;
for (INode node : (List< ? extends INode>)process.getGraphicalNodes()) {
Object value = node.getPropertyValue("STARTABLE");
startable = value == null? false:(Boolean)value;
if(startable){
break;
}
}
if (startable) {
%>
if (bundleContext != null) {
CamelContextFactory factory = new CamelContextFactory();
factory.setBundleContext(bundleContext);
camelContext = factory.createContext();
bundleContext.registerService(CamelContext.class.getName(), camelContext, null);
} else {
camelContext = new DefaultCamelContext();
}
<%
} else {
%>
camelContext = new DefaultCamelContext();
<%
}
%>
return camelContext;
}
}
final CamelImpl camelImplementation = new CamelImpl();
if(start){
stopDelegate = new TalendESBRoute() {
public int runJobInTOS(String[] args) {
return 0;
}
public String[][] runJob(String[] args) {
return null;
}
public void stop() throws Exception {
camelImplementation.stop();
}
public void shutdown() throws Exception {
camelImplementation.shutdown();
}
};
camelImplementation.enableHangupSupport();
camelImplementation.run();
}
return routeBuilder;
}

View File

@@ -42,101 +42,21 @@
List< ? extends INode> processNodes = (List< ? extends INode>)process.getGeneratingNodes();
%>
class CamelImpl extends org.apache.camel.impl.MainSupport {
protected CamelImpl instance;
public CamelImpl() {
try {
postProcessContext();
initRoute();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Returns the currently executing main
*
* @return the current running instance
*/
public CamelImpl getInstance() {
return instance;
}
protected void doStart() throws Exception {
super.doStart();
org.apache.camel.management.JmxNotificationEventNotifier notifier = new org.apache.camel.management.JmxNotificationEventNotifier();
notifier.setSource("MyCamel");
notifier.setIgnoreCamelContextEvents(true);
notifier.setIgnoreRouteEvents(true);
notifier.setIgnoreServiceEvents(true);
getCamelContexts().get(0).getManagementStrategy().addEventNotifier(notifier);
java.net.URLClassLoader sysloader = (java.net.URLClassLoader) ClassLoader.getSystemClassLoader();
java.lang.reflect.Method method = java.net.URLClassLoader.class.getDeclaredMethod("addURL", new Class[] { java.net.URL.class });
method.setAccessible(true);
String[] libPaths = new String[] {
<%
for (INode node : processNodes) {
if (node.isActivate()) {
if (node.getComponent().getName().equals("cMessagingEndpoint")) {
List<Map<String, String>> dependencies = (List<Map<String,String>>) ElementParameterParser.getObjectValue(node, "__HOTLIBS__");
for(Map<String, String> dependencie : dependencies){
String librarieJar = dependencie.get("LIBPATH"); %>
"<%=librarieJar %>",
<% }
}
}
}
%>
};
for (String lib : libPaths) {
String separator = System.getProperty("path.separator");
String[] jarFiles = lib.split(separator);
for (String jarFile : jarFiles) {
method.invoke(sysloader, new Object[] { new java.io.File(jarFile).toURL() });
}
}
getCamelContexts().get(0).start();
<% if(stats) { %>
CamelStat runStat = new CamelStat(getCamelContexts().get(0));
runStat.setParams();
runStat.openSocket(true);
runStat.setAllPID(rootPid, fatherPid, pid, jobName);
runStat.startThreadStat(clientHost, portStats);
runStat.updateStatOnJob(RunStat.JOBSTART, "");
MyStatThread statsThread = new MyStatThread(runStat);
statsThread.run();
<% } //if stats %>
}
public void initRoute() throws Exception {
routeBuilder = new org.apache.camel.builder.RouteBuilder() {
return new RouteBuilder() {
public void configure() throws Exception {
<%
for (INode node : processNodes) {
if (node.getComponent().getName().equals("cCXF")) {
IElementParameter param = node.getElementParameter("LABEL");
String cid = "";
if (param != null && !"__UNIQUE_NAME__".equals(param.getValue())) {
cid = (String)param.getValue();
} else {
cid = node.getUniqueName();
String cid = node.getUniqueName();
// http://jira.talendforge.org/browse/TESB-5241
/*
* change to use label + unique to make it unique but readable
*/
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%>
@@ -180,7 +100,7 @@ for (INode node : processNodes) {
}
//http://jira.talendforge.org/browse/TESB-3850
String formatType = ElementParameterParser.getValue(node, "__DATAFORMAT__");
if ("true".equals(useSAM) && !"MESSAGE".equals(formatType)) {
if ("true".equals(useSAM) && !"RAW".equals(formatType)) {
%>
// Add Service Activity Monitor Service to <%=endpointVar%>
if (eventFeature != null) {

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()

View File

@@ -144,9 +144,14 @@ currentComponent="<%=node.getUniqueName() %>";
if ((codePart.equals(ECodePart.BEGIN))&&(stat)&&connSet.size()>0) {
for(IConnection con:connSet){
%>
if(execStat){
runStat.updateStatOnConnection("<%=con.getUniqueName() %>"+iterateId,0, 0);
}
if (execStat) {
java.util.concurrent.ConcurrentHashMap<Object, Object> concurrentHashMap_<%=con.getUniqueName() %> = (java.util.concurrent.ConcurrentHashMap) globalMap.get("concurrentHashMap");
concurrentHashMap_<%=con.getUniqueName() %>.putIfAbsent("<%=con.getUniqueName() %>" + iterateLoop,new java.util.concurrent.atomic.AtomicInteger(0));
java.util.concurrent.atomic.AtomicInteger stats_<%=con.getUniqueName() %> = (java.util.concurrent.atomic.AtomicInteger) concurrentHashMap_<%=con.getUniqueName() %>.get("<%=con.getUniqueName() %>" + iterateLoop);
runStat.updateStatOnConnection("<%=con.getUniqueName() %>" + iterateId, stats_<%=con.getUniqueName() %>.incrementAndGet()<=1?0:1, 0);
}
<% }
}

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@ import org.talend.core.model.process.INode;
public class CLASS
{
private static String end_multiThread = "((java.util.Map) threadLocal.get()).put(\"status\", \"end\");";
private static String end_multiThread = "if ( !\"failure\".equals(((java.util.Map)threadLocal.get()).get(\"status\")) ) {\n((java.util.Map) threadLocal.get()).put(\"status\", \"end\");\n}";
private static String end_singleThread = "if(!\"failure\".equals(status)) { status = \"end\"; }";
private static String failure_multiThread = "((java.util.Map) threadLocal.get()).put(\"status\", \"failure\");";
private static String failure_singleThread = "status = \"failure\";";
@@ -29,11 +29,11 @@ public class CLASS
toReturn += "\n}catch (TalendException e_" + rootNode.getUniqueName() + ") {\n";
if(isMultiThread) {
toReturn += failure_multiThread;
}else{
toReturn += failure_singleThread;
}
// if(isMultiThread) {
// toReturn += failure_multiThread;
// }else{
// toReturn += failure_singleThread;
// }
toReturn += "\ne_" + rootNode.getUniqueName() + ".printStackTrace();\n";
@@ -45,7 +45,12 @@ public class CLASS
// toReturn += createCallProcess(conn.getTarget(), className, isMultiThread);
// }
//}
toReturn += "\n}finally {\n}";
if(isMultiThread){
toReturn += "\n}catch (Error e_" + rootNode.getUniqueName() + ") {\n";
toReturn += "\ne_" + rootNode.getUniqueName() + ".printStackTrace();\n";
toReturn += "globalMap.put(\""+rootNode.getUniqueName()+ "_SUBPROCESS_STATE\", -1);\n";
}
toReturn += "\n}";
return toReturn;
}

View File

@@ -2,20 +2,14 @@
package="org.talend.designer.codegen.translators"
imports="
org.talend.core.model.process.IProcess
org.talend.core.model.process.INode
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.core.CorePlugin
org.talend.core.model.process.EConnectionType
org.talend.core.model.process.IConnection
org.talend.core.model.metadata.IMetadataTable
org.talend.core.model.metadata.IMetadataColumn
java.util.Vector
java.util.List
java.util.ArrayList
org.talend.core.model.process.IContextParameter
org.talend.core.model.metadata.types.JavaTypesManager
org.talend.core.model.metadata.types.JavaType
org.talend.core.model.utils.JavaResourcesHelper
java.util.Map
org.talend.core.model.process.ElementParameterParser
"
class="Footer"
@@ -25,7 +19,8 @@
CodeGeneratorArgument codeGenArgument = (CodeGeneratorArgument) argument;
Vector v = (Vector) codeGenArgument.getArgument();
IProcess process = (IProcess)v.get(0);
List<? extends INode> processNodes = (List<? extends INode>) process.getGeneratingNodes();
List<IContextParameter> params = new ArrayList<IContextParameter>();
params=process.getContextManager().getDefaultContext().getContextParameterList();
String jobFolderName = JavaResourcesHelper.getJobFolderName(process.getName(), process.getVersion());
@@ -33,6 +28,195 @@
boolean stats = codeGenArgument.isStatistics();
%>
protected void doStart() throws Exception {
// init uriMap first
initUriMap();
//add route
addRouteBuilder(route());
//prepare camel contexts
super.doStart();
postProcessContext();
//add jmx notification
JmxNotificationEventNotifier notifier = new JmxNotificationEventNotifier();
notifier.setSource("MyCamel");
notifier.setIgnoreCamelContextEvents(true);
notifier.setIgnoreRouteEvents(true);
notifier.setIgnoreServiceEvents(true);
getCamelContexts().get(0).getManagementStrategy().addEventNotifier(notifier);
<%
StringBuilder librariesSb = new StringBuilder();
for (INode node : processNodes) {
if (node.isActivate()) {
if (node.getComponent().getName().equals("cMessagingEndpoint")) {
List<Map<String, String>> dependencies = (List<Map<String,String>>) ElementParameterParser.getObjectValue(node, "__HOTLIBS__");
for(Map<String, String> dependencie : dependencies){
String librarieJar = dependencie.get("LIBPATH");
librariesSb.append("\"");
librariesSb.append(librarieJar);
librariesSb.append("\",");
}
}
}
}
if(librariesSb.length()>0){
%>
// add external libraries
java.net.URLClassLoader sysloader = (java.net.URLClassLoader) ClassLoader.getSystemClassLoader();
java.lang.reflect.Method method = java.net.URLClassLoader.class.getDeclaredMethod("addURL", new Class[] { java.net.URL.class });
method.setAccessible(true);
String[] libPaths = new String[] {<%=librariesSb.toString()%>};
for (String lib : libPaths) {
String separator = System.getProperty("path.separator");
String[] jarFiles = lib.split(separator);
for (String jarFile : jarFiles) {
method.invoke(sysloader, new Object[] { new java.io.File(jarFile).toURL() });
}
}
<%
}
%>
//start camel context
getCamelContexts().get(0).start();
<% if(stats) { %>
// add statistics which shows on the connection
routines.system.CamelStat runStat = new routines.system.CamelStat(getCamelContexts().get(0));
runStat.setParams();
runStat.openSocket(true);
runStat.setAllPID(rootPid, fatherPid, pid, jobName);
runStat.startThreadStat(clientHost, portStats);
runStat.updateStatOnJob(routines.system.RunStat.JOBSTART, "");
new Thread(new MyStatThread(runStat)).start();
<% } //if stats %>
}
protected void doStop() throws Exception {
super.doStop();
getCamelContexts().get(0).stop();
}
protected ProducerTemplate findOrCreateCamelTemplate() {
return getCamelContexts().get(0).createProducerTemplate();
}
public void stop() throws Exception {
super.stop();
}
public void shutdown() throws Exception {
super.shutdown();
}
protected ModelFileGenerator createModelFileGenerator()
throws JAXBException {
return null;
}
<% if(stats) { %>
class MyStatThread implements Runnable {
routines.system.CamelStat stats;
boolean isFinished;
public MyStatThread(routines.system.CamelStat stats) {
this.stats = stats;
}
public void run() {
while (true) {
try {
<%
for (INode node : processNodes) {
if (node.isActivate()) {
for(int i=0; i<node.getIncomingConnections().size(); i++) {
%>
stats.updateStatOnConnection("<%=node.getIncomingConnections().get(i).getUniqueName()%>", 1, "<%=node.getUniqueName()%>");
<%
}
}
}
%>
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
<% } //if stats %>
private Properties defaultProps = new Properties();
public class ContextProperties extends Properties {
public ContextProperties(Properties properties) {
super(properties);
}
public ContextProperties() {
super();
}
public void synchronizeContext() {
<% for (IContextParameter ctxParam : params){
String cParaName = ctxParam.getName(); %>
if(<%=cParaName %> != null){
<% if(ctxParam.getType().equals("id_Date")){ %>
String pattern_<%=cParaName %> = "yyyy-MM-dd HH:mm:ss";
String value_<%=cParaName %> = "<%=ctxParam.getValue() %>";
String[] parts_<%=cParaName %> = value_<%=cParaName %>.split(";");
if (parts_<%=cParaName %>.length > 1) {
pattern_<%=cParaName %> = parts_<%=cParaName %>[0];
this.setProperty("<%=cParaName %>", pattern_<%=cParaName %> + ";" + FormatterUtils.format_Date(<%=cParaName %>, pattern_<%=cParaName %>));
} else {
this.setProperty("<%=cParaName %>", FormatterUtils.format_Date(<%=cParaName %>, pattern_<%=cParaName %>));
}
<% } else { %>
this.setProperty("<%=cParaName %>", <%=cParaName %>.toString());
<% } %>
}
<% } %>
}
<%
for (IContextParameter ctxParam : params) {
if(ctxParam.getType().equals("id_List Of Value") || ctxParam.getType().equals("id_File") || ctxParam.getType().equals("id_Directory")) { %>
public String <%=ctxParam.getName()%>;
public String get<%=Character.toUpperCase(ctxParam.getName().charAt(0)) + ctxParam.getName().substring(1)%>() {
return this.<%=ctxParam.getName()%>;
}
<% } else { %>
public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> <%=ctxParam.getName()%>;
public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> get<%=Character.toUpperCase(ctxParam.getName().charAt(0)) + ctxParam.getName().substring(1)%>() {
return this.<%=ctxParam.getName()%>;
}
<% }
}
%>
}
private ContextProperties context = new ContextProperties();
public ContextProperties getContext() {
return this.context;
}
private final String jobVersion = "<%=process.getVersion() %>";
private final String jobName = "<%=codeGenArgument.getJobName() %>";
private final String projectName = "<%=codeGenArgument.getCurrentProjectName() %>";
public Integer errorCode = null;
public String resuming_logs_dir_path = null;
public String resuming_checkpoint_path = null;
public String parent_part_launcher = null;
@@ -56,8 +240,8 @@
private boolean execStat = true;
private java.util.Properties context_param = new java.util.Properties();
public java.util.Map<String, Object> parentContextMap = new java.util.HashMap<String, Object>();
private Properties context_param = new Properties();
public Map<String, Object> parentContextMap = new HashMap<String, Object>();
public static void main(String[] args){
final <%=process.getName() %> <%=process.getName() %>Class = new <%=process.getName() %>();
@@ -123,10 +307,27 @@
<%
}
%>
//read context values
readContextValues(contextStr);
try {
java.io.InputStream inContext = <%=process.getName()%>.class.getClassLoader().getResourceAsStream("<%=codeGenArgument.getCurrentProjectName().toLowerCase() %>/<%=jobFolderName %>/contexts/"+contextStr+".properties");
run();
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
return 1;
}
return 0;
}
/**
* read context values from specified context
* @parameter contextName : the name of context while will be used
*/
public void readContextValues(String contextName){
try {
java.io.InputStream inContext = <%=process.getName()%>.class.getClassLoader().getResourceAsStream("<%=codeGenArgument.getCurrentProjectName().toLowerCase() %>/<%=jobFolderName %>/contexts/"+contextName+".properties");
if (inContext!=null) {
//defaultProps is in order to keep the original context value
@@ -135,22 +336,21 @@
context = new ContextProperties(defaultProps);
}else{
//print info and job continue to run, for case: context_param is not empty.
System.err.println("Could not find the context " + contextStr);
System.err.println("Could not find the context " + contextName);
}
if(!context_param.isEmpty()) {
context.putAll(context_param);
}
<%
for (IContextParameter ctxParam :params)
{
//for bug TDI-22398
for (IContextParameter ctxParam :params){ //start for
String typeToGenerate ="String";
if( !(ctxParam.getType().equals("id_File") || ctxParam.getType().equals("id_Directory") ||ctxParam.getType().equals("id_List Of Value")))
{
typeToGenerate=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true);
}
if(typeToGenerate.equals("java.util.Date"))
{
if(typeToGenerate.equals("java.util.Date")){ // start if
%>
try{
@@ -171,50 +371,28 @@
{
context.<%=ctxParam.getName()%>=null;
}
<%
}else if(typeToGenerate.equals("Object")||typeToGenerate.equals("String")||typeToGenerate.equals("java.lang.String") ){
%>
}else if(typeToGenerate.equals("Integer"))
{
context.<%=ctxParam.getName()%>=(<%=typeToGenerate%>) context.getProperty("<%=ctxParam.getName()%>");
<%
}else if(typeToGenerate.equals("Character")&&ctxParam.getName()!=null){
%>
context.<%=ctxParam.getName()%>= new java.text.StringCharacterIterator(context.getProperty("<%=ctxParam.getName()%>")).first();
<%
}else{
%>
try{
context.<%=ctxParam.getName()%>=Integer.parseInt(context.getProperty("<%=ctxParam.getName()%>"));
}catch(NumberFormatException e){
context.<%=ctxParam.getName()%>=null;
}
try{
context.<%=ctxParam.getName()%>=routines.system.ParserUtils.parseTo_<%=typeToGenerate%> (context.getProperty("<%=ctxParam.getName()%>"));
}catch(NumberFormatException e){
context.<%=ctxParam.getName()%>=null;
}
<%
}else if(typeToGenerate.equals("Object")||typeToGenerate.equals("String")||typeToGenerate.equals("java.lang.String") )
{
%>
context.<%=ctxParam.getName()%>=(<%=typeToGenerate%>) context.getProperty("<%=ctxParam.getName()%>");
<%
}else if(typeToGenerate.equals("Character")&&ctxParam.getName()!=null)
{
%>
context.<%=ctxParam.getName()%>= new java.text.StringCharacterIterator(context.getProperty("<%=ctxParam.getName()%>")).first();
<%
} else if(typeToGenerate.equals("BigDecimal"))
{
%>
try{
context.<%=ctxParam.getName()%>= new <%=typeToGenerate%>(context.getProperty("<%=ctxParam.getName()%>"));
}catch(NumberFormatException e){
context.<%=ctxParam.getName()%>=null;
}
<%
}
else
{
%>
try{
context.<%=ctxParam.getName()%>=<%=typeToGenerate%>.parse<%=typeToGenerate%> (context.getProperty("<%=ctxParam.getName()%>"));
}catch(NumberFormatException e){
context.<%=ctxParam.getName()%>=null;
}
<%
}
}
} //end if
} //end for
%>
} catch (java.io.IOException ie) {
System.err.println("Could not load context "+contextStr);
System.err.println("Could not load context "+contextName);
ie.printStackTrace();
}
@@ -237,15 +415,6 @@
}
%>
}
try {
initUriMap();
Route(true);
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
return 1;
}
return 0;
}
private void evalParam(String arg) {
@@ -284,4 +453,64 @@
}
}
}
}
class TalendRouteRegistry implements Registry {
private Map<String, Object> map = new HashMap<String, Object>();
private Registry wrapped = null;
public TalendRouteRegistry() {
this(null);
}
public TalendRouteRegistry(Registry wrapped) {
this.wrapped = wrapped;
}
public Object lookup(String name) {
Object obj = null;
if (wrapped != null) {
obj = wrapped.lookup(name);
}
if (obj == null) {
obj = map.get(name);
}
return obj;
}
public <T> T lookup(String name, Class<T> type) {
T t = null;
if (wrapped != null) {
t = wrapped.lookup(name, type);
}
if (t == null) {
t = (T) map.get(name);
}
return t;
}
public <T> Map<String, T> lookupByType(Class<T> type) {
Map<String, T> result = null;
if (wrapped != null) {
result = wrapped.lookupByType(type);
}
if (result == null) {
result = new HashMap<String, T>();
}
if (result.isEmpty()) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
if (type.isInstance(entry.getValue())) {
result.put(entry.getKey(), type.cast(entry.getValue()));
}
}
}
return result;
}
public void register(String name, Object instance) {
map.put(name, instance);
}
}

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
@@ -116,7 +116,19 @@ public class <%=process.getName()%> implements <%=talendJobInterfaces%> {
<% if (talendEsbJobFactory) { %>
public TalendESBJob newTalendESBJob() {
return new <%=process.getName()%>();
<%=process.getName()%> talendESBJob = new <%=process.getName()%>();
java.util.Map<String, routines.system.TalendDataSource> talendDataSources =
(java.util.Map<String, routines.system.TalendDataSource>) globalMap.get(KEY_DB_DATASOURCES);
if (null != talendDataSources) {
java.util.Map<String, javax.sql.DataSource> dataSources = new java.util.HashMap<String, javax.sql.DataSource>();
for (java.util.Map.Entry<String, routines.system.TalendDataSource> talendDataSourceEntry : talendDataSources.entrySet()) {
dataSources.put(talendDataSourceEntry.getKey(), talendDataSourceEntry.getValue().getRawDataSource());
}
talendESBJob.setDataSources(dataSources);
}
// fix for TESB-7714
talendESBJob.setEndpointRegistry(registry);
return talendESBJob;
}
<% } %>
@@ -247,6 +259,17 @@ private RunTrace runTrace = new RunTrace();
public boolean isExportedAsOSGI = <%=exportAsOSGI%>;
// OSGi DataSource
private final static String KEY_DB_DATASOURCES = "KEY_DB_DATASOURCES";
public void setDataSources(java.util.Map<String, javax.sql.DataSource> dataSources) {
java.util.Map<String, routines.system.TalendDataSource> talendDataSources = new java.util.HashMap<String, routines.system.TalendDataSource>();
for (java.util.Map.Entry<String, javax.sql.DataSource> dataSourceEntry : dataSources.entrySet()) {
talendDataSources.put(dataSourceEntry.getKey(), new routines.system.TalendDataSource(dataSourceEntry.getValue()));
}
globalMap.put(KEY_DB_DATASOURCES, talendDataSources);
}
<%
for (INode logCatcher : process.getNodesOfType("tLogCatcher")) {
%>
@@ -306,6 +329,14 @@ private class TalendException extends Exception {
this.globalMap = globalMap;
this.e = e;
}
public Exception getException() {
return this.e;
}
public String getCurrentComponent() {
return this.currentComponent;
}
@Override
public void printStackTrace() {
@@ -426,6 +457,17 @@ private class TalendException extends Exception {
}
}
%>
} else {
<%
if (isRunInMultiThread ) {
%>
((java.util.Map)threadLocal.get()).put("status", "failure");
<%
} else {%>
status = "failure";
<%
}
%>
}
}
}
@@ -466,9 +508,11 @@ private class TalendException extends Exception {
}
}
}
boolean isExistOnCompErrorLink = false;
List< ? extends IConnection> conns = node.getOutgoingConnections();
for (IConnection conn : conns) {
if (conn.getLineStyle().equals(EConnectionType.ON_COMPONENT_ERROR)) {
isExistOnCompErrorLink = true;
%>
try {
<%if (stats) {%>
@@ -480,14 +524,18 @@ private class TalendException extends Exception {
if (isRunInMultiThread ) {
%>
((java.util.Map)threadLocal.get()).put("errorCode", null);
((java.util.Map)threadLocal.get()).put("status", "failure");
<%=conn.getTarget().getUniqueName() %>Process(globalMap);
if ( !"failure".equals(((java.util.Map)threadLocal.get()).get("status")) ) {
((java.util.Map)threadLocal.get()).put("status", "end");
}
<%
} else {
%>
errorCode = null;
status = "failure";
<%=conn.getTarget().getUniqueName() %>Process(globalMap);
if (!"failure".equals(status)) {
status = "end";
}
<%
}
%>
@@ -498,9 +546,34 @@ private class TalendException extends Exception {
<%
}
}
boolean isSubjobHasOnSubJobError = false;
if (!isExistOnCompErrorLink) {
INode subJobStartNode = node.getDesignSubjobStartNode();
if (subJobStartNode != null) {
List< ? extends IConnection> tempConns = subJobStartNode.getOutgoingConnections();
for (IConnection conn : tempConns) {
if (conn.getLineStyle().equals(EConnectionType.ON_SUBJOB_ERROR)) {
isSubjobHasOnSubJobError = true;
break;
}
}
}
}
if (!isSubjobHasOnSubJobError && !isExistOnCompErrorLink) { // when there is no subjoberror and no onComponentError
if (isRunInMultiThread ) {
%>
((java.util.Map)threadLocal.get()).put("status", "failure");
<%
} else {
%>
status = "failure";
<%
}
}
// when use parallelize will add virtual components(tAsyncIn and tAsyncOut) but in graphical these is visable=false
if ("true".equals(ElementParameterParser.getValue(node, "__PARALLELIZE__"))) {
for (INode gNode :node.getProcess().getGraphicalNodes()) {
for (INode gNode :node.getProcess().getGeneratingNodes()) {
if (gNode.getUniqueName().equals(node.getUniqueName())) {
if (gNode.getIncomingConnections(EConnectionType.FLOW_MAIN).size()!= 0) {
INode gSourceNode = gNode.getIncomingConnections(EConnectionType.FLOW_MAIN).get(0).getSource();
@@ -510,9 +583,27 @@ private class TalendException extends Exception {
}
}
//end
/*
This part of code has been added in order to call the correct onComponentError and onSubjobError for the specific components (like tWriteXMLField, tWriteJSONField, tMDMOutput, tBRMS, ...).
*/
INode subjob_start_node = node;
boolean hasBeenChanged = true;
while(subjob_start_node.getDesignSubjobStartNode().isVirtualGenerateNode() && hasBeenChanged) {
hasBeenChanged = false;
if(subjob_start_node.getDesignSubjobStartNode().getIncomingConnections(EConnectionType.ON_COMPONENT_OK) != null) {
if(subjob_start_node.getDesignSubjobStartNode().getIncomingConnections(EConnectionType.ON_COMPONENT_OK).size() >0) {
if(subjob_start_node.getDesignSubjobStartNode().getIncomingConnections(EConnectionType.ON_COMPONENT_OK).get(0).getSource().getVirtualLinkTo()==EConnectionType.ON_COMPONENT_OK) {
subjob_start_node = subjob_start_node.getDesignSubjobStartNode().getIncomingConnections(EConnectionType.ON_COMPONENT_OK).get(0).getSource();
hasBeenChanged = true;
}
}
}
}
%>
<%=node.getDesignSubjobStartNode().getUniqueName() %>_onSubJobError(exception, errorComponent, globalMap);
<%=subjob_start_node.getDesignSubjobStartNode().getUniqueName() %>_onSubJobError(exception, errorComponent, globalMap);
}
<%
}
@@ -555,14 +646,18 @@ resumeUtil.addLog("SYSTEM_LOG", "NODE:"+ errorComponent, "", Thread.currentThrea
if(isRunInMultiThread ){
%>
((java.util.Map)threadLocal.get()).put("errorCode", null);
((java.util.Map)threadLocal.get()).put("status", "failure");
<%=conn.getTarget().getUniqueName() %>Process(globalMap);
if ( !"failure".equals(((java.util.Map)threadLocal.get()).get("status")) ) {
((java.util.Map)threadLocal.get()).put("status", "end");
}
<%
} else {
%>
errorCode = null;
status = "failure";
<%=conn.getTarget().getUniqueName() %>Process(globalMap);
if (!"failure".equals(status)) {
status = "end";
}
<%
}
%>

View File

@@ -24,6 +24,7 @@
org.talend.designer.codegen.ITalendSynchronizer
org.talend.designer.codegen.config.CodeGeneratorArgument
org.talend.designer.runprocess.CodeGeneratorRoutine
org.talend.core.model.process.EParameterFieldType
"
class="Header"
%>
@@ -55,43 +56,76 @@ if (service instanceof AbstractBrandingService) {
package <%= packageName %>;
<%
for (String routine : CodeGeneratorRoutine.getRequiredRoutineName(process)) {
if (!routine.equals(ITalendSynchronizer.TEMPLATE)) {
%>
import routines.<%=routine%>;
<%
java.util.Set<String> importsSet = new java.util.TreeSet<String>();
/* for (String routine : CodeGeneratorRoutine.getRequiredRoutineName(process)) {
if (!routine.equals(ITalendSynchronizer.TEMPLATE)) {
importsSet.add("import routines."+routine);
}
}
}
*/
importsSet.add("import java.util.HashMap");
importsSet.add("import java.util.Map");
importsSet.add("import javax.xml.bind.JAXBException");
importsSet.add("import org.apache.camel.ProducerTemplate");
importsSet.add("import org.apache.camel.builder.RouteBuilder");
importsSet.add("import org.apache.camel.impl.DefaultCamelContext");
importsSet.add("import org.apache.camel.main.MainSupport");
importsSet.add("import routines.TalendString");
importsSet.add("import routines.system.api.TalendESBRoute");
importsSet.add("import org.apache.camel.view.ModelFileGenerator");
importsSet.add("import org.apache.camel.spi.Registry");
importsSet.add("import org.apache.camel.impl.DefaultCamelContext");
importsSet.add("import org.apache.camel.osgi.CamelContextFactory");
importsSet.add("import org.apache.camel.CamelContext");
importsSet.add("import java.util.Properties");
importsSet.add("import org.apache.camel.management.JmxNotificationEventNotifier");
String headerImports = ElementParameterParser.getValue(process, "__HEADER_IMPORT__");
if(headerImports!=null && !"".equals(headerImports.trim())){
String[] imports = headerImports.split(";");
for(String s: imports){
if(s!=null && !"".equals(s.trim())){
importsSet.add(s.trim());
}
}
}
String footerImports = ElementParameterParser.getValue(process, "__FOOTER_IMPORT__");
if(footerImports!=null && !"".equals(footerImports.trim())){
String[] imports = footerImports.split(";");
for(String s: imports){
if(s!=null && !"".equals(s.trim())){
importsSet.add(s.trim());
}
}
}
List<? extends INode> generatingNodes = process.getGeneratingNodes();
for(INode n: generatingNodes){
List<? extends IElementParameter> elementParameters = n.getElementParameters();
for(IElementParameter p: elementParameters){
if(p.getShowIf() != null && !p.isShow(elementParameters)){
continue;
}
if(EParameterFieldType.MEMO_IMPORT == p.getFieldType()){
Object value = p.getValue();
if(value == null || !(value instanceof String) || "".equals(((String)value).trim())){
continue;
}
String[] imports = ((String)value).trim().split(";");
for(String s: imports){
if(s!=null && !"".equals(s.trim())){
importsSet.add(s.trim());
}
}
}
}
}
for(String s: importsSet){
%>
import routines.system.*;
import routines.system.api.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.IOException;
import java.util.Comparator;
<%=ElementParameterParser.getValue(process, "__HEADER_IMPORT__") %>
<%=ElementParameterParser.getValue(process, "__FOOTER_IMPORT__") %>
<%=s%> ;
<%
List<INode> nodesWithImport = process.getNodesWithImport();
if (nodesWithImport != null) {
for (INode node:nodesWithImport) {
%>
//the import part of <%=node.getUniqueName() %>
<%=ElementParameterParser.getValue(node, "__IMPORT__") %>
<% }
}
%>
@@ -102,25 +136,9 @@ import java.util.Comparator;
* @version <%=version %>
* @status <%=ElementParameterParser.getValue(process, "__STATUS__") %>
*/
public class <%=process.getName()%> implements TalendESBRoute {
private final String jobVersion = "<%=process.getVersion() %>";
private final String jobName = "<%=codeGenArgument.getJobName() %>";
private final String projectName = "<%=codeGenArgument.getCurrentProjectName() %>";
public Integer errorCode = null;
private String currentComponent = "";
public TalendESBRoute stopDelegate = null;
public class <%=process.getName()%> extends MainSupport implements TalendESBRoute {
public <%=process.getName()%>(){
initUriMap();
}
public void stop() throws Exception {
if (stopDelegate != null) stopDelegate.stop();
}
public void shutdown() throws Exception {
if (stopDelegate != null) stopDelegate.shutdown();
}
<%
@@ -139,7 +157,9 @@ import java.util.Comparator;
<%
for (INode node : graphicalNodes) {
if("cCXF".equals(node.getComponent().getName())) { %>
if("cCXF".equals(node.getComponent().getName())
&& "true".equals(ElementParameterParser.getValue(node, "__ENABLE_SAM__"))
&& !"RAW".equals(ElementParameterParser.getValue(node, "__DATAFORMAT__"))) { %>
//ESB Service Activity Monitor Feature
private org.apache.cxf.feature.AbstractFeature eventFeature;
@@ -151,40 +171,158 @@ import java.util.Comparator;
}
%>
private org.apache.camel.builder.RouteBuilder routeBuilder;
private Map<String, String> uriMap;
private java.util.Map<String, String> uriMap;
public java.util.Map<String,String> getUriMap() {
public Map<String,String> getUriMap() {
return this.uriMap;
}
public void loadCustomUriMap(java.util.Map<String,String> newMap) {
public void loadCustomUriMap(Map<String,String> newMap) {
if(newMap == null) {
return;
}
for(java.util.Map.Entry<String, String> entry: newMap.entrySet()) {
for(Map.Entry<String, String> entry: newMap.entrySet()) {
uriMap.put(entry.getKey(), entry.getValue());
}
}
protected void initUriMap() {
uriMap = new java.util.HashMap<String, String>();
/*
* the readContextValues(contextName) may have to invoked first before this
*/
public void initUriMap() {
uriMap = new HashMap<String, String>();
<%
String cid = "";
String componentName = "";
String uri = "";
for (INode node : graphicalNodes) {
IElementParameter param = node.getElementParameter("LABEL");
if (param != null && !"__UNIQUE_NAME__".equals(param.getValue())) {
cid = (String) param.getValue();
} else {
cid = node.getUniqueName();
if(!node.isActivate()){
continue;
}
cid = node.getUniqueName();
// http://jira.talendforge.org/browse/TESB-5241
/*
* change to use label + unique to make it unique but readable
*/
IElementParameter param = node.getElementParameter("LABEL");
if(param != null && !"__UNIQUE_NAME__".equals(param.getValue())){
cid = (String)param.getValue()+"_"+cid;
}
componentName = node.getComponent().getName();
uri = "";
if ("cMessagingEndpoint".equals(componentName)) {
uri = ElementParameterParser.getValue(node, "__URI__");
}else if("cTimer".equals(componentName)){
uri = "\"timer:\"+\""+node.getUniqueName()+"\"";
StringBuilder sb = new StringBuilder();
String period = ElementParameterParser.getValue(node, "__PERIOD__");
if(period!=null && !period.trim().equals("") && !"1000".equals(period)){
sb.append("+\"?period=\"+");
sb.append(period);
}
String repeat = ElementParameterParser.getValue(node, "__REPEATCOUNT__");
if(repeat!=null && !repeat.trim().equals("") && !"0".equals(repeat)){
if(sb.length()==0){
sb.append("+\"?repeatCount=\"+");
sb.append(repeat);
}else{
sb.append("+\"&repeatCount=\"+");
sb.append(repeat);
}
}
String delay = ElementParameterParser.getValue(node, "__DELAY__");
if(delay!=null && !delay.trim().equals("") && !"1000".equals(delay)){
if(sb.length()==0){
sb.append("+\"?delay=\"+");
sb.append(delay);
}else{
sb.append("+\"&delay=\"+");
sb.append(delay);
}
}
String fixedRate = ElementParameterParser.getValue(node, "__FIXEDRATE__");
if("true".equals(fixedRate)){
if(sb.length()==0){
sb.append("+\"?fixedRate=true\"");
}else{
sb.append("+\"&fixedRate=true\"");
}
}
String daemon = ElementParameterParser.getValue(node, "__DAEMON__");
if("false".equals(daemon)){
if(sb.length()==0){
sb.append("+\"?daemon=false\"");
}else{
sb.append("+\"&daemon=false\"");
}
}
String setTime = ElementParameterParser.getValue(node, "__SET_TIME__");
if("true".equals(setTime)){
String time = ElementParameterParser.getValue(node, "__TIME__");
if(sb.length()==0){
sb.append("+\"?time=\"+");
sb.append(time);
}else{
sb.append("+\"&time=\"+");
sb.append(time);
}
}
if(sb.length()>0){
uri = uri + sb.toString();
}
}else if("cDataset".equals(componentName)){
uri = "\"dataset:\"+"+ElementParameterParser.getValue(node, "__DATASET_NAME__");
StringBuilder sb = new StringBuilder();
String produceDelay = ElementParameterParser.getValue(node, "__PRODUCE_DELAY__");
if(produceDelay!=null && !produceDelay.trim().equals("") && !"3".equals(produceDelay)){
sb.append("+\"?produceDelay=\"+");
sb.append(produceDelay);
}
String consumeDelay = ElementParameterParser.getValue(node, "__CONSUME_DELAY__");
if(consumeDelay!=null && !consumeDelay.trim().equals("") && !"0".equals(consumeDelay)){
if(sb.length()==0){
sb.append("+\"?consumeDelay=\"+");
sb.append(consumeDelay);
}else{
sb.append("+\"&consumeDelay=\"+");
sb.append(consumeDelay);
}
}
String preloadSize = ElementParameterParser.getValue(node, "__PRELOAD_SIZE__");
if(preloadSize!=null && !preloadSize.trim().equals("") && !"0".equals(preloadSize)){
if(sb.length()==0){
sb.append("+\"?preloadSize=\"+");
sb.append(preloadSize);
}else{
sb.append("+\"&preloadSize=\"+");
sb.append(preloadSize);
}
}
String initialDelay = ElementParameterParser.getValue(node, "__INITIAL_DELAY__");
if(initialDelay!=null && !initialDelay.trim().equals("") && !"1000".equals(initialDelay)){
if(sb.length()==0){
sb.append("+\"?initialDelay=\"+");
sb.append(initialDelay);
}else{
sb.append("+\"&initialDelay=\"+");
sb.append(initialDelay);
}
}
String minRate = ElementParameterParser.getValue(node, "__MIN_RATE__");
if(minRate!=null && !minRate.trim().equals("") && !"0".equals(minRate)){
if(sb.length()==0){
sb.append("+\"?minRate=\"+");
sb.append(minRate);
}else{
sb.append("+\"&minRate=\"+");
sb.append(minRate);
}
}
if(sb.length()>0){
uri = uri + sb.toString();
}
} else if ("cFile".equals(componentName)) {
String filePath = ElementParameterParser.getValue(node, "__URI__");
String noop = ElementParameterParser.getValue(node, "__NOOP__");
@@ -196,7 +334,7 @@ for (INode node : graphicalNodes) {
StringBuffer arguments = new StringBuffer();
uri = "\"file:///\"+" + filePath;
uri = "\"file://\"+" + filePath;
if ("true".equals(noop)) {
arguments.append("\"noop=true\"+");
@@ -258,7 +396,17 @@ for (INode node : graphicalNodes) {
sb.append("\"cxf://\"+").append(url).append("+\"?" + serviceType + "=\"");
if ("wsdlURL".equals(serviceType)) {
String filePath = ElementParameterParser.getValue(node, "__WSDL_FILE__");
//http://jira.talendforge.org/browse/TESB-6226
String filePath = "";
String wsdlType = ElementParameterParser.getValue(node, "__WSDL_TYPE__");
if("file".equals(wsdlType)){
filePath = ElementParameterParser.getValue(node, "__WSDL_FILE__");
}else{
filePath = ElementParameterParser.getValue(node, "__ROUTE_RESOURCE_TYPE_RES_URI__");
filePath = "\"classpath:" + filePath + "\"";
}
filePath.replaceAll("\\\\","/");
sb.append("+").append(filePath);
} else {
@@ -329,10 +477,11 @@ for (INode node : graphicalNodes) {
} else if("cJMS".equals(componentName)) {
//http://jira.talendforge.org/browse/TESB-4861
String name = ElementParameterParser.getValue(node, "__CONNECTION_FACOTRY__");
String name = ElementParameterParser.getValue(node, "__ROUTE_COMPONENT_TYPE_ID__");
if (name == null || name.equals("")) {
name = "jms";
}
name = name.replace("_", "");
name = "\"" + name + "\"";
//String name = ElementParameterParser.getValue(node, "__NAME__").trim();
//Remove unnecessary subfix
@@ -526,10 +675,10 @@ for (INode node : graphicalNodes) {
String resourceUri = ElementParameterParser.getValue(node, "__URI__");
sb.append(resourceUri);
boolean hasParam = false;
boolean hasParam = resourceUri==null?false:resourceUri.contains("?");
String method = ElementParameterParser.getValue(node, "__METHOD__");
if("GET".equals(method)||"HEAD".equals(method)){
if("GET".equals(method)||"HEAD".equals(method) || "DELETE".equals(method)){
List<Map<String, String>> parameters = (List<Map<String, String>>) ElementParameterParser.getObjectValue(node, "__PARAMETERS__");
String encodeCharset = ElementParameterParser.getValue(node, "__ENCODER_CHARSET__");
@@ -571,93 +720,3 @@ for (INode node : graphicalNodes) {
}
%>
}
private java.util.Properties defaultProps = new java.util.Properties();
public class ContextProperties extends java.util.Properties {
public ContextProperties(java.util.Properties properties) {
super(properties);
}
public ContextProperties() {
super();
}
public void synchronizeContext() {
<% for (IContextParameter ctxParam : params){
String cParaName = ctxParam.getName(); %>
if(<%=cParaName %> != null){
<% if(ctxParam.getType().equals("id_Date")){ %>
String pattern_<%=cParaName %> = "yyyy-MM-dd HH:mm:ss";
String value_<%=cParaName %> = "<%=ctxParam.getValue() %>";
String[] parts_<%=cParaName %> = value_<%=cParaName %>.split(";");
if (parts_<%=cParaName %>.length > 1) {
pattern_<%=cParaName %> = parts_<%=cParaName %>[0];
this.setProperty("<%=cParaName %>", pattern_<%=cParaName %> + ";" + FormatterUtils.format_Date(<%=cParaName %>, pattern_<%=cParaName %>));
} else {
this.setProperty("<%=cParaName %>", FormatterUtils.format_Date(<%=cParaName %>, pattern_<%=cParaName %>));
}
<% } else { %>
this.setProperty("<%=cParaName %>", <%=cParaName %>.toString());
<% } %>
}
<% } %>
}
<%
for (IContextParameter ctxParam : params) {
if(ctxParam.getType().equals("id_List Of Value") || ctxParam.getType().equals("id_File") || ctxParam.getType().equals("id_Directory")) { %>
public String <%=ctxParam.getName()%>;
public String get<%=Character.toUpperCase(ctxParam.getName().charAt(0)) + ctxParam.getName().substring(1)%>() {
return this.<%=ctxParam.getName()%>;
}
<% } else { %>
public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> <%=ctxParam.getName()%>;
public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> get<%=Character.toUpperCase(ctxParam.getName().charAt(0)) + ctxParam.getName().substring(1)%>() {
return this.<%=ctxParam.getName()%>;
}
<% }
}
%>
}
private ContextProperties context = new ContextProperties();
public ContextProperties getContext() {
return this.context;
}
<% if(stats) { %>
class MyStatThread implements Runnable {
CamelStat stats;
boolean isFinished;
public MyStatThread(CamelStat stats) {
this.stats = stats;
}
public void run() {
while (true) {
try {
<%
for (INode node : processNodes) {
if (node.isActivate()) {
for(int i=0; i<node.getIncomingConnections().size(); i++) {
%>
stats.updateStatOnConnection("<%=node.getIncomingConnections().get(i).getUniqueName()%>", 1, "<%=node.getUniqueName()%>");
<%
}
}
}
%>
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
<% } //if stats %>

View File

@@ -53,6 +53,7 @@ for (IConnection iterateConn : iterateConnSet) { //1
%>
NB_ITERATE_<%=iterateNodeName %>++;
iterateLoop++;
<%
parallelIterate = "true".equals(ElementParameterParser.getValue(iterateConn, "__ENABLE_PARALLEL__"));
@@ -92,6 +93,7 @@ for (IConnection iterateConn : iterateConnSet) { //1
private java.util.Map<String, Object> globalMap = null;
boolean isRunning = false;
String iterateId = "";
int iterateLoop = 0;
<%
if(!subTree.isMergeSubTree()) {
List< ? extends IConnection> rootConns = subTree.getRootNode().getOutgoingConnections();
@@ -155,6 +157,7 @@ for (IConnection iterateConn : iterateConnSet) { //1
<%}%>
}
iterateId = "." + threadID;
iterateLoop++;
<%if(isRunJob) {%>
//bug21906 copy context to local for mutilthread
context.synchronizeContext();

View File

@@ -73,7 +73,7 @@
//only for the lookup branch of the tJoin
boolean isLookOftJoin = false;
boolean isLookOftRecordMatching = true;
boolean isLookOftRecordMatching = false;
if(conn.getLineStyle().equals(EConnectionType.FLOW_REF)){
IProcess process = conn.getTarget().getProcess();
for (INode tjoinNode : process.getNodesOfType("tJoin")) {
@@ -113,8 +113,8 @@
%>
public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements routines.system.<%= isLookup ? "IPersistableComparableLookupRow<"+conn.getName()+"Struct>" : "IPersistableRow<"+conn.getName()+"Struct"+ templateOrigin + ">" %> {
final static byte[] commonByteArrayLock = new byte[0];
static byte[] commonByteArray = new byte[0];
final static byte[] commonByteArrayLock_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %> = new byte[0];
static byte[] commonByteArray_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %> = new byte[0];
<%
if(hasAtLeastOneKey) {
%>
@@ -307,15 +307,15 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
if (length == -1) {
strReturn = null;
} else {
if(length > commonByteArray.length) {
if(length < 1024 && commonByteArray.length == 0) {
commonByteArray = new byte[1024];
if(length > commonByteArray_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %>.length) {
if(length < 1024 && commonByteArray_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %>.length == 0) {
commonByteArray_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %> = new byte[1024];
} else {
commonByteArray = new byte[2 * length];
commonByteArray_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %> = new byte[2 * length];
}
}
dis.readFully(commonByteArray, 0, length);
strReturn = new String(commonByteArray, 0, length, utf8Charset);
dis.readFully(commonByteArray_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %>, 0, length);
strReturn = new String(commonByteArray_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %>, 0, length, utf8Charset);
}
return strReturn;
}
@@ -526,7 +526,7 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
public void <%= isLookup ? "readKeys" : "read" %>Data(ObjectInputStream dis) {
synchronized(commonByteArrayLock) {
synchronized(commonByteArrayLock_<%=codeGenArgument.getCurrentProjectName() %>_<%=codeGenArgument.getJobName() %>) {
try {
@@ -983,6 +983,7 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
}
boolean isRunning = false;
String iterateId = "";
int iterateLoop = 0;
public void run() {
java.util.Map threadRunResultMap = new java.util.HashMap();
@@ -999,6 +1000,7 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
%>
String iterateId = "";
int iterateLoop = 0;
String currentComponent = "";
try {

View File

@@ -33,8 +33,8 @@
boolean stat = codeGenArgument.isStatistics();
%>
public org.apache.camel.builder.RouteBuilder Route(final boolean start) throws Exception {
String iterateId = "";
String currentComponent = "";
/**
* please initial uri map first before using the returned RouteBuilder
* @return RouteBuilder
*/
public RouteBuilder route() {

View File

@@ -669,8 +669,14 @@ public class CodeGenerator implements ICodeGenerator {
label = (String) parameter.getValue();
}
/*
* Fix https://jira.talendforge.org/browse/TESB-6685
* label + uniqueName to make it unique
*/
if (label == null) {
label = node.getUniqueName();
}else{
label += "_"+node.getUniqueName();
}
List<? extends IConnection> inConnections = node
.getIncomingConnections();

View File

@@ -18,6 +18,7 @@ import org.talend.core.GlobalServiceRegister;
import org.talend.core.ILibraryManagerService;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.components.ComponentCompilations;
import org.talend.core.model.process.IProcess;
import org.talend.designer.codegen.i18n.Messages;
import org.talend.designer.codegen.model.CodeGeneratorEmittersPoolFactory;
@@ -118,17 +119,19 @@ public class CodeGeneratorService implements ICodeGeneratorService {
*
* @see org.talend.designer.codegen.ICodeGeneratorService#refreshTemplates()
*/
public void refreshTemplates() {
public Job refreshTemplates() {
// this will force to refresh all components libs when install run ctrl+f3
ILibraryManagerService librairesManagerService = (ILibraryManagerService) GlobalServiceRegister.getDefault().getService(
ILibraryManagerService.class);
librairesManagerService.clearCache();
ComponentCompilations.deleteMarkers();
ComponentsFactoryProvider.getInstance().resetCache();
CodeGeneratorEmittersPoolFactory.initialize();
Job job = CodeGeneratorEmittersPoolFactory.initialize();
CorePlugin.getDefault().getLibrariesService().syncLibraries();
IDesignerCoreService designerCoreService = (IDesignerCoreService) GlobalServiceRegister.getDefault().getService(
IDesignerCoreService.class);
designerCoreService.getLastGeneratedJobsDateMap().clear();
return job;
}
}

View File

@@ -15,6 +15,7 @@ package org.talend.designer.codegen;
import org.eclipse.jface.action.Action;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.components.ComponentCompilations;
import org.talend.designer.codegen.model.CodeGeneratorEmittersPoolFactory;
import org.talend.designer.core.IDesignerCoreService;
import org.talend.repository.model.ComponentsFactoryProvider;
@@ -39,6 +40,7 @@ public class RefreshTemplatesAction extends Action {
*/
@Override
public void run() {
ComponentCompilations.deleteMarkers();
ComponentsFactoryProvider.getInstance().resetCache();
CodeGeneratorEmittersPoolFactory.initialize();
CorePlugin.getDefault().getLibrariesService().syncLibraries();

View File

@@ -18,6 +18,7 @@ import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -68,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;
@@ -144,7 +145,7 @@ public class ComponentsFactory implements IComponentsFactory {
// generation indirectly.
// tFileInputFullRow + tSocketOutput : needed for DataViewer
private static final String[] COMPONENTS_ALWAYS_NEEDED = { "tPrejob", "tPostjob", //$NON-NLS-1$ //$NON-NLS-2$
"tJava", "tLibraryLoad", "tFileInputFullRow", "tSocketOutput", "tFilterRow" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
"tJava", "tLibraryLoad", "tFileInputFullRow", "tSocketOutput", "tFilterRow", "tELTMysqlMap" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
public ComponentsFactory() {
if (!INCLUDEFILEINJET_SUFFIX.equals(".inc.javajet")) { //$NON-NLS-1$
@@ -158,10 +159,10 @@ 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 null;
return Collections.emptyList();
}
private boolean isComponentVisible(String componentName) {
@@ -230,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())) {
@@ -261,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;
@@ -288,18 +288,22 @@ public class ComponentsFactory implements IComponentsFactory {
XsdValidationCacheManager.getInstance().load();
// 1.Load Component from extension point: components_provider
if (isCreated) {
try {
reloadComponentsFromCache();
} catch (Exception e) {
ExceptionHandler.process(e);
// if any exception happen, reset all cache
cache.getComponentEntryMap().clear();
isCreated = false;
}
}
if (!isCreated) {
loadComponentsFromComponentsProviderExtension();
}
// TimeMeasure.step("initComponents", "loadComponentsFromProvider");
if (isCreated) {
try {
reloadComponentsFromCache();
} catch (BusinessException e) {
ExceptionHandler.process(e);
}
}
// 2.Load Component from extension point: component_definition
loadComponentsFromExtensions();
// TimeMeasure.step("initComponents", "loadComponentsFromExtension[joblets?]");
@@ -343,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)
@@ -477,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()) {
@@ -512,6 +512,7 @@ public class ComponentsFactory implements IComponentsFactory {
}
}
@Override
public void loadUserComponentsFromComponentsProviderExtension() {
ComponentsProviderManager.getInstance().getProviders();
ComponentsProviderManager componentsProviderManager = ComponentsProviderManager.getInstance();
@@ -582,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)
@@ -602,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) != '.'
@@ -908,6 +911,7 @@ public class ComponentsFactory implements IComponentsFactory {
component.setImageRegistry(componentsImageRegistry);
}
@Override
public int size() {
if (componentList == null) {
init(false);
@@ -915,6 +919,7 @@ public class ComponentsFactory implements IComponentsFactory {
return componentList.size();
}
@Override
public IComponent get(String name) {
if (componentList == null) {
init(false);
@@ -928,6 +933,7 @@ public class ComponentsFactory implements IComponentsFactory {
return null;
}
@Override
public void initializeComponents(IProgressMonitor monitor) {
this.monitor = monitor;
if (componentList == null) {
@@ -937,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) {
@@ -951,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);
@@ -958,6 +966,7 @@ public class ComponentsFactory implements IComponentsFactory {
return componentList;
}
@Override
public List<IComponent> getCustomComponents() {
if (customComponentList == null) {
init(false);
@@ -970,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(
@@ -987,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);
@@ -994,6 +1005,7 @@ public class ComponentsFactory implements IComponentsFactory {
return skeletonList;
}
@Override
public void reset() {
componentsImageRegistry.clear();
componentList = null;
@@ -1003,6 +1015,7 @@ public class ComponentsFactory implements IComponentsFactory {
}
@Override
public void resetCache() {
componentsImageRegistry.clear();
componentList = null;
@@ -1021,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);
@@ -1051,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) {
@@ -1075,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);
@@ -1133,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;
}
@@ -1192,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>();
@@ -1212,6 +1233,7 @@ public class ComponentsFactory implements IComponentsFactory {
return list;
}
@Override
public Map<String, ImageDescriptor> getComponentsImageRegistry() {
return componentsImageRegistry;
}

View File

@@ -48,6 +48,7 @@ public class UserComponentsProvider extends AbstractComponentsProvider {
public UserComponentsProvider() {
}
@Override
protected File getExternalComponentsLocation() {
IPreferenceStore prefStore = CodeGeneratorActivator.getDefault().getPreferenceStore();
String path = prefStore.getString(IComponentPreferenceConstant.USER_COMPONENTS_FOLDER);
@@ -75,6 +76,7 @@ public class UserComponentsProvider extends AbstractComponentsProvider {
return path.toString();
}
@Override
public void preComponentsLoad() throws IOException {
File installationFolder = getInstallationFolder();
if (installationFolder.exists()) {
@@ -83,8 +85,9 @@ public class UserComponentsProvider extends AbstractComponentsProvider {
FilesUtils.createFoldersIfNotExists(installationFolder.getAbsolutePath(), false);
FileFilter ff = new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().equals(".svn")) {
if (FilesUtils.isSVNFolder(pathname)) {
return false;
}
return true;
@@ -95,15 +98,18 @@ public class UserComponentsProvider extends AbstractComponentsProvider {
// synchroniz shared custom component
if (PluginChecker.isSVNProviderPluginLoaded()) {
Project currentProject = ProjectManager.getInstance().getCurrentProject();
String projectLabel = currentProject.getTechnicalLabel();
String sourcePath = new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath()
+ File.separatorChar + projectLabel + File.separatorChar
+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.COMPONENTS);
File source = new File(sourcePath);
if (source.exists()) {
for (File file : source.listFiles(ff)) {
FilesUtils.copyFolder(file, new File(installationFolder.getAbsolutePath() + File.separator + file.getName()),
true, ff, null, true, false);
if (currentProject != null) {
String projectLabel = currentProject.getTechnicalLabel();
String sourcePath = new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath()
+ File.separatorChar + projectLabel + File.separatorChar
+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.COMPONENTS);
File source = new File(sourcePath);
if (source.exists()) {
for (File file : source.listFiles(ff)) {
FilesUtils.copyFolder(file,
new File(installationFolder.getAbsolutePath() + File.separator + file.getName()), true, ff, null,
true, false);
}
}
}
}

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;
@@ -25,8 +26,8 @@ import java.util.List;
import java.util.Set;
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;
@@ -51,7 +52,6 @@ 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;
@@ -190,8 +190,11 @@ public class TalendJetEmitter extends JETEmitter {
} else {
project.open(new SubProgressMonitor(progressMonitor, 5));
IProjectDescription description = project.getDescription();
description.setNatureIds(new String[] { JavaCore.NATURE_ID });
project.setDescription(description, new SubProgressMonitor(progressMonitor, 1));
// only in case it's one old workspace and got no nature defined.
if (!ArrayUtils.contains(description.getNatureIds(), JavaCore.NATURE_ID)) {
description.setNatureIds(new String[] { JavaCore.NATURE_ID });
project.setDescription(description, new SubProgressMonitor(progressMonitor, 1));
}
}
javaProject = JavaCore.create(project);
@@ -217,18 +220,14 @@ public class TalendJetEmitter extends JETEmitter {
runtimeFolder.create(false, true, new SubProgressMonitor(progressMonitor, 1));
}
if (classpathEntryMissing(javaProject, classpath)) {
if (isClasspathDifferent(javaProject, classpath)) {
IClasspathEntry[] classpathEntryArray = classpath.toArray(new IClasspathEntry[classpath.size()]);
javaProject.setRawClasspath(classpathEntryArray, new SubProgressMonitor(progressMonitor, 1));
}
javaProject.setOutputLocation(new Path("/" + project.getName() + "/runtime"), new SubProgressMonitor( //$NON-NLS-1$ //$NON-NLS-2$
progressMonitor, 1));
if (rebuild) {
javaProject.setOutputLocation(new Path("/" + project.getName() + "/runtime"), new SubProgressMonitor( //$NON-NLS-1$ //$NON-NLS-2$
progressMonitor, 1));
javaProject.getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new NullProgressMonitor());
}
javaProject.close();
progressMonitor.done();
} catch (CoreException exception) {
throw new JETException(exception);
@@ -239,7 +238,7 @@ public class TalendJetEmitter extends JETEmitter {
}
}
private boolean classpathEntryMissing(IJavaProject javaProject, Set<IClasspathEntry> newClasspath) {
private boolean isClasspathDifferent(IJavaProject javaProject, Set<IClasspathEntry> newClasspath) {
IClasspathEntry[] rawClasspath;
try {
rawClasspath = javaProject.getRawClasspath();
@@ -252,12 +251,19 @@ public class TalendJetEmitter extends JETEmitter {
settedClasspath.add(classpathEntry);
}
// source and target classpath must be the same
for (IClasspathEntry classpathEntry : newClasspath) {
if (!settedClasspath.contains(classpathEntry)) {
return true;
}
}
for (IClasspathEntry classpathEntry : settedClasspath) {
if (!newClasspath.contains(classpathEntry)) {
return true;
}
}
return false;
}
@@ -292,90 +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() }));
project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new SubProgressMonitor(subProgressMonitor, 1));
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();
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

@@ -48,11 +48,11 @@ import org.talend.commons.exception.BusinessException;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.utils.StringUtils;
import org.talend.commons.utils.io.IOUtils;
import org.talend.commons.utils.time.TimeMeasure;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.context.Context;
import org.talend.core.context.RepositoryContext;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.components.ComponentCompilations;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.components.IComponent;
@@ -120,7 +120,11 @@ public final class CodeGeneratorEmittersPoolFactory {
public IStatus doRun() {
try {
TimeMeasure.display = CommonsPlugin.isDebugMode();
TimeMeasure.displaySteps = CommonsPlugin.isDebugMode();
TimeMeasure.measureActive = CommonsPlugin.isDebugMode();
TimeMeasure.begin("initialize Jet Emitters");
ComponentsFactoryProvider.saveComponentVisibilityStatus();
jetFilesCompileFail.clear();
@@ -131,9 +135,7 @@ public final class CodeGeneratorEmittersPoolFactory {
} else {
monitorWrap = new NullProgressMonitor();
}
RepositoryContext repositoryContext = (RepositoryContext) CorePlugin.getContext().getProperty(
Context.REPOSITORY_CONTEXT_KEY);
ECodeLanguage codeLanguage = repositoryContext.getProject().getLanguage();
ECodeLanguage codeLanguage = LanguageManager.getCurrentLanguage();
CodeGeneratorInternalTemplatesFactory templatesFactory = CodeGeneratorInternalTemplatesFactoryProvider
.getInstance();
@@ -203,12 +205,15 @@ public final class CodeGeneratorEmittersPoolFactory {
"CodeGeneratorEmittersPoolFactory.componentCompiled", (System.currentTimeMillis() - startTime))); //$NON-NLS-1$
initialized = true;
// remove compilations markers
ComponentCompilations.deleteMarkers();
ComponentCompilations.addMarkers();
initializeStart = false;
} catch (Exception e) {
log.error(Messages.getString("CodeGeneratorEmittersPoolFactory.initialException"), e); //$NON-NLS-1$
TimeMeasure.end("initialize Jet Emitters");
TimeMeasure.display = false;
TimeMeasure.displaySteps = false;
TimeMeasure.measureActive = false;
return new Status(IStatus.ERROR, CodeGeneratorActivator.PLUGIN_ID,
Messages.getString("CodeGeneratorEmittersPoolFactory.initialException"), e); //$NON-NLS-1$
} finally {
@@ -220,6 +225,10 @@ public final class CodeGeneratorEmittersPoolFactory {
ExceptionHandler.process(e);
}
}
TimeMeasure.end("initialize Jet Emitters");
TimeMeasure.display = false;
TimeMeasure.displaySteps = false;
TimeMeasure.measureActive = false;
if (jetFilesCompileFail.size() > 0) {
StringBuilder message = new StringBuilder();
for (JetBean tmpJetBean : jetFilesCompileFail) {
@@ -418,39 +427,13 @@ public final class CodeGeneratorEmittersPoolFactory {
// error already loggued
emitterPool = new HashMap<JetBean, JETEmitter>();
}
} else {
ComponentCompilations.deleteMarkers();
}
// for (JetBean jetBean : components) {
// if (!emitterPool.containsKey(jetBean)) {
// // System.out.println("The new file is not in JetPersistence* cache:" +
// // jetBean.getTemplateFullUri());
// TalendJetEmitter emitter = new TalendJetEmitter(jetBean.getTemplateFullUri(), jetBean.getClassLoader(),
// jetBean
// .getFamily(), jetBean.getClassName(), jetBean.getLanguage(), jetBean.getCodePart(), dummyEmitter
// .getTalendEclipseHelper());
// emitter.initialize(sub);
//
// if (emitter.getMethod() != null) {
// jetBean.setMethod(emitter.getMethod());
// jetBean.setClassName(emitter.getMethod().getDeclaringClass().getName());
// alreadyCompiledEmitters.add(jetBean);
// } else {
// jetFilesCompileFail.add(jetBean);
// }
// emitterPool.put(jetBean, emitter);
// monitorBuffer++;
// if (monitorBuffer % 100 == 0) {
// monitorWrap.worked(100);
// monitorBuffer = 0;
// }
// }
// }
synchronizedComponent(components, sub, alreadyCompiledEmitters, dummyEmitter, monitorBuffer, monitorWrap);
monitorWrap.worked(monitorBuffer);
// } catch (JETException e) {
// log.error(Messages.getString("CodeGeneratorEmittersPoolFactory.jetEmitterInitialException") + e.getMessage(), e); //$NON-NLS-1$
// }
try {
EmfEmittersPersistenceFactory.getInstance(codeLanguage).saveEmittersPool(
extractEmfPersistenData(alreadyCompiledEmitters));
@@ -468,6 +451,8 @@ public final class CodeGeneratorEmittersPoolFactory {
List<JetBean> alreadyCompiledEmitters, TalendJetEmitter dummyEmitter, int monitorBuffer, IProgressMonitor monitorWrap) {
for (JetBean jetBean : components) {
if (!emitterPool.containsKey(jetBean)) {
ComponentCompilations.deleteMarkers();
// System.out.println("The new file is not in JetPersistence* cache:" + getFullTemplatePath(jetBean));
TalendJetEmitter emitter = new TalendJetEmitter(getFullTemplatePath(jetBean), jetBean.getClassLoader(),
jetBean.getFamily(), jetBean.getClassName(), jetBean.getLanguage(), jetBean.getCodePart(),
@@ -635,11 +620,16 @@ public final class CodeGeneratorEmittersPoolFactory {
} catch (Error e) {
throw new ClassNotFoundException(e.getMessage(), e);
}
Method[] methods = theClass.getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
if (methods[i].getName().equals(methodName)) {
return methods[i];
// TDI-23079
try {
Method[] methods = theClass.getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
if (methods[i].getName().equals(methodName)) {
return methods[i];
}
}
} catch (Exception e) {
return null;
}
return null;
}

View File

@@ -0,0 +1 @@
RefreshComponenentsAction.Label=Componentenlijst verversen

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,16 +10,18 @@ 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
MyExtensionsComposite.ModifyOperateStatus=Modifier
MyExtensionsComposite.DeleteOperateStatus=Supprimer
MyExtensionsComposite.DeleteOperateStatus=DELETE
MyExtensionsComposite.Form.Return=Retourner
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
@@ -43,6 +46,8 @@ DeleteExtensionJob.DeleteExtensionJob.Title=Supprimer une extension...
DeleteExtensionJob.DeleteFailure=Echec de la connexion.
ModifyExtensionJob.Title=Modifier une extension...
ModifyExtensionJob.ModifyFailure=Echec de la modification
InstalledExtensionJob.Title=Installation de l'extension...
InsertionExtensionAction.InstalledFailure=Echec de l'installation
UploadRevisionJob.Title=Chargement de la révision...
UploadRevisionAction.InstalledFailure=Echec du chargement de la révision.
DownloadComponenentsAction.installExchange=Installer les composants Exchange
@@ -74,3 +79,4 @@ ImportExchangeDialog.REFRESH_BUTTON=Rafra
ImportExchangeDialog.REFRESHING_PROGRESSBAR=Rafraîchissement, veuillez patienter..
ImportExchangeDialog.NOT_SELECT_BUTTON=Merci de d'abord sélectionner un choix
ImportExchangeDialog.OPERATION_CANCELLED=L'opération a été annulée
Exchange.logon.error=L'utilisateur de l'Exchange n'est pas enregistré. Enregistrez-vous via les Préférences.

View File

@@ -1 +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

@@ -75,14 +75,16 @@ public class ExchangeComponentsProvider extends AbstractComponentsProvider {
private void copyFolder(File externalComponentsLocation, File installFolder) throws IOException {
FileFilter folderFilter = new FileFilter() {
@Override
public boolean accept(File file) {
return file.isDirectory();
}
};
FileFilter ff = new FileFilter() {
@Override
public boolean accept(File pathname) {
if (pathname.getName().equals(".svn")) {
if (FilesUtils.isSVNFolder(pathname)) {
return false;
}
return true;

View File

@@ -1,185 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2012 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.components.exchange.jobs;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.designer.components.exchange.util.ExchangeWebService;
import us.monoid.json.JSONObject;
/**
*
* DOC hcyi class global comment. Detailled comment
*/
public class ComponentDownloader {
private List<DownloadListener> fListeners = new ArrayList<DownloadListener>();
private boolean fCancel = false;
private static final int BUFFER_SIZE = 8192;
/**
* Download file from specific url to local folder.
*
* @param componentUrl The file url to download
* @param targetFolder Local folder to store downloaded file
* @throws Exception
*/
public void download(String componentUrl, String targetFolder) throws Exception {
String fileName = componentUrl.substring(componentUrl.lastIndexOf('/'));
File destination = new File(targetFolder + fileName);
URL url = new URL(componentUrl);
download(url, destination);
}
/**
* Download file from specific url.
*
* @param componentUrl The file url to download
* @param destination The local file to be saved
* @throws Exception
*/
public void download(URL componentUrl, File destination) throws Exception {
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
URLConnection connection = componentUrl.openConnection();
bis = new BufferedInputStream(connection.getInputStream());
bos = new BufferedOutputStream(new FileOutputStream(destination));
fireDownloadStart(connection.getContentLength());
byte[] buf = new byte[BUFFER_SIZE];
int bytesDownloaded = 0;
int bytesRead = -1;
while ((bytesRead = bis.read(buf)) != -1) {
bos.write(buf, 0, bytesRead);
bytesDownloaded += bytesRead;
fireDownloadProgress(bytesRead);
if (fCancel) {
// cacel download process
return;
}
}
bos.flush();
// System.out.println(bytesDownloaded);
fireDownloadComplete();
} finally {
Exception e = null;
if (bis != null) {
try {
bis.close();
} catch (IOException ioe) {
e = ioe;
}
}
if (bos != null) {
try {
bos.close();
} catch (IOException ioe) {
e = ioe;
}
}
if (e != null) {
// rethrow the exception to caller
throw e;
}
}
}
/**
* Return true if the user cancel download process.
*
* @return the cancel
*/
public boolean isCancel() {
return fCancel;
}
/**
* Set true if the user cacel download process.
*
* @param cancel the cancel to set
*/
public void setCancel(boolean cancel) {
fCancel = cancel;
}
/**
* Notify listeners about progress.
*
* @param bytesRead
*/
private void fireDownloadProgress(int bytesRead) {
for (DownloadListener listener : fListeners) {
listener.downloadProgress(this, bytesRead);
}
}
/**
* Notify listeners at the end of download process.
*/
private void fireDownloadComplete() {
for (DownloadListener listener : fListeners) {
listener.downloadComplete();
}
}
/**
* Notify listeners at the begining of download process.
*/
private void fireDownloadStart(int contentLength) {
for (DownloadListener listener : fListeners) {
listener.downloadStart(contentLength);
}
}
/**
* Add listener to observe the download process.
*
* @param listener
*/
public void addDownloadListener(DownloadListener listener) {
fListeners.add(listener);
}
public void removeDownloadListener(DownloadListener listener) {
fListeners.remove(listener);
}
public static void main(String[] args) {
try {
new ComponentDownloader().download("http://talendforge.org/ext/upload/extension-33/revision-45/tFileOutputPDF.zip", //$NON-NLS-1$
"d:/temp"); //$NON-NLS-1$
} catch (Exception e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
}

View File

@@ -1,41 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2012 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.components.exchange.jobs;
/**
*
* DOC hcyi class global comment. Detailled comment
*/
public interface DownloadListener {
/**
* Notify before download start.
*
* @param totalSize The size of file.
*/
void downloadStart(int totalSize);
/**
* Notify when download progress. DOC hcw Comment method "downloadProgress".
*
* @param downloader The source that trigger this event.
* @param bytesDownloaded The number of bytes that have readed just now.
*/
void downloadProgress(ComponentDownloader downloader, int bytesDownloaded);
/**
* Notify after download complete.
*/
void downloadComplete();
}

View File

@@ -42,6 +42,8 @@ import org.eclipse.ui.intro.config.IIntroAction;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.core.CorePlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.download.DownloadHelper;
import org.talend.core.download.DownloadListener;
import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
import org.talend.core.model.components.ComponentUtilities;
@@ -51,9 +53,7 @@ import org.talend.designer.codegen.ICodeGeneratorService;
import org.talend.designer.components.exchange.ExchangeComponentsProvider;
import org.talend.designer.components.exchange.ExchangeConstants;
import org.talend.designer.components.exchange.i18n.Messages;
import org.talend.designer.components.exchange.jobs.ComponentDownloader;
import org.talend.designer.components.exchange.jobs.ComponentInstaller;
import org.talend.designer.components.exchange.jobs.DownloadListener;
import org.talend.designer.components.exchange.model.ComponentExtension;
import org.talend.designer.components.exchange.ui.htmlcontent.ContentConstants;
import org.talend.designer.components.exchange.ui.views.ExchangeManager;
@@ -116,7 +116,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
// Start Code Generation Init
ICodeGeneratorService codeGenService = (ICodeGeneratorService) GlobalServiceRegister.getDefault().getService(
ICodeGeneratorService.class);
Job job = codeGenService.initializeTemplates();
Job job = codeGenService.refreshTemplates();
job.addJobChangeListener(new JobChangeAdapter() {
@Override
@@ -288,7 +288,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
URL url = new URL(downloadUrl);
monitor.setTaskName(ExchangeConstants.getDownloadTaskNameLable() + url.toString());
ComponentDownloader downloader = new ComponentDownloader();
DownloadHelper downloader = new DownloadHelper();
downloader.addDownloadListener(this);
// block until download complete
downloader.download(url, localZipFile);
@@ -339,7 +339,7 @@ public class DownloadComponenentsAction extends Action implements IIntroAction {
public void downloadComplete() {
}
public void downloadProgress(ComponentDownloader downloader, int bytesRead) {
public void downloadProgress(DownloadHelper downloader, int bytesRead) {
if (fMonitor.isCanceled()) {
// cancel download
downloader.setCancel(true);

View File

@@ -50,9 +50,9 @@ import org.eclipse.ui.PlatformUI;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.core.download.DownloadHelper;
import org.talend.designer.components.exchange.ExchangePlugin;
import org.talend.designer.components.exchange.i18n.Messages;
import org.talend.designer.components.exchange.jobs.ComponentDownloader;
import org.talend.designer.components.exchange.jobs.ComponentSearcher;
import org.talend.designer.components.exchange.model.ComponentExtension;
import org.talend.designer.components.exchange.model.VersionRevision;
@@ -182,7 +182,7 @@ public class ImportExchangeDialog extends Dialog {
public void run() {
try {
new ComponentDownloader().download(url, tempFile);
new DownloadHelper().download(url, tempFile);
} catch (Exception e) {
ExceptionHandler.process(e);
}

View File

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

View File

@@ -0,0 +1,57 @@
package cobolConversion;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
public enum CharSetEnum {
// define data table for using
Cp037("Cp037", "{ABCDEFGHI", "}JKLMNOPQR"), Cp273("Cp273", "äABCDEFGHI",
"üJKLMNOPQR"), Cp277("Cp277", "æABCDEFGHI", "åJKLMNOPQR"), Cp278(
"Cp278", "äABCDEFGHI", "åJKLMNOPQR"), Cp280("Cp280", "àABCDEFGHI",
"èJKLMNOPQR"), Cp284("Cp284", "{ABCDEFGHI", "}JKLMNOPQR"), Cp285(
"Cp285", "{ABCDEFGHI", "}JKLMNOPQR"), Cp297("Cp297", "éABCDEFGHI",
"èJKLMNOPQR"), Cp420("Cp420", "{ABCDEFGHI", "}JKLMNOPQR"), Cp424(
"Cp424", "{ABCDEFGHI", "}JKLMNOPQR"), Cp500("Cp500", "{ABCDEFGHI",
"}JKLMNOPQR"), Cp870("Cp870", "{ABCDEFGHI", "}JKLMNOPQR"), Cp871(
"Cp871", "þABCDEFGHI", "æJKLMNOPQR"), Cp875("Cp875", "{ABCDEFGHI",
"}JKLMNOPQR"), Cp1025("Cp1025", "{ABCDEFGHI", "}JKLMNOPQR"), Cp1026(
"Cp1026", "çABCDEFGHI", "ğJKLMNOPQR"), Cp1047("Cp1047",
"{ABCDEFGHI", "}JKLMNOPQR"), Cp1112("Cp1112", "{ABCDEFGHI",
"}JKLMNOPQR"), Cp1122("Cp1122", "äABCDEFGHI", "ğJKLMNOPQR"), Cp1123(
"Cp1123", "{ABCDEFGHI", "}JKLMNOPQR"), Cp1140("Cp1140",
"{ABCDEFGHI", "}JKLMNOPQR"), Cp1141("Cp1141", "äABCDEFGHI",
"üJKLMNOPQR"), Cp1142("Cp1142", "æABCDEFGHI", "åJKLMNOPQR"), Cp1143(
"Cp1143", "äABCDEFGHI", "åJKLMNOPQR"), Cp1144("Cp1144",
"àABCDEFGHI", "èJKLMNOPQR"), Cp1145("Cp1145", "{ABCDEFGHI",
"}JKLMNOPQR"), Cp1146("Cp1146", "{ABCDEFGHI", "}JKLMNOPQR"), Cp1147(
"Cp1147", "éABCDEFGHI", "èJKLMNOPQR"), Cp1148("Cp1148",
"{ABCDEFGHI", "}JKLMNOPQR"), Cp1149("Cp1149", "þABCDEFGHI",
"æJKLMNOPQR");
String charSet;
String failoverpositives;
String failovernegatives;
//default construct
CharSetEnum(String charSet, String failoverpositives,
String failovernegatives) {
this.charSet = charSet;
this.failoverpositives = failoverpositives;
this.failovernegatives = failovernegatives;
}
public String getCharSet() {
return charSet;
}
public static void main(String[] a) {
String charset = "Cp037";
System.out.println(Charset.defaultCharset());
for (CharSetEnum charsetEnum : CharSetEnum.values()) {
if (charset.equals(charsetEnum.getCharSet())) {
System.out.println(charsetEnum.failoverpositives);
System.out.println(charsetEnum.failovernegatives);
}
}
}
}

View File

@@ -0,0 +1,115 @@
package cobolConversion;
import java.math.BigDecimal;
import org.apache.commons.lang.mutable.MutableInt;
public class EBCDICType3 {
public static BigDecimal readType3Value(byte[] byteValue, int decimal,
boolean isImpliedDecimal) throws Exception {
int len = byteValue.length;
StringBuffer strbuf = new StringBuffer();
int tmp;
int tmp1;
int tmp2;
for (int i = 0; i < len; i++) {
tmp = byteValue[i];
tmp1 = tmp & 0xF0;
tmp2 = tmp1 >> 4;
strbuf.append(tmp2);
if (i < (len - 1)) {
tmp = byteValue[i];
tmp1 = tmp & 0x0F;
strbuf.append(tmp1);
}
}
if ((decimal > 0) && isImpliedDecimal) {
strbuf.insert(strbuf.length() - decimal, '.');
}
BigDecimal retVal;
try {
retVal = new BigDecimal(strbuf.toString());
} catch (NumberFormatException ex) {
throw new Exception();
}
tmp = byteValue[len - 1];
tmp1 = tmp & 0x0F;
if ((tmp1 == 0x0F) || (tmp1 == 0x0C)) {
return retVal;
} else if (tmp1 == 0x0D) {
return retVal.negate();
} else {
return retVal;
}
}
public static byte[] writeType3Value(int length, int decimal,
BigDecimal value, boolean isSigned) throws Exception {
if (decimal != value.scale()) {
BigDecimal tmp = value.setScale(decimal, BigDecimal.ROUND_FLOOR);
value = tmp;
}
String str = value.toPlainString();
int len = str.length();
byte[] buf = new byte[length];
MutableInt k = new MutableInt(len);
byte even; // left and right nibble ( we go from right to left )
byte odd;
for (int i = length - 1; i >= 0; i--) {
// Last byte needs sign nibble
if (i == (length - 1)) {
even = getNextByte(str, k);
if (isSigned) {
if (value.signum() >= 0) {
odd = 0x0C;
} else {
odd = 0x0D;
}
} else {
odd = (byte) 0x0F;
}
} else {
// Packing rest of the digits...
// Get even digit if exist or zero
odd = getNextByte(str, k);
even = getNextByte(str, k);
}
buf[i] = (byte) ((even << 4) | odd);
}
// TODO: Check if str ">" buf and eventually throw an Exc.
return buf;
}
private static byte getNextByte(String number, MutableInt recentlyReturned) {
MutableInt zero = new MutableInt(0);
recentlyReturned.decrement();
if (recentlyReturned.compareTo(zero) >= 0) {
while (!"0123456789".contains(String.valueOf(number
.charAt(recentlyReturned.intValue())))) {
recentlyReturned.decrement();
if (recentlyReturned.compareTo(zero) < 0) {
return 0;
}
}
return (byte) (Character.getNumericValue(number
.charAt(recentlyReturned.intValue())));
} else {
return 0;
}
}
}

View File

@@ -0,0 +1,146 @@
package cobolConversion;
import java.math.BigDecimal;
import cobolConversion.CharSetEnum;
public class EBCDICType9 {
public static byte[] writeType9Value(int length, int decimal, BigDecimal value,
boolean isSigned, boolean isImpliedDecimal,String charset) throws Exception {
byte[] reValue = null;
String failoverpositives = "{ABCDEFGHI";
String failovernegatives = "}JKLMNOPQR";
if (decimal != value.scale()) {
BigDecimal tmp = value.setScale(decimal, BigDecimal.ROUND_FLOOR);
value = tmp;
}
String str = value.toPlainString();
StringBuffer buf = new StringBuffer(str);
// Modify byte with sign ...
if (isSigned) {
int lastidx = buf.length() - 1;
char lastbyte = buf.charAt(lastidx);
char repl;
for (CharSetEnum charsetEnum : CharSetEnum.values()){
if(charset.equals(charsetEnum.getCharSet())){
failoverpositives = charsetEnum.failoverpositives;
failovernegatives = charsetEnum.failovernegatives;
break;
}
}
if (value.signum() >= 0) {
repl = failoverpositives.charAt(Integer.parseInt(String
.valueOf(lastbyte)));
} else {
repl = failovernegatives.charAt(Integer.parseInt(String
.valueOf(lastbyte)));
}
buf.setCharAt(lastidx, repl);
// Delete sign char
String tmp = buf.toString();
String tmp2 = tmp.replace("-", "");
buf = new StringBuffer(tmp2);
}
// Delete decimal point...
if (isImpliedDecimal) {
String tmp = buf.toString();
String tmp2 = tmp.replace(".", "");
buf = new StringBuffer(tmp2);
}
// Adding some leading zeros ...
while (length > buf.length()) {
buf.insert(0, "0");
}
reValue = buf.toString().getBytes(charset);
return reValue;
}
public static BigDecimal readType9Value(byte[] byteValue,int decimal,boolean isImpliedDecimal,String charset) throws Exception{
byte[] b = byteValue;
String failoverpositives = "{ABCDEFGHI";
String failovernegatives = "}JKLMNOPQR";
int idx;
char[] pos = { 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9 };
char[] neg = { 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9 };
String IBMpositives = new String(pos);
String IBMnegatives = new String(neg);
String MFnegatives = "pqrstuvwxy";
String CAnegatives = " !\"#$%&'()";
for (CharSetEnum charsetEnum : CharSetEnum.values()){
if(charset.equals(charsetEnum.getCharSet())){
failoverpositives = charsetEnum.failoverpositives;
failovernegatives = charsetEnum.failovernegatives;
break;
}
}
StringBuffer buf = new StringBuffer(new String(b, charset));
int lastidx = buf.length() - 1;
char lastbyte = buf.charAt(lastidx);
boolean positive = true;
idx = IBMpositives.indexOf(lastbyte);
if (idx > -1) {
buf.replace(lastidx, lastidx + 1, new Integer(idx).toString());
positive = true;
}
idx = IBMnegatives.indexOf(lastbyte);
if (idx > -1) {
buf.replace(lastidx, lastidx + 1, new Integer(idx).toString());
positive = false;
}
idx = failoverpositives.indexOf(lastbyte);
if (idx > -1) {
buf.replace(lastidx, lastidx + 1, new Integer(idx).toString());
positive = true;
}
idx = failovernegatives.indexOf(lastbyte);
if (idx > -1) {
buf.replace(lastidx, lastidx + 1, new Integer(idx).toString());
positive = false;
}
idx = MFnegatives.indexOf(lastbyte);
if (idx > -1) {
buf.replace(lastidx, lastidx + 1, new Integer(idx).toString());
positive = false;
}
idx = CAnegatives.indexOf(lastbyte);
if (idx > -1) {
buf.replace(lastidx, lastidx + 1, new Integer(idx).toString());
positive = false;
}
if ((decimal > 0) && isImpliedDecimal) {
buf.insert(buf.length() - decimal, '.');
}
BigDecimal retVal;
try {
retVal = new BigDecimal(buf.toString());
} catch (NumberFormatException ex) {
throw new Exception();
}
if (!positive) {
retVal = retVal.negate();
}
return retVal;
}
}

View File

@@ -0,0 +1,216 @@
package org.talend.datastewardship.server.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
/**
* <p>
* Java class for deleteTasks complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="deleteTasks">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="typeId" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
* &lt;element name="owner" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="tagLabel" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;element name="createTimeLowerBound" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
* &lt;element name="createTimeUpperBound" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
* &lt;element name="starNum" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
* &lt;element name="limit" type="{http://www.w3.org/2001/XMLSchema}int"/>
* &lt;element name="status" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "deleteTasks", propOrder = { "typeId", "owner", "tagLabel", "createTimeLowerBound", "createTimeUpperBound",
"starNum", "limit", "status" })
public class DeleteTasks {
protected Integer typeId;
protected String owner;
protected String tagLabel;
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar createTimeLowerBound;
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar createTimeUpperBound;
protected Integer starNum;
protected int limit;
protected String status;
/**
* Gets the value of the typeId property.
*
* @return possible object is {@link Integer }
*
*/
public Integer getTypeId() {
return typeId;
}
/**
* Sets the value of the typeId property.
*
* @param value allowed object is {@link Integer }
*
*/
public void setTypeId(Integer value) {
this.typeId = value;
}
/**
* Gets the value of the owner property.
*
* @return possible object is {@link String }
*
*/
public String getOwner() {
return owner;
}
/**
* Sets the value of the owner property.
*
* @param value allowed object is {@link String }
*
*/
public void setOwner(String value) {
this.owner = value;
}
/**
* Gets the value of the tagLabel property.
*
* @return possible object is {@link String }
*
*/
public String getTagLabel() {
return tagLabel;
}
/**
* Sets the value of the tagLabel property.
*
* @param value allowed object is {@link String }
*
*/
public void setTagLabel(String value) {
this.tagLabel = value;
}
/**
* Gets the value of the createTimeLowerBound property.
*
* @return possible object is {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getCreateTimeLowerBound() {
return createTimeLowerBound;
}
/**
* Sets the value of the createTimeLowerBound property.
*
* @param value allowed object is {@link XMLGregorianCalendar }
*
*/
public void setCreateTimeLowerBound(XMLGregorianCalendar value) {
this.createTimeLowerBound = value;
}
/**
* Gets the value of the createTimeUpperBound property.
*
* @return possible object is {@link XMLGregorianCalendar }
*
*/
public XMLGregorianCalendar getCreateTimeUpperBound() {
return createTimeUpperBound;
}
/**
* Sets the value of the createTimeUpperBound property.
*
* @param value allowed object is {@link XMLGregorianCalendar }
*
*/
public void setCreateTimeUpperBound(XMLGregorianCalendar value) {
this.createTimeUpperBound = value;
}
/**
* Gets the value of the starNum property.
*
* @return possible object is {@link Integer }
*
*/
public Integer getStarNum() {
return starNum;
}
/**
* Sets the value of the starNum property.
*
* @param value allowed object is {@link Integer }
*
*/
public void setStarNum(Integer value) {
this.starNum = value;
}
/**
* Gets the value of the limit property.
*
*/
public int getLimit() {
return limit;
}
/**
* Sets the value of the limit property.
*
*/
public void setLimit(int value) {
this.limit = value;
}
/**
* Gets the value of the status property.
*
* @return possible object is {@link String }
*
*/
public String getStatus() {
return status;
}
/**
* Sets the value of the status property.
*
* @param value allowed object is {@link String }
*
*/
public void setStatus(String value) {
this.status = value;
}
}

View File

@@ -0,0 +1,58 @@
package org.talend.datastewardship.server.ws;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
/**
* <p>
* Java class for deleteTasksResponse complex type.
*
* <p>
* The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="deleteTasksResponse">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="return" type="{http://jaxb.dev.java.net/array}int" maxOccurs="unbounded" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "deleteTasksResponse", propOrder = { "_return" })
public class DeleteTasksResponse {
@XmlElement(name = "return")
protected int _return;
/**
* Gets the value of the return property.
*
* <p>
* This accessor method returns a reference to the live list, not a snapshot. Therefore any modification you make to
* the returned list will be present inside the JAXB object. This is why there is not a <CODE>set</CODE> method for
* the return property.
*
*
*/
public int getReturn() {
return _return;
}
/**
* Sets the value of the return property.
*
*/
public void setReturn(int value) {
this._return = value;
}
}

View File

@@ -27,8 +27,10 @@ public class ObjectFactory {
private final static QName _GetTgtRecord_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "getTgtRecord");
private final static QName _Echo_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "echo");
private final static QName _EchoResponse_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "echoResponse");
private final static QName _DeleteTasksResponse_QNAME = new QName("http://ws.server.datastewardship.talend.org/","deleteTasksResponse");
private final static QName _GetSrcRecord_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "getSrcRecord");
private final static QName _GetTgtRecordResponse_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "getTgtRecordResponse");
private final static QName _DeleteTasks_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "deleteTasks");
private final static QName _SearchTasks_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "searchTasks");
private final static QName _GetSrcRecordResponse_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "getSrcRecordResponse");
private final static QName _SearchTasksResponse_QNAME = new QName("http://ws.server.datastewardship.talend.org/", "searchTasksResponse");
@@ -147,6 +149,15 @@ public class ObjectFactory {
return new JAXBElement<EchoResponse>(_EchoResponse_QNAME, EchoResponse.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link DeleteTasksResponse }{@code >}
*
*/
@XmlElementDecl(namespace = "http://ws.server.datastewardship.talend.org/", name = "deleteTasksResponse")
public JAXBElement<DeleteTasksResponse> createDeleteTasksResponse(DeleteTasksResponse value) {
return new JAXBElement<DeleteTasksResponse>(_DeleteTasksResponse_QNAME, DeleteTasksResponse.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link GetSrcRecord }{@code >}}
*
@@ -174,6 +185,15 @@ public class ObjectFactory {
return new JAXBElement<SearchTasks>(_SearchTasks_QNAME, SearchTasks.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link DeleteTasks }{@code >}
*
*/
@XmlElementDecl(namespace = "http://ws.server.datastewardship.talend.org/", name = "deleteTasks")
public JAXBElement<DeleteTasks> createDeleteTasks(DeleteTasks value) {
return new JAXBElement<DeleteTasks>(_DeleteTasks_QNAME, DeleteTasks.class, null, value);
}
/**
* Create an instance of {@link JAXBElement }{@code <}{@link GetSrcRecordResponse }{@code >}}
*

View File

@@ -68,4 +68,27 @@ public interface TDSCWS {
@WebParam(name = "taskID", targetNamespace = "")
java.lang.String taskID
);
@WebResult(name = "return", targetNamespace = "")
@RequestWrapper(localName = "deleteTasks", targetNamespace = "http://ws.server.datastewardship.talend.org/", className = "org.talend.datastewardship.server.ws.DeleteTasks")
@WebMethod
@ResponseWrapper(localName = "deleteTasksResponse", targetNamespace = "http://ws.server.datastewardship.talend.org/", className = "org.talend.datastewardship.server.ws.DeleteTasksResponse")
public int deleteTasks(
@WebParam(name = "typeId", targetNamespace = "")
java.lang.Integer typeId,
@WebParam(name = "owner", targetNamespace = "")
java.lang.String owner,
@WebParam(name = "tagLabel", targetNamespace = "")
java.lang.String tagLabel,
@WebParam(name = "createTimeLowerBound", targetNamespace = "")
javax.xml.datatype.XMLGregorianCalendar createTimeLowerBound,
@WebParam(name = "createTimeUpperBound", targetNamespace = "")
javax.xml.datatype.XMLGregorianCalendar createTimeUpperBound,
@WebParam(name = "starNum", targetNamespace = "")
java.lang.Integer starNum,
@WebParam(name = "limit", targetNamespace = "")
int limit,
@WebParam(name = "status", targetNamespace = "")
java.lang.String status
);
}

View File

@@ -1,6 +1,7 @@
package org.talend.xml.sax;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -11,12 +12,6 @@ import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.talend.xml.sax.FunctionRegister;
import org.talend.xml.sax.LoopEntry;
import org.talend.xml.sax.SAXLoopCompositeHandler;
import org.talend.xml.sax.SAXLoopHandler;
import org.talend.xml.sax.SAXLoopIterator;
import org.talend.xml.sax.SAXMultiLoopIterator;
import org.talend.xml.sax.commons.ISAXLooper;
import org.talend.xml.sax.function.inter.Function;
import org.talend.xml.sax.io.UnicodeReader;
@@ -142,6 +137,7 @@ public class ComplexSAXLooper implements ISAXLooper {
*/
public void parse(String fileURL, String charset) {
this.charset = charset;
Reader reader = null;
try {
DefaultHandler hd = null;
SAXParser saxParser = null;
@@ -158,9 +154,8 @@ public class ComplexSAXLooper implements ISAXLooper {
hd = newHandler2();
}
saxParser.setProperty("http://xml.org/sax/properties/lexical-handler", hd);
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(
new UnicodeReader(new java.io.FileInputStream(fileURL),this.charset));
// inSource.setEncoding(this.charset);
reader = new UnicodeReader(new java.io.FileInputStream(fileURL),this.charset);
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(reader);
saxParser.parse(inSource, hd);
} catch (ParserConfigurationException e) {
@@ -169,6 +164,14 @@ public class ComplexSAXLooper implements ISAXLooper {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(reader!=null) {
try {
reader.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}
}
@@ -179,6 +182,7 @@ public class ComplexSAXLooper implements ISAXLooper {
*/
public void parse(java.io.InputStream is, String charset) {
this.charset = charset;
Reader reader = null;
try {
DefaultHandler hd = null;
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
@@ -189,9 +193,9 @@ public class ComplexSAXLooper implements ISAXLooper {
}
saxParser.setProperty("http://xml.org/sax/properties/lexical-handler", hd);
// routines.system.UnicodeReader.java is used to ignore the BOM of the source file.
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(new UnicodeReader(is,this.charset));
// inSource.setEncoding(this.charset);
saxParser.parse(is, hd);
reader = new UnicodeReader(is,this.charset);
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(reader);
saxParser.parse(inSource, hd);
} catch (ParserConfigurationException e) {
e.printStackTrace();
@@ -199,6 +203,14 @@ public class ComplexSAXLooper implements ISAXLooper {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(reader!=null) {
try {
reader.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}
}

View File

@@ -12,6 +12,7 @@
// ============================================================================
package org.talend.xml.sax.simpleparser;
import java.io.Reader;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.Callable;
@@ -113,6 +114,7 @@ public class SimpleSAXLooper implements ISAXLooper,Callable {
}
public Object call() throws Exception {
Reader reader = null;
try {
DefaultHandler hd = new SimpleSAXLoopHandler(nodes, bcache);
SAXParser saxParser = null;
@@ -126,17 +128,22 @@ public class SimpleSAXLooper implements ISAXLooper,Callable {
saxParser.setProperty("http://xml.org/sax/properties/lexical-handler", hd);
if (fileURL != null) {
// routines.system.UnicodeReader.java is used to ignore the BOM of the source file.
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(
new UnicodeReader(new java.io.FileInputStream(fileURL),this.charset));
// inSource.setEncoding(this.charset);
reader = new UnicodeReader(new java.io.FileInputStream(fileURL),this.charset);
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(reader);
saxParser.parse(inSource, hd);
} else {
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(new UnicodeReader(is,this.charset));
// inSource.setEncoding(this.charset);
saxParser.parse(is, hd);
reader = new UnicodeReader(is,this.charset);
org.xml.sax.InputSource inSource = new org.xml.sax.InputSource(reader);
saxParser.parse(inSource, hd);
}
} finally {
bcache.notifyErrorOccurred();
try {
if(reader!=null) {
reader.close();
}
} finally {
bcache.notifyErrorOccurred();
}
}
return null;
}

View File

@@ -35,7 +35,9 @@ public class FileCopy {
public static void copyFile(String srcFileName, String desFileName, boolean delSrc) throws Exception {
FileInputStream srcInputStream = new FileInputStream(srcFileName);
FileInputStream srcInputStream = null;
try{
srcInputStream = new FileInputStream(srcFileName);
long lastModified = new File(srcFileName).lastModified();
int available = srcInputStream.available();
if (available > L_SIZE) {// X > 100M
@@ -47,6 +49,11 @@ public class FileCopy {
}
// keep modification_time
new File(desFileName).setLastModified(lastModified);
}finally{
if(srcInputStream!=null){
srcInputStream.close();
}
}
}
private static void copyFileS(String srcFileName, FileInputStream srcInputStream, String desFileName, boolean delSrc)
@@ -93,8 +100,13 @@ public class FileCopy {
try {
in = srcInputStream.getChannel();
out = new FileOutputStream(dest).getChannel();
in.transferTo(0, in.size(), out);
int maxCount = (32 * 1024 * 1024) - (28 * 1024);
long size = in.size();
long position = 0;
while (position < size) {
position += in.transferTo(position, maxCount, out);
}
in.close();
out.close();

View File

@@ -1,622 +0,0 @@
/*
* Java CSV is a stream based library for reading and writing
* CSV and other delimited data.
*
* Copyright (C) Bruce Dunwiddie bruce@csvreader.com
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
package com.csvreader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
import java.nio.charset.Charset;
/**
* A stream based writer for writing delimited text data to a file or a stream.
* So far, it is only used for tMysqlOutputBulk
*/
public class CsvWriter2 {
private PrintWriter outputStream = null;
private String fileName = null;
private boolean firstColumn = true;
private boolean useCustomRecordDelimiter = false;
private Charset charset = null;
// this holds all the values for switches that the user is allowed to set
private UserSettings userSettings = new UserSettings();
private boolean initialized = false;
private boolean closed = false;
private boolean useCRLFRecordDelimiter;
private static final String CRLF = "\r\n";
/**
* Double up the text qualifier to represent an occurance of the text
* qualifier.
*/
public static final int ESCAPE_MODE_DOUBLED = 1;
/**
* Use a backslash character before the text qualifier to represent an
* occurance of the text qualifier.
*/
public static final int ESCAPE_MODE_BACKSLASH = 2;
/**
* Creates a {@link com.csvreader.CsvWriter2 CsvWriter} object using a file
* as the data destination.
*
* @param fileName
* The path to the file to output the data.
* @param delimiter
* The character to use as the column delimiter.
* @param charset
* The {@link java.nio.charset.Charset Charset} to use while
* writing the data.
*/
public CsvWriter2(String fileName, String delimiter, Charset charset) {
if (fileName == null) {
throw new IllegalArgumentException("Parameter fileName can not be null.");
}
if (charset == null) {
throw new IllegalArgumentException("Parameter charset can not be null.");
}
this.fileName = fileName;
userSettings.Delimiter = delimiter;
this.charset = charset;
}
/**
* Creates a {@link com.csvreader.CsvWriter2 CsvWriter} object using a file
* as the data destination.&nbsp;Uses a comma as the column delimiter and
* ISO-8859-1 as the {@link java.nio.charset.Charset Charset}.
*
* @param fileName
* The path to the file to output the data.
*/
public CsvWriter2(String fileName) {
this(fileName, Letters.COMMA, Charset.forName("ISO-8859-1"));
}
/**
* Creates a {@link com.csvreader.CsvWriter2 CsvWriter} object using a Writer
* to write data to.
*
* @param outputStream
* The stream to write the column delimited data to.
* @param delimiter
* The character to use as the column delimiter.
*/
public CsvWriter2(Writer outputStream, String delimiter) {
if (outputStream == null) {
throw new IllegalArgumentException("Parameter outputStream can not be null.");
}
this.outputStream = new PrintWriter(outputStream);
userSettings.Delimiter = delimiter;
initialized = true;
}
/**
* Creates a {@link com.csvreader.CsvWriter2 CsvWriter} object using an
* OutputStream to write data to.
*
* @param outputStream
* The stream to write the column delimited data to.
* @param delimiter
* The character to use as the column delimiter.
* @param charset
* The {@link java.nio.charset.Charset Charset} to use while
* writing the data.
*/
public CsvWriter2(OutputStream outputStream, String delimiter, Charset charset) {
this(new OutputStreamWriter(outputStream, charset), delimiter);
}
/**
* Gets the character being used as the column delimiter.
*
* @return The character being used as the column delimiter.
*/
public String getDelimiter() {
return userSettings.Delimiter;
}
/**
* Sets the character to use as the column delimiter.
*
* @param delimiter
* The character to use as the column delimiter.
*/
public void setDelimiter(String delimiter) {
userSettings.Delimiter = delimiter;
}
public String getRecordDelimiter() {
return userSettings.RecordDelimiter;
}
/**
* Sets the character to use as the record delimiter.
*
* @param recordDelimiter
* The character to use as the record delimiter. Default is
* combination of standard end of line characters for Windows,
* Unix, or Mac.
*/
public void setRecordDelimiter(String recordDelimiter) {
useCustomRecordDelimiter = true;
userSettings.RecordDelimiter = recordDelimiter;
}
/**
* set CRLF(window line separator) as record separator
* for the contexts:Mac or Unix JVM create csv using Window row separator
* @param recordDelimiter
*/
public void useCRLFRecordDelimiter(boolean useCRLFRecordDelimiter) {
this.useCRLFRecordDelimiter = useCRLFRecordDelimiter;
if(useCRLFRecordDelimiter) {
useCustomRecordDelimiter = false;
userSettings.RecordDelimiter = Letters.NULL;
}
}
/**
* Gets the character to use as a text qualifier in the data.
*
* @return The character to use as a text qualifier in the data.
*/
public char getTextQualifier() {
return userSettings.TextQualifier;
}
/**
* Sets the character to use as a text qualifier in the data.
*
* @param textQualifier
* The character to use as a text qualifier in the data.
*/
public void setTextQualifier(char textQualifier) {
userSettings.TextQualifier = textQualifier;
}
/**
* Whether text qualifiers will be used while writing data or not.
*
* @return Whether text qualifiers will be used while writing data or not.
*/
public boolean getUseTextQualifier() {
return userSettings.UseTextQualifier;
}
/**
* Sets whether text qualifiers will be used while writing data or not.
*
* @param useTextQualifier
* Whether to use a text qualifier while writing data or not.
*/
public void setUseTextQualifier(boolean useTextQualifier) {
userSettings.UseTextQualifier = useTextQualifier;
}
public int getEscapeMode() {
return userSettings.EscapeMode;
}
public void setEscapeMode(int escapeMode) {
userSettings.EscapeMode = escapeMode;
}
public void setComment(char comment) {
userSettings.Comment = comment;
}
public char getComment() {
return userSettings.Comment;
}
/**
* Whether fields will be surrounded by the text qualifier even if the
* qualifier is not necessarily needed to escape this field.
*
* @return Whether fields will be forced to be qualified or not.
*/
public boolean getForceQualifier() {
return userSettings.ForceQualifier;
}
/**
* Use this to force all fields to be surrounded by the text qualifier even
* if the qualifier is not necessarily needed to escape this field. Default
* is false.
*
* @param forceQualifier
* Whether to force the fields to be qualified or not.
*/
public void setForceQualifier(boolean forceQualifier) {
userSettings.ForceQualifier = forceQualifier;
}
/**
* Writes another column of data to this record.
*
* @param content
* The data for the new column.
* @param preserveSpaces
* Whether to preserve leading and trailing whitespace in this
* column of data.
* @exception IOException
* Thrown if an error occurs while writing data to the
* destination stream.
*/
public void write(String content, boolean preserveSpaces)
throws IOException {
checkClosed();
checkInit();
if (content == null) {
content = "";
}
if (!firstColumn) {
outputStream.write(userSettings.Delimiter);
}
boolean textQualify = userSettings.ForceQualifier;
if (!preserveSpaces && content.length() > 0) {
content = content.trim();
}
if (!textQualify
&& userSettings.UseTextQualifier
&& (content.indexOf(userSettings.TextQualifier) > -1
|| content.indexOf(userSettings.Delimiter) > -1
|| (!useCustomRecordDelimiter && (content
.indexOf(Letters.LF) > -1 || content
.indexOf(Letters.CR) > -1))
|| (useCustomRecordDelimiter && content
.indexOf(userSettings.RecordDelimiter) > -1)
|| (firstColumn && content.length() > 0 && content
.charAt(0) == userSettings.Comment) ||
// check for empty first column, which if on its own line must
// be qualified or the line will be skipped
(firstColumn && content.length() == 0))) {
textQualify = true;
}
if (userSettings.UseTextQualifier && !textQualify
&& content.length() > 0 && preserveSpaces) {
char firstLetter = content.charAt(0);
if (firstLetter == Letters.SPACE || firstLetter == Letters.TAB) {
textQualify = true;
}
if (!textQualify && content.length() > 1) {
char lastLetter = content.charAt(content.length() - 1);
if (lastLetter == Letters.SPACE || lastLetter == Letters.TAB) {
textQualify = true;
}
}
}
if (textQualify) {
outputStream.write(userSettings.TextQualifier);
if (userSettings.EscapeMode == ESCAPE_MODE_BACKSLASH) {
content = replace(content, "" + Letters.BACKSLASH, ""
+ Letters.BACKSLASH + Letters.BACKSLASH);
content = replace(content, "" + userSettings.TextQualifier, ""
+ Letters.BACKSLASH + userSettings.TextQualifier);
} else {
content = replace(content, "" + userSettings.TextQualifier, ""
+ userSettings.TextQualifier
+ userSettings.TextQualifier);
}
} else if (userSettings.EscapeMode == ESCAPE_MODE_BACKSLASH) {
content = replace(content, "" + Letters.BACKSLASH, ""
+ Letters.BACKSLASH + Letters.BACKSLASH);
content = replace(content, "" + userSettings.Delimiter, ""
+ Letters.BACKSLASH + userSettings.Delimiter);
if (useCustomRecordDelimiter) {
content = replace(content, "" + userSettings.RecordDelimiter,
"" + Letters.BACKSLASH + userSettings.RecordDelimiter);
} else {
content = replace(content, "" + Letters.CR, ""
+ Letters.BACKSLASH + Letters.CR);
content = replace(content, "" + Letters.LF, ""
+ Letters.BACKSLASH + Letters.LF);
}
if (firstColumn && content.length() > 0
&& content.charAt(0) == userSettings.Comment) {
if (content.length() > 1) {
content = "" + Letters.BACKSLASH + userSettings.Comment
+ content.substring(1);
} else {
content = "" + Letters.BACKSLASH + userSettings.Comment;
}
}
}
outputStream.write(content);
if (textQualify) {
outputStream.write(userSettings.TextQualifier);
}
firstColumn = false;
}
/**
* Writes another column of data to this record.&nbsp;Does not preserve
* leading and trailing whitespace in this column of data.
*
* @param content
* The data for the new column.
* @exception IOException
* Thrown if an error occurs while writing data to the
* destination stream.
*/
public void write(String content) throws IOException {
write(content, true);
}
public void writeComment(String commentText) throws IOException {
checkClosed();
checkInit();
outputStream.write(userSettings.Comment);
outputStream.write(commentText);
if (useCustomRecordDelimiter) {
outputStream.write(userSettings.RecordDelimiter);
} else if(useCRLFRecordDelimiter) {
outputStream.print(CRLF);
} else {
outputStream.println();
}
firstColumn = true;
}
/**
* Writes a new record using the passed in array of values.
*
* @param values
* Values to be written.
*
* @param preserveSpaces
* Whether to preserver leading and trailing spaces in columns
* while writing out to the record or not.
*
* @throws IOException
* Thrown if an error occurs while writing data to the
* destination stream.
*/
public void writeRecord(String[] values, boolean preserveSpaces)
throws IOException {
if (values != null && values.length > 0) {
for (int i = 0; i < values.length; i++) {
write(values[i], preserveSpaces);
}
endRecord();
}
}
/**
* Writes a new record using the passed in array of values.
*
* @param values
* Values to be written.
*
* @throws IOException
* Thrown if an error occurs while writing data to the
* destination stream.
*/
public void writeRecord(String[] values) throws IOException {
writeRecord(values, true);
}
/**
* Ends the current record by sending the record delimiter.
*
* @exception IOException
* Thrown if an error occurs while writing data to the
* destination stream.
*/
public void endRecord() throws IOException {
checkClosed();
checkInit();
if (useCustomRecordDelimiter) {
outputStream.write(userSettings.RecordDelimiter);
} else if(useCRLFRecordDelimiter) {
outputStream.print(CRLF);
} else {
outputStream.println();
}
firstColumn = true;
}
/**
*
*/
private void checkInit() throws IOException {
if (!initialized) {
if (fileName != null) {
outputStream = new PrintWriter(new OutputStreamWriter(
new FileOutputStream(fileName), charset));
}
initialized = true;
}
}
/**
* Clears all buffers for the current writer and causes any buffered data to
* be written to the underlying device.
*/
public void flush() {
outputStream.flush();
}
/**
* Closes and releases all related resources.
*/
public void close() {
if (!closed) {
close(true);
closed = true;
}
}
/**
*
*/
private void close(boolean closing) {
if (!closed) {
if (closing) {
charset = null;
}
try {
if (initialized) {
outputStream.close();
}
} catch (Exception e) {
// just eat the exception
}
outputStream = null;
closed = true;
}
}
/**
*
*/
private void checkClosed() throws IOException {
if (closed) {
throw new IOException(
"This instance of the CsvWriter class has already been closed.");
}
}
/**
*
*/
protected void finalize() {
close(false);
}
private class Letters {
public static final char LF = '\n';
public static final char CR = '\r';
public static final char QUOTE = '"';
public static final String COMMA = ",";
public static final char SPACE = ' ';
public static final char TAB = '\t';
public static final char POUND = '#';
public static final char BACKSLASH = '\\';
public static final String NULL = "\0";
}
private class UserSettings {
// having these as publicly accessible members will prevent
// the overhead of the method call that exists on properties
public char TextQualifier;
public boolean UseTextQualifier;
public String Delimiter;
public String RecordDelimiter;
public char Comment;
public int EscapeMode;
public boolean ForceQualifier;
public UserSettings() {
TextQualifier = Letters.QUOTE;
UseTextQualifier = true;
Delimiter = Letters.COMMA;
RecordDelimiter = Letters.NULL;
Comment = Letters.POUND;
EscapeMode = ESCAPE_MODE_DOUBLED;
ForceQualifier = false;
}
}
public static String replace(String original, String pattern, String replace) {
final int len = pattern.length();
int found = original.indexOf(pattern);
if (found > -1) {
StringBuffer sb = new StringBuffer();
int start = 0;
while (found != -1) {
sb.append(original.substring(start, found));
sb.append(replace);
start = found + len;
found = original.indexOf(pattern, start);
}
sb.append(original.substring(start));
return sb.toString();
} else {
return original;
}
}
}

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

@@ -1,37 +1,331 @@
// Message.java
// ------------------------------------------------------------------
//
// Copyright (c) 2006-2010 Dino Chiesa.
// All rights reserved.
//
// This code module is part of MsmqJava, a JNI library that provides
// access to MSMQ for Java on Windows.
//
// ------------------------------------------------------------------
//
// This code is licensed under the Microsoft Public License.
// See the file License.txt for the license details.
// More info on: http://dotnetzip.codeplex.com
//
// ------------------------------------------------------------------
//
// last saved (in emacs):
// Time-stamp: <2010-March-28 15:17:56>
//
// ------------------------------------------------------------------
//
// This module represents a Message object.
//
// ------------------------------------------------------------------
package ionic.Msmq;
public class Message {
String _message ;
/**
* <p>The Message class models a message that is sent to or receive from an
* MSMQ queue. It exposes several properties that are known to MSMQ,
* including the message label, the message correlationId, and the
* message body.</p>
*
* <p>The maximum size for an MSMQ 4.0 message is slightly less than 4
* MB. If you try to send a message that exceeds the maximum size, you
* will receive a MessageQueueException, with hr =
* MQ_ERROR_INSUFFICIENT_RESOURCES (0xC00E0027).</p>
*
*/
public class Message {
private static String _encoding = "UTF-16LE";
private static String _utf8 = "UTF-8";
byte[] _messageBody ;
String _label ;
String _correlationId ;
int _transactionFlag;
// int _status;
byte[] _correlationId ; // up to PROPID_M_CORRELATIONID_SIZE bytes
boolean _highPriority;
public void setMessage(String value) { _message= value; }
public String getMessage() { return _message; }
public void setLabel(String value) { _label= value; }
public String getLabel() { return _label; }
/**
* <p>Sets the message body, as a string.</p>
*
* <p>The string will be encoded as UTF-16LE, with no byte-order-mark.
* This information may be useful if you use different libraries on the
* the receiving and sending side. </p>
*
* @param value the string to use for the Message body
* @see #setBody(byte[])
*/
public void setBodyAsString(String value)
throws java.io.UnsupportedEncodingException
{ _messageBody= value.getBytes(_encoding); }
public void setCorrelationId(String value) {_correlationId= value;}
public String getCorrelationId() {return _correlationId; }
public void setTransactionFlag(int value) { _transactionFlag= value;}
public int getTransactionFlag() {return _transactionFlag;}
/**
* <p>Gets the message body, as a string.</p>
*
* <p>The string will be decoded as UTF-16LE, with no byte-order-mark.
* This is mostly useful after receiving a message. </p>
*
* <p>If the message body is not a legal UTF-16LE bytestream, then this
* method will return a rubbish string.</p>
*
* @return the message body, as a string.
* @see #getBody()
*/
public String getBodyAsString()
throws java.io.UnsupportedEncodingException
{ return new String(_messageBody, _encoding); }
// public int getStatus() {return _status;}
public Message(String message, String label, String correlationId, int transactionFlag) {
_message=message;
_label= label;
_correlationId= correlationId;
_transactionFlag= transactionFlag;
/**
* <p>Sets the correlation Id on the message. </p>
*
* <p>MSMQ specifies that the ID should be a byte array, of 20 bytes
* in length. But callers can use this convenience method to use a
* string as a correlationId. It will be encoded as UTF-8, and
* limited to 20 bytes.</p>
*
* @param value the string to use as the correlation ID on the message.
*/
public void setCorrelationIdAsString(String value)
throws java.io.UnsupportedEncodingException
{ _correlationId= value.getBytes(_utf8); }
/**
* <p>Gets the correlation Id on the message, in the form of a string. </p>
*
* <p>The behavior is undefined if the correlation ID is not a
* UTF-8 bytestream.</p>
*
* @return the correlation ID on the message, as a string.
*/
public String getCorrelationIdAsString()
throws java.io.UnsupportedEncodingException
{ return new String(_correlationId, _utf8); }
/**
* Sets the message body.
*
* @param value the byte array to use for the Message body
* @see #getBody()
* @see #setBodyAsString(String)
*/
public void setBody(byte[] value) { _messageBody= value; }
/**
* Gets the message body.
*
* @return the message body, as a byte array.
*/
public byte[] getBody() { return _messageBody; }
/**
* Sets the message label.
*
* @param value the string to use as the label on the message.
*/
public void setLabel(String value) { _label= value; }
/**
* Gets the message body.
*
* @return the message label.
*/
public String getLabel() { return _label; }
/**
* <p>Sets the correlation Id on the message. </p>
*
* <p> The ID should be a byte array, a maximum of 20 bytes.</p>
*
* @param value the byte array to use as the correlation ID on the
* message.
*/
public void setCorrelationId(byte[] value) { _correlationId= value; }
/**
* <p>Gets the correlation Id on the message. </p>
*
* <p>The ID will be a byte array, of length 20.</p>
*
* @return the correlation ID on the message.
*/
public byte[] getCorrelationId() { return _correlationId; }
/**
* Sets whether the message should be trated as high priority or not.
*
* @param value true if the message should be delivered with high
* priority.
*/
public void setHighPriority(boolean value) { _highPriority= value; }
/**
* <p>Gets whether the message will be treated with high priority.</p>
*
* <p>This only makes sense for outgoing messages.</p>
*
* @return true if the message will be trated with high priority.
*/
public boolean getHighPriority() { return _highPriority; }
Message() { }
/**
* <p>Creates a Message instance, using a string argument for the
* contents of the body, and empty values for the label and
* correlation ID.</p>
*
* @param body the string to use for the Message body
*/
public Message(String body)
throws java.io.UnsupportedEncodingException
{
this(body, "", "");
}
// public Message(String message, String label, String correlationId, int transactionFlag, int status) {
// _message=message;
// _label= label;
// _correlationId= correlationId;
// _transactionFlag= transactionFlag;
// _status= status;
// }
}
/**
* <p>Creates a Message instance, using string arguments for the
* contents.</p>
*
* <p>A Message contains byte array data in the body and correlation
* Id. This constructor allows the specification of those items as
* strings. The actual values of the body and correlation Id are
* set to the encoded form of the strings, using UTF-16LE for
* encoding. </p>
*
* <p>If you use ASCII strings for the body and correlationId,
* the encoding will be very inefficient. Each character in the input
* will result in two bytes in output, one of which will be a zero.
* Therefore, if you're concerned about efficiency, consider encoding
* strings separately, before creating the Message instance. </p>
*
*
* @param body the string to use for the Message body.
* @param label the string to use for the Message label. The maximum
* length of a message label is 250 bytes.
* @param correlationId the string to use for the Message correlation Id
*/
public Message(String body, String label, String correlationId)
throws java.io.UnsupportedEncodingException
{
this(body.getBytes(Message._encoding),
label,
correlationId.getBytes(Message._encoding));
}
/**
* <p>Creates a Message instance, using a string for the
* body and label, and a byte array for the correlation ID.</p>
*
* <p>A Message contains byte array data in the body and correlation
* Id. This constructor allows the specification of the body as a
* string, and the correlation Id as a byte array. The actual value
* of the body will be set to the encoded form of the body string,
* using UTF-16LE. </p>
*
* <p>Only the first 20 bytes of the correlationId will be used.</p>
*
* @param body the string to use for the Message body
* @param label the string to use for the Message label
* @param correlationId the byte array to use for the Message correlation Id
*
*/
public Message(String body, String label, byte[] correlationId)
throws java.io.UnsupportedEncodingException
{
this(body.getBytes(_encoding),
label,
correlationId);
}
/**
* <p>Creates a Message instance, using a byte array for the
* message body, and empty values for the label and correlation ID.</p>
*
* <p>A Message contains byte array data in the body and
* correlation Id. This constructor allows the specification of the
* body as a byte array. The label and correlation ID of the
* Message are set to empty values. </p>
*
* @param body the string to use for the Message body
*
*/
public Message(byte[] body)
throws java.io.UnsupportedEncodingException
{
this(body, "", "");
}
/**
* <p>Creates a Message instance, using a byte array for the
* body, and a string for the label and correlation ID.</p>
*
* <p>A Message contains byte array data in the body and correlation
* Id. This constructor allows the specification of the body as a
* byte array, and the correlation Id as a string. The actual value
* of the correlation Id will be the encoded form of the body
* string, using UTF-16LE. </p>
*
* <p>Only the first 20 bytes of the correlationId will be used.</p>
*
* @param body the string to use for the Message body
* @param label the string to use for the Message label
* @param correlationId the byte array to use for the Message correlation Id
*
*/
public Message(byte[] body, String label, String correlationId)
throws java.io.UnsupportedEncodingException
{
this(body,
label,
correlationId.getBytes(_encoding));
}
/**
* <p>Creates a Message instance, using a byte array for the
* body the correlation ID, and a string for the label.</p>
*
* <p>A Message contains byte array data in the body and correlation
* Id. This constructor allows the specification of the body and
* correlation ID as byte arrays. Applications may wish to use this
* constructor when close control of the contents of the message is
* desired. </p>
*
* <p>Only the first 20 bytes of the correlationId will be used.</p>
*
* @param body the string to use for the Message body
* @param label the string to use for the Message label
* @param correlationId the byte array to use for the Message correlation Id
*
*/
public Message(byte[] body, String label, byte[] correlationId)
{
_messageBody = body;
_label= label;
_correlationId= correlationId;
}
}

View File

@@ -1,63 +1,113 @@
package ionic.Msmq ;
//
// MessageQueueException.java
// ------------------------------------------------------------------
//
// Copyright (c) 2006-2010 Dino Chiesa.
// All rights reserved.
//
// This code module is part of MsmqJava, a JNI library that provides
// access to MSMQ for Java on Windows.
//
// ------------------------------------------------------------------
//
// This code is licensed under the Microsoft Public License.
// See the file License.txt for the license details.
// More info on: http://dotnetzip.codeplex.com
//
// ------------------------------------------------------------------
//
// last saved (in emacs):
// Time-stamp: <2010-March-28 15:50:20>
//
// ------------------------------------------------------------------
//
// This class models an exception that may occur when interacting with
// MSMQ through the JNI library.
//
// ------------------------------------------------------------------
package ionic.Msmq ;
/**
* An exception type to wrap any problems that occur during MSMQ operations.
*
**/
public class MessageQueueException extends java.lang.Exception {
public int hresult;
public int hresult;
public MessageQueueException(int HRESULT) {
super();
hresult= HRESULT;
}
public MessageQueueException(int HRESULT) {
super();
hresult= HRESULT;
}
public MessageQueueException(String message, int HRESULT) {
super(message);
hresult= HRESULT;
}
public MessageQueueException(String message, int HRESULT) {
super(message);
hresult= HRESULT;
}
public String toString() {
String msg = getLocalizedMessage();
String hr= "hr=" + HrToString(hresult) ;
return msg + " (" + hr + ")";
}
/**
* <p>Produce the string version for the given exception, including the
* string mnemonic for the HR wrapped by the exception.</p>
*
* <p>Example:</p>
*
* <blockquote class='code'><pre>
* try {
* String label="testmessage";
* String body= "....";
* Message msg= new Message(body, label, null);
* queue.send(msg);
* }
* catch (MessageQueueException ex1) {
* System.out.println("Put failure: " + ex1.toString());
* }
* </pre></blockquote>
*
*/
public String toString() {
String msg = getLocalizedMessage();
String hr= "hr=" + HrToString(hresult) ;
return msg + " (" + hr + ")";
}
// --------------------------------------------
public static String HrToString(int hr) {
if (hr== 0)
return "SUCCESS";
if (hr==0xC00E0002)
return "MQ_ERROR_PROPERTY";
if (hr== 0xC00E0003)
return "MQ_ERROR_QUEUE_NOT_FOUND";
if (hr==0xC00E0005)
return "MQ_ERROR_QUEUE_EXISTS";
if (hr==0xC00E0006)
return "MQ_ERROR_INVALID_PARAMETER";
if (hr==0xC00E0007)
return "MQ_ERROR_INVALID_HANDLE";
if (hr==0xC00E005A)
return "MQ_ERROR_QUEUE_DELETED";
if (hr==0xC00E000B)
return "MQ_ERROR_SERVICE_NOT_AVAILABLE";
if (hr==0xC00E001B)
return "MQ_ERROR_IO_TIMEOUT";
if (hr==0xC00E001E)
return "MQ_ERROR_ILLEGAL_FORMATNAME";
if (hr== 0xC00E0025)
return "MQ_ERROR_ACCESS_DENIED";
if (hr==0xC00E0013)
return "MQ_ERROR_NO_DS";
if (hr==0xC00E003F)
return "MQ_ERROR_INSUFFICIENT_PROPERTIES";
if (hr==0xC00E0014)
return "MQ_ERROR_ILLEGAL_QUEUE_PATHNAME";
if (hr==0xC00E0044)
return "MQ_ERROR_INVALID_OWNER";
if (hr==0xC00E0045)
return "MQ_ERROR_UNSUPPORTED_ACCESS_MODE";
if (hr== 0xC00E0069)
return "MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE";
private static String HrToString(int hr) {
if (hr== 0)
return "SUCCESS";
if (hr==0xC00E0002)
return "MQ_ERROR_PROPERTY";
if (hr== 0xC00E0003)
return "MQ_ERROR_QUEUE_NOT_FOUND";
if (hr==0xC00E0005)
return "MQ_ERROR_QUEUE_EXISTS";
if (hr==0xC00E0006)
return "MQ_ERROR_INVALID_PARAMETER";
if (hr==0xC00E0007)
return "MQ_ERROR_INVALID_HANDLE";
if (hr==0xC00E005A)
return "MQ_ERROR_QUEUE_DELETED";
if (hr==0xC00E000B)
return "MQ_ERROR_SERVICE_NOT_AVAILABLE";
if (hr==0xC00E001B)
return "MQ_ERROR_IO_TIMEOUT";
if (hr==0xC00E001E)
return "MQ_ERROR_ILLEGAL_FORMATNAME";
if (hr== 0xC00E0025)
return "MQ_ERROR_ACCESS_DENIED";
if (hr==0xC00E0013)
return "MQ_ERROR_NO_DS";
if (hr==0xC00E003F)
return "MQ_ERROR_INSUFFICIENT_PROPERTIES";
if (hr==0xC00E0014)
return "MQ_ERROR_ILLEGAL_QUEUE_PATHNAME";
if (hr==0xC00E0044)
return "MQ_ERROR_INVALID_OWNER";
if (hr==0xC00E0045)
return "MQ_ERROR_UNSUPPORTED_ACCESS_MODE";
if (hr== 0xC00E0069)
return "MQ_ERROR_REMOTE_MACHINE_NOT_AVAILABLE";
return "unknown hr (" + hr + ")";
}
return "unknown hr (" + hr + ")";
}
}

View File

@@ -1,184 +1,463 @@
//
// Queue.java
// ------------------------------------------------------------------
//
// Copyright (c) 2006-2010 Dino Chiesa.
// All rights reserved.
//
// This code module is part of MsmqJava, a JNI library that provides
// access to MSMQ for Java on Windows.
//
// ------------------------------------------------------------------
//
// This code is licensed under the Microsoft Public License.
// See the file License.txt for the license details.
// More info on: http://dotnetzip.codeplex.com
//
// ------------------------------------------------------------------
//
// last saved (in emacs):
// Time-stamp: <2010-March-28 15:51:58>
//
// ------------------------------------------------------------------
//
// This module provides the Java Queue object, representing an MSMQ Queue.
//
// ------------------------------------------------------------------
package ionic.Msmq;
public class Queue {
public Queue(String queueName) throws MessageQueueException {
_init(queueName, 0x03); // open with both SEND and RECEIVE access
/**
* The Queue class represents a message queue in MSMQ.
*
* <p>
*
* Applications can instantiate a Queue, then perform send and receive
* operations on the queue, using instances of the Message type.
*
* </p>
* <p>
*
* Queue also exposes several static methods for Queue management, to
* support creation and deletion of message queues.
* </p>
*
*/
public class Queue
{
/**
* <p>
* The Queue.Access enum provides options for access to the MSMQ
* Queue: Either Receive, Send, or both. Specify this when opening a
* queue.
* </p>
*
* <p>
*
* Applications may wish to open queues for only the access they
* need, in order to save resources and memory.
* </p>
*
*/
public enum Access
{
/**
* The queue will be accessible for Receive or READ (or GET)
* operations.
*
**/
RECEIVE(1),
/**
* The queue will be accessible for Send or WRITE (or PUT)
* operations.
*
**/
SEND(2),
/**
* The queue will be accessible for both Send ad Receive
* operations.
*
**/
SEND_AND_RECEIVE(3);
int _accessFlag;
Access(int value)
{
_accessFlag = value;
}
int getValue() { return _accessFlag; }
}
public Queue(String queueName, int access) throws MessageQueueException {
_init(queueName, access);
/**
* <p>Call this constructor to open a queue by name for SEND and
* RECEIVE operations.</p>
*
* <p>Here's an example of how to use it, to send a simple message:</p>
*
* <blockquote class='code'><pre>
* Queue queue= new Queue(fullname);
* String body = "Hello, World!";
* String label = "Greeting";
* String correlationId= "L:none";
* Message msg= new Message(body, label, correlationId);
* queue.send(msg);
* </pre></blockquote>
*
**/
public Queue(String queueName)
throws MessageQueueException
{
_init(queueName, 0x03); // open with both SEND and RECEIVE access
}
void _init(String queueName, int access) throws MessageQueueException {
/**
* Call this constructor to open a queue with the specified access
*
**/
public Queue(String queueName, Queue.Access access)
throws MessageQueueException
{
_init(queueName, access.getValue());
}
private void _init(String queueName, int access)
throws MessageQueueException
{
// the openQueue native method causes the _queueSlot to be set.
int rc = 0;
if (access == 0x01) // RECEIVE
{
rc = nativeOpenQueueForReceive(queueName);
} else if (access == 0x02) // SEND
{
rc = nativeOpenQueueForSend(queueName);
} else if (access == 0x03) // SEND+RECEIVE
{
rc = nativeOpenQueue(queueName);
} else {
rc = 0xC00E0006; /* MQ_INVALID_PARAMETER */
rc= nativeOpenQueueForReceive(queueName);
}
else if (access == 0x02) // SEND
{
rc= nativeOpenQueueForSend(queueName);
}
else if (access == 0x03) // SEND+RECEIVE
{
rc= nativeOpenQueue(queueName);
}
else { rc= 0xC00E0006; /* MQ_INVALID_PARAMETER */ }
if (rc != 0)
throw new MessageQueueException("Cannot open queue.", rc);
if (rc!=0) throw new MessageQueueException("Cannot open queue.", rc);
_name = queueName;
_formatName = "unknown";
_label = "need to set this";
_isTransactional = false; // TODO: get actual value in "openQueue"
_name= queueName;
_formatName= "unknown";
_label= "need to set this";
_isTransactional= false; // TODO: get actual value in "openQueue"
}
public static Queue create(String queuePath, String queueLabel, boolean isTransactional) throws MessageQueueException {
int rc = nativeCreateQueue(queuePath, queueLabel, (isTransactional) ? 1 : 0);
if (rc != 0)
throw new MessageQueueException("Cannot create queue.", rc);
// DIRECT=OS ? or DIRECT=TCP ?
String a1 = "OS";
char[] c = queuePath.toCharArray();
if ((c[0] >= '1') && (c[0] <= '9'))
a1 = "TCP"; // assume ip address
Queue q = new Queue("DIRECT=" + a1 + ":" + queuePath);
q._name = queuePath;
// q._formatName=queueFormatName;
q._label = queueLabel;
q._isTransactional = isTransactional;
/**
* <p>
* Create a queue by name, with the given queue label and transactional access.
* </p>
*
* <p>Example:</p>
*
* <blockquote class='code'><pre>
* String fullname= ".\\private$\\" + qname;
* String qLabel="Created by " + this.getClass().getName() + ".java";
* boolean transactional= false; // should the queue be transactional
* queue= Queue.create(fullname, qLabel, transactional);
* </pre></blockquote>
**/
public static Queue create(String queuePath, String queueLabel, boolean isTransactional)
throws MessageQueueException
{
int rc= nativeCreateQueue( queuePath, queueLabel, (isTransactional)?1:0);
if (rc!=0)
throw new MessageQueueException("Cannot create queue.", rc);
// DIRECT=OS ? or DIRECT=TCP ?
String a1= "OS";
char[] c= queuePath.toCharArray();
if ((c[0]>='1')
&& (c[0]<='9')) a1= "TCP"; // assume ip address
Queue q= new Queue("DIRECT=" + a1 + ":" + queuePath);
q._name= queuePath;
// q._formatName=queueFormatName;
q._label=queueLabel;
q._isTransactional= isTransactional;
return q;
}
public static void delete(String queuePath) throws MessageQueueException {
int rc = nativeDeleteQueue(queuePath);
if (rc != 0)
throw new MessageQueueException("Cannot delete queue.", rc);
/**
* Delete a queue by the given name.
*
**/
public static void delete(String queuePath)
throws MessageQueueException
{
int rc= nativeDeleteQueue( queuePath );
if (rc!=0)
throw new MessageQueueException("Cannot delete queue.", rc);
}
public void send(Message msg) throws MessageQueueException {
int rc = nativeSend(msg.getMessage(), msg.getMessage().length(), msg.getLabel(), msg.getCorrelationId(), msg
.getTransactionFlag());
if (rc != 0)
// -------------------------------------------------------
// Sending methods
// -------------------------------------------------------
/**
* Send a Message, with the given transaction type, and with the
* given setting for high priority.
**/
public void send(Message msg, boolean highPriority, TransactionType t)
throws MessageQueueException
{
int rc= nativeSendBytes(msg.getBody(),
msg.getLabel(),
msg.getCorrelationId(),
t.getValue(),
highPriority
);
if (rc!=0)
throw new MessageQueueException("Cannot send.", rc);
}
public void send(String s) throws MessageQueueException {
int rc = nativeSend(s, s.length(), "", // empty label
"", // empty correlationId
0 // outside any transaction
);
if (rc != 0)
/**
* Send a Message, with the given transaction type.
*
**/
public void send(Message msg, TransactionType t)
throws MessageQueueException
{
send(msg, false, t);
}
/**
* Send a Message, with the given value for high priority.
*
**/
public void send(Message msg, boolean highPriority)
throws MessageQueueException
{
send(msg, highPriority, TransactionType.None);
}
/**
* Send a Message on the queue.
*
**/
public void send(Message msg)
throws MessageQueueException
{
send(msg, false, TransactionType.None);
}
/**
* Send a string as a Message, using UTF-8 encoding.
* The label used will be blank, and the correlationId
* will be null (none).
*
**/
public void send(String s)
throws MessageQueueException, java.io.UnsupportedEncodingException
{
int rc= nativeSendBytes(s.getBytes("UTF-8"), // bytes of string
"", // empty label
null, // empty correlationId
0, // outside any transaction
false // false = not high priority
);
if (rc!=0)
throw new MessageQueueException("Cannot send.", rc);
}
// TODO: add sendMessage() methods for other types: byte[]? object?
private ionic.Msmq.Message receiveEx(int timeout, int ReadOrPeek) throws MessageQueueException {
int rc = nativeReceive(128, timeout, ReadOrPeek);
/**
* Send a byte array as a Message.
* The label used will be blank, and the correlationId
* will be null (none).
*
**/
public void send(byte[] b)
throws MessageQueueException
{
int rc= nativeSendBytes(b,
"", // empty label
null, // empty correlationId
0, // outside any transaction
false // false = not high priority
);
if (rc!=0)
throw new MessageQueueException("Cannot send.", rc);
}
if (rc != 0)
// -------------------------------------------------------
// Receiving methods
// -------------------------------------------------------
private ionic.Msmq.Message _internal_receive(int timeout, int ReadOrPeek)
throws MessageQueueException
{
Message msg = new Message();
int rc = nativeReceiveBytes(msg, timeout, ReadOrPeek);
//int rc = nativeReceiveBytes(timeout, ReadOrPeek);
if (rc!=0)
throw new MessageQueueException("Cannot receive.", rc);
return new Message(_lastMessageRetrieved_MessageString, _lastMessageRetrieved_MessageLabel,
_lastMessageRetrieved_CorrelationId, 0);
return msg;
}
public ionic.Msmq.Message receive(int timeout) throws MessageQueueException {
return receiveEx(timeout, 1);
/**
* Poll the queue to receive one message, with the given timeout.
*
* <p>
*
* If the timeout expires before a message becomes available,
* the method will throw an exception.
**/
public ionic.Msmq.Message receive(int timeout)
throws MessageQueueException
{
return _internal_receive(timeout, 1);
}
public ionic.Msmq.Message receive() throws MessageQueueException {
return receiveEx(0, 1); // infinite timeout
/**
* Poll the queue to receive one message, with an infinite timeout.
*
**/
public ionic.Msmq.Message receive()
throws MessageQueueException
{
return _internal_receive(0,1); // infinite timeout
}
public ionic.Msmq.Message peek() throws MessageQueueException {
return receiveEx(0, 0); // infinite timeout
/**
* Peek at the queue and return a message without dequeueing it.
*
**/
public ionic.Msmq.Message peek()
throws MessageQueueException
{
return _internal_receive(0,0); // infinite timeout
}
public ionic.Msmq.Message peek(int timeout) throws MessageQueueException {
return receiveEx(timeout, 0);
/**
* Peek at the queue and return a message without dequeueing it,
*
* <p>
*
* If the timeout expires before a message becomes available,
* the method will throw an exception.
**/
public ionic.Msmq.Message peek(int timeout)
throws MessageQueueException
{
return _internal_receive(timeout,0);
}
public void close() throws MessageQueueException {
int rc = nativeClose();
if (rc != 0)
/**
* Close the queue.
*
**/
public void close()
throws MessageQueueException
{
int rc=nativeClose();
if (rc!=0)
throw new MessageQueueException("Cannot close.", rc);
}
// --------------------------------------------
// getters on the Queue properties
public String getName() {
return _name;
}
public String getLabel() {
return _label;
}
public String getFormatName() {
return _formatName;
}
/**
* Gets the name of the queue.
*
* @return the name of the queue.
*/
public String getName(){ return _name; }
/**
* Gets the label on the queue.
*
* @return the label on the queue.
*/
public String getLabel(){ return _label; }
/**
* Gets the formatname on the queue.
*
* @return the formatname of the queue.
*/
public String getFormatName(){ return _formatName; }
/**
* Gets the transactional setting for the queue.
*
* @return the transactional setting for the queue.
*/
public boolean isTransactional(){ return _isTransactional; }
public boolean isTransactional() {
return _isTransactional;
}
// --------------------------------------------
// native methods
private static native int nativeInit();
private static native int nativeCreateQueue(String queuePath, String queueLabel, int isTransactional);
private static native int nativeDeleteQueue(String queuePath);
private native int nativeOpenQueue(String queueString);
private native int nativeOpenQueueForSend(String queueString);
private native int nativeOpenQueueForReceive(String queueString);
private native int nativeReceive(int length, int timeout, int ReadOrPeek);
private native int nativeSend(String messageString, int length, String label, String correlationString, int transactionFlag);
private native int nativeSend(String messageString, int length, String label, String correlationId, int transactionFlag);
//private native int nativeReceiveBytes(int timeout, int ReadOrPeek);
private native int nativeReceiveBytes(Message msg, int timeout, int ReadOrPeek);
private native int nativeSendBytes(byte [] messageBytes, String label, byte[] correlationId, int tflag, boolean priority );
private native int nativeClose();
// --------------------------------------------
// private members
int _queueSlot = 0;
int _queueSlot = 0;
String _name;
String _formatName;
String _label;
boolean _isTransactional;
String _lastMessageRetrieved_MessageString;
String _lastMessageRetrieved_MessageLabel;
String _lastMessageRetrieved_CorrelationId;
// --------------------------------------------
// static initializer
static {
// System.loadLibrary("JNIMSMQ");
loadLib();
//System.loadLibrary("MsmqJava");
loadLib();
nativeInit();
}
/* Try extracting and loading library from jar */
private static void loadLib() {
String dllName = "JNIMSMQ.dll";
String dllName = "MsmqJava.dll";
String TMP_HOME = System.getProperty("java.io.tmpdir");
// TMP_HOME = "d:";
String SEPARATOR = System.getProperty("file.separator");

View File

@@ -0,0 +1,93 @@
//
// TransactionType.java
// ------------------------------------------------------------------
//
// Copyright (c) 2006-2010 Dino Chiesa.
// All rights reserved.
//
// This code module is part of MsmqJava, a JNI library that provides
// access to MSMQ for Java on Windows.
//
// ------------------------------------------------------------------
//
// This code is licensed under the Microsoft Public License.
// See the file License.txt for the license details.
// More info on: http://dotnetzip.codeplex.com
//
// ------------------------------------------------------------------
//
// last saved (in emacs):
// Time-stamp: <2010-March-28 15:43:23>
//
// ------------------------------------------------------------------
//
// This module provides the various transaction types for MQ.
//
// ------------------------------------------------------------------
package ionic.Msmq;
/**
* Specifies the transaction type to use when enqueuing messages into a
* transactional queue.
*
*/
public enum TransactionType {
// transactionFlag:
// MQ_NO_TRANSACTION,
// MQ_MTS_TRANSACTION,
// MQ_XA_TRANSACTION, or
// MQ_SINGLE_MESSAGE
// see mq.h for details...
/**
* <p>Specifies that the call is not part of a transaction. This
* transaction type cannot be used to send a message to a transactional
* queue.</p>
*
* <p>Equivalent to MSMQ's MQ_NO_TRANSACTION.</p>
*
*/
None(0),
/**
* <p>If the application is
* running in the context of a COM+ (Component Services)
* transaction, the message is sent within the current COM+
* transaction. Otherwise, the message is sent outside of a
* transaction.</p>
*
* <p>Equivalent to MSMQ's MQ_MTS_TRANSACTION.</p>
*
*/
MTS(1),
/**
* Specifies that the call is part of an externally coordinated,
* XA-compliant transaction.
*
*/
XA(2),
/**
* Specifies that the message is sent in a single-message
* transaction. Messages sent in a single-message transaction must
* be sent to a transactional queue.
*
* <p>Equivalent to MSMQ's MQ_SINGLE_MESSAGE.</p>
*
*/
SINGLE_MESSAGE(3);
int _transactionFlag;
TransactionType(int value)
{
_transactionFlag = value;
}
public int getValue() { return _transactionFlag; }
}

View File

@@ -1,170 +0,0 @@
package org.talend.msmq;
public class CharacterSetToolkit {
public static void main(String[] args)
{
String str = "abc";
str = toUnicode(str, false);
System.out.println(str);
str ="\u4F60\u597D";
str = fromUnicode(str);
System.out.println(str);
}
public CharacterSetToolkit() {
}
private static final char[] hexDigit = {
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
};
private static char toHex(int nibble) {
return hexDigit[(nibble & 0xF)];
}
/*
* Converts unicodes to encoded &#92;uxxxx and escapes
* special characters with a preceding slash
*/
public static String toUnicode(String theString, boolean escapeSpace) {
int len = theString.length();
int bufLen = len * 2;
if (bufLen < 0) {
bufLen = Integer.MAX_VALUE;
}
StringBuffer outBuffer = new StringBuffer(bufLen);
for(int x=0; x<len; x++) {
char aChar = theString.charAt(x);
// Handle common case first, selecting largest block that
// avoids the specials below
if ((aChar > 61) && (aChar < 127)) {
if (aChar == '\\') {
outBuffer.append('\\'); outBuffer.append('\\');
continue;
}
outBuffer.append(aChar);
continue;
}
switch(aChar) {
case ' ':
if (x == 0 || escapeSpace)
outBuffer.append('\\');
outBuffer.append(' ');
break;
case '\t':outBuffer.append('\\'); outBuffer.append('t');
break;
case '\n':outBuffer.append('\\'); outBuffer.append('n');
break;
case '\r':outBuffer.append('\\'); outBuffer.append('r');
break;
case '\f':outBuffer.append('\\'); outBuffer.append('f');
break;
case '=': // Fall through
case ':': // Fall through
case '#': // Fall through
case '!':
outBuffer.append('\\'); outBuffer.append(aChar);
break;
default:
if ((aChar < 0x0020) || (aChar > 0x007e)) {
outBuffer.append('\\');
outBuffer.append('u');
outBuffer.append(toHex((aChar >> 12) & 0xF));
outBuffer.append(toHex((aChar >> 8) & 0xF));
outBuffer.append(toHex((aChar >> 4) & 0xF));
outBuffer.append(toHex( aChar & 0xF));
} else {
outBuffer.append(aChar);
}
}
}
return outBuffer.toString();
}
public static String fromUnicode(String str) {
return fromUnicode(str.toCharArray(), 0, str.length(), new char[1024]);
}
/*
* Converts encoded &#92;uxxxx to unicode chars
* and changes special saved chars to their original forms
*/
public static String fromUnicode(char[] in, int off, int len, char[] convtBuf) {
if (convtBuf.length < len) {
int newLen = len * 2;
if (newLen < 0) {
newLen = Integer.MAX_VALUE;
}
convtBuf = new char[newLen];
}
char aChar;
char[] out = convtBuf;
int outLen = 0;
int end = off + len;
while (off < end) {
aChar = in[off++];
if (aChar == '\\') {
aChar = in[off++];
if (aChar == 'u') {
// Read the xxxx
int value = 0;
for (int i = 0; i < 4; i++) {
aChar = in[off++];
switch (aChar) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value = (value << 4) + aChar - '0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value = (value << 4) + 10 + aChar - 'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value = (value << 4) + 10 + aChar - 'A';
break;
default:
throw new IllegalArgumentException(
"Malformed \\uxxxx encoding.");
}
}
out[outLen++] = (char) value;
} else {
if (aChar == 't') {
aChar = '\t';
} else if (aChar == 'r') {
aChar = '\r';
} else if (aChar == 'n') {
aChar = '\n';
} else if (aChar == 'f') {
aChar = '\f';
}
out[outLen++] = aChar;
}
} else {
out[outLen++] = (char) aChar;
}
}
return new String(out, 0, outLen);
}
}

View File

@@ -1,8 +1,11 @@
package org.talend.msmq;
import java.io.UnsupportedEncodingException;
import ionic.Msmq.Message;
import ionic.Msmq.MessageQueueException;
import ionic.Msmq.Queue;
import ionic.Msmq.TransactionType;
public class MsmqUtil {
@@ -35,7 +38,7 @@ public class MsmqUtil {
msgu.setQueue("ytao4");
msgu.createIfNotExists(true);
msgu.open();
String str = "ÊǵÄabc";
String str = "<EFBFBD>ǵ<EFBFBD>abc";
// str = CharacterSetToolkit.toUnicode(str, true);
// System.out.println(str);
msgu.setMsg(str);
@@ -54,11 +57,13 @@ public class MsmqUtil {
checkOpen();
System.out.println("peek");
Message msg = msmqHandle.peek(2000); // timeout= 2000 ms
System.out.println(" ==> message: " + msg.getMessage());
System.out.println(" ==> message: " + msg.getBodyAsString());
System.out.println(" label: " + msg.getLabel());
} catch (MessageQueueException ex1) {
System.out.println("Peek failure: " + ex1);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
// close an open queue
@@ -109,11 +114,13 @@ public class MsmqUtil {
int transactionFlag = 0; // 0 = NO TRANSACTION, 1= MTS, 2= XA, 3= SINGLE_MESSAGE
String mLabel = "inserted by " + this.getClass().getName() + ".java";
String correlationID = "L:none";
Message msg = new Message(msgContent, mLabel, correlationID, transactionFlag);
Message msg = new Message(msgContent, mLabel, correlationID);
msmqHandle.send(msg);
} catch (MessageQueueException ex1) {
System.out.println("Send failure: " + ex1);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public String receive() {
@@ -123,10 +130,12 @@ public class MsmqUtil {
Message msg = msmqHandle.receive(2000); // timeout= 2000 ms
// System.out.println(" ==> message: " + msg.getMessage());
// System.out.println(" label: " + msg.getLabel());
return CharacterSetToolkit.fromUnicode(msg.getMessage());
return msg.getBodyAsString();
} catch (MessageQueueException ex1) {
System.out.println("Receive failure: " + ex1);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
@@ -175,7 +184,7 @@ public class MsmqUtil {
}
public void setMsg(String msg) {
this.msgContent = CharacterSetToolkit.toUnicode(msg, true);
this.msgContent = msg;
}
public void createIfNotExists(boolean bool) {

View File

@@ -16,7 +16,7 @@
<pathelement location="lib/httpclient-4.0.1.jar"/>
<pathelement location="lib/httpcore-4.0.1.jar"/>
<pathelement location="lib/httpmime-4.0.1.jar"/>
<pathelement location="lib/javacsv-2.0.jar"/>
<pathelement location="lib/talendcsv.jar"/>
</path>
<target name="init">
<mkdir dir="bin"/>

View File

@@ -1,131 +1,138 @@
package org.talend.jpalo;
import org.apache.http.*;
import org.apache.http.client.methods.*;
import org.apache.http.client.utils.*;
import org.apache.http.conn.*;
import org.apache.http.conn.scheme.*;
import org.apache.http.impl.client.*;
import org.apache.http.impl.conn.tsccm.*;
import org.apache.http.message.*;
import org.apache.http.params.*;
//import java.math.BigInteger;
//import java.net.InetAddress;
import java.net.Socket;
import java.net.URI;
import java.nio.charset.Charset;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import com.csvreader.*;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.NameValuePair;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIUtils;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
import com.talend.csv.CSVReader;
public class paloconnection {
private HttpHost paloTargetHost;
private DefaultHttpClient paloHttpClient;
private String strToken = "";
private int iSessionTimeOut=0;
private String strUserName = "";
private String strUserPW = "";
private String strServer = "";
private String strPort = "";
public paloconnection(String strUserName, String strUserPW, String strServer, String strPort) throws paloexception{
super();
this.strUserName = strUserName;
this.strUserPW = strUserPW;
this.strServer = strServer;
this.strPort = strPort;
initConnection();
private HttpHost paloTargetHost;
private DefaultHttpClient paloHttpClient;
private String strToken = "";
private int iSessionTimeOut = 0;
private String strUserName = "";
private String strUserPW = "";
private String strServer = "";
private String strPort = "";
public paloconnection(String strUserName, String strUserPW, String strServer, String strPort) throws paloexception {
super();
this.strUserName = strUserName;
this.strUserPW = strUserPW;
this.strServer = strServer;
this.strPort = strPort;
initConnection();
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("user", this.strUserName));
qparams.add(new BasicNameValuePair("password", palohelpers.getMD5(this.strUserPW)));
try{
HttpEntity entity = sendToServer(qparams, "/server/login");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
this.strToken = csv.get(0);
this.iSessionTimeOut = Integer.valueOf(csv.get(1));
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.toString());
}
}
public String getPaloToken(){
return strToken;
}
public int getSessionTimeout(){
return iSessionTimeOut;
}
public palodatabases getDatabases()throws paloexception {
return new palodatabases(this);
}
// Load the Server
public void load() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
sendToServerSingleRC(qparams, "/server/load");
}
// Saves the Server
public void save() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
sendToServerSingleRC(qparams, "/server/save");
}
// Shutdowns the Server
public void shutdown() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
sendToServerSingleRC(qparams, "/server/shutdown");
}
// Logouts the current palo User
public void logout() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
try{
HttpEntity entity = sendToServer(qparams, "/server/logout");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(sendToServer(qparams, "/server/logout").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
csv.close();
entity.consumeContent();
//paloHttpClient.getConnectionManager().shutdown();
}catch(Exception e){
throw new paloexception(e.getMessage());
try {
HttpEntity entity = sendToServer(qparams, "/server/login");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strToken = csv.get(0);
this.iSessionTimeOut = Integer.valueOf(csv.get(1));
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.toString());
}
}
private void initConnection(){
pingPaloServer();
paloTargetHost = new HttpHost(strServer, Integer.valueOf(strPort), "http");
}
public String getPaloToken() {
return strToken;
}
public int getSessionTimeout() {
return iSessionTimeOut;
}
public palodatabases getDatabases() throws paloexception {
return new palodatabases(this);
}
// Load the Server
public void load() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
sendToServerSingleRC(qparams, "/server/load");
}
// Saves the Server
public void save() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
sendToServerSingleRC(qparams, "/server/save");
}
// Shutdowns the Server
public void shutdown() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
sendToServerSingleRC(qparams, "/server/shutdown");
}
// Logouts the current palo User
public void logout() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.strToken));
try {
HttpEntity entity = sendToServer(qparams, "/server/logout");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
// CsvReader csv = new CsvReader(sendToServer(qparams, "/server/logout").getContent(),
// Charset.defaultCharset());
csv.setQuoteChar('"');
csv.readNext();
csv.close();
entity.consumeContent();
// paloHttpClient.getConnectionManager().shutdown();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
private void initConnection() {
pingPaloServer();
paloTargetHost = new HttpHost(strServer, Integer.valueOf(strPort), "http");
SchemeRegistry supportedSchemes = new SchemeRegistry();
supportedSchemes.register(new Scheme("http",PlainSocketFactory.getSocketFactory(), Integer.valueOf(strPort)));
supportedSchemes.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), Integer.valueOf(strPort)));
// prepare parameters
HttpParams params = new BasicHttpParams();
@@ -133,134 +140,129 @@ public class paloconnection {
HttpProtocolParams.setContentCharset(params, "UTF-8");
HttpProtocolParams.setUseExpectContinue(params, true);
ClientConnectionManager connMgr = new ThreadSafeClientConnManager(params,supportedSchemes);
ClientConnectionManager connMgr = new ThreadSafeClientConnManager(params, supportedSchemes);
paloHttpClient = new DefaultHttpClient(connMgr, params);
}
private void pingPaloServer(){
try{
//int timeOut = 1000; // I recommend 3 seconds at least int timeout = 3000; / / Ich empfehle 3 Sekunden mindestens
//boolean status = InetAddress.getByName(strServer).isReachable(timeOut);
Socket s = new Socket(strServer, Integer.valueOf(strPort));
s.close();
}catch(Exception e){
}
}
// Retrieves only true or false based on the given connection
public boolean sendToServerSingleRC(List<NameValuePair> qparams, String strAPIUrl) throws paloexception{
try{
HttpEntity entity = sendToServer(qparams, strAPIUrl);
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(sendToServer(qparams, strAPIUrl).getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
boolean bStatus = Boolean.getBoolean(csv.get(0));
csv.close();
entity.consumeContent();
return bStatus;
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public HttpEntity sendToServer(List<NameValuePair> qparams, String strAPIUrl) throws paloexception{
try{
URI uri = URIUtils.createURI("http", strServer, Integer.valueOf(strPort), strAPIUrl, URLEncodedUtils.format(qparams, "UTF-8"), null);
HttpGet req = new HttpGet(uri);
// System.out.println(req.getURI());
// Send to Server
HttpResponse rsp = paloHttpClient.execute(paloTargetHost, req);
HttpEntity entity = rsp.getEntity();
///System.out.println(rsp.getStatusLine().getStatusCode());
if(rsp.getStatusLine().getStatusCode()!=200){
// Error had been occured
// Close Connection and thend raise paloexception error
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
paloexception plX = new paloexception(csv.get(0),csv.get(1),csv.get(2));
csv.close();
entity.consumeContent();
//req.abort();
//paloHttpClient.getConnectionManager().shutdown();
throw(plX);
}else{
return entity;
}
}catch(Exception e){
//if(paloHttpClient!=null)paloHttpClient.getConnectionManager().shutdown();
throw new paloexception(e.getMessage());
}
}
public String getRulefunctions()throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", getPaloToken()));
try{
StringBuilder sb = new StringBuilder();
HttpEntity entity = sendToServer(qparams, "/rule/functions");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
sb.append(csv.get(0));
}
csv.close();
entity.consumeContent();
return sb.toString();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public String getVersion() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("", ""));
try{
StringBuilder sb = new StringBuilder();
HttpEntity entity = sendToServer(qparams, "/server/info");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
sb.append(csv.get(0));
sb.append(".");
sb.append(csv.get(1));
sb.append(".");
sb.append(csv.get(2));
sb.append(".");
sb.append(csv.get(3));
}
csv.close();
entity.consumeContent();
return sb.toString();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
protected void finalize() throws Throwable {
try {
if(paloHttpClient!=null)paloHttpClient.getConnectionManager().shutdown();
} catch(Exception e) {
}
finally {
super.finalize();
}
}
private void pingPaloServer() {
try {
// int timeOut = 1000; // I recommend 3 seconds at least int timeout = 3000; / / Ich empfehle 3 Sekunden
// mindestens
// boolean status = InetAddress.getByName(strServer).isReachable(timeOut);
Socket s = new Socket(strServer, Integer.valueOf(strPort));
s.close();
} catch (Exception e) {
}
}
// Retrieves only true or false based on the given connection
public boolean sendToServerSingleRC(List<NameValuePair> qparams, String strAPIUrl) throws paloexception {
try {
HttpEntity entity = sendToServer(qparams, strAPIUrl);
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
// CsvReader csv = new CsvReader(sendToServer(qparams, strAPIUrl).getContent(), Charset.defaultCharset());
csv.setQuoteChar('"');
csv.readNext();
boolean bStatus = Boolean.getBoolean(csv.get(0));
csv.close();
entity.consumeContent();
return bStatus;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public HttpEntity sendToServer(List<NameValuePair> qparams, String strAPIUrl) throws paloexception {
try {
URI uri = URIUtils.createURI("http", strServer, Integer.valueOf(strPort), strAPIUrl,
URLEncodedUtils.format(qparams, "UTF-8"), null);
HttpGet req = new HttpGet(uri);
// System.out.println(req.getURI());
// Send to Server
HttpResponse rsp = paloHttpClient.execute(paloTargetHost, req);
HttpEntity entity = rsp.getEntity();
// /System.out.println(rsp.getStatusLine().getStatusCode());
if (rsp.getStatusLine().getStatusCode() != 200) {
// Error had been occured
// Close Connection and thend raise paloexception error
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
paloexception plX = new paloexception(csv.get(0), csv.get(1), csv.get(2));
csv.close();
entity.consumeContent();
// req.abort();
// paloHttpClient.getConnectionManager().shutdown();
throw (plX);
} else {
return entity;
}
} catch (Exception e) {
// if(paloHttpClient!=null)paloHttpClient.getConnectionManager().shutdown();
throw new paloexception(e.getMessage());
}
}
public String getRulefunctions() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", getPaloToken()));
try {
StringBuilder sb = new StringBuilder();
HttpEntity entity = sendToServer(qparams, "/rule/functions");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
sb.append(csv.get(0));
}
csv.close();
entity.consumeContent();
return sb.toString();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public String getVersion() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("", ""));
try {
StringBuilder sb = new StringBuilder();
HttpEntity entity = sendToServer(qparams, "/server/info");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
sb.append(csv.get(0));
sb.append(".");
sb.append(csv.get(1));
sb.append(".");
sb.append(csv.get(2));
sb.append(".");
sb.append(csv.get(3));
}
csv.close();
entity.consumeContent();
return sb.toString();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
@Override
protected void finalize() throws Throwable {
try {
if (paloHttpClient != null) {
paloHttpClient.getConnectionManager().shutdown();
}
} catch (Exception e) {
} finally {
super.finalize();
}
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -8,216 +7,219 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palocube {
// OK
// OK
//@SuppressWarnings("unused")
//private ArrayList<palocubelock> paloCubelocks = new ArrayList<palocubelock>();
private paloconnection plConn;
private long lDatabaseId;
// @SuppressWarnings("unused")
// private ArrayList<palocubelock> paloCubelocks = new ArrayList<palocubelock>();
private int iCubeId;
private String strCubeName;
private int iNumberOfDimensions;
private int[] iArrDimensionsIdentifier;
private long iNumberOfCells;
private long lNumberOfFilledCells;
private int iCubeStatus;
private int iCubeType;
@SuppressWarnings("unused")
private int iCubeToken;
public palocube(paloconnection plConn, long lDatabaseId,
int iCubeId, //0 cube identifier Identifier of the cube
String strCubeName, //1 name_cube string Name of the cube
int iNumberOfDimensions, //2 number_dimensions integer Number of dimensions
int[] iArrDimensionsIdentifier, //3 dimensions integer Comma separate list of dimension identifiers
long lNumberOfCells, //4 number_cells integer Total number of cells
long lNumberOfFilledCells,//5 number_filled_cells integer Number of filled numeric base cells plus number of filled string cells
int iCubeStatus, //6 status integer Status of cube (0=unloaded, 1=loaded and 2=changed)
int iCubeType, //7 type integer Type of cube (0=normal, 1=system, 2=attribute, 3=user info)
int strCubeToken//8 cube_token integer The cube token of the cube
){
super();
this.plConn = plConn;
this.lDatabaseId=lDatabaseId;
this.iCubeId=iCubeId;
this.strCubeName=strCubeName;
this.iNumberOfDimensions=iNumberOfDimensions;
this.iArrDimensionsIdentifier=iArrDimensionsIdentifier;
this.iNumberOfCells=lNumberOfCells;
this.lNumberOfFilledCells=lNumberOfFilledCells;
this.iCubeStatus=iCubeStatus;
this.iCubeType=iCubeType;
this.iCubeToken=strCubeToken;
}
private paloconnection plConn;
public String getName(){
return strCubeName;
}
private long lDatabaseId;
public String getDatabaseName(){
return "";//strDatabaseName;
}
public void rename(String strCubeNewName) throws paloexception{
if(null!=strCubeNewName && strCubeNewName.length()>0 && !strCubeName.equals(strCubeNewName)){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(iCubeId)));
qparams.add(new BasicNameValuePair("new_name", strCubeNewName));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/rename");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/cube/rename").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
this.strCubeName = csv.get(1);
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
}
public int getCubeId(){
return iCubeId;
}
public int getNumberOfDimensions(){
return iNumberOfDimensions;
}
public long getNumberOfCells(){
return iNumberOfCells;
}
public long getNumberOfFilledCells(){
return lNumberOfFilledCells;
}
public int getCubeStatus(){
return iCubeStatus;
}
public int getCubeType(){
return iCubeType;
}
public void save()throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
plConn.sendToServerSingleRC(qparams, "/cube/save");
}
private int iCubeId;
public void load() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
plConn.sendToServerSingleRC(qparams, "/cube/load");
}
private String strCubeName;
public void unload() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
plConn.sendToServerSingleRC(qparams, "/cube/unload");
}
public void refreshCubeInfo() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(iCubeId)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/info");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
private int iNumberOfDimensions;
this.iCubeId = palohelpers.StringToInt(csv.get(0));
this.strCubeName = csv.get(1);
this.iNumberOfDimensions=palohelpers.StringToInt(csv.get(2));
this.iArrDimensionsIdentifier=palohelpers.StringToIntArray(csv.get(3), palohelpers.StringToInt(csv.get(2)));
this.iNumberOfCells=palohelpers.StringToLong(csv.get(4));
this.lNumberOfFilledCells=palohelpers.StringToLong(csv.get(5));
this.iCubeStatus=palohelpers.StringToInt(csv.get(6));
this.iCubeType=palohelpers.StringToInt(csv.get(7));
this.iCubeToken=palohelpers.StringToInt(csv.get(8));
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public void clear() throws paloexception{
clear(null);
}
public void clear(String strArrArea) throws paloexception{
private int[] iArrDimensionsIdentifier;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(iCubeId)));
if(strArrArea==null){
qparams.add(new BasicNameValuePair("complete", "1"));
}else{
//qparams.add(new BasicNameValuePair("complete", "0"));
qparams.add(new BasicNameValuePair("area", strArrArea));
}
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/clear");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
private long iNumberOfCells;
this.iCubeId = palohelpers.StringToInt(csv.get(0));
this.strCubeName = csv.get(1);
this.iNumberOfDimensions=palohelpers.StringToInt(csv.get(2));
this.iArrDimensionsIdentifier=palohelpers.StringToIntArray(csv.get(3), palohelpers.StringToInt(csv.get(2)));
this.iNumberOfCells=palohelpers.StringToLong(csv.get(4));
this.lNumberOfFilledCells=palohelpers.StringToLong(csv.get(5));
this.iCubeStatus=palohelpers.StringToInt(csv.get(6));
this.iCubeType=palohelpers.StringToInt(csv.get(7));
this.iCubeToken=palohelpers.StringToInt(csv.get(8));
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public palorules getCubeRules() throws paloexception {
return new palorules(this.plConn, this.lDatabaseId, this.iCubeId);
}
private long lNumberOfFilledCells;
public palodimensions getDimensions() throws paloexception {
return new palodimensions(this.plConn, this.lDatabaseId, this.iCubeType, this.iArrDimensionsIdentifier);
}
private int iCubeStatus;
private int iCubeType;
@SuppressWarnings("unused")
private int iCubeToken;
public palocube(paloconnection plConn, long lDatabaseId, int iCubeId, // 0 cube identifier Identifier of the cube
String strCubeName, // 1 name_cube string Name of the cube
int iNumberOfDimensions, // 2 number_dimensions integer Number of dimensions
int[] iArrDimensionsIdentifier, // 3 dimensions integer Comma separate list of dimension identifiers
long lNumberOfCells, // 4 number_cells integer Total number of cells
long lNumberOfFilledCells,// 5 number_filled_cells integer Number of filled numeric base cells plus number
// of filled string cells
int iCubeStatus, // 6 status integer Status of cube (0=unloaded, 1=loaded and 2=changed)
int iCubeType, // 7 type integer Type of cube (0=normal, 1=system, 2=attribute, 3=user info)
int strCubeToken// 8 cube_token integer The cube token of the cube
) {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.iCubeId = iCubeId;
this.strCubeName = strCubeName;
this.iNumberOfDimensions = iNumberOfDimensions;
this.iArrDimensionsIdentifier = iArrDimensionsIdentifier;
this.iNumberOfCells = lNumberOfCells;
this.lNumberOfFilledCells = lNumberOfFilledCells;
this.iCubeStatus = iCubeStatus;
this.iCubeType = iCubeType;
this.iCubeToken = strCubeToken;
}
public String getName() {
return strCubeName;
}
public String getDatabaseName() {
return "";// strDatabaseName;
}
public void rename(String strCubeNewName) throws paloexception {
if (null != strCubeNewName && strCubeNewName.length() > 0 && !strCubeName.equals(strCubeNewName)) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(iCubeId)));
qparams.add(new BasicNameValuePair("new_name", strCubeNewName));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/rename");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strCubeName = csv.get(1);
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
}
public int getCubeId() {
return iCubeId;
}
public int getNumberOfDimensions() {
return iNumberOfDimensions;
}
public long getNumberOfCells() {
return iNumberOfCells;
}
public long getNumberOfFilledCells() {
return lNumberOfFilledCells;
}
public int getCubeStatus() {
return iCubeStatus;
}
public int getCubeType() {
return iCubeType;
}
public void save() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
plConn.sendToServerSingleRC(qparams, "/cube/save");
}
public void load() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
plConn.sendToServerSingleRC(qparams, "/cube/load");
}
public void unload() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
plConn.sendToServerSingleRC(qparams, "/cube/unload");
}
public void refreshCubeInfo() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(iCubeId)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/info");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.iCubeId = palohelpers.StringToInt(csv.get(0));
this.strCubeName = csv.get(1);
this.iNumberOfDimensions = palohelpers.StringToInt(csv.get(2));
this.iArrDimensionsIdentifier = palohelpers.StringToIntArray(csv.get(3), palohelpers.StringToInt(csv.get(2)));
this.iNumberOfCells = palohelpers.StringToLong(csv.get(4));
this.lNumberOfFilledCells = palohelpers.StringToLong(csv.get(5));
this.iCubeStatus = palohelpers.StringToInt(csv.get(6));
this.iCubeType = palohelpers.StringToInt(csv.get(7));
this.iCubeToken = palohelpers.StringToInt(csv.get(8));
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public void clear() throws paloexception {
clear(null);
}
public void clear(String strArrArea) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(iCubeId)));
if (strArrArea == null) {
qparams.add(new BasicNameValuePair("complete", "1"));
} else {
// qparams.add(new BasicNameValuePair("complete", "0"));
qparams.add(new BasicNameValuePair("area", strArrArea));
}
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/clear");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.iCubeId = palohelpers.StringToInt(csv.get(0));
this.strCubeName = csv.get(1);
this.iNumberOfDimensions = palohelpers.StringToInt(csv.get(2));
this.iArrDimensionsIdentifier = palohelpers.StringToIntArray(csv.get(3), palohelpers.StringToInt(csv.get(2)));
this.iNumberOfCells = palohelpers.StringToLong(csv.get(4));
this.lNumberOfFilledCells = palohelpers.StringToLong(csv.get(5));
this.iCubeStatus = palohelpers.StringToInt(csv.get(6));
this.iCubeType = palohelpers.StringToInt(csv.get(7));
this.iCubeToken = palohelpers.StringToInt(csv.get(8));
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public palorules getCubeRules() throws paloexception {
return new palorules(this.plConn, this.lDatabaseId, this.iCubeId);
}
public palodimensions getDimensions() throws paloexception {
return new palodimensions(this.plConn, this.lDatabaseId, this.iCubeType, this.iArrDimensionsIdentifier);
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -8,260 +7,248 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palocubes {
public static final int CUBE_NORMAL = 0;
public static final int CUBE_SYSTEM= 1;
public static final int CUBE_ATTRIBUT = 2;
public static final int CUBE_USER_INFO = 3;
public static final int CUBE_UNKNOWN = -1;
public static final int CUBE_STATUS_UNLOADED = 0;
public static final int CUBE_STATUS_LOADED = 1;
public static final int CUBE_STATUS_CHANGED = 2;
public static final int CUBE_STATUS_UNKNOWN = -1;
private paloconnection plConn;
private palodatabase plDB;
private ArrayList<palocube> paloCubes = new ArrayList<palocube>();
public palocubes(paloconnection plConn, palodatabase plDB, int iCubeType) throws paloexception{
super();
this.plConn = plConn;
this.plDB = plDB;
public static final int CUBE_NORMAL = 0;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
public static final int CUBE_SYSTEM = 1;
switch(iCubeType){
case CUBE_NORMAL:
qparams.add(new BasicNameValuePair("show_info","0"));
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_system","0"));
break;
case CUBE_SYSTEM:
qparams.add(new BasicNameValuePair("show_info","0"));
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_system","1"));
break;
case CUBE_ATTRIBUT:
qparams.add(new BasicNameValuePair("show_info","0"));
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_system","0"));
break;
case CUBE_USER_INFO:
qparams.add(new BasicNameValuePair("show_info","1"));
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_system","0"));
break;
case CUBE_UNKNOWN:
qparams.add(new BasicNameValuePair("show_info","1"));
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_system","1"));
break;
}
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/cubes");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
palocube plCube = new palocube(plConn, plDB.getDatabaseId(),
palohelpers.StringToInt(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToIntArray(csv.get(3), palohelpers.StringToInt(csv.get(2))),
palohelpers.StringToLong(csv.get(4)),
palohelpers.StringToLong(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToInt(csv.get(8))
);
paloCubes.add(plCube);
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public palocubes(paloconnection plConn, long lDatabaseId, int iCubeType, int iDimensionId) throws paloexception{
super();
this.plConn = plConn;
public static final int CUBE_ATTRIBUT = 2;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(iDimensionId)));
switch(iCubeType){
case CUBE_NORMAL:
qparams.add(new BasicNameValuePair("show_info","0"));
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_system","0"));
break;
case CUBE_SYSTEM:
qparams.add(new BasicNameValuePair("show_info","0"));
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_system","1"));
break;
case CUBE_ATTRIBUT:
qparams.add(new BasicNameValuePair("show_info","0"));
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_system","0"));
break;
case CUBE_USER_INFO:
qparams.add(new BasicNameValuePair("show_info","1"));
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_system","0"));
break;
case CUBE_UNKNOWN:
qparams.add(new BasicNameValuePair("show_info","1"));
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_system","1"));
break;
}
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/cubes");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
palocube plCube = new palocube(plConn, lDatabaseId,
palohelpers.StringToInt(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToIntArray(csv.get(3), palohelpers.StringToInt(csv.get(2))),
palohelpers.StringToLong(csv.get(4)),
palohelpers.StringToLong(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToInt(csv.get(8))
);
paloCubes.add(plCube);
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public static final int CUBE_USER_INFO = 3;
public int getNumberOfCubes(){
return paloCubes.size();
}
public palocube getCube(int iIndex){
return paloCubes.get(iIndex);
}
public ArrayList<palocube> getCubes(){
return paloCubes;
}
public void deleteCube(String strCubeName) throws paloexception{
palocube paloCubeToRemove = getCube(strCubeName);
if(null != paloCubeToRemove){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("cube", String.valueOf(paloCubeToRemove.getCubeId())));
plConn.sendToServerSingleRC(qparams, "/cube/destroy");
paloCubes.remove(paloCubeToRemove);
}
}
public palocube getCube(String strCubeName){
for(palocube paloCube : paloCubes){
if(paloCube.getName().equals(strCubeName)) return paloCube;
}
return null;
}
public palocube getCubeByIdentifier(int iCubeId){
for(palocube paloCube : paloCubes){
if(paloCube.getCubeId()==iCubeId) return paloCube;
}
return null;
}
public palocube createCube(String strCubeName, String[] strArrDimensions, int iType) throws paloexception{
palodimensions plDIMs = plDB.getDimensions(iType);
StringBuilder sbDimensionsToCreate = new StringBuilder();
int iPos=0;
for(String strDimensionName : strArrDimensions){
if(iPos>0)sbDimensionsToCreate.append(",");
palodimension plDIM = plDIMs.getDimension(strDimensionName);
if(null==plDIM)sbDimensionsToCreate.append("-1");
else sbDimensionsToCreate.append(plDIMs.getDimension(strDimensionName).getDimensionId());
iPos++;
}
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("new_name", strCubeName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iType)));
qparams.add(new BasicNameValuePair("dimensions", sbDimensionsToCreate.toString()));
try{
palocube plCube=null;
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/create");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
//System.out.println(csv.getRawRecord());
plCube = new palocube(plConn, plDB.getDatabaseId(),
palohelpers.StringToInt(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToIntArray(csv.get(3), palohelpers.StringToInt(csv.get(2))),
palohelpers.StringToLong(csv.get(4)),
palohelpers.StringToLong(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToInt(csv.get(8))
);
paloCubes.add(plCube);
}
csv.close();
entity.consumeContent();
return plCube;
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public static final int CUBE_UNKNOWN = -1;
public static final int CUBE_STATUS_UNLOADED = 0;
public static final int CUBE_STATUS_LOADED = 1;
public static final int CUBE_STATUS_CHANGED = 2;
public static final int CUBE_STATUS_UNKNOWN = -1;
private paloconnection plConn;
private palodatabase plDB;
private ArrayList<palocube> paloCubes = new ArrayList<palocube>();
public palocubes(paloconnection plConn, palodatabase plDB, int iCubeType) throws paloexception {
super();
this.plConn = plConn;
this.plDB = plDB;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
switch (iCubeType) {
case CUBE_NORMAL:
qparams.add(new BasicNameValuePair("show_info", "0"));
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_system", "0"));
break;
case CUBE_SYSTEM:
qparams.add(new BasicNameValuePair("show_info", "0"));
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_system", "1"));
break;
case CUBE_ATTRIBUT:
qparams.add(new BasicNameValuePair("show_info", "0"));
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_system", "0"));
break;
case CUBE_USER_INFO:
qparams.add(new BasicNameValuePair("show_info", "1"));
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_system", "0"));
break;
case CUBE_UNKNOWN:
qparams.add(new BasicNameValuePair("show_info", "1"));
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_system", "1"));
break;
}
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/cubes");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
palocube plCube = new palocube(plConn, plDB.getDatabaseId(), palohelpers.StringToInt(csv.get(0)), csv.get(1),
palohelpers.StringToInt(csv.get(2)), palohelpers.StringToIntArray(csv.get(3),
palohelpers.StringToInt(csv.get(2))), palohelpers.StringToLong(csv.get(4)),
palohelpers.StringToLong(csv.get(5)), palohelpers.StringToInt(csv.get(6)), palohelpers.StringToInt(csv
.get(7)), palohelpers.StringToInt(csv.get(8)));
paloCubes.add(plCube);
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public palocubes(paloconnection plConn, long lDatabaseId, int iCubeType, int iDimensionId) throws paloexception {
super();
this.plConn = plConn;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(iDimensionId)));
switch (iCubeType) {
case CUBE_NORMAL:
qparams.add(new BasicNameValuePair("show_info", "0"));
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_system", "0"));
break;
case CUBE_SYSTEM:
qparams.add(new BasicNameValuePair("show_info", "0"));
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_system", "1"));
break;
case CUBE_ATTRIBUT:
qparams.add(new BasicNameValuePair("show_info", "0"));
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_system", "0"));
break;
case CUBE_USER_INFO:
qparams.add(new BasicNameValuePair("show_info", "1"));
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_system", "0"));
break;
case CUBE_UNKNOWN:
qparams.add(new BasicNameValuePair("show_info", "1"));
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_system", "1"));
break;
}
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/cubes");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
palocube plCube = new palocube(plConn, lDatabaseId, palohelpers.StringToInt(csv.get(0)), csv.get(1),
palohelpers.StringToInt(csv.get(2)), palohelpers.StringToIntArray(csv.get(3),
palohelpers.StringToInt(csv.get(2))), palohelpers.StringToLong(csv.get(4)),
palohelpers.StringToLong(csv.get(5)), palohelpers.StringToInt(csv.get(6)), palohelpers.StringToInt(csv
.get(7)), palohelpers.StringToInt(csv.get(8)));
paloCubes.add(plCube);
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public int getNumberOfCubes() {
return paloCubes.size();
}
public palocube getCube(int iIndex) {
return paloCubes.get(iIndex);
}
public ArrayList<palocube> getCubes() {
return paloCubes;
}
public void deleteCube(String strCubeName) throws paloexception {
palocube paloCubeToRemove = getCube(strCubeName);
if (null != paloCubeToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("cube", String.valueOf(paloCubeToRemove.getCubeId())));
plConn.sendToServerSingleRC(qparams, "/cube/destroy");
paloCubes.remove(paloCubeToRemove);
}
}
public palocube getCube(String strCubeName) {
for (palocube paloCube : paloCubes) {
if (paloCube.getName().equals(strCubeName)) {
return paloCube;
}
}
return null;
}
public palocube getCubeByIdentifier(int iCubeId) {
for (palocube paloCube : paloCubes) {
if (paloCube.getCubeId() == iCubeId) {
return paloCube;
}
}
return null;
}
public palocube createCube(String strCubeName, String[] strArrDimensions, int iType) throws paloexception {
palodimensions plDIMs = plDB.getDimensions(iType);
StringBuilder sbDimensionsToCreate = new StringBuilder();
int iPos = 0;
for (String strDimensionName : strArrDimensions) {
if (iPos > 0) {
sbDimensionsToCreate.append(",");
}
palodimension plDIM = plDIMs.getDimension(strDimensionName);
if (null == plDIM) {
sbDimensionsToCreate.append("-1");
} else {
sbDimensionsToCreate.append(plDIMs.getDimension(strDimensionName).getDimensionId());
}
iPos++;
}
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("new_name", strCubeName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iType)));
qparams.add(new BasicNameValuePair("dimensions", sbDimensionsToCreate.toString()));
try {
palocube plCube = null;
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/create");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
// System.out.println(csv.getRawRecord());
plCube = new palocube(plConn, plDB.getDatabaseId(), palohelpers.StringToInt(csv.get(0)), csv.get(1),
palohelpers.StringToInt(csv.get(2)), palohelpers.StringToIntArray(csv.get(3),
palohelpers.StringToInt(csv.get(2))), palohelpers.StringToLong(csv.get(4)),
palohelpers.StringToLong(csv.get(5)), palohelpers.StringToInt(csv.get(6)), palohelpers.StringToInt(csv
.get(7)), palohelpers.StringToInt(csv.get(8)));
paloCubes.add(plCube);
}
csv.close();
entity.consumeContent();
return plCube;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
}

View File

@@ -1,216 +1,223 @@
package org.talend.jpalo;
import com.csvreader.CsvReader;
import java.nio.charset.Charset;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.message.BasicNameValuePair;
import com.talend.csv.CSVReader;
public class palodata {
public palodata() {
alPaloElements = new ArrayList();
htPaloResultData = new Hashtable();
lstDimensionElements = new LinkedList();
}
public palodata() {
alPaloElements = new ArrayList();
htPaloResultData = new Hashtable();
lstDimensionElements = new LinkedList();
}
public palodata(paloconnection plConn, palodatabase plDB, palocube paloCube)
public palodata(paloconnection plConn, palodatabase plDB, palocube paloCube)
{
alPaloElements = new ArrayList();
htPaloResultData = new Hashtable();
lstDimensionElements = new LinkedList();
this.plConn = plConn;
lDatabaseId = plDB.getDatabaseId();
plCube = paloCube;
}
{
alPaloElements = new ArrayList();
htPaloResultData = new Hashtable();
lstDimensionElements = new LinkedList();
this.plConn = plConn;
lDatabaseId = plDB.getDatabaseId();
plCube = paloCube;
}
public palodata(paloconnection plConn, palodatabase plDB,
palocube paloCube, ArrayList alPaloElements,
String strDimensionElementsArray[][], int iBatchSize) {
this.alPaloElements = new ArrayList();
htPaloResultData = new Hashtable();
lstDimensionElements = new LinkedList();
this.plConn = plConn;
lDatabaseId = plDB.getDatabaseId();
plCube = paloCube;
this.alPaloElements = alPaloElements;
this.strDimensionElementsArray = strDimensionElementsArray;
public palodata(paloconnection plConn, palodatabase plDB, palocube paloCube, ArrayList alPaloElements,
String strDimensionElementsArray[][], int iBatchSize) {
this.alPaloElements = new ArrayList();
htPaloResultData = new Hashtable();
lstDimensionElements = new LinkedList();
this.plConn = plConn;
lDatabaseId = plDB.getDatabaseId();
plCube = paloCube;
this.alPaloElements = alPaloElements;
this.strDimensionElementsArray = strDimensionElementsArray;
this.iBatchSize = iBatchSize;
htPaloResultData = new Hashtable();
buildDimElemIteratorFromArray();
}
this.iBatchSize = iBatchSize;
htPaloResultData = new Hashtable();
buildDimElemIteratorFromArray();
}
private void buildDimElemIteratorFromArray() {
iDimensionElementLength = strDimensionElementsArray.length;
for (int i = 0; i < strDimensionElementsArray.length; i++)
private void buildDimElemIteratorFromArray() {
iDimensionElementLength = strDimensionElementsArray.length;
for (String[] element : strDimensionElementsArray) {
lstDimensionElements.add(Arrays.asList(element));
}
lstDimensionElements.add(Arrays
.asList(strDimensionElementsArray[i]));
itDimensionElements = palohelpers.finiteCartesianProduct(lstDimensionElements).iterator();
}
itDimensionElements = palohelpers.finiteCartesianProduct(
lstDimensionElements).iterator();
}
public boolean getResults() throws paloexception {
int iRowCounter = 0;
List lstDimensionElementArray = new LinkedList();
htPaloResultData = new Hashtable();
for (; itDimensionElements.hasNext() && iRowCounter < iBatchSize; iRowCounter++) {
List x = (List) itDimensionElements.next();
for (int i = 0; i < x.size(); i++) {
lstDimensionElementArray.add(x.get(i));
}
public boolean getResults() throws paloexception {
int iRowCounter = 0;
List lstDimensionElementArray = new LinkedList();
htPaloResultData = new Hashtable();
for (; itDimensionElements.hasNext() && iRowCounter < iBatchSize; iRowCounter++) {
List x = (List) itDimensionElements.next();
for (int i = 0; i < x.size(); i++)
lstDimensionElementArray.add((String) x.get(i));
}
}
int iPos = 0;
int iCoordPos = 0;
StringBuilder sbCoordinates = new StringBuilder();
for (Iterator iterator = lstDimensionElementArray.iterator(); iterator.hasNext();) {
String strCoordElement = (String) iterator.next();
if (iPos > 0) {
sbCoordinates.append(",");
}
paloelement plElm = ((paloelements) alPaloElements.get(iCoordPos)).getElement(strCoordElement);
if (plElm == null) {
sbCoordinates.append("-1");
} else {
sbCoordinates.append(plElm.getElementIdentifier());
}
iPos++;
if (++iCoordPos >= iDimensionElementLength) {
iCoordPos = 0;
sbCoordinates.append(":");
iPos = 0;
}
}
int iPos = 0;
int iCoordPos = 0;
StringBuilder sbCoordinates = new StringBuilder();
for (Iterator iterator = lstDimensionElementArray.iterator(); iterator
.hasNext();) {
String strCoordElement = (String) iterator.next();
if (iPos > 0)
sbCoordinates.append(",");
paloelement plElm = ((paloelements) alPaloElements.get(iCoordPos))
.getElement(strCoordElement);
if (plElm == null)
sbCoordinates.append("-1");
else
sbCoordinates.append(plElm.getElementIdentifier());
iPos++;
if (++iCoordPos >= iDimensionElementLength) {
iCoordPos = 0;
sbCoordinates.append(":");
iPos = 0;
}
}
if (iRowCounter > 0) {
List qparams = new ArrayList();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(plCube.getCubeId())));
qparams.add(new BasicNameValuePair("paths", sbCoordinates.toString()));
try {
HttpEntity entity = plConn.sendToServer(qparams, "/cell/values");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
int iCoordElem = 0;
while (csv.readNext()) {
String strArrCoord[] = new String[iDimensionElementLength];
for (int i = 0; i < iDimensionElementLength; i++) {
strArrCoord[i] = (String) lstDimensionElementArray.get(iCoordElem++);
}
if (iRowCounter > 0) {
List qparams = new ArrayList();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(plCube
.getCubeId())));
qparams.add(new BasicNameValuePair("paths", sbCoordinates
.toString()));
try {
HttpEntity entity = plConn
.sendToServer(qparams, "/cell/values");
CsvReader csv = new CsvReader(entity.getContent(),
Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
int iCoordElem = 0;
while (csv.readRecord()) {
String strArrCoord[] = new String[iDimensionElementLength];
for (int i = 0; i < iDimensionElementLength; i++)
strArrCoord[i] = (String) lstDimensionElementArray
.get(iCoordElem++);
if (palohelpers.StringToInt(csv.get(0)) == 1) {
if (palohelpers.StringToInt(csv.get(1)) > 0) {
htPaloResultData.put(strArrCoord,
new palodatavalue(strArrCoord, palohelpers.StringToDouble(csv.get(2))));
} else {
htPaloResultData.put(strArrCoord, new palodatavalue(strArrCoord, 0.0D));
}
} else if (palohelpers.StringToInt(csv.get(0)) == 0) {
htPaloResultData.put(strArrCoord, new palodatavalue(strArrCoord, csv.get(2)));
}
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
return iRowCounter <= iBatchSize && iRowCounter > 0;
}
if (palohelpers.StringToInt(csv.get(0)) == 1) {
if (palohelpers.StringToInt(csv.get(1)) > 0)
htPaloResultData.put(
strArrCoord,
new palodatavalue(strArrCoord, palohelpers
.StringToDouble(csv.get(2))));
else
htPaloResultData.put(strArrCoord,
new palodatavalue(strArrCoord, 0.0D));
} else if (palohelpers.StringToInt(csv.get(0)) == 0)
htPaloResultData.put(strArrCoord, new palodatavalue(
strArrCoord, csv.get(2)));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
return iRowCounter <= iBatchSize && iRowCounter > 0;
}
public Hashtable getResultHashTable() {
return htPaloResultData;
}
public Hashtable getResultHashTable() {
return htPaloResultData;
}
public palodatavalue getValue(String strDimensionElementArray[], boolean bRefreshElements) throws paloexception {
long lDimensionElementIdentifierArray[] = new long[strDimensionElementArray.length];
if (plDims == null || bRefreshElements) {
plDims = plCube.getDimensions();
}
for (int i = 0; i < strDimensionElementArray.length; i++) {
paloelement plElm = plDims.getDimension(i).getElements(false).getElement(strDimensionElementArray[i]);
if (plElm == null) {
lDimensionElementIdentifierArray[i] = -1L;
} else {
lDimensionElementIdentifierArray[i] = plElm.getElementIdentifier();
}
}
public palodatavalue getValue(String strDimensionElementArray[],
boolean bRefreshElements) throws paloexception {
long lDimensionElementIdentifierArray[] = new long[strDimensionElementArray.length];
if (plDims == null || bRefreshElements)
plDims = plCube.getDimensions();
for (int i = 0; i < strDimensionElementArray.length; i++) {
paloelement plElm = plDims.getDimension(i).getElements(false)
.getElement(strDimensionElementArray[i]);
if (plElm == null)
lDimensionElementIdentifierArray[i] = -1L;
else
lDimensionElementIdentifierArray[i] = plElm
.getElementIdentifier();
}
return getValue(lDimensionElementIdentifierArray);
}
return getValue(lDimensionElementIdentifierArray);
}
public palodatavalue getValue(long lDimensionElementIdentifierArray[]) throws paloexception {
List qparams = new ArrayList();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(plCube.getCubeId())));
StringBuilder sbCoordinates = new StringBuilder();
int iPos = 0;
long al[];
int j = (al = lDimensionElementIdentifierArray).length;
for (int i = 0; i < j; i++) {
long lDimensionElementIdentifier = al[i];
if (iPos > 0) {
sbCoordinates.append(",");
}
sbCoordinates.append(lDimensionElementIdentifier);
iPos++;
}
public palodatavalue getValue(long lDimensionElementIdentifierArray[])
throws paloexception {
List qparams = new ArrayList();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(plCube
.getCubeId())));
StringBuilder sbCoordinates = new StringBuilder();
int iPos = 0;
long al[];
int j = (al = lDimensionElementIdentifierArray).length;
for (int i = 0; i < j; i++) {
long lDimensionElementIdentifier = al[i];
if (iPos > 0)
sbCoordinates.append(",");
sbCoordinates.append(lDimensionElementIdentifier);
iPos++;
}
qparams.add(new BasicNameValuePair("path", sbCoordinates.toString()));
palodatavalue rcDataValue = null;
try {
HttpEntity entity = plConn.sendToServer(qparams, "/cell/value");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
if (palohelpers.StringToInt(csv.get(0)) == 1) {
if (palohelpers.StringToInt(csv.get(1)) > 0) {
rcDataValue = new palodatavalue(palohelpers.StringToDouble(csv.get(2)));
} else {
rcDataValue = new palodatavalue(0.0D);
}
} else if (palohelpers.StringToInt(csv.get(0)) == 0) {
rcDataValue = new palodatavalue(csv.get(2));
}
}
csv.close();
entity.consumeContent();
return rcDataValue;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
qparams.add(new BasicNameValuePair("path", sbCoordinates.toString()));
palodatavalue rcDataValue = null;
try {
HttpEntity entity = plConn.sendToServer(qparams, "/cell/value");
CsvReader csv = new CsvReader(entity.getContent(),
Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while (csv.readRecord())
if (palohelpers.StringToInt(csv.get(0)) == 1) {
if (palohelpers.StringToInt(csv.get(1)) > 0)
rcDataValue = new palodatavalue(
palohelpers.StringToDouble(csv.get(2)));
else
rcDataValue = new palodatavalue(0.0D);
} else if (palohelpers.StringToInt(csv.get(0)) == 0)
rcDataValue = new palodatavalue(csv.get(2));
csv.close();
entity.consumeContent();
return rcDataValue;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public static final int PALO_SPLASH_DISABLE = 0;
public static final int PALO_SPLASH_DISABLE = 0;
public static final int PALO_SPLASH_DEFAULT = 1;
public static final int PALO_SPLASH_BASE_SET = 3;
public static final int PALO_SPLASH_BASE_ADD = 2;
private paloconnection plConn;
private palodimensions plDims;
private long lDatabaseId;
private ArrayList alPaloElements;
private Hashtable htPaloResultData;
private palocube plCube;
private String strDimensionElementsArray[][];
private List lstDimensionElements;
private Iterator itDimensionElements;
private int iBatchSize;
private int iDimensionElementLength;
public static final int PALO_SPLASH_DEFAULT = 1;
public static final int PALO_SPLASH_BASE_SET = 3;
public static final int PALO_SPLASH_BASE_ADD = 2;
private paloconnection plConn;
private palodimensions plDims;
private long lDatabaseId;
private ArrayList alPaloElements;
private Hashtable htPaloResultData;
private palocube plCube;
private String strDimensionElementsArray[][];
private List lstDimensionElements;
private Iterator itDimensionElements;
private int iBatchSize;
private int iDimensionElementLength;
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -8,144 +7,148 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palodatabase {
private paloconnection plConn;
private paloconnection plConn;
// OK
//private native palodimensions JNIgetDimensions(palodatabase paloDatabase, int iDimensionType);
//private native palocubes JNIgetCubes(palodatabase paloDatabase, int iDimensionType, int iWithCell);
private String strDatabaseName;
private long lDatabaseId;
private int iNumberOfDimensions;
private int iNumberOfCubes;
private int iStatus;
private int iType;
@SuppressWarnings("unused")
private String strDatabaseToken;
public palodatabase(paloconnection plConn, String strDatabaseName, long lDatabaseId, int iNumberOfDimensions, int iNumberOfCubes, int iStatus, int iType, String strDatabaseToken){
super();
this.plConn = plConn;
this.strDatabaseName = strDatabaseName;
this.lDatabaseId = lDatabaseId;
this.iNumberOfCubes = iNumberOfCubes;
this.iNumberOfDimensions = iNumberOfDimensions;
this.iStatus = iStatus;
this.iType = iType;
this.strDatabaseToken = strDatabaseToken;
}
public palodimensions getDimensions(int iDimensionType)throws paloexception{
return new palodimensions(this.plConn, this, iDimensionType);
}
public palocubes getCubes(int iCubeType) throws paloexception{
return new palocubes(this.plConn, this, iCubeType);
//return getCubes(iCubeType, 0);
}
/*
public palocubes getCubes(int iCubeType, int iOnlyWithCells){
return JNIgetCubes(this, iCubeType, iOnlyWithCells);
}*/
public void save()throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
plConn.sendToServerSingleRC(qparams, "/database/save");
}
// OK
// private native palodimensions JNIgetDimensions(palodatabase paloDatabase, int iDimensionType);
// private native palocubes JNIgetCubes(palodatabase paloDatabase, int iDimensionType, int iWithCell);
public void load() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
plConn.sendToServerSingleRC(qparams, "/database/load");
}
private String strDatabaseName;
public void unload()throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
plConn.sendToServerSingleRC(qparams, "/database/unload");
}
public void rename(String strNewName) throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("new_name",strNewName));
private long lDatabaseId;
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/rename");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
private int iNumberOfDimensions;
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/database/rename").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
private int iNumberOfCubes;
this.strDatabaseName = csv.get(1);
this.iNumberOfDimensions = Integer.valueOf(csv.get(2));
this.iNumberOfCubes = Integer.valueOf(csv.get(3));
this.iStatus = Integer.valueOf(csv.get(4));
this.iType = Integer.valueOf(csv.get(5));
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
private int iStatus;
private int iType;
@SuppressWarnings("unused")
private String strDatabaseToken;
public palodatabase(paloconnection plConn, String strDatabaseName, long lDatabaseId, int iNumberOfDimensions,
int iNumberOfCubes, int iStatus, int iType, String strDatabaseToken) {
super();
this.plConn = plConn;
this.strDatabaseName = strDatabaseName;
this.lDatabaseId = lDatabaseId;
this.iNumberOfCubes = iNumberOfCubes;
this.iNumberOfDimensions = iNumberOfDimensions;
this.iStatus = iStatus;
this.iType = iType;
this.strDatabaseToken = strDatabaseToken;
}
public palodimensions getDimensions(int iDimensionType) throws paloexception {
return new palodimensions(this.plConn, this, iDimensionType);
}
public palocubes getCubes(int iCubeType) throws paloexception {
return new palocubes(this.plConn, this, iCubeType);
// return getCubes(iCubeType, 0);
}
/*
* public palocubes getCubes(int iCubeType, int iOnlyWithCells){ return JNIgetCubes(this, iCubeType,
* iOnlyWithCells); }
*/
public void save() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
plConn.sendToServerSingleRC(qparams, "/database/save");
}
public void load() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
plConn.sendToServerSingleRC(qparams, "/database/load");
}
public void unload() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
plConn.sendToServerSingleRC(qparams, "/database/unload");
}
public void rename(String strNewName) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("new_name", strNewName));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/rename");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strDatabaseName = csv.get(1);
this.iNumberOfDimensions = Integer.valueOf(csv.get(2));
this.iNumberOfCubes = Integer.valueOf(csv.get(3));
this.iStatus = Integer.valueOf(csv.get(4));
this.iType = Integer.valueOf(csv.get(5));
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public String getName(){
return strDatabaseName;
}
public long getDatabaseId(){
return lDatabaseId;
}
public int getNumberOfDimensions(){
return iNumberOfDimensions;
}
public int getNumberOfCubes(){
return iNumberOfCubes;
}
public int getStatus(){
return iStatus;
}
public int getType(){
return iType;
}
public void refreshDatabaseInfo() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
}
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/info");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/database/info").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
public String getName() {
return strDatabaseName;
}
this.strDatabaseName = csv.get(1);
this.iNumberOfDimensions = Integer.valueOf(csv.get(2));
this.iNumberOfCubes = Integer.valueOf(csv.get(3));
this.iStatus = Integer.valueOf(csv.get(4));
this.iType = Integer.valueOf(csv.get(5));
this.strDatabaseToken = csv.get(6);
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
public long getDatabaseId() {
return lDatabaseId;
}
public int getNumberOfDimensions() {
return iNumberOfDimensions;
}
public int getNumberOfCubes() {
return iNumberOfCubes;
}
public int getStatus() {
return iStatus;
}
public int getType() {
return iType;
}
public void refreshDatabaseInfo() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/info");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strDatabaseName = csv.get(1);
this.iNumberOfDimensions = Integer.valueOf(csv.get(2));
this.iNumberOfCubes = Integer.valueOf(csv.get(3));
this.iStatus = Integer.valueOf(csv.get(4));
this.iType = Integer.valueOf(csv.get(5));
this.strDatabaseToken = csv.get(6);
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -8,108 +7,110 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palodatabases {
private paloconnection plConn;
// OK
public static final int DATABASE_TYPE_NORMAL = 0;
public static final int DATABASE_TYPE_SYSTEM_= 1;
public static final int DATABASE_TYPE_UNKNOWN = -1;
public static final int DATABASE_STATUS_UNLOADED=0;
public static final int DATABASE_STATUS_LOADED=1;
public static final int DATABASE_STATUS_CHANGED=2;
public static final int DATABASE_STATUS_LOADING=3;
public static final int DATABASE_STATUS_UNKNOWN=-1;
private paloconnection plConn;
private ArrayList<palodatabase> paloDatabases = new ArrayList<palodatabase>();
public palodatabases(paloconnection plConn) throws paloexception{
super();
this.plConn = plConn;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_system","1"));
// OK
public static final int DATABASE_TYPE_NORMAL = 0;
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/server/databases");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
public static final int DATABASE_TYPE_SYSTEM_ = 1;
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/server/databases").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
paloDatabases.add(new palodatabase(this.plConn, csv.get(1), Long.parseLong(csv.get(0)), Integer.valueOf(csv.get(2)),Integer.valueOf(csv.get(3)),Integer.valueOf(csv.get(4)),Integer.valueOf(csv.get(5)), csv.get(6)));
//System.out.println(csv.getRawRecord());
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
public static final int DATABASE_TYPE_UNKNOWN = -1;
public static final int DATABASE_STATUS_UNLOADED = 0;
public static final int DATABASE_STATUS_LOADED = 1;
public static final int DATABASE_STATUS_CHANGED = 2;
public static final int DATABASE_STATUS_LOADING = 3;
public static final int DATABASE_STATUS_UNKNOWN = -1;
private ArrayList<palodatabase> paloDatabases = new ArrayList<palodatabase>();
public palodatabases(paloconnection plConn) throws paloexception {
super();
this.plConn = plConn;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_system", "1"));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/server/databases");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
paloDatabases.add(new palodatabase(this.plConn, csv.get(1), Long.parseLong(csv.get(0)), Integer.valueOf(csv
.get(2)), Integer.valueOf(csv.get(3)), Integer.valueOf(csv.get(4)), Integer.valueOf(csv.get(5)), csv
.get(6)));
// System.out.println(csv.getRawRecord());
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public palodatabase createDatabase(String strDatabaseName) throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("new_name",strDatabaseName));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/create");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/database/create").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
palodatabase plDB = new palodatabase(this.plConn, csv.get(1), Long.parseLong(csv.get(0)), Integer.valueOf(csv.get(2)),Integer.valueOf(csv.get(3)),Integer.valueOf(csv.get(4)),Integer.valueOf(csv.get(5)),"");
csv.close();
entity.consumeContent();
plDB.refreshDatabaseInfo();
paloDatabases.add(plDB);
return plDB;
}catch(Exception e){
throw new paloexception(e.getMessage());
}
public palodatabase createDatabase(String strDatabaseName) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("new_name", strDatabaseName));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/create");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
palodatabase plDB = new palodatabase(this.plConn, csv.get(1), Long.parseLong(csv.get(0)),
Integer.valueOf(csv.get(2)), Integer.valueOf(csv.get(3)), Integer.valueOf(csv.get(4)), Integer.valueOf(csv
.get(5)), "");
csv.close();
entity.consumeContent();
plDB.refreshDatabaseInfo();
paloDatabases.add(plDB);
return plDB;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
}
public void deleteDatabase(String strDatabaseName) throws paloexception{
palodatabase paloDBToRemove = getDatabase(strDatabaseName);
if(null != paloDBToRemove){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(paloDBToRemove.getDatabaseId())));
plConn.sendToServerSingleRC(qparams, "/database/destroy");
paloDatabases.remove(paloDBToRemove);
}
}
public void deleteDatabase(String strDatabaseName) throws paloexception {
palodatabase paloDBToRemove = getDatabase(strDatabaseName);
if (null != paloDBToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(paloDBToRemove.getDatabaseId())));
plConn.sendToServerSingleRC(qparams, "/database/destroy");
paloDatabases.remove(paloDBToRemove);
}
}
public int getNumberOfDatabases() {
return paloDatabases.size();
}
public palodatabase getDatabase(int iIndex) {
return paloDatabases.get(iIndex);
}
public ArrayList<palodatabase> getDatabases() {
return paloDatabases;
}
public palodatabase getDatabase(String strDatabaseName) {
for (palodatabase palodb : paloDatabases) {
if (palodb.getName().equals(strDatabaseName)) {
return palodb;
}
}
return null;
}
public int getNumberOfDatabases(){
return paloDatabases.size();
}
public palodatabase getDatabase(int iIndex){
return paloDatabases.get(iIndex);
}
public ArrayList<palodatabase> getDatabases(){
return paloDatabases;
}
public palodatabase getDatabase(String strDatabaseName){
for(palodatabase palodb : paloDatabases){
if(palodb.getName().equals(strDatabaseName)) return palodb;
}
return null;
}
}

View File

@@ -1,127 +1,134 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palodatamulti {
public final static int PALO_SPLASH_DISABLE=0;
public final static int PALO_SPLASH_DEFAULT=1;
public final static int PALO_SPLASH_BASE_SET=3;
public final static int PALO_SPLASH_BASE_ADD=2;
private paloconnection plConn;
private long lDatabaseId;
private ArrayList<paloelements> alPaloElements = new ArrayList<paloelements>();
private List<palodatavalue> lstPaloValues = new ArrayList<palodatavalue>();
private int iNbOfCoordinates=0;
private int iNbOfDataVolumns=0;
private int iCurrentPos=0;
private void initDataSetList(){
String strArr[] = new String[iNbOfCoordinates];
for(int i=0;i<iNbOfDataVolumns;i++){
palodatavalue plDV = new palodatavalue(strArr, 0);
lstPaloValues.add(plDV);
}
}
public void cleanDataSetList(){
iCurrentPos=0;
}
public palodatamulti(paloconnection plConn, palodatabase plDB, int iNbOfDataVolumns, int iNbOfCoordinates, ArrayList<paloelements> alPaloElements){
this.plConn = plConn;
this.lDatabaseId = plDB.getDatabaseId();
lstPaloValues = new ArrayList<palodatavalue>(iNbOfDataVolumns);
this.iNbOfCoordinates = iNbOfCoordinates;
this.iNbOfDataVolumns = iNbOfDataVolumns;
this.alPaloElements = alPaloElements;
// Init lstPaloValues
initDataSetList();
}
public void addToValueList(String[] strArrCoordinates, double dValue){
strArrCoordinates = replaceStringArrWithElementId(strArrCoordinates);
lstPaloValues.get(iCurrentPos++).setValue(strArrCoordinates, dValue);
}
public void addToValueList(String[] strArrCoordinates, String sValue){
strArrCoordinates = replaceStringArrWithElementId(strArrCoordinates);
lstPaloValues.get(iCurrentPos++).setValue(strArrCoordinates, sValue);
}
public int getNumberOfValues(){
return iCurrentPos;
}
public palodatavalue getDataValue(int iPos){
return lstPaloValues.get(iPos);
}
public final static int PALO_SPLASH_DISABLE = 0;
public void setData( palocube plCube, int SPLASH_MODE, boolean bAddValue, boolean bUseEventProcessor) throws paloexception{
public final static int PALO_SPLASH_DEFAULT = 1;
StringBuilder sbCoordinates = new StringBuilder();
StringBuilder sbValues = new StringBuilder();
int iPos=0;
for(int i=0;i<iCurrentPos;i++){
//for(palodatavalue plValue : this.lstPaloValues){
palodatavalue plValue = getDataValue(i);
if(iPos>0){
sbCoordinates.append(":");
sbValues.append(":");
}
sbCoordinates.append(plValue.getCoordinatesString());
if(palodatavalue.PALO_NUMERIC == plValue.getType())
sbValues.append(plValue.getDoubleValue());
else
sbValues.append(plValue.getStringValue());
iPos++;
}
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(plCube.getCubeId())));
public final static int PALO_SPLASH_BASE_SET = 3;
public final static int PALO_SPLASH_BASE_ADD = 2;
private paloconnection plConn;
private long lDatabaseId;
private ArrayList<paloelements> alPaloElements = new ArrayList<paloelements>();
private List<palodatavalue> lstPaloValues = new ArrayList<palodatavalue>();
private int iNbOfCoordinates = 0;
private int iNbOfDataVolumns = 0;
private int iCurrentPos = 0;
private void initDataSetList() {
String strArr[] = new String[iNbOfCoordinates];
for (int i = 0; i < iNbOfDataVolumns; i++) {
palodatavalue plDV = new palodatavalue(strArr, 0);
lstPaloValues.add(plDV);
}
}
public void cleanDataSetList() {
iCurrentPos = 0;
}
public palodatamulti(paloconnection plConn, palodatabase plDB, int iNbOfDataVolumns, int iNbOfCoordinates,
ArrayList<paloelements> alPaloElements) {
this.plConn = plConn;
this.lDatabaseId = plDB.getDatabaseId();
lstPaloValues = new ArrayList<palodatavalue>(iNbOfDataVolumns);
this.iNbOfCoordinates = iNbOfCoordinates;
this.iNbOfDataVolumns = iNbOfDataVolumns;
this.alPaloElements = alPaloElements;
// Init lstPaloValues
initDataSetList();
}
public void addToValueList(String[] strArrCoordinates, double dValue) {
strArrCoordinates = replaceStringArrWithElementId(strArrCoordinates);
lstPaloValues.get(iCurrentPos++).setValue(strArrCoordinates, dValue);
}
public void addToValueList(String[] strArrCoordinates, String sValue) {
strArrCoordinates = replaceStringArrWithElementId(strArrCoordinates);
lstPaloValues.get(iCurrentPos++).setValue(strArrCoordinates, sValue);
}
public int getNumberOfValues() {
return iCurrentPos;
}
public palodatavalue getDataValue(int iPos) {
return lstPaloValues.get(iPos);
}
public void setData(palocube plCube, int SPLASH_MODE, boolean bAddValue, boolean bUseEventProcessor) throws paloexception {
StringBuilder sbCoordinates = new StringBuilder();
StringBuilder sbValues = new StringBuilder();
int iPos = 0;
for (int i = 0; i < iCurrentPos; i++) {
// for(palodatavalue plValue : this.lstPaloValues){
palodatavalue plValue = getDataValue(i);
if (iPos > 0) {
sbCoordinates.append(":");
sbValues.append(":");
}
sbCoordinates.append(plValue.getCoordinatesString());
if (palodatavalue.PALO_NUMERIC == plValue.getType()) {
sbValues.append(plValue.getDoubleValue());
} else {
sbValues.append(plValue.getStringValue());
}
iPos++;
}
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(plCube.getCubeId())));
qparams.add(new BasicNameValuePair("paths", sbCoordinates.toString()));
qparams.add(new BasicNameValuePair("values", sbValues.toString()));
qparams.add(new BasicNameValuePair("add", palohelpers.BooleanToString(bAddValue)));
qparams.add(new BasicNameValuePair("event_processor", palohelpers.BooleanToString(bUseEventProcessor)));
qparams.add(new BasicNameValuePair("splash", String.valueOf(SPLASH_MODE)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/cell/replace_bulk");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
private String[] replaceStringArrWithElementId(String[] strArr) {
for (int i = 0; i < strArr.length; i++) {
paloelement plElm = alPaloElements.get(i).getElement(strArr[i]);
if (null == plElm) {
strArr[i] = "-1";
} else {
strArr[i] = String.valueOf(plElm.getElementIdentifier());
}
}
return strArr;
}
qparams.add(new BasicNameValuePair("paths", sbCoordinates.toString()));
qparams.add(new BasicNameValuePair("values", sbValues.toString()));
qparams.add(new BasicNameValuePair("add", palohelpers.BooleanToString(bAddValue)));
qparams.add(new BasicNameValuePair("event_processor", palohelpers.BooleanToString(bUseEventProcessor)));
qparams.add(new BasicNameValuePair("splash", String.valueOf(SPLASH_MODE)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/cell/replace_bulk");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
private String[] replaceStringArrWithElementId(String[] strArr){
for(int i=0;i<strArr.length;i++){
paloelement plElm = alPaloElements.get(i).getElement(strArr[i]);
if(null==plElm) strArr[i]="-1";
else strArr[i] = String.valueOf(plElm.getElementIdentifier());
}
return strArr;
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -9,233 +8,222 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palodimension {
private paloelements paloElements;
private paloelements paloElements;
private paloconnection plConn;
private long lDatabaseId;
@SuppressWarnings("unused")
private String strCubeName;
private String strDimensionName;
private int iDimensionId;
@SuppressWarnings("unused")
private int iAssocDimension;
private int iAttributCube;
private int iRightsCube;
private int iNumberOfElements;
private int iMaximumLevel;
private int iMaximumIndent;
private int iMaximumDepth;
@SuppressWarnings("unused")
private int iDimensionToken;
private int iDimensionType;
private paloconnection plConn;
public palodimension(paloconnection plConn, long lDatabaseId,
String strDimensionName,
int iDimensionId,
int iAssocDimension,
int iAttributCube,
int iRightsCube,
int iNumberOfElements,
int iMaximumLevel,
int iMaximumIndent,
int iMaximumDepth,
int iDimensionToken
){
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.strDimensionName=strDimensionName;
this.iDimensionId=iDimensionId;
this.iAssocDimension=iAssocDimension;
this.iAttributCube=iAttributCube;
this.iRightsCube=iRightsCube;
this.iNumberOfElements=iNumberOfElements;
this.iMaximumLevel=iMaximumLevel;
this.iMaximumIndent=iMaximumIndent;
this.iMaximumDepth=iMaximumDepth;
this.iDimensionToken=iDimensionToken;
}
private long lDatabaseId;
public paloelements getElements(boolean bRefresh) throws paloexception {
if(null==paloElements || bRefresh)
paloElements = new paloelements(plConn, this.lDatabaseId, this.iDimensionId);
return paloElements;
}
public paloelements getElements() throws paloexception {
paloElements = new paloelements(plConn, this.lDatabaseId, this.iDimensionId);
//return new paloelements(plConn, this.lDatabaseId, this.iDimensionId);
return paloElements;
}
public paloelements getElements(HashSet<String> hsFilteredElements) throws paloexception {
return new paloelements(plConn, this.lDatabaseId, this.iDimensionId, hsFilteredElements);
}
public String getName(){
return strDimensionName;
}
public int getDimensionId(){
return iDimensionId;
}
public String getAssocDimension(){
@SuppressWarnings("unused")
private String strCubeName;
return "";//return iAssocDimension;
}
public String getAttributCube() throws paloexception{
try{
palocubes plCubes = getCubes(palocubes.CUBE_ATTRIBUT);
if(plCubes!=null && this.iAttributCube > 1){
palocube plAttributeCube = plCubes.getCubeByIdentifier(this.iAttributCube);
if(plAttributeCube!=null) return plAttributeCube.getName();
}
}catch(Exception e){
}
return "";
}
public String getRightsCube(){
try{
palocubes plCubes = getCubes(palocubes.CUBE_SYSTEM);
if(plCubes!=null && this.iRightsCube > 1){
palocube plAttributeCube = plCubes.getCubeByIdentifier(this.iRightsCube);
if(plAttributeCube!=null) return plAttributeCube.getName();
}
}catch(Exception e){
}
return "";
}
public int getNumberOfElements(){
return iNumberOfElements;
}
public int getMaximumLevel(){
return iMaximumLevel;
}
public int getMaximumIndent(){
return iMaximumIndent;
}
public int getMaximumDepth(){
return iMaximumDepth;
}
public int getDimensionType(){
return iDimensionType;
}
private String strDimensionName;
private int iDimensionId;
public void rename(String strDimensionNewName) throws paloexception{
if(null!=strDimensionNewName && strDimensionNewName.length()>0 && !strDimensionName.equals(strDimensionNewName)){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("new_name", strDimensionNewName));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/rename");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/dimension/rename").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
this.strDimensionName= csv.get(1);
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
}
public palocubes getCubes() throws paloexception{
return new palocubes(this.plConn, this.lDatabaseId, this.iDimensionType, this.iDimensionId);
}
public palocubes getCubes(int iCubeType) throws paloexception{
return new palocubes(this.plConn, this.lDatabaseId, iCubeType, this.iDimensionId);
}
@SuppressWarnings("unused")
private int iAssocDimension;
public void clear() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/clear");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/dimension/clear").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
this.strDimensionName= csv.get(1);
this.iDimensionId=Integer.valueOf(csv.get(0));
this.iAssocDimension=palohelpers.StringToInt(csv.get(7));
this.iAttributCube=palohelpers.StringToInt(csv.get(8));
this.iRightsCube=palohelpers.StringToInt(csv.get(9));
this.iNumberOfElements=palohelpers.StringToInt(csv.get(2));
this.iMaximumLevel=palohelpers.StringToInt(csv.get(3));
this.iMaximumIndent=palohelpers.StringToInt(csv.get(4));
this.iMaximumDepth=palohelpers.StringToInt(csv.get(5));
this.iDimensionToken=palohelpers.StringToInt(csv.get(10));
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
private int iAttributCube;
private int iRightsCube;
private int iNumberOfElements;
private int iMaximumLevel;
private int iMaximumIndent;
private int iMaximumDepth;
@SuppressWarnings("unused")
private int iDimensionToken;
private int iDimensionType;
public palodimension(paloconnection plConn, long lDatabaseId, String strDimensionName, int iDimensionId, int iAssocDimension,
int iAttributCube, int iRightsCube, int iNumberOfElements, int iMaximumLevel, int iMaximumIndent, int iMaximumDepth,
int iDimensionToken) {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.strDimensionName = strDimensionName;
this.iDimensionId = iDimensionId;
this.iAssocDimension = iAssocDimension;
this.iAttributCube = iAttributCube;
this.iRightsCube = iRightsCube;
this.iNumberOfElements = iNumberOfElements;
this.iMaximumLevel = iMaximumLevel;
this.iMaximumIndent = iMaximumIndent;
this.iMaximumDepth = iMaximumDepth;
this.iDimensionToken = iDimensionToken;
}
public paloelements getElements(boolean bRefresh) throws paloexception {
if (null == paloElements || bRefresh) {
paloElements = new paloelements(plConn, this.lDatabaseId, this.iDimensionId);
}
}
public void refreshDimensionInfo() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/info");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/dimension/info").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
this.strDimensionName= csv.get(1);
this.iDimensionId=Integer.valueOf(csv.get(0));
this.iAssocDimension=palohelpers.StringToInt(csv.get(7));
this.iAttributCube=palohelpers.StringToInt(csv.get(8));
this.iRightsCube=palohelpers.StringToInt(csv.get(9));
this.iNumberOfElements=palohelpers.StringToInt(csv.get(2));
this.iMaximumLevel=palohelpers.StringToInt(csv.get(3));
this.iMaximumIndent=palohelpers.StringToInt(csv.get(4));
this.iMaximumDepth=palohelpers.StringToInt(csv.get(5));
this.iDimensionToken=palohelpers.StringToInt(csv.get(10));
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
return paloElements;
}
public paloelements getElements() throws paloexception {
paloElements = new paloelements(plConn, this.lDatabaseId, this.iDimensionId);
// return new paloelements(plConn, this.lDatabaseId, this.iDimensionId);
return paloElements;
}
public paloelements getElements(HashSet<String> hsFilteredElements) throws paloexception {
return new paloelements(plConn, this.lDatabaseId, this.iDimensionId, hsFilteredElements);
}
public String getName() {
return strDimensionName;
}
public int getDimensionId() {
return iDimensionId;
}
public String getAssocDimension() {
return "";// return iAssocDimension;
}
public String getAttributCube() throws paloexception {
try {
palocubes plCubes = getCubes(palocubes.CUBE_ATTRIBUT);
if (plCubes != null && this.iAttributCube > 1) {
palocube plAttributeCube = plCubes.getCubeByIdentifier(this.iAttributCube);
if (plAttributeCube != null) {
return plAttributeCube.getName();
}
}
} catch (Exception e) {
}
}
return "";
}
public String getRightsCube() {
try {
palocubes plCubes = getCubes(palocubes.CUBE_SYSTEM);
if (plCubes != null && this.iRightsCube > 1) {
palocube plAttributeCube = plCubes.getCubeByIdentifier(this.iRightsCube);
if (plAttributeCube != null) {
return plAttributeCube.getName();
}
}
} catch (Exception e) {
}
return "";
}
public int getNumberOfElements() {
return iNumberOfElements;
}
public int getMaximumLevel() {
return iMaximumLevel;
}
public int getMaximumIndent() {
return iMaximumIndent;
}
public int getMaximumDepth() {
return iMaximumDepth;
}
public int getDimensionType() {
return iDimensionType;
}
public void rename(String strDimensionNewName) throws paloexception {
if (null != strDimensionNewName && strDimensionNewName.length() > 0 && !strDimensionName.equals(strDimensionNewName)) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("new_name", strDimensionNewName));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/rename");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strDimensionName = csv.get(1);
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
}
public palocubes getCubes() throws paloexception {
return new palocubes(this.plConn, this.lDatabaseId, this.iDimensionType, this.iDimensionId);
}
public palocubes getCubes(int iCubeType) throws paloexception {
return new palocubes(this.plConn, this.lDatabaseId, iCubeType, this.iDimensionId);
}
public void clear() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/clear");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strDimensionName = csv.get(1);
this.iDimensionId = Integer.valueOf(csv.get(0));
this.iAssocDimension = palohelpers.StringToInt(csv.get(7));
this.iAttributCube = palohelpers.StringToInt(csv.get(8));
this.iRightsCube = palohelpers.StringToInt(csv.get(9));
this.iNumberOfElements = palohelpers.StringToInt(csv.get(2));
this.iMaximumLevel = palohelpers.StringToInt(csv.get(3));
this.iMaximumIndent = palohelpers.StringToInt(csv.get(4));
this.iMaximumDepth = palohelpers.StringToInt(csv.get(5));
this.iDimensionToken = palohelpers.StringToInt(csv.get(10));
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public void refreshDimensionInfo() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/info");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strDimensionName = csv.get(1);
this.iDimensionId = Integer.valueOf(csv.get(0));
this.iAssocDimension = palohelpers.StringToInt(csv.get(7));
this.iAttributCube = palohelpers.StringToInt(csv.get(8));
this.iRightsCube = palohelpers.StringToInt(csv.get(9));
this.iNumberOfElements = palohelpers.StringToInt(csv.get(2));
this.iMaximumLevel = palohelpers.StringToInt(csv.get(3));
this.iMaximumIndent = palohelpers.StringToInt(csv.get(4));
this.iMaximumDepth = palohelpers.StringToInt(csv.get(5));
this.iDimensionToken = palohelpers.StringToInt(csv.get(10));
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -8,273 +7,247 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palodimensions {
public static final int DIMENSION_UNKNOWN=-1;
public static final int DIMENSION_NORMAL =0;
public static final int DIMENSION_SYSTEM =1;
public static final int DIMENSION_ATTRIBUTE =2;
public static final int DIMENSION_USER_INFO =3;
public static final int DIMENSION_UNKNOWN = -1;
private ArrayList<palodimension> paloDimensions = new ArrayList<palodimension>();
private paloconnection plConn;
private palodatabase plDB;
private String strDatabaseName;
private String strCubeName;
public palodimensions(paloconnection plConn, palodatabase plDB, int iDimensionType) throws paloexception{
super();
this.plConn = plConn;
this.plDB = plDB;
strDatabaseName = plDB.getName();
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
switch(iDimensionType){
case DIMENSION_NORMAL:
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_system","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_info","0"));
break;
case DIMENSION_SYSTEM:
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_system","1"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_info","0"));
break;
case DIMENSION_ATTRIBUTE:
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_system","0"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_info","0"));
break;
case DIMENSION_USER_INFO:
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_system","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_info","1"));
break;
case DIMENSION_UNKNOWN:
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_system","1"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_info","1"));
break;
}
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/dimensions");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
paloDimensions.add(new palodimension(
this.plConn,
this.plDB.getDatabaseId(),
csv.get(1),
Integer.valueOf(csv.get(0)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToInt(csv.get(8)),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(10))
));
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public static final int DIMENSION_NORMAL = 0;
public palodimensions(paloconnection plConn, long lDatabaseId, int iDimensionType, int[] iArrDimensionsIdentifier) throws paloexception{
super();
this.plConn = plConn;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
switch(iDimensionType){
case DIMENSION_NORMAL:
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_system","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_info","0"));
break;
case DIMENSION_SYSTEM:
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_system","1"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_info","0"));
break;
case DIMENSION_ATTRIBUTE:
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_system","0"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_info","0"));
break;
case DIMENSION_USER_INFO:
qparams.add(new BasicNameValuePair("show_normal","0"));
qparams.add(new BasicNameValuePair("show_system","0"));
qparams.add(new BasicNameValuePair("show_attribute","0"));
qparams.add(new BasicNameValuePair("show_info","1"));
break;
case DIMENSION_UNKNOWN:
qparams.add(new BasicNameValuePair("show_normal","1"));
qparams.add(new BasicNameValuePair("show_system","1"));
qparams.add(new BasicNameValuePair("show_attribute","1"));
qparams.add(new BasicNameValuePair("show_info","1"));
break;
}
try{
ArrayList<palodimension> paloDimensionsCube = new ArrayList<palodimension>();
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/dimensions");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
paloDimensionsCube.add(new palodimension(
this.plConn,
lDatabaseId,
csv.get(1),
Integer.valueOf(csv.get(0)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToInt(csv.get(8)),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(10))
));
}
csv.close();
entity.consumeContent();
for(int i=0;i<iArrDimensionsIdentifier.length;i++){
for(palodimension plDimCube : paloDimensionsCube){
if(plDimCube.getDimensionId()==iArrDimensionsIdentifier[i]) paloDimensions.add(plDimCube);
}
}
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public palodimension createDimension(String strDimensionName, int iType) throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("new_name", strDimensionName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iType)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/create");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
//CsvReader csv = new CsvReader(this.plConn.sendToServer(qparams, "/dimension/create").getContent(), Charset.defaultCharset());
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
palodimension plDim = new palodimension(
this.plConn,
this.plDB.getDatabaseId(),
csv.get(1),
palohelpers.StringToInt(csv.get(0)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToInt(csv.get(8)),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(10))
);
paloDimensions.add(plDim);
csv.close();
entity.consumeContent();
return plDim;
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
public palodimension createDimension(String strDimensionName) throws paloexception{
return createDimension(strDimensionName, palodimensions.DIMENSION_NORMAL);
}
public ArrayList<palodimension> getDimensions(){
return paloDimensions;
}
public String getDatabaseName(){
return strDatabaseName;
}
public String getCubeName(){
return strCubeName;
}
public static final int DIMENSION_SYSTEM = 1;
public static final int DIMENSION_ATTRIBUTE = 2;
public static final int DIMENSION_USER_INFO = 3;
private ArrayList<palodimension> paloDimensions = new ArrayList<palodimension>();
private paloconnection plConn;
private palodatabase plDB;
private String strDatabaseName;
private String strCubeName;
public palodimensions(paloconnection plConn, palodatabase plDB, int iDimensionType) throws paloexception {
super();
this.plConn = plConn;
this.plDB = plDB;
strDatabaseName = plDB.getName();
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
switch (iDimensionType) {
case DIMENSION_NORMAL:
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_system", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_info", "0"));
break;
case DIMENSION_SYSTEM:
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_system", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_info", "0"));
break;
case DIMENSION_ATTRIBUTE:
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_system", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_info", "0"));
break;
case DIMENSION_USER_INFO:
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_system", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_info", "1"));
break;
case DIMENSION_UNKNOWN:
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_system", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_info", "1"));
break;
}
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/dimensions");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
paloDimensions.add(new palodimension(this.plConn, this.plDB.getDatabaseId(), csv.get(1), Integer.valueOf(csv
.get(0)), palohelpers.StringToInt(csv.get(7)), palohelpers.StringToInt(csv.get(8)), palohelpers
.StringToInt(csv.get(9)), palohelpers.StringToInt(csv.get(2)), palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)), palohelpers.StringToInt(csv.get(5)), palohelpers.StringToInt(csv
.get(10))));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public palodimensions(paloconnection plConn, long lDatabaseId, int iDimensionType, int[] iArrDimensionsIdentifier)
throws paloexception {
super();
this.plConn = plConn;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
switch (iDimensionType) {
case DIMENSION_NORMAL:
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_system", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_info", "0"));
break;
case DIMENSION_SYSTEM:
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_system", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_info", "0"));
break;
case DIMENSION_ATTRIBUTE:
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_system", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_info", "0"));
break;
case DIMENSION_USER_INFO:
qparams.add(new BasicNameValuePair("show_normal", "0"));
qparams.add(new BasicNameValuePair("show_system", "0"));
qparams.add(new BasicNameValuePair("show_attribute", "0"));
qparams.add(new BasicNameValuePair("show_info", "1"));
break;
case DIMENSION_UNKNOWN:
qparams.add(new BasicNameValuePair("show_normal", "1"));
qparams.add(new BasicNameValuePair("show_system", "1"));
qparams.add(new BasicNameValuePair("show_attribute", "1"));
qparams.add(new BasicNameValuePair("show_info", "1"));
break;
}
try {
ArrayList<palodimension> paloDimensionsCube = new ArrayList<palodimension>();
HttpEntity entity = this.plConn.sendToServer(qparams, "/database/dimensions");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
paloDimensionsCube.add(new palodimension(this.plConn, lDatabaseId, csv.get(1), Integer.valueOf(csv.get(0)),
palohelpers.StringToInt(csv.get(7)), palohelpers.StringToInt(csv.get(8)), palohelpers.StringToInt(csv
.get(9)), palohelpers.StringToInt(csv.get(2)), palohelpers.StringToInt(csv.get(3)), palohelpers
.StringToInt(csv.get(4)), palohelpers.StringToInt(csv.get(5)), palohelpers.StringToInt(csv
.get(10))));
}
csv.close();
entity.consumeContent();
for (int element : iArrDimensionsIdentifier) {
for (palodimension plDimCube : paloDimensionsCube) {
if (plDimCube.getDimensionId() == element) {
paloDimensions.add(plDimCube);
}
}
}
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public palodimension createDimension(String strDimensionName, int iType) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("new_name", strDimensionName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iType)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/create");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
palodimension plDim = new palodimension(this.plConn, this.plDB.getDatabaseId(), csv.get(1),
palohelpers.StringToInt(csv.get(0)), palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToInt(csv.get(8)), palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToInt(csv.get(2)), palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)), palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(10)));
paloDimensions.add(plDim);
csv.close();
entity.consumeContent();
return plDim;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public palodimension createDimension(String strDimensionName) throws paloexception {
return createDimension(strDimensionName, palodimensions.DIMENSION_NORMAL);
}
public ArrayList<palodimension> getDimensions() {
return paloDimensions;
}
public String getDatabaseName() {
return strDatabaseName;
}
public String getCubeName() {
return strCubeName;
}
public int getNumberOfDimensions() {
return paloDimensions.size();
}
public palodimension getDimension(int iIndex) {
return paloDimensions.get(iIndex);
}
public palodimension getDimension(String strDimensionName) {
for (palodimension palodim : paloDimensions) {
if (palodim.getName().equals(strDimensionName)) {
return palodim;
}
}
return null;
}
public palodimension getDimensionByIdentifier(int iDimensionId) {
for (palodimension palodim : paloDimensions) {
if (palodim.getDimensionId() == iDimensionId) {
return palodim;
}
}
return null;
}
public void deleteDimension(String strDimensionName) throws paloexception {
palodimension paloDimToRemove = getDimension(strDimensionName);
if (null != paloDimToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(paloDimToRemove.getDimensionId())));
plConn.sendToServerSingleRC(qparams, "/dimension/destroy");
paloDimensions.remove(paloDimToRemove);
}
}
public int getNumberOfDimensions(){
return paloDimensions.size();
}
public palodimension getDimension(int iIndex){
return paloDimensions.get(iIndex);
}
public palodimension getDimension(String strDimensionName){
for(palodimension palodim : paloDimensions){
if(palodim.getName().equals(strDimensionName)) return palodim;
}
return null;
}
public palodimension getDimensionByIdentifier(int iDimensionId){
for(palodimension palodim : paloDimensions){
if(palodim.getDimensionId()==iDimensionId) return palodim;
}
return null;
}
public void deleteDimension(String strDimensionName) throws paloexception{
palodimension paloDimToRemove = getDimension(strDimensionName);
if(null != paloDimToRemove){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(plDB.getDatabaseId())));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(paloDimToRemove.getDimensionId())));
plConn.sendToServerSingleRC(qparams, "/dimension/destroy");
paloDimensions.remove(paloDimToRemove);
}
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -8,425 +7,438 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
@SuppressWarnings("unchecked")
public class paloelement implements Comparable {
public class paloelement implements Comparable {
/*
private native void JNIupdateElement(paloelement plElem, paloconsolidations plCons, int iAddToConsolidation);
*/
private paloconnection plConn;
private long lDatabaseId;
private int iDimensionId;
private long lElementIdentifier;
private String strElementName="";
private int iElementType;
private int iElementLevel;
private int iElementIndent;
private int iElementDepth;
private int iElementPosition;
private int iElementNumOfParents;
private int[] iArrElementParents;
private int iElementNumOfChildren;
private int[] iArrElementChildren;
private double[] dArrElementChildrenWeights;
private long lElementParentIdentifier;
private paloelements paloElements;
public paloelement(paloconnection plConn, long lDatabaseId, int iDimensionId, paloelements paloElements,
long lElementIdentifier, //0 element identifier Identifier of the element
String strElementName, //1 name_element string Name of the element
int iElementPosition, //2 position integer Position of the element
int iElementLevel, //3 level integer Level of the element
int iElementIndent, //4 indent integer Indent of the element
int iElementDepth, //5 depth integer Depth of the element
int iElementType, //6 type integer Type of the element (1=NUMERIC, 2=STRING, 4=CONSOLIDATED)
int iElementNumOfParents, //7 number_parents integer Number of parents
int[] iArrElementParents, //8 parents identifier Comma separate list of parent identifiers
int iElementNumOfChildren, //9 number_children integer Number of children
int[] iArrElementChildren, //10 children identifier Comma separate list of children identifiers
double[] dArrElementChildrenWeights //11 weights double Comma separate list of children weight
){
super();
this.plConn=plConn;
this.lDatabaseId=lDatabaseId;
this.iDimensionId=iDimensionId;
this.paloElements = paloElements;
this.lElementIdentifier=lElementIdentifier;
this.strElementName=strElementName;
this.iElementPosition=iElementPosition;
this.iElementLevel=iElementLevel;
this.iElementIndent=iElementIndent;
this.iElementDepth= iElementDepth;
this.iElementType=iElementType;
this.iElementNumOfParents=iElementNumOfParents;
this.iArrElementParents=iArrElementParents;
this.iElementNumOfChildren=iElementNumOfChildren;
this.iArrElementChildren=iArrElementChildren;
this.dArrElementChildrenWeights=dArrElementChildrenWeights;
this.lElementParentIdentifier = (null==this.iArrElementParents)? this.lElementIdentifier : this.iArrElementParents[0];
}
/*
* private native void JNIupdateElement(paloelement plElem, paloconsolidations plCons, int iAddToConsolidation);
*/
public paloelement(paloelements paloElements){
super();
this.paloElements = paloElements;
}
/*
public void setPaloElements(paloelements paloElements){
this.paloElements = paloElements;
}*/
public long getElementIdentifier(){
return lElementIdentifier;
}
public String getName(){
return strElementName;
}
public int getElementType(){
return iElementType;
}
public long getElementLevel(){
return iElementLevel;
}
public long getElementIndent(){
return iElementIndent;
}
public long getElementDepth(){
return iElementDepth;
}
public long getElementPosition(){
return iElementPosition;
}
public long getElementNumOfParents(){
return iElementNumOfParents;
}
public long getElementNumOfChildren(){
return iElementNumOfChildren;
}
public long getElementParentIdentifier(){
return lElementParentIdentifier;
}
public boolean hasChildren(){
if(iElementNumOfChildren>0) return true;
return false;
}
public boolean isConsolidation(){
if(paloelements.ELEMENT_CONSOLIDATION==iElementType) return true;
return false;
}
public boolean isNumeric(){
if(paloelements.ELEMENT_NUMERIC==iElementType) return true;
return false;
}
public boolean isString(){
if(paloelements.ELEMENT_STRING==iElementType) return true;
return false;
}
public boolean isRule(){
if(paloelements.ELEMENT_RULE==iElementType) return true;
return false;
}
public String toString(){
StringBuffer sbRC = new StringBuffer();
sbRC.append(lElementIdentifier+" / ");
sbRC.append(strElementName+" / ");
sbRC.append(iElementType+" / ");
sbRC.append(iElementLevel+" / ");
sbRC.append(iElementIndent+" / ");
sbRC.append(iElementDepth+" / ");
sbRC.append(iElementPosition+" / ");
sbRC.append(iElementNumOfParents+" / ");
sbRC.append(iElementNumOfChildren+" / ");
sbRC.append(lElementParentIdentifier);
return sbRC.toString();
}
public void rename(String strElementNewName) throws paloexception{
if(null!=strElementNewName && strElementNewName.length()>0 && !strElementName.equals(strElementNewName)){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(this.lElementIdentifier)));
qparams.add(new BasicNameValuePair("new_name", strElementNewName));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/rename");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.readRecord();
this.strElementName= csv.get(1);
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
strElementName = strElementNewName;
}
}
public int[] getElementChildren(){
return iArrElementChildren;
}
public int[] getElementParents(){
return iArrElementParents;
}
public double[] getElementChildrenWeights(){
return dArrElementChildrenWeights;
}
public void move(long lElementNewPosition) throws paloexception{
if(lElementNewPosition >-1 && lElementNewPosition != iElementPosition){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(this.lElementIdentifier)));
qparams.add(new BasicNameValuePair("position", String.valueOf(lElementNewPosition)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/move");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.setUseTextQualifier(true);
while(csv.readRecord()){
this.lElementIdentifier = palohelpers.StringToLong(csv.get(0));
this.strElementName = csv.get(1);
this.iElementPosition = palohelpers.StringToInt(csv.get(2));
this.iElementLevel = palohelpers.StringToInt(csv.get(3));
this.iElementIndent = palohelpers.StringToInt(csv.get(4));
this.iElementDepth = palohelpers.StringToInt(csv.get(5));
this.iElementType = palohelpers.StringToInt(csv.get(6));
this.iElementNumOfParents = palohelpers.StringToInt(csv.get(7));
this.iArrElementParents = palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7)));
this.iElementNumOfChildren = palohelpers.StringToInt(csv.get(9));
this.iArrElementChildren = palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9)));
this.dArrElementChildrenWeights = palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)));
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
}
//get father paloelement
public paloelement getFatherPaloelement() throws paloexception{
long identifier = getElementParentIdentifier();
paloelement plElm = null;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(identifier)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/info");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.setUseTextQualifier(true);
while(csv.readRecord()){
if(palohelpers.StringToLong(csv.get(0)) == identifier){
plElm = new paloelement(
this.plConn,
this.lDatabaseId,
this.iDimensionId,
paloElements,
palohelpers.StringToLong(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9))),
palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9))));
}
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
private paloconnection plConn;
private long lDatabaseId;
private int iDimensionId;
private long lElementIdentifier;
private String strElementName = "";
private int iElementType;
private int iElementLevel;
private int iElementIndent;
private int iElementDepth;
private int iElementPosition;
private int iElementNumOfParents;
private int[] iArrElementParents;
private int iElementNumOfChildren;
private int[] iArrElementChildren;
private double[] dArrElementChildrenWeights;
private long lElementParentIdentifier;
private paloelements paloElements;
public paloelement(paloconnection plConn, long lDatabaseId, int iDimensionId, paloelements paloElements,
long lElementIdentifier, // 0 element identifier Identifier of the element
String strElementName, // 1 name_element string Name of the element
int iElementPosition, // 2 position integer Position of the element
int iElementLevel, // 3 level integer Level of the element
int iElementIndent, // 4 indent integer Indent of the element
int iElementDepth, // 5 depth integer Depth of the element
int iElementType, // 6 type integer Type of the element (1=NUMERIC, 2=STRING, 4=CONSOLIDATED)
int iElementNumOfParents, // 7 number_parents integer Number of parents
int[] iArrElementParents, // 8 parents identifier Comma separate list of parent identifiers
int iElementNumOfChildren, // 9 number_children integer Number of children
int[] iArrElementChildren, // 10 children identifier Comma separate list of children identifiers
double[] dArrElementChildrenWeights // 11 weights double Comma separate list of children weight
) {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.iDimensionId = iDimensionId;
this.paloElements = paloElements;
this.lElementIdentifier = lElementIdentifier;
this.strElementName = strElementName;
this.iElementPosition = iElementPosition;
this.iElementLevel = iElementLevel;
this.iElementIndent = iElementIndent;
this.iElementDepth = iElementDepth;
this.iElementType = iElementType;
this.iElementNumOfParents = iElementNumOfParents;
this.iArrElementParents = iArrElementParents;
this.iElementNumOfChildren = iElementNumOfChildren;
this.iArrElementChildren = iArrElementChildren;
this.dArrElementChildrenWeights = dArrElementChildrenWeights;
this.lElementParentIdentifier = (null == this.iArrElementParents) ? this.lElementIdentifier : this.iArrElementParents[0];
}
public paloelement(paloelements paloElements) {
super();
this.paloElements = paloElements;
}
/*
* public void setPaloElements(paloelements paloElements){ this.paloElements = paloElements; }
*/
public long getElementIdentifier() {
return lElementIdentifier;
}
public String getName() {
return strElementName;
}
public int getElementType() {
return iElementType;
}
public long getElementLevel() {
return iElementLevel;
}
public long getElementIndent() {
return iElementIndent;
}
public long getElementDepth() {
return iElementDepth;
}
public long getElementPosition() {
return iElementPosition;
}
public long getElementNumOfParents() {
return iElementNumOfParents;
}
public long getElementNumOfChildren() {
return iElementNumOfChildren;
}
public long getElementParentIdentifier() {
return lElementParentIdentifier;
}
public boolean hasChildren() {
if (iElementNumOfChildren > 0) {
return true;
}
return false;
}
public boolean isConsolidation() {
if (paloelements.ELEMENT_CONSOLIDATION == iElementType) {
return true;
}
return false;
}
public boolean isNumeric() {
if (paloelements.ELEMENT_NUMERIC == iElementType) {
return true;
}
return false;
}
public boolean isString() {
if (paloelements.ELEMENT_STRING == iElementType) {
return true;
}
return false;
}
public boolean isRule() {
if (paloelements.ELEMENT_RULE == iElementType) {
return true;
}
return false;
}
@Override
public String toString() {
StringBuffer sbRC = new StringBuffer();
sbRC.append(lElementIdentifier + " / ");
sbRC.append(strElementName + " / ");
sbRC.append(iElementType + " / ");
sbRC.append(iElementLevel + " / ");
sbRC.append(iElementIndent + " / ");
sbRC.append(iElementDepth + " / ");
sbRC.append(iElementPosition + " / ");
sbRC.append(iElementNumOfParents + " / ");
sbRC.append(iElementNumOfChildren + " / ");
sbRC.append(lElementParentIdentifier);
return sbRC.toString();
}
public void rename(String strElementNewName) throws paloexception {
if (null != strElementNewName && strElementNewName.length() > 0 && !strElementName.equals(strElementNewName)) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(this.lElementIdentifier)));
qparams.add(new BasicNameValuePair("new_name", strElementNewName));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/rename");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
this.strElementName = csv.get(1);
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
strElementName = strElementNewName;
}
}
public int[] getElementChildren() {
return iArrElementChildren;
}
public int[] getElementParents() {
return iArrElementParents;
}
public double[] getElementChildrenWeights() {
return dArrElementChildrenWeights;
}
public void move(long lElementNewPosition) throws paloexception {
if (lElementNewPosition > -1 && lElementNewPosition != iElementPosition) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(this.lElementIdentifier)));
qparams.add(new BasicNameValuePair("position", String.valueOf(lElementNewPosition)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/move");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
this.lElementIdentifier = palohelpers.StringToLong(csv.get(0));
this.strElementName = csv.get(1);
this.iElementPosition = palohelpers.StringToInt(csv.get(2));
this.iElementLevel = palohelpers.StringToInt(csv.get(3));
this.iElementIndent = palohelpers.StringToInt(csv.get(4));
this.iElementDepth = palohelpers.StringToInt(csv.get(5));
this.iElementType = palohelpers.StringToInt(csv.get(6));
this.iElementNumOfParents = palohelpers.StringToInt(csv.get(7));
this.iArrElementParents = palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7)));
this.iElementNumOfChildren = palohelpers.StringToInt(csv.get(9));
this.iArrElementChildren = palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9)));
this.dArrElementChildrenWeights = palohelpers.StringToDoubleArray(csv.get(11),
palohelpers.StringToInt(csv.get(9)));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
}
// get father paloelement
public paloelement getFatherPaloelement() throws paloexception {
long identifier = getElementParentIdentifier();
paloelement plElm = null;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(identifier)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/info");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
if (palohelpers.StringToLong(csv.get(0)) == identifier) {
plElm = new paloelement(this.plConn, this.lDatabaseId, this.iDimensionId, paloElements,
palohelpers.StringToLong(csv.get(0)), csv.get(1), palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)), palohelpers.StringToInt(csv.get(4)), palohelpers.StringToInt(csv
.get(5)), palohelpers.StringToInt(csv.get(6)), palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)), palohelpers.StringToIntArray(csv.get(10),
palohelpers.StringToInt(csv.get(9))), palohelpers.StringToDoubleArray(csv.get(11),
palohelpers.StringToInt(csv.get(9))));
}
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
return plElm;
}
public void refreshElementInfo() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(this.lElementIdentifier)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/info");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.setUseTextQualifier(true);
while(csv.readRecord()){
this.lElementIdentifier = palohelpers.StringToLong(csv.get(0));
this.strElementName = csv.get(1);
this.iElementPosition = palohelpers.StringToInt(csv.get(2));
this.iElementLevel = palohelpers.StringToInt(csv.get(3));
this.iElementIndent = palohelpers.StringToInt(csv.get(4));
this.iElementDepth = palohelpers.StringToInt(csv.get(5));
this.iElementType = palohelpers.StringToInt(csv.get(6));
this.iElementNumOfParents = palohelpers.StringToInt(csv.get(7));
this.iArrElementParents = palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7)));
this.iElementNumOfChildren = palohelpers.StringToInt(csv.get(9));
this.iArrElementChildren = palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9)));
this.dArrElementChildrenWeights = palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)));
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
public void refreshElementInfo() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(this.lElementIdentifier)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/element/info");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
this.lElementIdentifier = palohelpers.StringToLong(csv.get(0));
this.strElementName = csv.get(1);
this.iElementPosition = palohelpers.StringToInt(csv.get(2));
this.iElementLevel = palohelpers.StringToInt(csv.get(3));
this.iElementIndent = palohelpers.StringToInt(csv.get(4));
this.iElementDepth = palohelpers.StringToInt(csv.get(5));
this.iElementType = palohelpers.StringToInt(csv.get(6));
this.iElementNumOfParents = palohelpers.StringToInt(csv.get(7));
this.iArrElementParents = palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7)));
this.iElementNumOfChildren = palohelpers.StringToInt(csv.get(9));
this.iArrElementChildren = palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9)));
this.dArrElementChildrenWeights = palohelpers.StringToDoubleArray(csv.get(11),
palohelpers.StringToInt(csv.get(9)));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public paloconsolidations getConsolidations() {
return new paloconsolidations(paloElements, this);
}
public void updateElement(paloconsolidations plCons, boolean bAddToConsolidation) throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(lElementIdentifier)));
}
String strURLApiCall = "/element/append";
if(!bAddToConsolidation){
if(plCons!=null) iElementType=paloelements.ELEMENT_CONSOLIDATION;
qparams.add(new BasicNameValuePair("name_element", strElementName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iElementType)));
strURLApiCall ="/element/replace";
}
public paloconsolidations getConsolidations() {
return new paloconsolidations(paloElements, this);
}
//if(plConsiElementType=paloelements.ELEMENT_CONSOLIDATION;
if(plCons != null){
qparams.add(new BasicNameValuePair("children", plCons.getConsolidationStringElementIdentifiers()));
qparams.add(new BasicNameValuePair("weights", plCons.getConsolidationStringElementWeights()));
}
try{
HttpEntity entity = this.plConn.sendToServer(qparams, strURLApiCall);
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.setUseTextQualifier(true);
csv.readRecord();
//System.out.println(csv.getRawRecord());
this.lElementIdentifier = palohelpers.StringToLong(csv.get(0));
this.strElementName = csv.get(1);
this.iElementPosition = palohelpers.StringToInt(csv.get(2));
this.iElementLevel = palohelpers.StringToInt(csv.get(3));
this.iElementIndent = palohelpers.StringToInt(csv.get(4));
this.iElementDepth = palohelpers.StringToInt(csv.get(5));
this.iElementType = palohelpers.StringToInt(csv.get(6));
this.iElementNumOfParents = palohelpers.StringToInt(csv.get(7));
this.iArrElementParents = palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7)));
this.iElementNumOfChildren = palohelpers.StringToInt(csv.get(9));
this.iArrElementChildren = palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9)));
this.dArrElementChildrenWeights = palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)));
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
public void updateElement(paloconsolidations plCons, boolean bAddToConsolidation) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(lElementIdentifier)));
String strURLApiCall = "/element/append";
if (!bAddToConsolidation) {
if (plCons != null) {
iElementType = paloelements.ELEMENT_CONSOLIDATION;
}
qparams.add(new BasicNameValuePair("name_element", strElementName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iElementType)));
strURLApiCall = "/element/replace";
}
}
public void updateElementConsolidation(String strElementChildrensId, String strElementChildrenWeights, boolean bReplace) throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(lElementIdentifier)));
String strURLApiCall = "/element/append";
if(bReplace) strURLApiCall = "/element/replace";
iElementType=paloelements.ELEMENT_CONSOLIDATION;
qparams.add(new BasicNameValuePair("type", String.valueOf(iElementType)));
// if(plConsiElementType=paloelements.ELEMENT_CONSOLIDATION;
qparams.add(new BasicNameValuePair("children", strElementChildrensId));
qparams.add(new BasicNameValuePair("weights", strElementChildrenWeights));
try{
this.plConn.sendToServerSingleRC(qparams, strURLApiCall);
}catch(Exception e){
throw new paloexception(e.getMessage());
if (plCons != null) {
qparams.add(new BasicNameValuePair("children", plCons.getConsolidationStringElementIdentifiers()));
qparams.add(new BasicNameValuePair("weights", plCons.getConsolidationStringElementWeights()));
}
}
public void updateElement() throws paloexception {
updateElement(getConsolidations(), false);
}
public void updateElement(paloconsolidations plCons) throws paloexception {
updateElement(plCons, false);
}
@Override
public boolean equals(Object obj){
if (null == obj){
try {
HttpEntity entity = this.plConn.sendToServer(qparams, strURLApiCall);
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
// System.out.println(csv.getRawRecord());
this.lElementIdentifier = palohelpers.StringToLong(csv.get(0));
this.strElementName = csv.get(1);
this.iElementPosition = palohelpers.StringToInt(csv.get(2));
this.iElementLevel = palohelpers.StringToInt(csv.get(3));
this.iElementIndent = palohelpers.StringToInt(csv.get(4));
this.iElementDepth = palohelpers.StringToInt(csv.get(5));
this.iElementType = palohelpers.StringToInt(csv.get(6));
this.iElementNumOfParents = palohelpers.StringToInt(csv.get(7));
this.iArrElementParents = palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7)));
this.iElementNumOfChildren = palohelpers.StringToInt(csv.get(9));
this.iArrElementChildren = palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9)));
this.dArrElementChildrenWeights = palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)));
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public void updateElementConsolidation(String strElementChildrensId, String strElementChildrenWeights, boolean bReplace)
throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(lElementIdentifier)));
String strURLApiCall = "/element/append";
if (bReplace) {
strURLApiCall = "/element/replace";
}
iElementType = paloelements.ELEMENT_CONSOLIDATION;
qparams.add(new BasicNameValuePair("type", String.valueOf(iElementType)));
qparams.add(new BasicNameValuePair("children", strElementChildrensId));
qparams.add(new BasicNameValuePair("weights", strElementChildrenWeights));
try {
this.plConn.sendToServerSingleRC(qparams, strURLApiCall);
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public void updateElement() throws paloexception {
updateElement(getConsolidations(), false);
}
public void updateElement(paloconsolidations plCons) throws paloexception {
updateElement(plCons, false);
}
@Override
public boolean equals(Object obj) {
if (null == obj) {
throw new IllegalArgumentException();
}
if (obj instanceof paloelement){
if (obj instanceof paloelement) {
return strElementName.equals(((paloelement) obj).strElementName);
}
return false;
}
public int compareTo ( Object o ){
if(this.iElementPosition>((paloelement)o).getElementPosition()) return -1;
else return 1;
}
public int compareTo(Object o) {
if (this.iElementPosition > ((paloelement) o).getElementPosition()) {
return -1;
} else {
return 1;
}
}
}

View File

@@ -1,404 +1,354 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import org.apache.http.*;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class paloelements {
// OK
public static final int ELEMENT_NUMERIC = 1;
public static final int ELEMENT_STRING = 2;
public static final int ELEMENT_CONSOLIDATION = 4;
public static final int ELEMENT_RULE = 4;
public static final int ELEMENT_UNKNOWN = -1;
public static final int MODE_UNKNOWN = 0;
public static final int MODE_ADD = 1;
public static final int MODE_FORCE_ADD = 2;
public static final int MODE_UPDATE = 3;
public static final int MODE_ADD_OR_UPDATE = 4;
//D private Hashtable<Integer, String> paloElementsIdentifier = new Hashtable<Integer, String>();
//D private Hashtable<String, paloelement> paloElements = new Hashtable<String,paloelement>();
private Hashtable<Long, String> paloElementsIdentifier = new Hashtable<Long, String>();
private Hashtable<String, paloelement> paloElementsList = new Hashtable<String,paloelement>();
private ArrayList<paloelement> paloSortedElements = new ArrayList<paloelement>();
// OK
private elementComparator elemComp = new elementComparator();
public static final int ELEMENT_NUMERIC = 1;
private paloconnection plConn;
private long lDatabaseId;
private int iDimensionId;
private List<String> elementNameList = new ArrayList<String>();
public paloelements(paloconnection plConn, long lDatabaseId, int iDimensionId, HashSet<String> hsFilteredElements)throws paloexception{
super();
this.plConn = plConn;
this.lDatabaseId=lDatabaseId;
this.iDimensionId = iDimensionId;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/elements");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.setUseTextQualifier(true);
while(csv.readRecord()){
if(hsFilteredElements.contains(csv.get(1))){
paloelement plElm = new paloelement(
this.plConn,
this.lDatabaseId,
this.iDimensionId,
this,
palohelpers.StringToLong(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9))),
palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)))
);
paloElementsList.put(plElm.getName(), plElm);
paloElementsIdentifier.put(palohelpers.StringToLong(csv.get(0)),csv.get(1));
//plElm.setPaloElements(this);
/*
long lElementIdentifier, //0 element identifier Identifier of the element
String strElementName, //1 name_element string Name of the element
int iElementPosition, //2 position integer Position of the element
int iElementLevel, //3 level integer Level of the element
int iElementIndent, //4 indent integer Indent of the element
int iElementDepth, //5 depth integer Depth of the element
int iElementType, //6 type integer Type of the element (1=NUMERIC, 2=STRING, 4=CONSOLIDATED)
int iElementNumOfParents, //7 number_parents integer Number of parents
int[] iArrElementParents, //8 parents identifier Comma separate list of parent identifiers
int iElementNumOfChildren, //9 number_children integer Number of children
int[] iArrElementChildren, //10 children identifier Comma separate list of children identifiers
double[] dArrElementChildrenWeights //11 weights double Comma separate list of children weight
*/
}}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
public static final int ELEMENT_STRING = 2;
public static final int ELEMENT_CONSOLIDATION = 4;
public static final int ELEMENT_RULE = 4;
public static final int ELEMENT_UNKNOWN = -1;
public static final int MODE_UNKNOWN = 0;
public static final int MODE_ADD = 1;
public static final int MODE_FORCE_ADD = 2;
public static final int MODE_UPDATE = 3;
public static final int MODE_ADD_OR_UPDATE = 4;
// D private Hashtable<Integer, String> paloElementsIdentifier = new Hashtable<Integer, String>();
// D private Hashtable<String, paloelement> paloElements = new Hashtable<String,paloelement>();
private Hashtable<Long, String> paloElementsIdentifier = new Hashtable<Long, String>();
private Hashtable<String, paloelement> paloElementsList = new Hashtable<String, paloelement>();
private ArrayList<paloelement> paloSortedElements = new ArrayList<paloelement>();
private elementComparator elemComp = new elementComparator();
private paloconnection plConn;
private long lDatabaseId;
private int iDimensionId;
private List<String> elementNameList = new ArrayList<String>();
public paloelements(paloconnection plConn, long lDatabaseId, int iDimensionId, HashSet<String> hsFilteredElements)
throws paloexception {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.iDimensionId = iDimensionId;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/elements");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
if (hsFilteredElements.contains(csv.get(1))) {
paloelement plElm = new paloelement(this.plConn, this.lDatabaseId, this.iDimensionId, this,
palohelpers.StringToLong(csv.get(0)), csv.get(1), palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)), palohelpers.StringToInt(csv.get(4)), palohelpers.StringToInt(csv
.get(5)), palohelpers.StringToInt(csv.get(6)), palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)), palohelpers.StringToIntArray(csv.get(10),
palohelpers.StringToInt(csv.get(9))), palohelpers.StringToDoubleArray(csv.get(11),
palohelpers.StringToInt(csv.get(9))));
paloElementsList.put(plElm.getName(), plElm);
paloElementsIdentifier.put(palohelpers.StringToLong(csv.get(0)), csv.get(1));
// plElm.setPaloElements(this);
/*
* long lElementIdentifier, //0 element identifier Identifier of the element String strElementName,
* //1 name_element string Name of the element int iElementPosition, //2 position integer Position
* of the element int iElementLevel, //3 level integer Level of the element int iElementIndent, //4
* indent integer Indent of the element int iElementDepth, //5 depth integer Depth of the element
* int iElementType, //6 type integer Type of the element (1=NUMERIC, 2=STRING, 4=CONSOLIDATED) int
* iElementNumOfParents, //7 number_parents integer Number of parents int[] iArrElementParents, //8
* parents identifier Comma separate list of parent identifiers int iElementNumOfChildren, //9
* number_children integer Number of children int[] iArrElementChildren, //10 children identifier
* Comma separate list of children identifiers double[] dArrElementChildrenWeights //11 weights
* double Comma separate list of children weight
*/
}
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public paloelements(paloconnection plConn, long lDatabaseId, int iDimensionId)throws paloexception{
super();
this.plConn = plConn;
this.lDatabaseId=lDatabaseId;
this.iDimensionId = iDimensionId;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/elements");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.setUseTextQualifier(true);
while(csv.readRecord()){
/*
paloElementsList.put(csv.get(1), new paloelement(
this.plConn,
this.lDatabaseId,
this.iDimensionId,
this,
palohelpers.StringToLong(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9))),
palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)))
));*/
paloelement plElm = new paloelement(
this.plConn,
this.lDatabaseId,
this.iDimensionId,
this,
palohelpers.StringToLong(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9))),
palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)))
);
paloElementsList.put(plElm.getName(), plElm);
paloElementsIdentifier.put(palohelpers.StringToLong(csv.get(0)),csv.get(1));
//plElm.setPaloElements(this);
/*
long lElementIdentifier, //0 element identifier Identifier of the element
String strElementName, //1 name_element string Name of the element
int iElementPosition, //2 position integer Position of the element
int iElementLevel, //3 level integer Level of the element
int iElementIndent, //4 indent integer Indent of the element
int iElementDepth, //5 depth integer Depth of the element
int iElementType, //6 type integer Type of the element (1=NUMERIC, 2=STRING, 4=CONSOLIDATED)
int iElementNumOfParents, //7 number_parents integer Number of parents
int[] iArrElementParents, //8 parents identifier Comma separate list of parent identifiers
int iElementNumOfChildren, //9 number_children integer Number of children
int[] iArrElementChildren, //10 children identifier Comma separate list of children identifiers
double[] dArrElementChildrenWeights //11 weights double Comma separate list of children weight
*/
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
public paloelements(paloconnection plConn, long lDatabaseId, int iDimensionId) throws paloexception {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.iDimensionId = iDimensionId;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/dimension/elements");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
/*
*
* paloElementsList.put(csv.get(1), new paloelement( this.plConn, this.lDatabaseId, this.iDimensionId,
* this, palohelpers.StringToLong(csv.get(0)), csv.get(1), palohelpers.StringToInt(csv.get(2)),
* palohelpers.StringToInt(csv.get(3)), palohelpers.StringToInt(csv.get(4)),
* palohelpers.StringToInt(csv.get(5)), palohelpers.StringToInt(csv.get(6)),
* palohelpers.StringToInt(csv.get(7)), palohelpers.StringToIntArray(csv.get(8),
* palohelpers.StringToInt(csv.get(7))), palohelpers.StringToInt(csv.get(9)),
* palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9))),
* palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9))) ));
*/
paloelement plElm = new paloelement(this.plConn, this.lDatabaseId, this.iDimensionId, this,
palohelpers.StringToLong(csv.get(0)), csv.get(1), palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)), palohelpers.StringToInt(csv.get(4)), palohelpers.StringToInt(csv
.get(5)), palohelpers.StringToInt(csv.get(6)), palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)), palohelpers.StringToIntArray(csv.get(10),
palohelpers.StringToInt(csv.get(9))), palohelpers.StringToDoubleArray(csv.get(11),
palohelpers.StringToInt(csv.get(9))));
paloElementsList.put(plElm.getName(), plElm);
paloElementsIdentifier.put(palohelpers.StringToLong(csv.get(0)), csv.get(1));
// plElm.setPaloElements(this);
/*
* long lElementIdentifier, //0 element identifier Identifier of the element String strElementName, //1
* name_element string Name of the element int iElementPosition, //2 position integer Position of the
* element int iElementLevel, //3 level integer Level of the element int iElementIndent, //4 indent
* integer Indent of the element int iElementDepth, //5 depth integer Depth of the element int
* iElementType, //6 type integer Type of the element (1=NUMERIC, 2=STRING, 4=CONSOLIDATED) int
* iElementNumOfParents, //7 number_parents integer Number of parents int[] iArrElementParents, //8
* parents identifier Comma separate list of parent identifiers int iElementNumOfChildren, //9
* number_children integer Number of children int[] iArrElementChildren, //10 children identifier Comma
* separate list of children identifiers double[] dArrElementChildrenWeights //11 weights double Comma
* separate list of children weight
*/
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public void createElementsBulk(String strElementNames, String strElementTypes) throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("name_elements", strElementNames));
qparams.add(new BasicNameValuePair("types", strElementTypes));
this.plConn.sendToServerSingleRC(qparams, "/element/create_bulk");
}
public paloelement createElement(String strElementName, int iElementType, int iMode) throws paloexception{
paloelement plElem = null;
if(!elementNameList.contains(strElementName)){
elementNameList.add(strElementName);
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("new_name", strElementName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iElementType)));
try{
HttpEntity entity=null;
switch(iMode){
case MODE_ADD:
entity = this.plConn.sendToServer(qparams, "/element/create");
break;
case MODE_UNKNOWN:
case MODE_ADD_OR_UPDATE:
paloelement plElm = getElement(strElementName);
if(null==plElm) entity = this.plConn.sendToServer(qparams, "/element/create");
else{
qparams.add(new BasicNameValuePair("element", String.valueOf(plElm.getElementIdentifier())));
entity = this.plConn.sendToServer(qparams, "/element/replace");
}
break;
case MODE_UPDATE:
plElm = getElement(strElementName);
if(null==plElm) throw new paloexception("Element " + strElementName +" does not exists!");
qparams.add(new BasicNameValuePair("element", String.valueOf(plElm.getElementIdentifier())));
entity = this.plConn.sendToServer(qparams, "/element/replace");
break;
case MODE_FORCE_ADD:
plElm = getElement(strElementName);
if(null!=plElm) deleteElement(plElm);
entity = this.plConn.sendToServer(qparams, "/element/create");
break;
}
}
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
csv.setUseTextQualifier(true);
csv.readRecord();
plElem = new paloelement(
this.plConn,
this.lDatabaseId,
this.iDimensionId,
this,
palohelpers.StringToLong(csv.get(0)),
csv.get(1),
palohelpers.StringToInt(csv.get(2)),
palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)),
palohelpers.StringToInt(csv.get(5)),
palohelpers.StringToInt(csv.get(6)),
palohelpers.StringToInt(csv.get(7)),
palohelpers.StringToIntArray(csv.get(8), palohelpers.StringToInt(csv.get(7))),
palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9))),
palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9)))
);
csv.close();
entity.consumeContent();
paloElementsList.put(plElem.getName(), plElem);
paloElementsIdentifier.put(plElem.getElementIdentifier(),plElem.getName());
//plElem.setPaloElements(this);
}catch(Exception e){
System.out.println("Hier " + strElementName);
throw new paloexception(e.getMessage());
}
}
return plElem;
}
public void createElementsBulk(String strElementNames, String strElementTypes) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("name_elements", strElementNames));
qparams.add(new BasicNameValuePair("types", strElementTypes));
this.plConn.sendToServerSingleRC(qparams, "/element/create_bulk");
public paloelement createElement(String strElementName, int iElementType)throws paloexception{
return createElement(strElementName, iElementType, MODE_ADD);
}
}
public paloelement createElement(String strElementName) throws paloexception{
return createElement(strElementName, ELEMENT_NUMERIC, MODE_ADD);
}
public void deleteElement(paloelement paloElemToRemove) throws paloexception{
if(null != paloElemToRemove){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(paloElemToRemove.getElementIdentifier())));
plConn.sendToServerSingleRC(qparams, "/element/destroy");
paloElementsIdentifier.remove(paloElemToRemove.getElementIdentifier());
paloElementsList.remove(paloElemToRemove.getName());
}
}
public void deleteElement(String strElementName) throws paloexception{
paloelement paloElemToRemove = getElement(strElementName);
if(null != paloElemToRemove){
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(paloElemToRemove.getElementIdentifier())));
plConn.sendToServerSingleRC(qparams, "/element/destroy");
paloElementsIdentifier.remove(paloElemToRemove.getElementIdentifier());
paloElementsList.remove(paloElemToRemove.getName());
}
}
public int getNumberOfElements(){
return paloElementsList.size();
}
public paloelement getElement(int iIndex){
return paloElementsList.get(iIndex);
}
public paloelement getElementByIdentifier(long lElementIdentifier){
return paloElementsList.get(paloElementsIdentifier.get(lElementIdentifier));
}
public ArrayList<paloelement> getFilteredElements(long lParentPosition){
public paloelement createElement(String strElementName, int iElementType, int iMode) throws paloexception {
paloelement plElem = null;
ArrayList<paloelement> paloFilteredElements = new ArrayList<paloelement>();
for(paloelement plElement:getElements()){
if(lParentPosition==plElement.getElementParentIdentifier()){
paloFilteredElements.add(plElement);
}
}
return paloFilteredElements;
}
@SuppressWarnings("unchecked")
private void buildSortedElementArray(){
paloSortedElements = new ArrayList<paloelement>();
Object[] arObjectsToSort = paloElementsList.entrySet().toArray();
Arrays.sort(arObjectsToSort, (Comparator)elemComp);
for(int i=0;i<arObjectsToSort.length;i++){
paloSortedElements.add(((paloelement)((Map.Entry)arObjectsToSort[i]).getValue()));
}
}
public ArrayList<paloelement> getElements(){
if(paloSortedElements==null || paloSortedElements.size()<1) buildSortedElementArray();
return paloSortedElements;
/*
ArrayList<paloelement> rcArrayList = new ArrayList<paloelement>();
Object[] arObjectsToSort = paloElements.entrySet().toArray();
Arrays.sort(arObjectsToSort, (Comparator)elemComp);
for(int i=0;i<arObjectsToSort.length;i++){
rcArrayList.add(((paloelement)((Map.Entry)arObjectsToSort[i]).getValue()));
}
return rcArrayList;
*/
}
public paloelement getElement(String strElementName){
return paloElementsList.get(strElementName);
}
class elementComparator implements Comparator<Map.Entry<String, paloelement>>{
public int compare(Map.Entry<String, paloelement> o1, Map.Entry<String, paloelement> o2){
if(o1.getValue().getElementPosition()> o2.getValue().getElementPosition()) return 1;
else return -1;
}
}
if (!elementNameList.contains(strElementName)) {
elementNameList.add(strElementName);
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("new_name", strElementName));
qparams.add(new BasicNameValuePair("type", String.valueOf(iElementType)));
try {
HttpEntity entity = null;
switch (iMode) {
case MODE_ADD:
entity = this.plConn.sendToServer(qparams, "/element/create");
break;
case MODE_UNKNOWN:
case MODE_ADD_OR_UPDATE:
paloelement plElm = getElement(strElementName);
if (null == plElm) {
entity = this.plConn.sendToServer(qparams, "/element/create");
} else {
qparams.add(new BasicNameValuePair("element", String.valueOf(plElm.getElementIdentifier())));
entity = this.plConn.sendToServer(qparams, "/element/replace");
}
break;
case MODE_UPDATE:
plElm = getElement(strElementName);
if (null == plElm) {
throw new paloexception("Element " + strElementName + " does not exists!");
}
qparams.add(new BasicNameValuePair("element", String.valueOf(plElm.getElementIdentifier())));
entity = this.plConn.sendToServer(qparams, "/element/replace");
break;
case MODE_FORCE_ADD:
plElm = getElement(strElementName);
if (null != plElm) {
deleteElement(plElm);
}
entity = this.plConn.sendToServer(qparams, "/element/create");
break;
}
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
csv.readNext();
plElem = new paloelement(this.plConn, this.lDatabaseId, this.iDimensionId, this, palohelpers.StringToLong(csv
.get(0)), csv.get(1), palohelpers.StringToInt(csv.get(2)), palohelpers.StringToInt(csv.get(3)),
palohelpers.StringToInt(csv.get(4)), palohelpers.StringToInt(csv.get(5)), palohelpers.StringToInt(csv
.get(6)), palohelpers.StringToInt(csv.get(7)), palohelpers.StringToIntArray(csv.get(8),
palohelpers.StringToInt(csv.get(7))), palohelpers.StringToInt(csv.get(9)),
palohelpers.StringToIntArray(csv.get(10), palohelpers.StringToInt(csv.get(9))),
palohelpers.StringToDoubleArray(csv.get(11), palohelpers.StringToInt(csv.get(9))));
csv.close();
entity.consumeContent();
paloElementsList.put(plElem.getName(), plElem);
paloElementsIdentifier.put(plElem.getElementIdentifier(), plElem.getName());
// plElem.setPaloElements(this);
} catch (Exception e) {
System.out.println("Hier " + strElementName);
throw new paloexception(e.getMessage());
}
}
return plElem;
}
public paloelement createElement(String strElementName, int iElementType) throws paloexception {
return createElement(strElementName, iElementType, MODE_ADD);
}
public paloelement createElement(String strElementName) throws paloexception {
return createElement(strElementName, ELEMENT_NUMERIC, MODE_ADD);
}
public void deleteElement(paloelement paloElemToRemove) throws paloexception {
if (null != paloElemToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(paloElemToRemove.getElementIdentifier())));
plConn.sendToServerSingleRC(qparams, "/element/destroy");
paloElementsIdentifier.remove(paloElemToRemove.getElementIdentifier());
paloElementsList.remove(paloElemToRemove.getName());
}
}
public void deleteElement(String strElementName) throws paloexception {
paloelement paloElemToRemove = getElement(strElementName);
if (null != paloElemToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("dimension", String.valueOf(this.iDimensionId)));
qparams.add(new BasicNameValuePair("element", String.valueOf(paloElemToRemove.getElementIdentifier())));
plConn.sendToServerSingleRC(qparams, "/element/destroy");
paloElementsIdentifier.remove(paloElemToRemove.getElementIdentifier());
paloElementsList.remove(paloElemToRemove.getName());
}
}
public int getNumberOfElements() {
return paloElementsList.size();
}
public paloelement getElement(int iIndex) {
return paloElementsList.get(iIndex);
}
public paloelement getElementByIdentifier(long lElementIdentifier) {
return paloElementsList.get(paloElementsIdentifier.get(lElementIdentifier));
}
public ArrayList<paloelement> getFilteredElements(long lParentPosition) {
ArrayList<paloelement> paloFilteredElements = new ArrayList<paloelement>();
for (paloelement plElement : getElements()) {
if (lParentPosition == plElement.getElementParentIdentifier()) {
paloFilteredElements.add(plElement);
}
}
return paloFilteredElements;
}
@SuppressWarnings("unchecked")
private void buildSortedElementArray() {
paloSortedElements = new ArrayList<paloelement>();
Object[] arObjectsToSort = paloElementsList.entrySet().toArray();
Arrays.sort(arObjectsToSort, (Comparator) elemComp);
for (Object element : arObjectsToSort) {
paloSortedElements.add(((paloelement) ((Map.Entry) element).getValue()));
}
}
public ArrayList<paloelement> getElements() {
if (paloSortedElements == null || paloSortedElements.size() < 1) {
buildSortedElementArray();
}
return paloSortedElements;
/*
* ArrayList<paloelement> rcArrayList = new ArrayList<paloelement>(); Object[] arObjectsToSort =
* paloElements.entrySet().toArray(); Arrays.sort(arObjectsToSort, (Comparator)elemComp); for(int
* i=0;i<arObjectsToSort.length;i++){
* rcArrayList.add(((paloelement)((Map.Entry)arObjectsToSort[i]).getValue())); } return rcArrayList;
*/
}
public paloelement getElement(String strElementName) {
return paloElementsList.get(strElementName);
}
class elementComparator implements Comparator<Map.Entry<String, paloelement>> {
public int compare(Map.Entry<String, paloelement> o1, Map.Entry<String, paloelement> o2) {
if (o1.getValue().getElementPosition() > o2.getValue().getElementPosition()) {
return 1;
} else {
return -1;
}
}
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -9,147 +8,150 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palorule {
private paloconnection plConn;
private long lDatabaseId;
private int iCubeId;
private paloconnection plConn;
private int lIdentifier;
private String strDefinition;
private String strExtern_Id;
private String strComment;
private long lTimeStamp;
private boolean bActivated;
private long lDatabaseId;
public palorule(
paloconnection plConn,
long lDatabaseId,
int iCubeId,
int lIdentifier, //0 rule identifier Identifier of the rule
String strDefinition,//1 rule_string string Textual representation for the rule
String strExtern_Id,//2 external_identifier string external identifier of the rule
String strComment, //3 comment string comment for the rule
long lTimeStamp, // 4 timestamp string creation time of the rule in seconds since 1970-01-01
boolean bActivated // 5 active integer 0=rule is not active, 1=rule is active
){
super();
this.plConn=plConn;
this.lDatabaseId=lDatabaseId;
this.iCubeId=iCubeId;
this.lIdentifier=lIdentifier;
this.strDefinition=strDefinition;
this.strExtern_Id=strExtern_Id;
this.strComment=strComment;
this.lTimeStamp=lTimeStamp;
this.bActivated=bActivated;
}
private int iCubeId;
public long getIdentifier(){
return lIdentifier;
}
private int lIdentifier;
public String getDefinition(){
return strDefinition;
}
public void setDefinition(String strDefinition){
this.strDefinition= strDefinition;
}
public String getExtern_Id(){
return strExtern_Id;
}
public void setExtern_Id(String strExtern_Id){
this.strExtern_Id=strExtern_Id;
}
public String getComment(){
return strComment;
}
public void setComment(String strComment){
this.strComment=strComment;
}
public long getTimeStamp(){
return lTimeStamp;
}
public Date getModificationData(){
return palohelpers.getCalcDateBegin((int)lTimeStamp);
}
public boolean getActivated(){
return bActivated;
}
public void setActivated(boolean bActivated){
this.bActivated=bActivated;
}
private String strDefinition;
public void refreshRuleInfo() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String.valueOf(this.lIdentifier)));
qparams.add(new BasicNameValuePair("use_identifier", palohelpers.BooleanToString(false)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/rule/info");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
lIdentifier = palohelpers.StringToInt(csv.get(0));
strDefinition = csv.get(1);
strExtern_Id =csv.get(2);
strComment = csv.get(3);
lTimeStamp=palohelpers.StringToLong(csv.get(4));
bActivated = palohelpers.StringToBoolean(csv.get(5));
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
private String strExtern_Id;
private String strComment;
private long lTimeStamp;
private boolean bActivated;
public palorule(paloconnection plConn, long lDatabaseId, int iCubeId, int lIdentifier, // 0 rule identifier
// Identifier of the rule
String strDefinition,// 1 rule_string string Textual representation for the rule
String strExtern_Id,// 2 external_identifier string external identifier of the rule
String strComment, // 3 comment string comment for the rule
long lTimeStamp, // 4 timestamp string creation time of the rule in seconds since 1970-01-01
boolean bActivated // 5 active integer 0=rule is not active, 1=rule is active
) {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.iCubeId = iCubeId;
this.lIdentifier = lIdentifier;
this.strDefinition = strDefinition;
this.strExtern_Id = strExtern_Id;
this.strComment = strComment;
this.lTimeStamp = lTimeStamp;
this.bActivated = bActivated;
}
public long getIdentifier() {
return lIdentifier;
}
public String getDefinition() {
return strDefinition;
}
public void setDefinition(String strDefinition) {
this.strDefinition = strDefinition;
}
public String getExtern_Id() {
return strExtern_Id;
}
public void setExtern_Id(String strExtern_Id) {
this.strExtern_Id = strExtern_Id;
}
public String getComment() {
return strComment;
}
public void setComment(String strComment) {
this.strComment = strComment;
}
public long getTimeStamp() {
return lTimeStamp;
}
public Date getModificationData() {
return palohelpers.getCalcDateBegin((int) lTimeStamp);
}
public boolean getActivated() {
return bActivated;
}
public void setActivated(boolean bActivated) {
this.bActivated = bActivated;
}
public void refreshRuleInfo() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String.valueOf(this.lIdentifier)));
qparams.add(new BasicNameValuePair("use_identifier", palohelpers.BooleanToString(false)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/rule/info");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
lIdentifier = palohelpers.StringToInt(csv.get(0));
strDefinition = csv.get(1);
strExtern_Id = csv.get(2);
strComment = csv.get(3);
lTimeStamp = palohelpers.StringToLong(csv.get(4));
bActivated = palohelpers.StringToBoolean(csv.get(5));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public void modifyRule() throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String.valueOf(this.lIdentifier)));
qparams.add(new BasicNameValuePair("definition", strDefinition));
qparams.add(new BasicNameValuePair("activate", palohelpers.BooleanToString(this.bActivated)));
qparams.add(new BasicNameValuePair("external_identifier", strExtern_Id));
qparams.add(new BasicNameValuePair("comment", strComment));
qparams.add(new BasicNameValuePair("use_identifier", palohelpers.BooleanToString(false)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/rule/modify");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
lIdentifier = palohelpers.StringToInt(csv.get(0));
strDefinition = csv.get(1);
strExtern_Id = csv.get(2);
strComment = csv.get(3);
lTimeStamp = palohelpers.StringToLong(csv.get(4));
bActivated = palohelpers.StringToBoolean(csv.get(5));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public void modifyRule() throws paloexception{
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String.valueOf(this.lIdentifier)));
qparams.add(new BasicNameValuePair("definition", strDefinition));
qparams.add(new BasicNameValuePair("activate", palohelpers.BooleanToString(this.bActivated)));
qparams.add(new BasicNameValuePair("external_identifier", strExtern_Id));
qparams.add(new BasicNameValuePair("comment", strComment));
qparams.add(new BasicNameValuePair("use_identifier", palohelpers.BooleanToString(false)));
try{
HttpEntity entity = this.plConn.sendToServer(qparams, "/rule/modify");
CsvReader csv = new CsvReader(entity.getContent(), Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while(csv.readRecord()){
lIdentifier = palohelpers.StringToInt(csv.get(0));
strDefinition = csv.get(1);
strExtern_Id =csv.get(2);
strComment = csv.get(3);
lTimeStamp=palohelpers.StringToLong(csv.get(4));
bActivated = palohelpers.StringToBoolean(csv.get(5));
}
csv.close();
entity.consumeContent();
}catch(Exception e){
throw new paloexception(e.getMessage());
}
}
}

View File

@@ -1,6 +1,5 @@
package org.talend.jpalo;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
@@ -8,243 +7,214 @@ import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.csvreader.CsvReader;
import com.talend.csv.CSVReader;
public class palorules {
public static final int RULES_TEXT = 0;
public static final int RULES_NUMERIC = 1;
private ArrayList<palorule> paloRules = new ArrayList<palorule>();
public static final int RULES_TEXT = 0;
private paloconnection plConn;
private long lDatabaseId;
private int iCubeId;
public static final int RULES_NUMERIC = 1;
private String strRuleParseResult;
private ArrayList<palorule> paloRules = new ArrayList<palorule>();
public palorules(paloconnection plConn, long lDatabaseId, int iCubeId)
throws paloexception {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.iCubeId = iCubeId;
private paloconnection plConn;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("use_identifier", "0"));
try {
HttpEntity entity = this.plConn
.sendToServer(qparams, "/cube/rules");
CsvReader csv = new CsvReader(entity.getContent(),
Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while (csv.readRecord()) {
// System.out.println(csv.getRawRecord());
paloRules.add(new palorule(plConn, lDatabaseId, iCubeId,
palohelpers.StringToInt(csv.get(0)), csv.get(1), csv
.get(2), csv.get(3), palohelpers
.StringToLong(csv.get(4)), palohelpers
.StringToBoolean(csv.get(5))));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
private long lDatabaseId;
}
private int iCubeId;
public int getNumberOfRules() {
return paloRules.size();
}
private String strRuleParseResult;
// Returns the Rule at the given Position
public palorule getRule(int iIndex) {
return paloRules.get(iIndex);
}
public palorules(paloconnection plConn, long lDatabaseId, int iCubeId) throws paloexception {
super();
this.plConn = plConn;
this.lDatabaseId = lDatabaseId;
this.iCubeId = iCubeId;
// Returns the Rule with the given Identifier
public palorule getRule(long lIdentifier) {
for (palorule paloRule : paloRules) {
if (paloRule.getIdentifier() == lIdentifier)
return paloRule;
}
return null;
}
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("use_identifier", "0"));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/cube/rules");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
// System.out.println(csv.getRawRecord());
paloRules.add(new palorule(plConn, lDatabaseId, iCubeId, palohelpers.StringToInt(csv.get(0)), csv.get(1), csv
.get(2), csv.get(3), palohelpers.StringToLong(csv.get(4)), palohelpers.StringToBoolean(csv.get(5))));
}
csv.close();
entity.consumeContent();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
// Returns the Rule with the given Extern_Id
public palorule getRule(String strExtern_Id) {
for (palorule paloRule : paloRules) {
if (paloRule.getExtern_Id().equals(strExtern_Id))
return paloRule;
}
return null;
}
}
public ArrayList<palorule> getRules() {
return paloRules;
}
public int getNumberOfRules() {
return paloRules.size();
}
// Deletes the Rule at the given position
public void deleteRule(int iIndex) throws paloexception {
palorule paloRuleToRemove = getRule(iIndex);
if (null != paloRuleToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String
.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String
.valueOf(paloRuleToRemove.getIdentifier())));
plConn.sendToServerSingleRC(qparams, "/rule/destroy");
paloRules.remove(paloRuleToRemove);
}
}
// Returns the Rule at the given Position
public palorule getRule(int iIndex) {
return paloRules.get(iIndex);
}
// Deletes the Rule with given Identifier
public void deleteRule(long lIdentifier) throws paloexception {
palorule paloRuleToRemove = getRule(lIdentifier);
if (null != paloRuleToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String
.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String
.valueOf(paloRuleToRemove.getIdentifier())));
plConn.sendToServerSingleRC(qparams, "/rule/destroy");
paloRules.remove(paloRuleToRemove);
}
}
// Returns the Rule with the given Identifier
public palorule getRule(long lIdentifier) {
for (palorule paloRule : paloRules) {
if (paloRule.getIdentifier() == lIdentifier) {
return paloRule;
}
}
return null;
}
// Deletes the Rule with given External_Id
public void deleteRule(String strExtern_Id) throws paloexception {
palorule paloRuleToRemove = getRule(strExtern_Id);
if (null != paloRuleToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String
.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String
.valueOf(paloRuleToRemove.getIdentifier())));
plConn.sendToServerSingleRC(qparams, "/rule/destroy");
paloRules.remove(paloRuleToRemove);
}
}
// Returns the Rule with the given Extern_Id
public palorule getRule(String strExtern_Id) {
for (palorule paloRule : paloRules) {
if (paloRule.getExtern_Id().equals(strExtern_Id)) {
return paloRule;
}
}
return null;
}
public String parseRule(String strRuleToParse) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("definition", strRuleToParse));
try {
StringBuilder sb = new StringBuilder();
HttpEntity entity = this.plConn
.sendToServer(qparams, "/rule/parse");
CsvReader csv = new CsvReader(entity.getContent(),
Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while (csv.readRecord()) {
sb.append(csv.get(0));
}
csv.close();
entity.consumeContent();
return sb.toString();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public ArrayList<palorule> getRules() {
return paloRules;
}
public String getParseRuleResult() {
return strRuleParseResult;
}
// Deletes the Rule at the given position
public void deleteRule(int iIndex) throws paloexception {
palorule paloRuleToRemove = getRule(iIndex);
if (null != paloRuleToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String.valueOf(paloRuleToRemove.getIdentifier())));
plConn.sendToServerSingleRC(qparams, "/rule/destroy");
paloRules.remove(paloRuleToRemove);
}
}
/**
* Adds a rule to the given cube
*
*
* @param The
* rule definition
* @param Identifier
* flag
* @param An
* external Id
* @param The
* comment for this rule
* @param Acitvation
* flag
* @return The added palorule
*/
public palorule addRule(String strRuleDefinition, boolean bUseIdentifier,
String strExtern_Id, String strComment, boolean bActivate)
throws paloexception {
palorule plRule = null;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String
.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("definition", strRuleDefinition));
qparams.add(new BasicNameValuePair("activate", palohelpers
.BooleanToString(bActivate)));
qparams.add(new BasicNameValuePair("external_identifier", strExtern_Id));
qparams.add(new BasicNameValuePair("comment", strComment));
qparams.add(new BasicNameValuePair("use_identifier", palohelpers
.BooleanToString(bUseIdentifier)));
// Deletes the Rule with given Identifier
public void deleteRule(long lIdentifier) throws paloexception {
palorule paloRuleToRemove = getRule(lIdentifier);
if (null != paloRuleToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String.valueOf(paloRuleToRemove.getIdentifier())));
plConn.sendToServerSingleRC(qparams, "/rule/destroy");
paloRules.remove(paloRuleToRemove);
}
}
try {
HttpEntity entity = this.plConn.sendToServer(qparams,
"/rule/create");
CsvReader csv = new CsvReader(entity.getContent(),
Charset.forName("UTF-8"));
csv.setDelimiter(';');
csv.setTextQualifier('"');
while (csv.readRecord()) {
// System.out.println(csv.getRawRecord());
plRule = new palorule(plConn, lDatabaseId, iCubeId,
palohelpers.StringToInt(csv.get(0)), csv.get(1),
csv.get(2), csv.get(3), palohelpers.StringToLong(csv
.get(4)), palohelpers.StringToBoolean(csv
.get(5)));
paloRules.add(plRule);
}
csv.close();
entity.consumeContent();
return plRule;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
// Deletes the Rule with given External_Id
public void deleteRule(String strExtern_Id) throws paloexception {
palorule paloRuleToRemove = getRule(strExtern_Id);
if (null != paloRuleToRemove) {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("rule", String.valueOf(paloRuleToRemove.getIdentifier())));
plConn.sendToServerSingleRC(qparams, "/rule/destroy");
paloRules.remove(paloRuleToRemove);
}
}
public static void main(String args[]) throws Exception {
paloconnection pcon = new paloconnection("admin", "admin", "localhost",
"7777");
palodatabases pds = new palodatabases(pcon);
palodatabase pd = pds.createDatabase("PaloRuleTest");
palodimensions pdims = pd.getDimensions(0);
palodimension pdim = null;
palodimension pdim1 = null;
pdim = pdims.getDimension("Monat");
if (pdim == null)
pdim = pdims.createDimension("Monat");
pdim1 = pdims.getDimension("D2");
if (pdim1 == null)
pdim = pdims.createDimension("D2");
palocubes pcs = new palocubes(pcon, pd, 0);
if (pcs.getCube("cube1") == null)
pcs.createCube("cube1", new String[] { "Monat", "D2" }, 0);
palorules pll = new palorules(pcon, pd.getDatabaseId(), pcs.getCube(
"cube1").getCubeId());
}
public String parseRule(String strRuleToParse) throws paloexception {
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("definition", strRuleToParse));
try {
StringBuilder sb = new StringBuilder();
HttpEntity entity = this.plConn.sendToServer(qparams, "/rule/parse");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
sb.append(csv.get(0));
}
csv.close();
entity.consumeContent();
return sb.toString();
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public String getParseRuleResult() {
return strRuleParseResult;
}
/**
* Adds a rule to the given cube
*
*
* @param The rule definition
* @param Identifier flag
* @param An external Id
* @param The comment for this rule
* @param Acitvation flag
* @return The added palorule
*/
public palorule addRule(String strRuleDefinition, boolean bUseIdentifier, String strExtern_Id, String strComment,
boolean bActivate) throws paloexception {
palorule plRule = null;
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("sid", this.plConn.getPaloToken()));
qparams.add(new BasicNameValuePair("database", String.valueOf(this.lDatabaseId)));
qparams.add(new BasicNameValuePair("cube", String.valueOf(this.iCubeId)));
qparams.add(new BasicNameValuePair("definition", strRuleDefinition));
qparams.add(new BasicNameValuePair("activate", palohelpers.BooleanToString(bActivate)));
qparams.add(new BasicNameValuePair("external_identifier", strExtern_Id));
qparams.add(new BasicNameValuePair("comment", strComment));
qparams.add(new BasicNameValuePair("use_identifier", palohelpers.BooleanToString(bUseIdentifier)));
try {
HttpEntity entity = this.plConn.sendToServer(qparams, "/rule/create");
CSVReader csv = new CSVReader(entity.getContent(), ';', "UTF-8");
csv.setQuoteChar('"');
while (csv.readNext()) {
// System.out.println(csv.getRawRecord());
plRule = new palorule(plConn, lDatabaseId, iCubeId, palohelpers.StringToInt(csv.get(0)), csv.get(1), csv.get(2),
csv.get(3), palohelpers.StringToLong(csv.get(4)), palohelpers.StringToBoolean(csv.get(5)));
paloRules.add(plRule);
}
csv.close();
entity.consumeContent();
return plRule;
} catch (Exception e) {
throw new paloexception(e.getMessage());
}
}
public static void main(String args[]) throws Exception {
paloconnection pcon = new paloconnection("admin", "admin", "localhost", "7777");
palodatabases pds = new palodatabases(pcon);
palodatabase pd = pds.createDatabase("PaloRuleTest");
palodimensions pdims = pd.getDimensions(0);
palodimension pdim = null;
palodimension pdim1 = null;
pdim = pdims.getDimension("Monat");
if (pdim == null) {
pdim = pdims.createDimension("Monat");
}
pdim1 = pdims.getDimension("D2");
if (pdim1 == null) {
pdim = pdims.createDimension("D2");
}
palocubes pcs = new palocubes(pcon, pd, 0);
if (pcs.getCube("cube1") == null) {
pcs.createCube("cube1", new String[] { "Monat", "D2" }, 0);
}
palorules pll = new palorules(pcon, pd.getDatabaseId(), pcs.getCube("cube1").getCubeId());
}
}

View File

@@ -15,7 +15,7 @@
<path id="compile.classpath">
<pathelement location="${component.plugin.home}/tSalesforceBulkExec/partnerBulk.jar" />
<pathelement location="${component.plugin.home}/tSalesforceBulkExec/wsc.jar" />
<pathelement location="${component.plugin.home}/tFileInputDelimited/javacsv.jar" />
<pathelement location="${component.plugin.home}/tFileInputDelimited/talendcsv.jar" />
</path>
<!-- #################################################### -->

View File

@@ -2,167 +2,228 @@ package com.sforce.soap.partner;
/** * Generated class, please do not edit. */
public class ChildRelationship implements com.sforce.ws.bind.XMLizable {
/** * Constructor */
public ChildRelationship() {
}
/** * Constructor */
public ChildRelationship() {
}
/**
* * element : cascadeDelete of type
* {http://www.w3.org/2001/XMLSchema}boolean * java type: boolean
*/
private static final com.sforce.ws.bind.TypeInfo cascadeDelete__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "cascadeDelete",
"http://www.w3.org/2001/XMLSchema", "boolean", 1, 1, true);
private boolean cascadeDelete__is_set = false;
private boolean cascadeDelete;
/** * element : cascadeDelete of type {http://www.w3.org/2001/XMLSchema}boolean * java type: boolean */
private static final com.sforce.ws.bind.TypeInfo cascadeDelete__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "cascadeDelete", "http://www.w3.org/2001/XMLSchema", "boolean", 1, 1, true);
public boolean getCascadeDelete() {
return cascadeDelete;
}
private boolean cascadeDelete__is_set = false;
public boolean isCascadeDelete() {
return cascadeDelete;
}
private boolean cascadeDelete;
public void setCascadeDelete(boolean cascadeDelete) {
this.cascadeDelete = cascadeDelete;
cascadeDelete__is_set = true;
}
public boolean getCascadeDelete() {
return cascadeDelete;
}
/**
* * element : childSObject of type {http://www.w3.org/2001/XMLSchema}string
* * java type: java.lang.String
*/
private static final com.sforce.ws.bind.TypeInfo childSObject__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "childSObject",
"http://www.w3.org/2001/XMLSchema", "string", 1, 1, true);
private boolean childSObject__is_set = false;
private java.lang.String childSObject;
public boolean isCascadeDelete() {
return cascadeDelete;
}
public java.lang.String getChildSObject() {
return childSObject;
}
public void setCascadeDelete(boolean cascadeDelete) {
this.cascadeDelete = cascadeDelete;
cascadeDelete__is_set = true;
}
public void setChildSObject(java.lang.String childSObject) {
this.childSObject = childSObject;
childSObject__is_set = true;
}
/** * element : childSObject of type {http://www.w3.org/2001/XMLSchema}string * java type: java.lang.String */
private static final com.sforce.ws.bind.TypeInfo childSObject__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "childSObject", "http://www.w3.org/2001/XMLSchema", "string", 1, 1, true);
/**
* * element : deprecatedAndHidden of type
* {http://www.w3.org/2001/XMLSchema}boolean * java type: boolean
*/
private static final com.sforce.ws.bind.TypeInfo deprecatedAndHidden__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "deprecatedAndHidden",
"http://www.w3.org/2001/XMLSchema", "boolean", 1, 1, true);
private boolean deprecatedAndHidden__is_set = false;
private boolean deprecatedAndHidden;
private boolean childSObject__is_set = false;
public boolean getDeprecatedAndHidden() {
return deprecatedAndHidden;
}
private java.lang.String childSObject;
public boolean isDeprecatedAndHidden() {
return deprecatedAndHidden;
}
public java.lang.String getChildSObject() {
return childSObject;
}
public void setDeprecatedAndHidden(boolean deprecatedAndHidden) {
this.deprecatedAndHidden = deprecatedAndHidden;
deprecatedAndHidden__is_set = true;
}
public void setChildSObject(java.lang.String childSObject) {
this.childSObject = childSObject;
childSObject__is_set = true;
}
/**
* * element : field of type {http://www.w3.org/2001/XMLSchema}string * java
* type: java.lang.String
*/
private static final com.sforce.ws.bind.TypeInfo field__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "field",
"http://www.w3.org/2001/XMLSchema", "string", 1, 1, true);
private boolean field__is_set = false;
private java.lang.String field;
/** * element : deprecatedAndHidden of type {http://www.w3.org/2001/XMLSchema}boolean * java type: boolean */
private static final com.sforce.ws.bind.TypeInfo deprecatedAndHidden__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "deprecatedAndHidden", "http://www.w3.org/2001/XMLSchema", "boolean", 1, 1, true);
public java.lang.String getField() {
return field;
}
private boolean deprecatedAndHidden__is_set = false;
public void setField(java.lang.String field) {
this.field = field;
field__is_set = true;
}
private boolean deprecatedAndHidden;
/**
* * element : relationshipName of type
* {http://www.w3.org/2001/XMLSchema}string * java type: java.lang.String
*/
private static final com.sforce.ws.bind.TypeInfo relationshipName__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "relationshipName",
"http://www.w3.org/2001/XMLSchema", "string", 0, 1, true);
private boolean relationshipName__is_set = false;
private java.lang.String relationshipName;
public boolean getDeprecatedAndHidden() {
return deprecatedAndHidden;
}
public java.lang.String getRelationshipName() {
return relationshipName;
}
public boolean isDeprecatedAndHidden() {
return deprecatedAndHidden;
}
public void setRelationshipName(java.lang.String relationshipName) {
this.relationshipName = relationshipName;
relationshipName__is_set = true;
}
public void setDeprecatedAndHidden(boolean deprecatedAndHidden) {
this.deprecatedAndHidden = deprecatedAndHidden;
deprecatedAndHidden__is_set = true;
}
/**
* * element : restrictedDelete of type
* {http://www.w3.org/2001/XMLSchema}boolean * java type: boolean
*/
private static final com.sforce.ws.bind.TypeInfo restrictedDelete__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "restrictedDelete",
"http://www.w3.org/2001/XMLSchema", "boolean", 0, 1, true);
private boolean restrictedDelete__is_set = false;
private boolean restrictedDelete;
/** * element : field of type {http://www.w3.org/2001/XMLSchema}string * java type: java.lang.String */
private static final com.sforce.ws.bind.TypeInfo field__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "field", "http://www.w3.org/2001/XMLSchema", "string", 1, 1, true);
public boolean getRestrictedDelete() {
return restrictedDelete;
}
private boolean field__is_set = false;
public boolean isRestrictedDelete() {
return restrictedDelete;
}
private java.lang.String field;
public void setRestrictedDelete(boolean restrictedDelete) {
this.restrictedDelete = restrictedDelete;
restrictedDelete__is_set = true;
}
public java.lang.String getField() {
return field;
}
/** */
public void write(javax.xml.namespace.QName __element,
com.sforce.ws.parser.XmlOutputStream __out,
com.sforce.ws.bind.TypeMapper __typeMapper)
throws java.io.IOException {
__out.writeStartTag(__element.getNamespaceURI(),
__element.getLocalPart());
writeFields(__out, __typeMapper);
__out.writeEndTag(__element.getNamespaceURI(), __element.getLocalPart());
}
public void setField(java.lang.String field) {
this.field = field;
field__is_set = true;
}
protected void writeFields(com.sforce.ws.parser.XmlOutputStream __out,
com.sforce.ws.bind.TypeMapper __typeMapper)
throws java.io.IOException {
__typeMapper.writeBoolean(__out, cascadeDelete__typeInfo,
cascadeDelete, cascadeDelete__is_set);
__typeMapper.writeString(__out, childSObject__typeInfo, childSObject,
childSObject__is_set);
__typeMapper.writeBoolean(__out, deprecatedAndHidden__typeInfo,
deprecatedAndHidden, deprecatedAndHidden__is_set);
__typeMapper.writeString(__out, field__typeInfo, field, field__is_set);
__typeMapper.writeString(__out, relationshipName__typeInfo,
relationshipName, relationshipName__is_set);
__typeMapper.writeBoolean(__out, restrictedDelete__typeInfo,
restrictedDelete, restrictedDelete__is_set);
}
/** * element : relationshipName of type {http://www.w3.org/2001/XMLSchema}string * java type: java.lang.String */
private static final com.sforce.ws.bind.TypeInfo relationshipName__typeInfo = new com.sforce.ws.bind.TypeInfo(
"urn:partner.soap.sforce.com", "relationshipName", "http://www.w3.org/2001/XMLSchema", "string", 0, 1, true);
public void load(com.sforce.ws.parser.XmlInputStream __in,
com.sforce.ws.bind.TypeMapper __typeMapper)
throws java.io.IOException, com.sforce.ws.ConnectionException {
__typeMapper.consumeStartTag(__in);
loadFields(__in, __typeMapper);
__typeMapper.consumeEndTag(__in);
}
private boolean relationshipName__is_set = false;
protected void loadFields(com.sforce.ws.parser.XmlInputStream __in,
com.sforce.ws.bind.TypeMapper __typeMapper)
throws java.io.IOException, com.sforce.ws.ConnectionException {
__in.peekTag();
if (__typeMapper.verifyElement(__in, cascadeDelete__typeInfo)) {
setCascadeDelete((boolean) __typeMapper.readBoolean(__in,
cascadeDelete__typeInfo, boolean.class));
}
__in.peekTag();
if (__typeMapper.verifyElement(__in, childSObject__typeInfo)) {
setChildSObject((java.lang.String) __typeMapper.readString(__in,
childSObject__typeInfo, java.lang.String.class));
}
__in.peekTag();
if (__typeMapper.verifyElement(__in, deprecatedAndHidden__typeInfo)) {
setDeprecatedAndHidden((boolean) __typeMapper.readBoolean(__in,
deprecatedAndHidden__typeInfo, boolean.class));
}
__in.peekTag();
if (__typeMapper.verifyElement(__in, field__typeInfo)) {
setField((java.lang.String) __typeMapper.readString(__in,
field__typeInfo, java.lang.String.class));
}
__in.peekTag();
if (__typeMapper.isElement(__in, relationshipName__typeInfo)) {
setRelationshipName((java.lang.String) __typeMapper.readString(
__in, relationshipName__typeInfo, java.lang.String.class));
}
__in.peekTag();
if (__typeMapper.isElement(__in, restrictedDelete__typeInfo)) {
setRestrictedDelete((boolean) __typeMapper.readBoolean(__in,
restrictedDelete__typeInfo, boolean.class));
}
}
private java.lang.String relationshipName;
public java.lang.String getRelationshipName() {
return relationshipName;
}
public void setRelationshipName(java.lang.String relationshipName) {
this.relationshipName = relationshipName;
relationshipName__is_set = true;
}
/** */
public void write(javax.xml.namespace.QName __element, com.sforce.ws.parser.XmlOutputStream __out,
com.sforce.ws.bind.TypeMapper __typeMapper) throws java.io.IOException {
__out.writeStartTag(__element.getNamespaceURI(), __element.getLocalPart());
writeFields(__out, __typeMapper);
__out.writeEndTag(__element.getNamespaceURI(), __element.getLocalPart());
}
protected void writeFields(com.sforce.ws.parser.XmlOutputStream __out, com.sforce.ws.bind.TypeMapper __typeMapper)
throws java.io.IOException {
__typeMapper.writeBoolean(__out, cascadeDelete__typeInfo, cascadeDelete, cascadeDelete__is_set);
__typeMapper.writeString(__out, childSObject__typeInfo, childSObject, childSObject__is_set);
__typeMapper.writeBoolean(__out, deprecatedAndHidden__typeInfo, deprecatedAndHidden, deprecatedAndHidden__is_set);
__typeMapper.writeString(__out, field__typeInfo, field, field__is_set);
__typeMapper.writeString(__out, relationshipName__typeInfo, relationshipName, relationshipName__is_set);
}
public void load(com.sforce.ws.parser.XmlInputStream __in, com.sforce.ws.bind.TypeMapper __typeMapper)
throws java.io.IOException, com.sforce.ws.ConnectionException {
__typeMapper.consumeStartTag(__in);
loadFields(__in, __typeMapper);
__typeMapper.consumeEndTag(__in);
}
protected void loadFields(com.sforce.ws.parser.XmlInputStream __in, com.sforce.ws.bind.TypeMapper __typeMapper)
throws java.io.IOException, com.sforce.ws.ConnectionException {
__in.peekTag();
if (__typeMapper.verifyElement(__in, cascadeDelete__typeInfo)) {
setCascadeDelete((boolean) __typeMapper.readBoolean(__in, cascadeDelete__typeInfo, boolean.class));
}
__in.peekTag();
if (__typeMapper.verifyElement(__in, childSObject__typeInfo)) {
setChildSObject((java.lang.String) __typeMapper.readString(__in, childSObject__typeInfo, java.lang.String.class));
}
__in.peekTag();
if (__typeMapper.verifyElement(__in, deprecatedAndHidden__typeInfo)) {
setDeprecatedAndHidden((boolean) __typeMapper.readBoolean(__in, deprecatedAndHidden__typeInfo, boolean.class));
}
__in.peekTag();
if (__typeMapper.verifyElement(__in, field__typeInfo)) {
setField((java.lang.String) __typeMapper.readString(__in, field__typeInfo, java.lang.String.class));
}
__in.peekTag();
if (__typeMapper.isElement(__in, relationshipName__typeInfo)) {
setRelationshipName((java.lang.String) __typeMapper.readString(__in, relationshipName__typeInfo,
java.lang.String.class));
}
}
public String toString() {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("[ChildRelationship ");
sb.append(" cascadeDelete=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(cascadeDelete) + "'\n");
sb.append(" childSObject=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(childSObject) + "'\n");
sb.append(" deprecatedAndHidden=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(deprecatedAndHidden) + "'\n");
sb.append(" field=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(field) + "'\n");
sb.append(" relationshipName=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(relationshipName) + "'\n");
sb.append("]\n");
return sb.toString();
}
}
public String toString() {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("[ChildRelationship ");
sb.append(" cascadeDelete=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(cascadeDelete)
+ "'\n");
sb.append(" childSObject=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(childSObject)
+ "'\n");
sb.append(" deprecatedAndHidden=");
sb.append("'"
+ com.sforce.ws.util.Verbose.toString(deprecatedAndHidden)
+ "'\n");
sb.append(" field=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(field) + "'\n");
sb.append(" relationshipName=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(relationshipName)
+ "'\n");
sb.append(" restrictedDelete=");
sb.append("'" + com.sforce.ws.util.Verbose.toString(restrictedDelete)
+ "'\n");
sb.append("]\n");
return sb.toString();
}
}

View File

@@ -6,7 +6,7 @@ import com.sforce.ws.ConnectionException;
/** * Generated class, please do not edit. */
public class Connector {
public static final String END_POINT = "https://login.salesforce.com/services/Soap/u/24.0";
public static final String END_POINT = "https://login.salesforce.com/services/Soap/u/25.0";
public static PartnerConnection newConnection(String username, String password) throws ConnectionException {
ConnectorConfig config = new ConnectorConfig();

View File

@@ -2,48 +2,28 @@ package com.sforce.soap.partner;
/** * Generated enum, please do not edit. */
public enum FieldType {
/** * Enumeration : string */
string,
/** * Enumeration : picklist */
picklist,
/** * Enumeration : multipicklist */
multipicklist,
/** * Enumeration : combobox */
combobox,
/** * Enumeration : reference */
reference,
/** * Enumeration : base64 */
base64,
/** * Enumeration : _boolean */
_boolean,
/** * Enumeration : currency */
currency,
/** * Enumeration : textarea */
textarea,
/** * Enumeration : _int */
_int,
/** * Enumeration : _double */
_double,
/** * Enumeration : percent */
percent,
/** * Enumeration : phone */
phone,
/** * Enumeration : id */
id,
/** * Enumeration : date */
date,
/** * Enumeration : datetime */
datetime,
/** * Enumeration : time */
time,
/** * Enumeration : url */
url,
/** * Enumeration : email */
email,
/** * Enumeration : encryptedstring */
encryptedstring,
/** * Enumeration : datacategorygroupreference */
datacategorygroupreference,
/** * Enumeration : anyType */
anyType,
}
/** * Enumeration : string */
string, /** * Enumeration : picklist */
picklist, /** * Enumeration : multipicklist */
multipicklist, /** * Enumeration : combobox */
combobox, /** * Enumeration : reference */
reference, /** * Enumeration : base64 */
base64, /** * Enumeration : _boolean */
_boolean, /** * Enumeration : currency */
currency, /** * Enumeration : textarea */
textarea, /** * Enumeration : _int */
_int, /** * Enumeration : _double */
_double, /** * Enumeration : percent */
percent, /** * Enumeration : phone */
phone, /** * Enumeration : id */
id, /** * Enumeration : date */
date, /** * Enumeration : datetime */
datetime, /** * Enumeration : time */
time, /** * Enumeration : url */
url, /** * Enumeration : email */
email, /** * Enumeration : encryptedstring */
encryptedstring, /** * Enumeration : datacategorygroupreference */
datacategorygroupreference, /** * Enumeration : location */
location, /** * Enumeration : anyType */
anyType,
}

View File

@@ -2,338 +2,338 @@ package com.sforce.soap.partner;
/** * Generated enum, please do not edit. */
public enum StatusCode {
/** * Enumeration : ALL_OR_NONE_OPERATION_ROLLED_BACK */
ALL_OR_NONE_OPERATION_ROLLED_BACK,
/** * Enumeration : ALREADY_IN_PROCESS */
ALREADY_IN_PROCESS,
/** * Enumeration : ASSIGNEE_TYPE_REQUIRED */
ASSIGNEE_TYPE_REQUIRED,
/** * Enumeration : BAD_CUSTOM_ENTITY_PARENT_DOMAIN */
BAD_CUSTOM_ENTITY_PARENT_DOMAIN,
/** * Enumeration : BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED */
BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED,
/** * Enumeration : CANNOT_CASCADE_PRODUCT_ACTIVE */
CANNOT_CASCADE_PRODUCT_ACTIVE,
/** * Enumeration : CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD */
CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD,
/** * Enumeration : CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE */
CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE,
/** * Enumeration : CANNOT_DEACTIVATE_DIVISION */
CANNOT_DEACTIVATE_DIVISION,
/** * Enumeration : CANNOT_DELETE_LAST_DATED_CONVERSION_RATE */
CANNOT_DELETE_LAST_DATED_CONVERSION_RATE,
/** * Enumeration : CANNOT_DELETE_MANAGED_OBJECT */
CANNOT_DELETE_MANAGED_OBJECT,
/** * Enumeration : CANNOT_DISABLE_LAST_ADMIN */
CANNOT_DISABLE_LAST_ADMIN,
/** * Enumeration : CANNOT_ENABLE_IP_RESTRICT_REQUESTS */
CANNOT_ENABLE_IP_RESTRICT_REQUESTS,
/** * Enumeration : CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY */
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY,
/** * Enumeration : CANNOT_MODIFY_MANAGED_OBJECT */
CANNOT_MODIFY_MANAGED_OBJECT,
/** * Enumeration : CANNOT_RENAME_APEX_REFERENCED_FIELD */
CANNOT_RENAME_APEX_REFERENCED_FIELD,
/** * Enumeration : CANNOT_RENAME_APEX_REFERENCED_OBJECT */
CANNOT_RENAME_APEX_REFERENCED_OBJECT,
/** * Enumeration : CANNOT_REPARENT_RECORD */
CANNOT_REPARENT_RECORD,
/** * Enumeration : CANNOT_UPDATE_CONVERTED_LEAD */
CANNOT_UPDATE_CONVERTED_LEAD,
/** * Enumeration : CANT_DISABLE_CORP_CURRENCY */
CANT_DISABLE_CORP_CURRENCY,
/** * Enumeration : CANT_UNSET_CORP_CURRENCY */
CANT_UNSET_CORP_CURRENCY,
/** * Enumeration : CHILD_SHARE_FAILS_PARENT */
CHILD_SHARE_FAILS_PARENT,
/** * Enumeration : CIRCULAR_DEPENDENCY */
CIRCULAR_DEPENDENCY,
/** * Enumeration : COMMUNITY_NOT_ACCESSIBLE */
COMMUNITY_NOT_ACCESSIBLE,
/** * Enumeration : CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED */
CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED,
/** * Enumeration : CUSTOM_ENTITY_OR_FIELD_LIMIT */
CUSTOM_ENTITY_OR_FIELD_LIMIT,
/** * Enumeration : CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED */
CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED,
/** * Enumeration : CUSTOM_INDEX_EXISTS */
CUSTOM_INDEX_EXISTS,
/** * Enumeration : CUSTOM_LINK_LIMIT_EXCEEDED */
CUSTOM_LINK_LIMIT_EXCEEDED,
/** * Enumeration : CUSTOM_TAB_LIMIT_EXCEEDED */
CUSTOM_TAB_LIMIT_EXCEEDED,
/** * Enumeration : DELETE_FAILED */
DELETE_FAILED,
/** * Enumeration : DELETE_OPERATION_TOO_LARGE */
DELETE_OPERATION_TOO_LARGE,
/** * Enumeration : DELETE_REQUIRED_ON_CASCADE */
DELETE_REQUIRED_ON_CASCADE,
/** * Enumeration : DEPENDENCY_EXISTS */
DEPENDENCY_EXISTS,
/** * Enumeration : DUPLICATE_CASE_SOLUTION */
DUPLICATE_CASE_SOLUTION,
/** * Enumeration : DUPLICATE_COMM_NICKNAME */
DUPLICATE_COMM_NICKNAME,
/** * Enumeration : DUPLICATE_CUSTOM_ENTITY_DEFINITION */
DUPLICATE_CUSTOM_ENTITY_DEFINITION,
/** * Enumeration : DUPLICATE_CUSTOM_TAB_MOTIF */
DUPLICATE_CUSTOM_TAB_MOTIF,
/** * Enumeration : DUPLICATE_DEVELOPER_NAME */
DUPLICATE_DEVELOPER_NAME,
/** * Enumeration : DUPLICATE_EXTERNAL_ID */
DUPLICATE_EXTERNAL_ID,
/** * Enumeration : DUPLICATE_MASTER_LABEL */
DUPLICATE_MASTER_LABEL,
/** * Enumeration : DUPLICATE_SENDER_DISPLAY_NAME */
DUPLICATE_SENDER_DISPLAY_NAME,
/** * Enumeration : DUPLICATE_USERNAME */
DUPLICATE_USERNAME,
/** * Enumeration : DUPLICATE_VALUE */
DUPLICATE_VALUE,
/** * Enumeration : EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR */
EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR,
/** * Enumeration : EMPTY_SCONTROL_FILE_NAME */
EMPTY_SCONTROL_FILE_NAME,
/** * Enumeration : ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE */
ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE,
/** * Enumeration : ENTITY_IS_ARCHIVED */
ENTITY_IS_ARCHIVED,
/** * Enumeration : ENTITY_IS_DELETED */
ENTITY_IS_DELETED,
/** * Enumeration : ENTITY_IS_LOCKED */
ENTITY_IS_LOCKED,
/** * Enumeration : ERROR_IN_MAILER */
ERROR_IN_MAILER,
/** * Enumeration : FAILED_ACTIVATION */
FAILED_ACTIVATION,
/** * Enumeration : FIELD_CUSTOM_VALIDATION_EXCEPTION */
FIELD_CUSTOM_VALIDATION_EXCEPTION,
/** * Enumeration : FIELD_FILTER_VALIDATION_EXCEPTION */
FIELD_FILTER_VALIDATION_EXCEPTION,
/** * Enumeration : FIELD_INTEGRITY_EXCEPTION */
FIELD_INTEGRITY_EXCEPTION,
/** * Enumeration : FILTERED_LOOKUP_LIMIT_EXCEEDED */
FILTERED_LOOKUP_LIMIT_EXCEEDED,
/** * Enumeration : HTML_FILE_UPLOAD_NOT_ALLOWED */
HTML_FILE_UPLOAD_NOT_ALLOWED,
/** * Enumeration : IMAGE_TOO_LARGE */
IMAGE_TOO_LARGE,
/** * Enumeration : INACTIVE_OWNER_OR_USER */
INACTIVE_OWNER_OR_USER,
/** * Enumeration : INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY */
INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY,
/** * Enumeration : INSUFFICIENT_ACCESS_OR_READONLY */
INSUFFICIENT_ACCESS_OR_READONLY,
/** * Enumeration : INVALID_ACCESS_LEVEL */
INVALID_ACCESS_LEVEL,
/** * Enumeration : INVALID_ARGUMENT_TYPE */
INVALID_ARGUMENT_TYPE,
/** * Enumeration : INVALID_ASSIGNEE_TYPE */
INVALID_ASSIGNEE_TYPE,
/** * Enumeration : INVALID_ASSIGNMENT_RULE */
INVALID_ASSIGNMENT_RULE,
/** * Enumeration : INVALID_BATCH_OPERATION */
INVALID_BATCH_OPERATION,
/** * Enumeration : INVALID_CONTENT_TYPE */
INVALID_CONTENT_TYPE,
/** * Enumeration : INVALID_CREDIT_CARD_INFO */
INVALID_CREDIT_CARD_INFO,
/** * Enumeration : INVALID_CROSS_REFERENCE_KEY */
INVALID_CROSS_REFERENCE_KEY,
/** * Enumeration : INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD */
INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD,
/** * Enumeration : INVALID_CURRENCY_CONV_RATE */
INVALID_CURRENCY_CONV_RATE,
/** * Enumeration : INVALID_CURRENCY_CORP_RATE */
INVALID_CURRENCY_CORP_RATE,
/** * Enumeration : INVALID_CURRENCY_ISO */
INVALID_CURRENCY_ISO,
/** * Enumeration : INVALID_DATA_CATEGORY_GROUP_REFERENCE */
INVALID_DATA_CATEGORY_GROUP_REFERENCE,
/** * Enumeration : INVALID_DATA_URI */
INVALID_DATA_URI,
/** * Enumeration : INVALID_EMAIL_ADDRESS */
INVALID_EMAIL_ADDRESS,
/** * Enumeration : INVALID_EMPTY_KEY_OWNER */
INVALID_EMPTY_KEY_OWNER,
/** * Enumeration : INVALID_FIELD */
INVALID_FIELD,
/** * Enumeration : INVALID_FIELD_FOR_INSERT_UPDATE */
INVALID_FIELD_FOR_INSERT_UPDATE,
/** * Enumeration : INVALID_FIELD_WHEN_USING_TEMPLATE */
INVALID_FIELD_WHEN_USING_TEMPLATE,
/** * Enumeration : INVALID_FILTER_ACTION */
INVALID_FILTER_ACTION,
/** * Enumeration : INVALID_GOOGLE_DOCS_URL */
INVALID_GOOGLE_DOCS_URL,
/** * Enumeration : INVALID_ID_FIELD */
INVALID_ID_FIELD,
/** * Enumeration : INVALID_INET_ADDRESS */
INVALID_INET_ADDRESS,
/** * Enumeration : INVALID_LINEITEM_CLONE_STATE */
INVALID_LINEITEM_CLONE_STATE,
/** * Enumeration : INVALID_MASTER_OR_TRANSLATED_SOLUTION */
INVALID_MASTER_OR_TRANSLATED_SOLUTION,
/** * Enumeration : INVALID_MESSAGE_ID_REFERENCE */
INVALID_MESSAGE_ID_REFERENCE,
/** * Enumeration : INVALID_OPERATION */
INVALID_OPERATION,
/** * Enumeration : INVALID_OPERATOR */
INVALID_OPERATOR,
/** * Enumeration : INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST */
INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST,
/** * Enumeration : INVALID_PACKAGE_VERSION */
INVALID_PACKAGE_VERSION,
/** * Enumeration : INVALID_PARTNER_NETWORK_STATUS */
INVALID_PARTNER_NETWORK_STATUS,
/** * Enumeration : INVALID_PERSON_ACCOUNT_OPERATION */
INVALID_PERSON_ACCOUNT_OPERATION,
/** * Enumeration : INVALID_READ_ONLY_USER_DML */
INVALID_READ_ONLY_USER_DML,
/** * Enumeration : INVALID_SAVE_AS_ACTIVITY_FLAG */
INVALID_SAVE_AS_ACTIVITY_FLAG,
/** * Enumeration : INVALID_SESSION_ID */
INVALID_SESSION_ID,
/** * Enumeration : INVALID_SETUP_OWNER */
INVALID_SETUP_OWNER,
/** * Enumeration : INVALID_STATUS */
INVALID_STATUS,
/** * Enumeration : INVALID_TYPE */
INVALID_TYPE,
/** * Enumeration : INVALID_TYPE_FOR_OPERATION */
INVALID_TYPE_FOR_OPERATION,
/** * Enumeration : INVALID_TYPE_ON_FIELD_IN_RECORD */
INVALID_TYPE_ON_FIELD_IN_RECORD,
/** * Enumeration : IP_RANGE_LIMIT_EXCEEDED */
IP_RANGE_LIMIT_EXCEEDED,
/** * Enumeration : LICENSE_LIMIT_EXCEEDED */
LICENSE_LIMIT_EXCEEDED,
/** * Enumeration : LIGHT_PORTAL_USER_EXCEPTION */
LIGHT_PORTAL_USER_EXCEPTION,
/** * Enumeration : LIMIT_EXCEEDED */
LIMIT_EXCEEDED,
/** * Enumeration : MALFORMED_ID */
MALFORMED_ID,
/** * Enumeration : MANAGER_NOT_DEFINED */
MANAGER_NOT_DEFINED,
/** * Enumeration : MASSMAIL_RETRY_LIMIT_EXCEEDED */
MASSMAIL_RETRY_LIMIT_EXCEEDED,
/** * Enumeration : MASS_MAIL_LIMIT_EXCEEDED */
MASS_MAIL_LIMIT_EXCEEDED,
/** * Enumeration : MAXIMUM_CCEMAILS_EXCEEDED */
MAXIMUM_CCEMAILS_EXCEEDED,
/** * Enumeration : MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED */
MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED,
/** * Enumeration : MAXIMUM_HIERARCHY_LEVELS_REACHED */
MAXIMUM_HIERARCHY_LEVELS_REACHED,
/** * Enumeration : MAXIMUM_SIZE_OF_ATTACHMENT */
MAXIMUM_SIZE_OF_ATTACHMENT,
/** * Enumeration : MAXIMUM_SIZE_OF_DOCUMENT */
MAXIMUM_SIZE_OF_DOCUMENT,
/** * Enumeration : MAX_ACTIONS_PER_RULE_EXCEEDED */
MAX_ACTIONS_PER_RULE_EXCEEDED,
/** * Enumeration : MAX_ACTIVE_RULES_EXCEEDED */
MAX_ACTIVE_RULES_EXCEEDED,
/** * Enumeration : MAX_APPROVAL_STEPS_EXCEEDED */
MAX_APPROVAL_STEPS_EXCEEDED,
/** * Enumeration : MAX_FORMULAS_PER_RULE_EXCEEDED */
MAX_FORMULAS_PER_RULE_EXCEEDED,
/** * Enumeration : MAX_RULES_EXCEEDED */
MAX_RULES_EXCEEDED,
/** * Enumeration : MAX_RULE_ENTRIES_EXCEEDED */
MAX_RULE_ENTRIES_EXCEEDED,
/** * Enumeration : MAX_TASK_DESCRIPTION_EXCEEEDED */
MAX_TASK_DESCRIPTION_EXCEEEDED,
/** * Enumeration : MAX_TM_RULES_EXCEEDED */
MAX_TM_RULES_EXCEEDED,
/** * Enumeration : MAX_TM_RULE_ITEMS_EXCEEDED */
MAX_TM_RULE_ITEMS_EXCEEDED,
/** * Enumeration : MERGE_FAILED */
MERGE_FAILED,
/** * Enumeration : MISSING_ARGUMENT */
MISSING_ARGUMENT,
/** * Enumeration : MIXED_DML_OPERATION */
MIXED_DML_OPERATION,
/** * Enumeration : NONUNIQUE_SHIPPING_ADDRESS */
NONUNIQUE_SHIPPING_ADDRESS,
/** * Enumeration : NO_APPLICABLE_PROCESS */
NO_APPLICABLE_PROCESS,
/** * Enumeration : NO_ATTACHMENT_PERMISSION */
NO_ATTACHMENT_PERMISSION,
/** * Enumeration : NO_INACTIVE_DIVISION_MEMBERS */
NO_INACTIVE_DIVISION_MEMBERS,
/** * Enumeration : NO_MASS_MAIL_PERMISSION */
NO_MASS_MAIL_PERMISSION,
/** * Enumeration : NUMBER_OUTSIDE_VALID_RANGE */
NUMBER_OUTSIDE_VALID_RANGE,
/** * Enumeration : NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED */
NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED,
/** * Enumeration : OPTED_OUT_OF_MASS_MAIL */
OPTED_OUT_OF_MASS_MAIL,
/** * Enumeration : OP_WITH_INVALID_USER_TYPE_EXCEPTION */
OP_WITH_INVALID_USER_TYPE_EXCEPTION,
/** * Enumeration : PACKAGE_LICENSE_REQUIRED */
PACKAGE_LICENSE_REQUIRED,
/** * Enumeration : PORTAL_NO_ACCESS */
PORTAL_NO_ACCESS,
/** * Enumeration : PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT */
PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT,
/** * Enumeration : PRIVATE_CONTACT_ON_ASSET */
PRIVATE_CONTACT_ON_ASSET,
/** * Enumeration : RECORD_IN_USE_BY_WORKFLOW */
RECORD_IN_USE_BY_WORKFLOW,
/** * Enumeration : REQUEST_RUNNING_TOO_LONG */
REQUEST_RUNNING_TOO_LONG,
/** * Enumeration : REQUIRED_FEATURE_MISSING */
REQUIRED_FEATURE_MISSING,
/** * Enumeration : REQUIRED_FIELD_MISSING */
REQUIRED_FIELD_MISSING,
/** * Enumeration : SELF_REFERENCE_FROM_TRIGGER */
SELF_REFERENCE_FROM_TRIGGER,
/** * Enumeration : SHARE_NEEDED_FOR_CHILD_OWNER */
SHARE_NEEDED_FOR_CHILD_OWNER,
/** * Enumeration : SINGLE_EMAIL_LIMIT_EXCEEDED */
SINGLE_EMAIL_LIMIT_EXCEEDED,
/** * Enumeration : STANDARD_PRICE_NOT_DEFINED */
STANDARD_PRICE_NOT_DEFINED,
/** * Enumeration : STORAGE_LIMIT_EXCEEDED */
STORAGE_LIMIT_EXCEEDED,
/** * Enumeration : STRING_TOO_LONG */
STRING_TOO_LONG,
/** * Enumeration : TABSET_LIMIT_EXCEEDED */
TABSET_LIMIT_EXCEEDED,
/** * Enumeration : TEMPLATE_NOT_ACTIVE */
TEMPLATE_NOT_ACTIVE,
/** * Enumeration : TERRITORY_REALIGN_IN_PROGRESS */
TERRITORY_REALIGN_IN_PROGRESS,
/** * Enumeration : TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET */
TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET,
/** * Enumeration : TOO_MANY_APEX_REQUESTS */
TOO_MANY_APEX_REQUESTS,
/** * Enumeration : TOO_MANY_ENUM_VALUE */
TOO_MANY_ENUM_VALUE,
/** * Enumeration : TRANSFER_REQUIRES_READ */
TRANSFER_REQUIRES_READ,
/** * Enumeration : UNABLE_TO_LOCK_ROW */
UNABLE_TO_LOCK_ROW,
/** * Enumeration : UNAVAILABLE_RECORDTYPE_EXCEPTION */
UNAVAILABLE_RECORDTYPE_EXCEPTION,
/** * Enumeration : UNDELETE_FAILED */
UNDELETE_FAILED,
/** * Enumeration : UNKNOWN_EXCEPTION */
UNKNOWN_EXCEPTION,
/** * Enumeration : UNSPECIFIED_EMAIL_ADDRESS */
UNSPECIFIED_EMAIL_ADDRESS,
/** * Enumeration : UNSUPPORTED_APEX_TRIGGER_OPERATON */
UNSUPPORTED_APEX_TRIGGER_OPERATON,
/** * Enumeration : UNVERIFIED_SENDER_ADDRESS */
UNVERIFIED_SENDER_ADDRESS,
/** * Enumeration : USER_OWNS_PORTAL_ACCOUNT_EXCEPTION */
USER_OWNS_PORTAL_ACCOUNT_EXCEPTION,
/** * Enumeration : USER_WITH_APEX_SHARES_EXCEPTION */
USER_WITH_APEX_SHARES_EXCEPTION,
/** * Enumeration : WEBLINK_SIZE_LIMIT_EXCEEDED */
WEBLINK_SIZE_LIMIT_EXCEEDED,
/** * Enumeration : WRONG_CONTROLLER_TYPE */
WRONG_CONTROLLER_TYPE,
}
/** * Enumeration : ALL_OR_NONE_OPERATION_ROLLED_BACK */
ALL_OR_NONE_OPERATION_ROLLED_BACK, /** * Enumeration : ALREADY_IN_PROCESS */
ALREADY_IN_PROCESS, /** * Enumeration : ASSIGNEE_TYPE_REQUIRED */
ASSIGNEE_TYPE_REQUIRED, /** * Enumeration : BAD_CUSTOM_ENTITY_PARENT_DOMAIN */
BAD_CUSTOM_ENTITY_PARENT_DOMAIN, /**
* * Enumeration :
* BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED
*/
BCC_NOT_ALLOWED_IF_BCC_COMPLIANCE_ENABLED, /**
* * Enumeration :
* CANNOT_CASCADE_PRODUCT_ACTIVE
*/
CANNOT_CASCADE_PRODUCT_ACTIVE, /**
* * Enumeration :
* CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD
*/
CANNOT_CHANGE_FIELD_TYPE_OF_APEX_REFERENCED_FIELD, /**
* * Enumeration :
* CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE
*/
CANNOT_CREATE_ANOTHER_MANAGED_PACKAGE, /**
* * Enumeration :
* CANNOT_DEACTIVATE_DIVISION
*/
CANNOT_DEACTIVATE_DIVISION, /**
* * Enumeration :
* CANNOT_DELETE_LAST_DATED_CONVERSION_RATE
*/
CANNOT_DELETE_LAST_DATED_CONVERSION_RATE, /**
* * Enumeration :
* CANNOT_DELETE_MANAGED_OBJECT
*/
CANNOT_DELETE_MANAGED_OBJECT, /** * Enumeration : CANNOT_DISABLE_LAST_ADMIN */
CANNOT_DISABLE_LAST_ADMIN, /**
* * Enumeration :
* CANNOT_ENABLE_IP_RESTRICT_REQUESTS
*/
CANNOT_ENABLE_IP_RESTRICT_REQUESTS, /**
* * Enumeration :
* CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY
*/
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, /**
* * Enumeration :
* CANNOT_MODIFY_MANAGED_OBJECT
*/
CANNOT_MODIFY_MANAGED_OBJECT, /**
* * Enumeration :
* CANNOT_RENAME_APEX_REFERENCED_FIELD
*/
CANNOT_RENAME_APEX_REFERENCED_FIELD, /**
* * Enumeration :
* CANNOT_RENAME_APEX_REFERENCED_OBJECT
*/
CANNOT_RENAME_APEX_REFERENCED_OBJECT, /**
* * Enumeration :
* CANNOT_REPARENT_RECORD
*/
CANNOT_REPARENT_RECORD, /** * Enumeration : CANNOT_UPDATE_CONVERTED_LEAD */
CANNOT_UPDATE_CONVERTED_LEAD, /** * Enumeration : CANT_DISABLE_CORP_CURRENCY */
CANT_DISABLE_CORP_CURRENCY, /** * Enumeration : CANT_UNSET_CORP_CURRENCY */
CANT_UNSET_CORP_CURRENCY, /** * Enumeration : CHILD_SHARE_FAILS_PARENT */
CHILD_SHARE_FAILS_PARENT, /** * Enumeration : CIRCULAR_DEPENDENCY */
CIRCULAR_DEPENDENCY, /** * Enumeration : COMMUNITY_NOT_ACCESSIBLE */
COMMUNITY_NOT_ACCESSIBLE, /**
* * Enumeration : CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED
*/
CUSTOM_CLOB_FIELD_LIMIT_EXCEEDED, /**
* * Enumeration :
* CUSTOM_ENTITY_OR_FIELD_LIMIT
*/
CUSTOM_ENTITY_OR_FIELD_LIMIT, /**
* * Enumeration :
* CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED
*/
CUSTOM_FIELD_INDEX_LIMIT_EXCEEDED, /** * Enumeration : CUSTOM_INDEX_EXISTS */
CUSTOM_INDEX_EXISTS, /** * Enumeration : CUSTOM_LINK_LIMIT_EXCEEDED */
CUSTOM_LINK_LIMIT_EXCEEDED, /** * Enumeration : CUSTOM_TAB_LIMIT_EXCEEDED */
CUSTOM_TAB_LIMIT_EXCEEDED, /** * Enumeration : DELETE_FAILED */
DELETE_FAILED, /** * Enumeration : DELETE_OPERATION_TOO_LARGE */
DELETE_OPERATION_TOO_LARGE, /** * Enumeration : DELETE_REQUIRED_ON_CASCADE */
DELETE_REQUIRED_ON_CASCADE, /** * Enumeration : DEPENDENCY_EXISTS */
DEPENDENCY_EXISTS, /** * Enumeration : DUPLICATE_CASE_SOLUTION */
DUPLICATE_CASE_SOLUTION, /** * Enumeration : DUPLICATE_COMM_NICKNAME */
DUPLICATE_COMM_NICKNAME, /**
* * Enumeration :
* DUPLICATE_CUSTOM_ENTITY_DEFINITION
*/
DUPLICATE_CUSTOM_ENTITY_DEFINITION, /**
* * Enumeration :
* DUPLICATE_CUSTOM_TAB_MOTIF
*/
DUPLICATE_CUSTOM_TAB_MOTIF, /** * Enumeration : DUPLICATE_DEVELOPER_NAME */
DUPLICATE_DEVELOPER_NAME, /** * Enumeration : DUPLICATE_EXTERNAL_ID */
DUPLICATE_EXTERNAL_ID, /** * Enumeration : DUPLICATE_MASTER_LABEL */
DUPLICATE_MASTER_LABEL, /** * Enumeration : DUPLICATE_SENDER_DISPLAY_NAME */
DUPLICATE_SENDER_DISPLAY_NAME, /** * Enumeration : DUPLICATE_USERNAME */
DUPLICATE_USERNAME, /** * Enumeration : DUPLICATE_VALUE */
DUPLICATE_VALUE, /** * Enumeration : EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR */
EMAIL_NOT_PROCESSED_DUE_TO_PRIOR_ERROR, /**
* * Enumeration :
* EMPTY_SCONTROL_FILE_NAME
*/
EMPTY_SCONTROL_FILE_NAME, /**
* * Enumeration :
* ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE
*/
ENTITY_FAILED_IFLASTMODIFIED_ON_UPDATE, /**
* * Enumeration : ENTITY_IS_ARCHIVED
*/
ENTITY_IS_ARCHIVED, /** * Enumeration : ENTITY_IS_DELETED */
ENTITY_IS_DELETED, /** * Enumeration : ENTITY_IS_LOCKED */
ENTITY_IS_LOCKED, /** * Enumeration : ERROR_IN_MAILER */
ERROR_IN_MAILER, /** * Enumeration : EXTERNAL_OBJECT_AUTHENTICATION_EXCEPTION */
EXTERNAL_OBJECT_AUTHENTICATION_EXCEPTION, /**
* * Enumeration :
* EXTERNAL_OBJECT_CONNECTION_EXCEPTION
*/
EXTERNAL_OBJECT_CONNECTION_EXCEPTION, /**
* * Enumeration :
* EXTERNAL_OBJECT_EXCEPTION
*/
EXTERNAL_OBJECT_EXCEPTION, /**
* * Enumeration :
* EXTERNAL_OBJECT_UNSUPPORTED_EXCEPTION
*/
EXTERNAL_OBJECT_UNSUPPORTED_EXCEPTION, /** * Enumeration : FAILED_ACTIVATION */
FAILED_ACTIVATION, /** * Enumeration : FIELD_CUSTOM_VALIDATION_EXCEPTION */
FIELD_CUSTOM_VALIDATION_EXCEPTION, /**
* * Enumeration :
* FIELD_FILTER_VALIDATION_EXCEPTION
*/
FIELD_FILTER_VALIDATION_EXCEPTION, /**
* * Enumeration :
* FIELD_INTEGRITY_EXCEPTION
*/
FIELD_INTEGRITY_EXCEPTION, /** * Enumeration : FILTERED_LOOKUP_LIMIT_EXCEEDED */
FILTERED_LOOKUP_LIMIT_EXCEEDED, /**
* * Enumeration :
* HTML_FILE_UPLOAD_NOT_ALLOWED
*/
HTML_FILE_UPLOAD_NOT_ALLOWED, /** * Enumeration : IMAGE_TOO_LARGE */
IMAGE_TOO_LARGE, /** * Enumeration : INACTIVE_OWNER_OR_USER */
INACTIVE_OWNER_OR_USER, /**
* * Enumeration :
* INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY
*/
INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, /**
* * Enumeration :
* INSUFFICIENT_ACCESS_OR_READONLY
*/
INSUFFICIENT_ACCESS_OR_READONLY, /** * Enumeration : INVALID_ACCESS_LEVEL */
INVALID_ACCESS_LEVEL, /** * Enumeration : INVALID_ARGUMENT_TYPE */
INVALID_ARGUMENT_TYPE, /** * Enumeration : INVALID_ASSIGNEE_TYPE */
INVALID_ASSIGNEE_TYPE, /** * Enumeration : INVALID_ASSIGNMENT_RULE */
INVALID_ASSIGNMENT_RULE, /** * Enumeration : INVALID_BATCH_OPERATION */
INVALID_BATCH_OPERATION, /** * Enumeration : INVALID_CONTENT_TYPE */
INVALID_CONTENT_TYPE, /** * Enumeration : INVALID_CREDIT_CARD_INFO */
INVALID_CREDIT_CARD_INFO, /** * Enumeration : INVALID_CROSS_REFERENCE_KEY */
INVALID_CROSS_REFERENCE_KEY, /**
* * Enumeration :
* INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD
*/
INVALID_CROSS_REFERENCE_TYPE_FOR_FIELD, /**
* * Enumeration :
* INVALID_CURRENCY_CONV_RATE
*/
INVALID_CURRENCY_CONV_RATE, /** * Enumeration : INVALID_CURRENCY_CORP_RATE */
INVALID_CURRENCY_CORP_RATE, /** * Enumeration : INVALID_CURRENCY_ISO */
INVALID_CURRENCY_ISO, /**
* * Enumeration :
* INVALID_DATA_CATEGORY_GROUP_REFERENCE
*/
INVALID_DATA_CATEGORY_GROUP_REFERENCE, /** * Enumeration : INVALID_DATA_URI */
INVALID_DATA_URI, /** * Enumeration : INVALID_EMAIL_ADDRESS */
INVALID_EMAIL_ADDRESS, /** * Enumeration : INVALID_EMPTY_KEY_OWNER */
INVALID_EMPTY_KEY_OWNER, /** * Enumeration : INVALID_FIELD */
INVALID_FIELD, /** * Enumeration : INVALID_FIELD_FOR_INSERT_UPDATE */
INVALID_FIELD_FOR_INSERT_UPDATE, /**
* * Enumeration :
* INVALID_FIELD_WHEN_USING_TEMPLATE
*/
INVALID_FIELD_WHEN_USING_TEMPLATE, /** * Enumeration : INVALID_FILTER_ACTION */
INVALID_FILTER_ACTION, /** * Enumeration : INVALID_GOOGLE_DOCS_URL */
INVALID_GOOGLE_DOCS_URL, /** * Enumeration : INVALID_ID_FIELD */
INVALID_ID_FIELD, /** * Enumeration : INVALID_INET_ADDRESS */
INVALID_INET_ADDRESS, /** * Enumeration : INVALID_LINEITEM_CLONE_STATE */
INVALID_LINEITEM_CLONE_STATE, /**
* * Enumeration :
* INVALID_MASTER_OR_TRANSLATED_SOLUTION
*/
INVALID_MASTER_OR_TRANSLATED_SOLUTION, /**
* * Enumeration :
* INVALID_MESSAGE_ID_REFERENCE
*/
INVALID_MESSAGE_ID_REFERENCE, /** * Enumeration : INVALID_OPERATION */
INVALID_OPERATION, /** * Enumeration : INVALID_OPERATOR */
INVALID_OPERATOR, /** * Enumeration : INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST */
INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, /**
* * Enumeration :
* INVALID_PACKAGE_VERSION
*/
INVALID_PACKAGE_VERSION, /** * Enumeration : INVALID_PARTNER_NETWORK_STATUS */
INVALID_PARTNER_NETWORK_STATUS, /**
* * Enumeration :
* INVALID_PERSON_ACCOUNT_OPERATION
*/
INVALID_PERSON_ACCOUNT_OPERATION, /** * Enumeration : INVALID_QUERY_LOCATOR */
INVALID_QUERY_LOCATOR, /** * Enumeration : INVALID_READ_ONLY_USER_DML */
INVALID_READ_ONLY_USER_DML, /** * Enumeration : INVALID_SAVE_AS_ACTIVITY_FLAG */
INVALID_SAVE_AS_ACTIVITY_FLAG, /** * Enumeration : INVALID_SESSION_ID */
INVALID_SESSION_ID, /** * Enumeration : INVALID_SETUP_OWNER */
INVALID_SETUP_OWNER, /** * Enumeration : INVALID_STATUS */
INVALID_STATUS, /** * Enumeration : INVALID_TYPE */
INVALID_TYPE, /** * Enumeration : INVALID_TYPE_FOR_OPERATION */
INVALID_TYPE_FOR_OPERATION, /**
* * Enumeration :
* INVALID_TYPE_ON_FIELD_IN_RECORD
*/
INVALID_TYPE_ON_FIELD_IN_RECORD, /** * Enumeration : IP_RANGE_LIMIT_EXCEEDED */
IP_RANGE_LIMIT_EXCEEDED, /** * Enumeration : LICENSE_LIMIT_EXCEEDED */
LICENSE_LIMIT_EXCEEDED, /** * Enumeration : LIGHT_PORTAL_USER_EXCEPTION */
LIGHT_PORTAL_USER_EXCEPTION, /** * Enumeration : LIMIT_EXCEEDED */
LIMIT_EXCEEDED, /** * Enumeration : MALFORMED_ID */
MALFORMED_ID, /** * Enumeration : MANAGER_NOT_DEFINED */
MANAGER_NOT_DEFINED, /** * Enumeration : MASSMAIL_RETRY_LIMIT_EXCEEDED */
MASSMAIL_RETRY_LIMIT_EXCEEDED, /** * Enumeration : MASS_MAIL_LIMIT_EXCEEDED */
MASS_MAIL_LIMIT_EXCEEDED, /** * Enumeration : MAXIMUM_CCEMAILS_EXCEEDED */
MAXIMUM_CCEMAILS_EXCEEDED, /**
* * Enumeration :
* MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED
*/
MAXIMUM_DASHBOARD_COMPONENTS_EXCEEDED, /**
* * Enumeration :
* MAXIMUM_HIERARCHY_LEVELS_REACHED
*/
MAXIMUM_HIERARCHY_LEVELS_REACHED, /**
* * Enumeration :
* MAXIMUM_SIZE_OF_ATTACHMENT
*/
MAXIMUM_SIZE_OF_ATTACHMENT, /** * Enumeration : MAXIMUM_SIZE_OF_DOCUMENT */
MAXIMUM_SIZE_OF_DOCUMENT, /** * Enumeration : MAX_ACTIONS_PER_RULE_EXCEEDED */
MAX_ACTIONS_PER_RULE_EXCEEDED, /** * Enumeration : MAX_ACTIVE_RULES_EXCEEDED */
MAX_ACTIVE_RULES_EXCEEDED, /** * Enumeration : MAX_APPROVAL_STEPS_EXCEEDED */
MAX_APPROVAL_STEPS_EXCEEDED, /**
* * Enumeration :
* MAX_FORMULAS_PER_RULE_EXCEEDED
*/
MAX_FORMULAS_PER_RULE_EXCEEDED, /** * Enumeration : MAX_RULES_EXCEEDED */
MAX_RULES_EXCEEDED, /** * Enumeration : MAX_RULE_ENTRIES_EXCEEDED */
MAX_RULE_ENTRIES_EXCEEDED, /** * Enumeration : MAX_TASK_DESCRIPTION_EXCEEEDED */
MAX_TASK_DESCRIPTION_EXCEEEDED, /** * Enumeration : MAX_TM_RULES_EXCEEDED */
MAX_TM_RULES_EXCEEDED, /** * Enumeration : MAX_TM_RULE_ITEMS_EXCEEDED */
MAX_TM_RULE_ITEMS_EXCEEDED, /** * Enumeration : MERGE_FAILED */
MERGE_FAILED, /** * Enumeration : MISSING_ARGUMENT */
MISSING_ARGUMENT, /** * Enumeration : MIXED_DML_OPERATION */
MIXED_DML_OPERATION, /** * Enumeration : NONUNIQUE_SHIPPING_ADDRESS */
NONUNIQUE_SHIPPING_ADDRESS, /** * Enumeration : NO_APPLICABLE_PROCESS */
NO_APPLICABLE_PROCESS, /** * Enumeration : NO_ATTACHMENT_PERMISSION */
NO_ATTACHMENT_PERMISSION, /** * Enumeration : NO_INACTIVE_DIVISION_MEMBERS */
NO_INACTIVE_DIVISION_MEMBERS, /** * Enumeration : NO_MASS_MAIL_PERMISSION */
NO_MASS_MAIL_PERMISSION, /** * Enumeration : NUMBER_OUTSIDE_VALID_RANGE */
NUMBER_OUTSIDE_VALID_RANGE, /**
* * Enumeration :
* NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED
*/
NUM_HISTORY_FIELDS_BY_SOBJECT_EXCEEDED, /**
* * Enumeration :
* OPTED_OUT_OF_MASS_MAIL
*/
OPTED_OUT_OF_MASS_MAIL, /**
* * Enumeration :
* OP_WITH_INVALID_USER_TYPE_EXCEPTION
*/
OP_WITH_INVALID_USER_TYPE_EXCEPTION, /**
* * Enumeration :
* PACKAGE_LICENSE_REQUIRED
*/
PACKAGE_LICENSE_REQUIRED, /** * Enumeration : PORTAL_NO_ACCESS */
PORTAL_NO_ACCESS, /** * Enumeration : PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT */
PORTAL_USER_ALREADY_EXISTS_FOR_CONTACT, /**
* * Enumeration :
* PRIVATE_CONTACT_ON_ASSET
*/
PRIVATE_CONTACT_ON_ASSET, /** * Enumeration : QUERY_TIMEOUT */
QUERY_TIMEOUT, /** * Enumeration : RECORD_IN_USE_BY_WORKFLOW */
RECORD_IN_USE_BY_WORKFLOW, /** * Enumeration : REQUEST_RUNNING_TOO_LONG */
REQUEST_RUNNING_TOO_LONG, /** * Enumeration : REQUIRED_FEATURE_MISSING */
REQUIRED_FEATURE_MISSING, /** * Enumeration : REQUIRED_FIELD_MISSING */
REQUIRED_FIELD_MISSING, /** * Enumeration : SELF_REFERENCE_FROM_TRIGGER */
SELF_REFERENCE_FROM_TRIGGER, /** * Enumeration : SHARE_NEEDED_FOR_CHILD_OWNER */
SHARE_NEEDED_FOR_CHILD_OWNER, /** * Enumeration : SINGLE_EMAIL_LIMIT_EXCEEDED */
SINGLE_EMAIL_LIMIT_EXCEEDED, /** * Enumeration : STANDARD_PRICE_NOT_DEFINED */
STANDARD_PRICE_NOT_DEFINED, /** * Enumeration : STORAGE_LIMIT_EXCEEDED */
STORAGE_LIMIT_EXCEEDED, /** * Enumeration : STRING_TOO_LONG */
STRING_TOO_LONG, /** * Enumeration : TABSET_LIMIT_EXCEEDED */
TABSET_LIMIT_EXCEEDED, /** * Enumeration : TEMPLATE_NOT_ACTIVE */
TEMPLATE_NOT_ACTIVE, /** * Enumeration : TERRITORY_REALIGN_IN_PROGRESS */
TERRITORY_REALIGN_IN_PROGRESS, /**
* * Enumeration :
* TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET
*/
TEXT_DATA_OUTSIDE_SUPPORTED_CHARSET, /**
* * Enumeration :
* TOO_MANY_APEX_REQUESTS
*/
TOO_MANY_APEX_REQUESTS, /** * Enumeration : TOO_MANY_ENUM_VALUE */
TOO_MANY_ENUM_VALUE, /** * Enumeration : TRANSFER_REQUIRES_READ */
TRANSFER_REQUIRES_READ, /** * Enumeration : UNABLE_TO_LOCK_ROW */
UNABLE_TO_LOCK_ROW, /** * Enumeration : UNAVAILABLE_RECORDTYPE_EXCEPTION */
UNAVAILABLE_RECORDTYPE_EXCEPTION, /** * Enumeration : UNDELETE_FAILED */
UNDELETE_FAILED, /** * Enumeration : UNKNOWN_EXCEPTION */
UNKNOWN_EXCEPTION, /** * Enumeration : UNSPECIFIED_EMAIL_ADDRESS */
UNSPECIFIED_EMAIL_ADDRESS, /**
* * Enumeration :
* UNSUPPORTED_APEX_TRIGGER_OPERATON
*/
UNSUPPORTED_APEX_TRIGGER_OPERATON, /**
* * Enumeration :
* UNVERIFIED_SENDER_ADDRESS
*/
UNVERIFIED_SENDER_ADDRESS, /**
* * Enumeration :
* USER_OWNS_PORTAL_ACCOUNT_EXCEPTION
*/
USER_OWNS_PORTAL_ACCOUNT_EXCEPTION, /**
* * Enumeration :
* USER_WITH_APEX_SHARES_EXCEPTION
*/
USER_WITH_APEX_SHARES_EXCEPTION, /**
* * Enumeration :
* WEBLINK_SIZE_LIMIT_EXCEEDED
*/
WEBLINK_SIZE_LIMIT_EXCEEDED, /** * Enumeration : WRONG_CONTROLLER_TYPE */
WRONG_CONTROLLER_TYPE,
}

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