Compare commits
62 Commits
codegen_ba
...
patch/7.2.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
711e2dee5a | ||
|
|
8c11e31911 | ||
|
|
ddb69232e5 | ||
|
|
a4ffd73a24 | ||
|
|
6bb63c2a6d | ||
|
|
e7881d1ecd | ||
|
|
8b879dcbbd | ||
|
|
87b860b0b1 | ||
|
|
3f5a74d847 | ||
|
|
dd6501d8c6 | ||
|
|
9b736bf30a | ||
|
|
09b2ad8aa6 | ||
|
|
245f1c42c2 | ||
|
|
03085d1574 | ||
|
|
5fb4589799 | ||
|
|
7a69ed4c4d | ||
|
|
a38fec9792 | ||
|
|
4cef94aff4 | ||
|
|
09169a8664 | ||
|
|
391704ac42 | ||
|
|
9e693e6f89 | ||
|
|
eee97f1977 | ||
|
|
095c79cbf2 | ||
|
|
2884b847d5 | ||
|
|
96d4930a0a | ||
|
|
e8f2adce2d | ||
|
|
34396d7182 | ||
|
|
82d238deff | ||
|
|
4487a6d33e | ||
|
|
70469391d8 | ||
|
|
7ea110dc3c | ||
|
|
fcad4148f5 | ||
|
|
ebe98a4d67 | ||
|
|
cd23062e30 | ||
|
|
5990df09b0 | ||
|
|
4f5b39d2da | ||
|
|
c9c9d4df22 | ||
|
|
9f4d4fc832 | ||
|
|
cc93b9959b | ||
|
|
94e2442e11 | ||
|
|
079ce620ab | ||
|
|
535af6359e | ||
|
|
0544da1147 | ||
|
|
bdb27eaf55 | ||
|
|
c4b9def853 | ||
|
|
9b31f616f7 | ||
|
|
3c8552e58c | ||
|
|
81f603037b | ||
|
|
3c9ff7e553 | ||
|
|
6611515bd6 | ||
|
|
66dfb4f0bf | ||
|
|
75b74d2c17 | ||
|
|
92e5a0801d | ||
|
|
62ce41a0e9 | ||
|
|
aa9c2b08b9 | ||
|
|
37c58a98cd | ||
|
|
9c31c2869d | ||
|
|
e91f8c1b5d | ||
|
|
6d16ec2e3e | ||
|
|
d5dfa732da | ||
|
|
49d093c671 | ||
|
|
0f3b302525 |
59
PATCH_RELEASE_NOTE.md
Normal file
59
PATCH_RELEASE_NOTE.md
Normal file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
version: 7.2.1
|
||||
module: https://talend.poolparty.biz/coretaxonomy/42
|
||||
product:
|
||||
- https://talend.poolparty.biz/coretaxonomy/23
|
||||
---
|
||||
|
||||
# TPS-3626
|
||||
|
||||
| Info | Value |
|
||||
| ---------------- | ---------------- |
|
||||
| Patch Name | Patch\_20191205\_TPS-3626\_v1-7.2.1 |
|
||||
| Release Date | 2019-12-05 |
|
||||
| Target Version | 20190620_1446-V7.2.1 |
|
||||
| Product affected | Talend Studio |
|
||||
|
||||
## Introduction
|
||||
This is a self-contained patch.
|
||||
|
||||
|
||||
**NOTE**: For information on how to obtain this patch, reach out to your Support contact at Talend.
|
||||
|
||||
## Fixed issues
|
||||
|
||||
This patch contains the following fixes:
|
||||
|
||||
- [7.2.1] tDBInput(Redshift) "Logging level" = Info, will cause tLogRow can't print result in console. (TDI-42819)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Consider the following requirements for your system:
|
||||
|
||||
- Talend Studio 7.2.1 must be installed.
|
||||
|
||||
## Installation
|
||||
|
||||
### Installing the patch using Software update
|
||||
|
||||
1) Logon TAC and switch to Configuration->Software Update, then enter the correct values and save referring to the documentation: https://help.talend.com/reader/f7Em9WV_cPm2RRywucSN0Q/j9x5iXV~vyxMlUafnDejaQ
|
||||
|
||||
2) Switch to Software update page, where the new patch will be listed. The patch can be downloaded from here into the nexus repository.
|
||||
|
||||
3) On Studio Side: Logon Studio with remote mode, on the logon page the Update button is displayed: click this button to install the patch.
|
||||
|
||||
### Installing the patch using Talend Studio
|
||||
|
||||
1) Create a folder named "patches" under your studio installer directory and copy the patch .zip file to this folder.
|
||||
|
||||
2) Restart your studio: a window pops up, then click OK to install the patch, or restart the commandline and the patch will be installed automatically.
|
||||
|
||||
### Installing the patch using Commandline
|
||||
|
||||
Execute the following commands:
|
||||
|
||||
1. Talend-Studio-win-x86_64.exe -nosplash -application org.talend.commandline.CommandLine -consoleLog -data commandline-workspace startServer -p 8002 --talendDebug
|
||||
2. initRemote {tac_url} -ul {TAC login username} -up {TAC login password}
|
||||
3. checkAndUpdate -tu {TAC login username} -tup {TAC login password}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.abstractmap.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.alfrescooutput.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.business.diagram.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.codegen.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.components.exchange.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.core.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.dbmap.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.documentation.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.fileoutputxml.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.gefabstractmap.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.mapper.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.maven.job.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.rowgenerator.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.runprocess.nl</artifactId>
|
||||
|
||||
@@ -52,7 +52,7 @@ ProcessDebugDialog.errortext=Impossible de d\u00E9bugger le job.\\nV\u00E9rifiez
|
||||
ShadowProcess.notGeneratedOutputException=Sortie non g\u00E9n\u00E9r\u00E9e.
|
||||
ProcessComposite.contextGroup=Contexte
|
||||
prefs.clientConfiguration=Configuration du client Talend
|
||||
ProcessComposite.endPattern=Le Job {0} s\'est termin\u00E9 \u00E0 {1,date,HH:mm dd/MM/yyyy}. [code de sortie={2,number}]
|
||||
ProcessComposite.endPattern=Le Job {0} s'est termin\u00E9 \u00E0 {1,date,HH:mm dd/MM/yyyy}. [code de sortie={2,number}]
|
||||
ProcessView.title=Ex\u00E9cuter({0})
|
||||
Processor.configurePerl=L'interpr\u00E9teur Perl n'est pas configur\u00E9.
|
||||
JavaProcessor.notFoundedFolderException=Dossier introuvable dans le projet .Java
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.scd.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.webservice.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.xmlmap.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.expressionbuilder.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.presentation.onboarding.resource.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.presentation.onboarding.resource.tos.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.repository.ftp.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.repository.json.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.repository.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.repository.view.di.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.sbi.engines.client.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.spagic.engines.client.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.sqlbuilder.nl</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.business.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.fragment.jars.di.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.rcp.branding.tos.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.rcp.branding.tos.test.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.repository.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.sbi.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.spagic.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.tos.components.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.tos.core.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.tos.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.tos.libraries.feature</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.abstractmap</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.alfrescooutput</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.business.diagram</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.codegen</artifactId>
|
||||
|
||||
@@ -94,7 +94,7 @@ public class JavaRoutineSynchronizer extends AbstractRoutineSynchronizer {
|
||||
|
||||
private void syncRoutineItems(Collection<RoutineItem> routineObjects, boolean forceUpdate) throws SystemException {
|
||||
for (RoutineItem routineItem : routineObjects) {
|
||||
syncRoutine(routineItem, true, true, forceUpdate);
|
||||
syncRoutine(routineItem, true, forceUpdate);
|
||||
}
|
||||
syncSystemRoutine(ProjectManager.getInstance().getCurrentProject());
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.components.exchange</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.components.libs</artifactId>
|
||||
|
||||
@@ -569,17 +569,18 @@
|
||||
loadJobBuilder_<%=cid%>.setDestinationTable(tableId_<%=cid%>);
|
||||
com.google.cloud.bigquery.CsvOptions.Builder csvOptions_<%=cid%> = com.google.cloud.bigquery.CsvOptions.newBuilder();
|
||||
csvOptions_<%=cid%>.setAllowQuotedNewLines(true);
|
||||
csvOptions_<%=cid%>.setSkipLeadingRows(<%=ElementParameterParser.getValue(node, "__GS_FILE_HEADER__")%>);
|
||||
|
||||
<%if("true".equals(ElementParameterParser.getValue(node, "__SET_FIELD_DELIMITER__"))) {
|
||||
%>
|
||||
loadJobBuilder_<%=cid%>.setFormatOptions(csvOptions_<%=cid%>.setFieldDelimiter(<%=fieldDelimiter%>).build());
|
||||
csvOptions_<%=cid%>.setFieldDelimiter(<%=fieldDelimiter%>);
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
loadJobBuilder_<%=cid%>.setFormatOptions(csvOptions_<%=cid%>.build());
|
||||
loadJobBuilder_<%=cid%>.setNullMarker("\\N");
|
||||
com.google.cloud.bigquery.Job job_<%=cid%> = bigquery_<%=cid%>.create(com.google.cloud.bigquery.JobInfo.of(loadJobBuilder_<%=cid%>.build()));
|
||||
job_<%=cid%> = job_<%=cid%>.waitFor(com.google.cloud.RetryOption.initialRetryDelay(org.threeten.bp.Duration.ofSeconds(1)), com.google.cloud.RetryOption.totalTimeout(org.threeten.bp.Duration.ofSeconds(30)));
|
||||
job_<%=cid%> = job_<%=cid%>.waitFor(com.google.cloud.RetryOption.initialRetryDelay(org.threeten.bp.Duration.ofSeconds(1)));
|
||||
if (job_<%=cid%> != null && job_<%=cid%>.getStatus().getError() == null) {
|
||||
<%
|
||||
if(isLog4jEnabled){
|
||||
|
||||
@@ -221,10 +221,9 @@
|
||||
}
|
||||
|
||||
String query_<%=cid%> = <%=query%>;
|
||||
String dataset = query_<%=cid%>.substring(query_<%=cid%>.indexOf("from") + 4, query_<%=cid%>.indexOf(".")).trim();
|
||||
String temp_table = "temp_" + dataset + java.util.UUID.randomUUID().toString().replaceAll("-", "")
|
||||
+ "<%=cid%>".toLowerCase().replaceAll("[^a-z0-9]", "0").replaceAll("^[^a-z]", "a")
|
||||
+ Integer.toHexString(java.util.concurrent.ThreadLocalRandom.current().nextInt());
|
||||
<% if(isLog4jEnabled) { %>
|
||||
log.info("<%=cid%> - query " + <%=query%>);
|
||||
<% } %>
|
||||
|
||||
com.google.cloud.bigquery.BigQuery bigquery_<%=cid%> = com.google.cloud.bigquery.BigQueryOptions.newBuilder()
|
||||
.setCredentials(credentials_<%=cid%>)
|
||||
@@ -234,24 +233,54 @@
|
||||
|
||||
com.google.cloud.bigquery.QueryJobConfiguration.Builder queryConfiguration_<%=cid%> = com.google.cloud.bigquery.QueryJobConfiguration.newBuilder(<%=query%>).setUseLegacySql(<%=useLegacySql%>);
|
||||
|
||||
<%
|
||||
if (resultSizeType.equals("LARGE") || resultSizeType.equals("AUTO")) {
|
||||
%>
|
||||
queryConfiguration_<%=cid%>.setDestinationTable(com.google.cloud.bigquery.TableId.of(dataset, temp_table)).setAllowLargeResults(true);
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<%if (resultSizeType.equals("LARGE") || resultSizeType.equals("AUTO")) {%>
|
||||
|
||||
com.google.cloud.bigquery.JobId jobId_<%=cid%> = com.google.cloud.bigquery.JobId.of(java.util.UUID.randomUUID().toString());
|
||||
com.google.cloud.bigquery.QueryJobConfiguration jobConfDryRun_<%=cid%> = queryConfiguration_<%=cid%> .setDryRun(true).build();
|
||||
com.google.cloud.bigquery.Job jobDryRun_<%=cid%> = bigquery_<%=cid%>.create(com.google.cloud.bigquery.JobInfo.of(jobConfDryRun_<%=cid%>));
|
||||
|
||||
String queryLocation_<%=cid%> =jobDryRun_<%=cid%>.getJobId().getLocation();
|
||||
String location_<%=cid%> = queryLocation_<%=cid%> == null ? "US" : queryLocation_<%=cid%>;
|
||||
String tempDataset_<%=cid%> = java.util.UUID.randomUUID().toString().replaceAll("-", "")
|
||||
+ Integer.toHexString(java.util.concurrent.ThreadLocalRandom.current().nextInt())
|
||||
+ Integer.toHexString(java.util.concurrent.ThreadLocalRandom.current().nextInt());
|
||||
String tempTable_<%=cid%> = java.util.UUID.randomUUID().toString().replaceAll("-", "")
|
||||
+ Integer.toHexString(java.util.concurrent.ThreadLocalRandom.current().nextInt())
|
||||
+ Integer.toHexString(java.util.concurrent.ThreadLocalRandom.current().nextInt());
|
||||
<% if(isLog4jEnabled){ %>
|
||||
log.info("<%=cid%> - query location :" + queryLocation_<%=cid%>);
|
||||
log.info("<%=cid%> - temporary dataset location :" + location_<%=cid%>);
|
||||
log.info("<%=cid%> - temporary Dataset name : " + tempDataset_<%=cid%>);
|
||||
log.info("<%=cid%> - temporary table name : " + tempTable_<%=cid%>);
|
||||
<% } %>
|
||||
|
||||
com.google.cloud.bigquery.DatasetInfo datasetInfo_<%=cid%> = com.google.cloud.bigquery.DatasetInfo.newBuilder(tempDataset_<%=cid%>).setLocation(location_<%=cid%>).build();
|
||||
com.google.cloud.bigquery.Dataset dataset_<%=cid%> = bigquery_<%=cid%> .create(datasetInfo_<%=cid%>);
|
||||
|
||||
queryConfiguration_<%=cid%>
|
||||
.setDryRun(false)
|
||||
.setAllowLargeResults(true)
|
||||
.setDestinationTable(com.google.cloud.bigquery.TableId.of(tempDataset_<%=cid%>, tempTable_<%=cid%>));
|
||||
|
||||
com.google.cloud.bigquery.JobId jobId_<%=cid%> = com.google.cloud.bigquery.JobId
|
||||
.newBuilder().setProject(<%=projectId%>)
|
||||
.setJob(java.util.UUID.randomUUID().toString())
|
||||
.setLocation(location_<%=cid%>)
|
||||
.build();
|
||||
|
||||
<% if(isLog4jEnabled){ %>
|
||||
log.info("<%=cid%> - job location : " + jobId_<%=cid%>.getLocation());
|
||||
<% } %>
|
||||
<% } else { %>
|
||||
com.google.cloud.bigquery.JobId jobId_<%=cid%> = com.google.cloud.bigquery.JobId.of(<%=projectId%>,java.util.UUID.randomUUID().toString());
|
||||
|
||||
<% } %>
|
||||
com.google.cloud.bigquery.Job job_<%=cid%> = bigquery_<%=cid%>.create(com.google.cloud.bigquery.JobInfo.newBuilder(queryConfiguration_<%=cid%>.build()).setJobId(jobId_<%=cid%>).build());
|
||||
|
||||
<%
|
||||
if(isLog4jEnabled){
|
||||
%>
|
||||
|
||||
<% if(isLog4jEnabled) { %>
|
||||
log.info("<%=cid%> - Sending job " + jobId_<%=cid%> + " with query: " + <%=query%>);
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<% } %>
|
||||
|
||||
job_<%=cid%> = job_<%=cid%>.waitFor();
|
||||
|
||||
if (job_<%=cid%> == null) {
|
||||
@@ -260,13 +289,9 @@
|
||||
throw new RuntimeException(job_<%=cid%>.getStatus().getError().toString());
|
||||
}
|
||||
|
||||
<%
|
||||
if(isLog4jEnabled){
|
||||
%>
|
||||
<% if(isLog4jEnabled) { %>
|
||||
log.info("<%=cid%> - Job " + jobId_<%=cid%> + " finished successfully.");
|
||||
<%
|
||||
}
|
||||
%>
|
||||
<% } %>
|
||||
com.google.cloud.bigquery.TableResult result_<%=cid%> = job_<%=cid%>.getQueryResults();
|
||||
long nb_line_<%=cid%> = 0;
|
||||
<%
|
||||
|
||||
@@ -11,6 +11,9 @@ imports="
|
||||
INode node = (INode)codeGenArgument.getArgument();
|
||||
String cid = node.getUniqueName();
|
||||
String authMode = ElementParameterParser.getValue(node,"__AUTH_MODE__");
|
||||
String projectId = ElementParameterParser.getValue(node,"__PROJECT_ID__");
|
||||
String resultSizeType = ElementParameterParser.getValue(node,"__RESULT_SIZE__");
|
||||
|
||||
if (authMode.equals("OAUTH")) {
|
||||
%>
|
||||
}
|
||||
@@ -24,7 +27,10 @@ imports="
|
||||
} else if (authMode.equals("SERVICEACCOUNT")) {
|
||||
%>
|
||||
}
|
||||
bigquery_<%=cid%>.delete(com.google.cloud.bigquery.TableId.of(dataset, temp_table));
|
||||
<% if (resultSizeType.equals("LARGE") || resultSizeType.equals("AUTO")) { %>
|
||||
com.google.cloud.bigquery.DatasetId datasetId_<%=cid%> = com.google.cloud.bigquery.DatasetId.of(<%=projectId%>, tempDataset_<%=cid%>);
|
||||
bigquery_<%=cid%>.delete(datasetId_<%=cid%>, com.google.cloud.bigquery.BigQuery.DatasetDeleteOption.deleteContents());
|
||||
<% }%>
|
||||
<%
|
||||
} else {
|
||||
throw new IllegalArgumentException("authentication mode should be either \"SERVICEACCOUNT\" or \"OAUTH\", but it is " + authMode);
|
||||
|
||||
@@ -2,10 +2,13 @@
|
||||
|
||||
<%
|
||||
String logLevel= ElementParameterParser.getValue(node, "__LOG_LEVEL__");
|
||||
boolean useLogFile= "true".equals(ElementParameterParser.getValue(node, "__USE_LOG_FILE__"));
|
||||
if (useLogFile){
|
||||
if ("false".equalsIgnoreCase(ElementParameterParser.getValue(node, "__USE_EXISTING_CONNECTION__"))
|
||||
&& !logLevel.equals("0")) {
|
||||
%>
|
||||
logWriter_<%=cid %>.close();
|
||||
<%
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -208,6 +208,8 @@ boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(node.ge
|
||||
mc_<%=cid%>.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
|
||||
mc_<%=cid%>.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822");
|
||||
javax.activation.CommandMap.setDefaultCommandMap(mc_<%=cid%>);
|
||||
// add com.sun.mail.handlers to job imports / depenencies (TESB-27110)
|
||||
com.sun.mail.handlers.text_plain text_plain_h_<%=cid%> = null;
|
||||
// -- Send the message --
|
||||
javax.mail.Transport.send(msg_<%=cid %>);
|
||||
} catch(java.lang.Exception e){
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.components.localprovider</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.core.generic</artifactId>
|
||||
|
||||
@@ -16,6 +16,7 @@ import java.beans.PropertyChangeEvent;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.gef.commands.Command;
|
||||
import org.eclipse.swt.SWT;
|
||||
@@ -126,8 +127,10 @@ public class ButtonController extends AbstractElementPropertySectionController {
|
||||
continue;
|
||||
}
|
||||
for(String path : listString){
|
||||
if (!StringUtils.isBlank(path)) {
|
||||
jars.add(GenericTableUtils.getDriverJarPath(path));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.core</artifactId>
|
||||
|
||||
@@ -736,6 +736,7 @@ PerformancePreferencePage.generateCode=Generate code when opening the job
|
||||
PerformancePreferencePage.checkVersion=Check only the last version when updating jobs or joblets
|
||||
PerformancePreferencePage.addOrDeleteVariable=Propagate add/delete variable changes in repository contexts
|
||||
PerformancePreferencePage.ActivedTimeoutSetting=Activate the timeout for database connection.
|
||||
PerformancePreferencePage.propagateContext=Propagate add context groups in repository contexts
|
||||
PerformancePreferencePage.ConnectionTimeout=Connection timeout (seconds)
|
||||
PerformancePreferencePage.HBaseOrMaprDBScanLimit=HBase/MapR-DB scan limit (for retrieving schema)
|
||||
PerformancePreferencePage.HBaseOrMaprDBScanLimitTip=If set it by zero, will be same as deactiving the limit.
|
||||
|
||||
@@ -99,6 +99,7 @@ import org.talend.designer.core.ui.views.jobsettings.JobSettings;
|
||||
import org.talend.designer.core.ui.views.problems.Problems;
|
||||
import org.talend.designer.core.ui.views.properties.ComponentSettings;
|
||||
import org.talend.designer.core.ui.views.properties.ComponentSettingsView;
|
||||
import org.talend.designer.core.utils.BigDataJobUtil;
|
||||
import org.talend.designer.core.utils.JavaProcessUtil;
|
||||
import org.talend.designer.core.utils.UnifiedComponentUtil;
|
||||
import org.talend.designer.runprocess.ProcessorException;
|
||||
@@ -874,4 +875,9 @@ public class DesignerCoreService implements IDesignerCoreService {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isNeedContextInJar(IProcess process) {
|
||||
return new BigDataJobUtil(process).needsToHaveContextInsideJar();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.gef.palette.PaletteEntry;
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.core.model.components.IComponent;
|
||||
import org.talend.core.model.process.INode;
|
||||
import org.talend.core.model.process.IProcess;
|
||||
@@ -31,6 +32,7 @@ import org.talend.core.model.process.IReplaceNodeInProcess;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.properties.JobletProcessItem;
|
||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||
import org.talend.core.model.repository.IRepositoryEditorInput;
|
||||
import org.talend.core.model.update.UpdateResult;
|
||||
import org.talend.designer.core.ui.editor.process.Process;
|
||||
|
||||
@@ -258,4 +260,9 @@ public abstract class AbstractProcessProvider implements IReplaceNodeInProcess {
|
||||
return false;
|
||||
}
|
||||
|
||||
public IRepositoryEditorInput createJobletEditorInput(JobletProcessItem processItem, boolean load, Boolean lastVersion, Boolean readonly,
|
||||
Boolean openedInJob) throws PersistenceException{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1948,7 +1948,7 @@ public class DataProcess implements IGeneratingProcess {
|
||||
}
|
||||
}
|
||||
|
||||
if (duplicatedProcess.getComponentsType().equals(ComponentCategory.CATEGORY_4_DI.getName()) && PluginChecker.isTIS()) {
|
||||
if (duplicatedProcess.getComponentsType().equals(ComponentCategory.CATEGORY_4_DI.getName()) && PluginChecker.isTIS() && !Boolean.getBoolean("deactivate_extended_component_log")) {
|
||||
final String talendJobLogComponent = "tJobStructureCatcher";
|
||||
final String uid4TalendJobLogComponent = "talendJobLog";
|
||||
IComponent jobStructComponent = ComponentsFactoryProvider.getInstance().get(talendJobLogComponent, ComponentCategory.CATEGORY_4_DI.getName());
|
||||
|
||||
@@ -607,7 +607,7 @@ public final class TalendEditorPaletteFactory {
|
||||
while (iter.hasNext()) {
|
||||
IComponent xmlComponent = iter.next();
|
||||
|
||||
Matcher matcher = pattern.matcher(xmlComponent.getName().toLowerCase());
|
||||
Matcher matcher = pattern.matcher(xmlComponent.getDisplayName().toLowerCase());
|
||||
if (matcher.find()) {
|
||||
resultByName.add(new ComponentHit(xmlComponent, matcher.start()));
|
||||
continue;
|
||||
@@ -643,7 +643,7 @@ public final class TalendEditorPaletteFactory {
|
||||
private static void addDelegateComponents(IComponentsFactory compFac, Collection<IComponent> componentSet,
|
||||
String lowerCasedKeyword) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault().getService(
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(
|
||||
IUnifiedComponentService.class);
|
||||
service.filterUnifiedComponentForPalette(compFac, componentSet, lowerCasedKeyword);
|
||||
|
||||
@@ -730,13 +730,12 @@ public final class TalendEditorPaletteFactory {
|
||||
return null;
|
||||
}
|
||||
IComponent delegateComponent = UnifiedComponentUtil.getDelegateComponent(component);
|
||||
String name = component.getName();
|
||||
String filter = null;
|
||||
if (delegateComponent != component) {
|
||||
// emf component name
|
||||
filter = component.getName();
|
||||
name = UnifiedComponentUtil.getComponentDisplayNameForPalette(delegateComponent, filter);
|
||||
}
|
||||
String name = UnifiedComponentUtil.getComponentDisplayNameForPalette(delegateComponent, filter);
|
||||
ImageDescriptor imageSmall = delegateComponent.getIcon16();
|
||||
IPreferenceStore store = DesignerPlugin.getDefault().getPreferenceStore();
|
||||
ImageDescriptor imageLarge;
|
||||
|
||||
@@ -19,15 +19,21 @@ import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.jdt.internal.ui.JavaPlugin;
|
||||
import org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor;
|
||||
import org.eclipse.jdt.internal.ui.javaeditor.JavaSourceViewer;
|
||||
import org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy;
|
||||
import org.eclipse.jdt.internal.ui.text.JavaReconciler;
|
||||
import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
|
||||
import org.eclipse.jdt.ui.text.IJavaPartitions;
|
||||
import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
|
||||
import org.eclipse.jdt.ui.text.JavaTextTools;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.jface.text.BadLocationException;
|
||||
import org.eclipse.jface.text.FindReplaceDocumentAdapter;
|
||||
import org.eclipse.jface.text.IDocument;
|
||||
import org.eclipse.jface.text.Region;
|
||||
import org.eclipse.jface.text.source.IOverviewRuler;
|
||||
import org.eclipse.jface.text.source.ISourceViewer;
|
||||
import org.eclipse.jface.text.source.IVerticalRuler;
|
||||
import org.eclipse.jface.text.source.SourceViewerConfiguration;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.ui.part.FileEditorInput;
|
||||
import org.talend.commons.exception.SystemException;
|
||||
@@ -297,5 +303,41 @@ public class TalendJavaEditor extends CompilationUnitEditor implements ISyntaxCh
|
||||
super.initializeDragAndDrop(viewer);
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor#createJavaSourceViewer(org.eclipse.swt.widgets.
|
||||
* Composite, org.eclipse.jface.text.source.IVerticalRuler, org.eclipse.jface.text.source.IOverviewRuler, boolean,
|
||||
* int, org.eclipse.jface.preference.IPreferenceStore)
|
||||
*/
|
||||
@Override
|
||||
protected ISourceViewer createJavaSourceViewer(Composite parent, IVerticalRuler verticalRuler, IOverviewRuler overviewRuler,
|
||||
boolean isOverviewRulerVisible, int styles, IPreferenceStore store) {
|
||||
return new TalendAdaptedSourceViewer(parent, verticalRuler, overviewRuler, isOverviewRulerVisible, styles, store);
|
||||
}
|
||||
|
||||
@SuppressWarnings("restriction")
|
||||
protected class TalendAdaptedSourceViewer extends AdaptedSourceViewer {
|
||||
|
||||
public TalendAdaptedSourceViewer(Composite parent, IVerticalRuler verticalRuler, IOverviewRuler overviewRuler,
|
||||
boolean showAnnotationsOverview, int styles, IPreferenceStore store) {
|
||||
super(parent, verticalRuler, overviewRuler, showAnnotationsOverview, styles, store);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(SourceViewerConfiguration configuration) {
|
||||
super.configure(configuration);
|
||||
if (fReconciler == null) {
|
||||
JavaCompositeReconcilingStrategy strategy = new JavaCompositeReconcilingStrategy(this, TalendJavaEditor.this,
|
||||
configuration.getConfiguredDocumentPartitioning(this));
|
||||
JavaReconciler reconciler = new JavaReconciler(TalendJavaEditor.this, strategy, false);
|
||||
reconciler.setIsAllowedToModifyDocument(false);
|
||||
reconciler.setDelay(500);
|
||||
fReconciler = reconciler;
|
||||
fReconciler.install(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -624,9 +624,11 @@ public class ChangeMetadataCommand extends Command {
|
||||
setTableMAPPING();
|
||||
|
||||
if (!internal) {
|
||||
if (!oldOutputMetadata.sameMetadataAs(newOutputMetadata, IMetadataColumn.OPTIONS_NONE)) {
|
||||
updateColumnList(oldOutputMetadata, newOutputMetadata);
|
||||
((Process) node.getProcess()).checkProcess();
|
||||
}
|
||||
}
|
||||
refreshMetadataChanged();
|
||||
}
|
||||
|
||||
|
||||
@@ -516,7 +516,7 @@ public class Node extends Element implements IGraphicalNode {
|
||||
|
||||
private void init(IComponent newComponent) {
|
||||
this.component = UnifiedComponentUtil.getEmfComponent(this, newComponent);
|
||||
this.label = component.getName();
|
||||
this.label = component.getDisplayName();
|
||||
updateComponentStatusIfNeeded(true);
|
||||
IPreferenceStore store = DesignerPlugin.getDefault().getPreferenceStore();
|
||||
|
||||
@@ -1179,6 +1179,12 @@ public class Node extends Element implements IGraphicalNode {
|
||||
if (useConn != null) {
|
||||
connParam = this.getElementParameter("CONNECTION"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
boolean isGeneric = this.getComponent().getComponentType() == EComponentType.GENERIC;
|
||||
if(isGeneric && labelToParse != null) {
|
||||
labelToParse = labelToParse.replaceAll("__TABLE__", "__tableSelection.tablename__"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
|
||||
if (useConn != null && connParam != null && Boolean.TRUE.equals(useConn.getValue())) {
|
||||
|
||||
String connName = (String) connParam.getValue();
|
||||
|
||||
@@ -29,6 +29,7 @@ import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang.ArrayUtils;
|
||||
@@ -123,7 +124,9 @@ import org.talend.core.model.update.IUpdateManager;
|
||||
import org.talend.core.model.utils.TalendTextUtils;
|
||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||
import org.talend.core.repository.utils.ConvertJobsUtil;
|
||||
import org.talend.core.repository.utils.ProjectHelper;
|
||||
import org.talend.core.repository.utils.XmiResourceManager;
|
||||
import org.talend.core.runtime.process.TalendProcessArgumentConstant;
|
||||
import org.talend.core.runtime.repository.item.ItemProductKeys;
|
||||
import org.talend.core.runtime.util.ItemDateParser;
|
||||
import org.talend.core.service.IScdComponentService;
|
||||
@@ -184,7 +187,6 @@ import org.talend.designer.core.utils.DetectContextVarsUtils;
|
||||
import org.talend.designer.core.utils.JavaProcessUtil;
|
||||
import org.talend.designer.core.utils.JobSettingVersionUtil;
|
||||
import org.talend.designer.core.utils.UnifiedComponentUtil;
|
||||
import org.talend.designer.core.utils.UpdateParameterUtils;
|
||||
import org.talend.designer.core.utils.ValidationRulesUtil;
|
||||
import org.talend.designer.runprocess.IRunProcessService;
|
||||
import org.talend.designer.runprocess.ItemCacheManager;
|
||||
@@ -1079,7 +1081,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
ElementParameterType pType;
|
||||
boolean isJoblet = false;
|
||||
if (param.getElement() instanceof INode && PluginChecker.isJobLetPluginLoaded()) {
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService.class);
|
||||
if (service != null && service.isJobletComponent((INode) param.getElement())) {
|
||||
isJoblet = true;
|
||||
@@ -1399,11 +1401,6 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (IElementParameter param : elemParam.getElementParameters()) {
|
||||
UpdateParameterUtils.setDefaultValues(param, elemParam);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected boolean noNeedSetValue(IElementParameter param, String paraValue) {
|
||||
@@ -1819,23 +1816,36 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
routinesDependencies = new ArrayList<RoutinesParameterType>();
|
||||
}
|
||||
try {
|
||||
Project targetProject = new Project(ProjectManager.getInstance().getProject(getProperty()));
|
||||
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
|
||||
Set<IRepositoryViewObject> routines = new HashSet<>();
|
||||
routines.addAll(factory.getAll(targetProject, ERepositoryObjectType.ROUTINES));
|
||||
List<Project> referenceProjects = ProjectManager.getInstance().getAllReferencedProjects(targetProject, false);
|
||||
referenceProjects.stream().forEach(p -> {
|
||||
try {
|
||||
routines.addAll(factory.getAll(p, ERepositoryObjectType.ROUTINES));
|
||||
} catch (PersistenceException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
});
|
||||
Map<String, String> allRoutinesMap = routines.stream()
|
||||
.collect(Collectors.toMap(IRepositoryViewObject::getId, IRepositoryViewObject::getLabel));
|
||||
Iterator<RoutinesParameterType> iterator = routinesDependencies.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
RoutinesParameterType routine = iterator.next();
|
||||
if (!allRoutinesMap.containsKey(routine.getId())) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
List<String> possibleRoutines = new ArrayList<String>();
|
||||
List<String> routinesToAdd = new ArrayList<String>();
|
||||
String additionalString = LanguageManager.getCurrentLanguage() == ECodeLanguage.JAVA ? "." : "";
|
||||
|
||||
List<String> routinesAlreadySetup = new ArrayList<String>();
|
||||
|
||||
for (RoutinesParameterType routine : routinesDependencies) {
|
||||
routinesAlreadySetup.add(routine.getName());
|
||||
}
|
||||
|
||||
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
|
||||
List<IRepositoryViewObject> routines = factory.getAll(ProjectManager.getInstance().getCurrentProject(),
|
||||
ERepositoryObjectType.ROUTINES);
|
||||
routines.addAll(factory.getAll(ProjectManager.getInstance().getCurrentProject(), ERepositoryObjectType.PIG_UDF));
|
||||
for (Project project : ProjectManager.getInstance().getAllReferencedProjects()) {
|
||||
for (Project project : referenceProjects) {
|
||||
List<IRepositoryViewObject> refRoutines = factory.getAll(project, ERepositoryObjectType.ROUTINES);
|
||||
refRoutines.addAll(factory.getAll(project, ERepositoryObjectType.PIG_UDF));
|
||||
for (IRepositoryViewObject object : refRoutines) {
|
||||
if (!((RoutineItem) object.getProperty().getItem()).isBuiltIn()) {
|
||||
if (!possibleRoutines.contains(object.getLabel()) && !routinesAlreadySetup.contains(object.getLabel())) {
|
||||
@@ -1860,9 +1870,8 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
possibleRoutines.add(object.getLabel());
|
||||
}
|
||||
}
|
||||
for (Project project : ProjectManager.getInstance().getAllReferencedProjects()) {
|
||||
for (Project project : referenceProjects) {
|
||||
List<IRepositoryViewObject> refRoutines = factory.getAll(project, ERepositoryObjectType.ROUTINES);
|
||||
refRoutines.addAll(factory.getAll(project, ERepositoryObjectType.PIG_UDF));
|
||||
for (IRepositoryViewObject object : refRoutines) {
|
||||
if (!((RoutineItem) object.getProperty().getItem()).isBuiltIn()) {
|
||||
if (!possibleRoutines.contains(object.getLabel()) && !routinesAlreadySetup.contains(object.getLabel())) {
|
||||
@@ -1920,6 +1929,18 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
boolean isLimited = false;
|
||||
org.talend.core.model.properties.Project currProject = getProject().getEmfProject();
|
||||
org.talend.core.model.properties.Project project = ProjectManager.getInstance().getProject(this.property);
|
||||
if (currProject != null && project != null && !currProject.equals(project)) {
|
||||
int currOrdinal = ProjectHelper.getProjectTypeOrdinal(currProject);
|
||||
int ordinal = ProjectHelper.getProjectTypeOrdinal(project);
|
||||
if (currOrdinal > ordinal) {
|
||||
isLimited = true;
|
||||
}
|
||||
}
|
||||
if (!isLimited) {
|
||||
for (IRepositoryViewObject object : routines) {
|
||||
if (routinesToAdd.contains(object.getLabel()) && !routinesAlreadySetup.contains(object.getLabel())) {
|
||||
RoutinesParameterType routinesParameterType = TalendFileFactory.eINSTANCE.createRoutinesParameterType();
|
||||
@@ -1928,6 +1949,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
routinesDependencies.add(routinesParameterType);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (PersistenceException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
@@ -2283,7 +2305,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
if (EParameterName.PROCESS_TYPE_VERSION.name().equals(pType.getName())) {
|
||||
String jobletVersion = pType.getValue();
|
||||
if (!RelationshipItemBuilder.LATEST_VERSION.equals(jobletVersion)) {
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault()
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault()
|
||||
.getService(IJobletProviderService.class);
|
||||
if (service != null) {
|
||||
Property jobletProperty = service.getJobletComponentItem(component);
|
||||
@@ -2453,7 +2475,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
updateAllMappingTypes();
|
||||
nc.setNeedLoadLib(false);
|
||||
if (nc.isJoblet()) {
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService.class);
|
||||
if (service != null) {
|
||||
// reload only for stuido ,because joblet can be changed in the job editor
|
||||
@@ -2467,7 +2489,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
NodeContainer nodeContainer = null;
|
||||
if (isJunitContainer) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerGEFService.class)) {
|
||||
ITestContainerGEFService testContainerService = (ITestContainerGEFService) GlobalServiceRegister.getDefault()
|
||||
ITestContainerGEFService testContainerService = GlobalServiceRegister.getDefault()
|
||||
.getService(ITestContainerGEFService.class);
|
||||
if (testContainerService != null) {
|
||||
nodeContainer = testContainerService.createJunitContainer(node);
|
||||
@@ -2669,7 +2691,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
}
|
||||
}
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IScdComponentService.class)) {
|
||||
IScdComponentService service = (IScdComponentService) GlobalServiceRegister.getDefault().getService(
|
||||
IScdComponentService service = GlobalServiceRegister.getDefault().getService(
|
||||
IScdComponentService.class);
|
||||
service.updateOutputMetadata(nc, metadataTable);
|
||||
}
|
||||
@@ -2796,7 +2818,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
}
|
||||
} else {
|
||||
if (PluginChecker.isJobLetPluginLoaded()) { // bug 12764
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService.class);
|
||||
if (service != null && service.isJobletComponent(source)) {
|
||||
continue;
|
||||
@@ -3322,7 +3344,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
if (node instanceof Node) {
|
||||
component = ((Node) node).getDelegateComponent();
|
||||
}
|
||||
String baseName = component.getOriginalName();
|
||||
String baseName = component.getDisplayName();
|
||||
return UniqueNodeNameGenerator.generateUniqueNodeName(baseName, uniqueNodeNameList);
|
||||
}
|
||||
|
||||
@@ -4432,6 +4454,18 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
private void loadAdditionalProperties() {
|
||||
if (additionalProperties == null) {
|
||||
additionalProperties = new HashMap<Object, Object>();
|
||||
try {
|
||||
if (property.getItem() != null && ERepositoryObjectType.getType(property) != null) {
|
||||
boolean isRouteProcess = ERepositoryObjectType.getType(property).equals(ERepositoryObjectType.PROCESS_ROUTE);
|
||||
if (!isRouteProcess && "ROUTE"
|
||||
.equals(this.property.getAdditionalProperties().get(TalendProcessArgumentConstant.ARG_BUILD_TYPE))) {
|
||||
this.property.getAdditionalProperties().remove(TalendProcessArgumentConstant.ARG_BUILD_TYPE);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
for (Object key : this.property.getAdditionalProperties().keySet()) {
|
||||
additionalProperties.put(key, this.property.getAdditionalProperties().get(key));
|
||||
}
|
||||
@@ -4563,6 +4597,9 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
}
|
||||
|
||||
private void saveJobletNode(AbstractJobletContainer jobletContainer) {
|
||||
if (CommonsPlugin.isHeadless()) {
|
||||
return;
|
||||
}
|
||||
INode jobletNode = jobletContainer.getNode();
|
||||
IProcess jobletProcess = jobletNode.getComponent().getProcess();
|
||||
if (jobletProcess == null) {
|
||||
@@ -4572,7 +4609,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
Item item = ((IProcess2) jobletProcess).getProperty().getItem();
|
||||
if (item instanceof JobletProcessItem) {
|
||||
JobletProcessItem jobletItem = ((JobletProcessItem) item);
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService.class);
|
||||
if (service != null) {
|
||||
service.saveJobletNode(jobletItem, jobletContainer);
|
||||
@@ -4621,7 +4658,7 @@ public class Process extends Element implements IProcess2, IGEFProcess, ILastVer
|
||||
|
||||
IJobletProviderService jobletService = null;
|
||||
if (PluginChecker.isJobLetPluginLoaded()) {
|
||||
jobletService = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(IJobletProviderService.class);
|
||||
jobletService = GlobalServiceRegister.getDefault().getService(IJobletProviderService.class);
|
||||
for (INode node : getGraphicalNodes()) {
|
||||
if (jobletService.isJobletComponent(node)) {
|
||||
listRoutines.addAll(getJobletRoutines(jobletService, node));
|
||||
|
||||
@@ -115,6 +115,7 @@ import org.talend.core.ui.ICDCProviderService;
|
||||
import org.talend.core.ui.IJobletProviderService;
|
||||
import org.talend.core.ui.component.ComponentsFactoryProvider;
|
||||
import org.talend.cwm.helper.SAPBWTableHelper;
|
||||
import org.talend.designer.core.DesignerPlugin;
|
||||
import org.talend.designer.core.i18n.Messages;
|
||||
import org.talend.designer.core.model.components.EParameterName;
|
||||
import org.talend.designer.core.model.components.ElementParameter;
|
||||
@@ -126,6 +127,7 @@ import org.talend.designer.core.model.utils.emf.talendfile.impl.ContextTypeImpl;
|
||||
import org.talend.designer.core.ui.editor.nodes.Node;
|
||||
import org.talend.designer.core.ui.editor.update.UpdateCheckResult;
|
||||
import org.talend.designer.core.ui.editor.update.UpdateManagerUtils;
|
||||
import org.talend.designer.core.ui.preferences.TalendDesignerPrefConstants;
|
||||
import org.talend.designer.core.utils.ConnectionUtil;
|
||||
import org.talend.designer.core.utils.SAPParametersUtils;
|
||||
import org.talend.metadata.managment.ui.utils.ConnectionContextHelper;
|
||||
@@ -308,6 +310,10 @@ public class ProcessUpdateManager extends AbstractUpdateManager {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Boolean propagate = DesignerPlugin.getDefault().getPreferenceStore().getBoolean(TalendDesignerPrefConstants.PROPAGATE_CONTEXT);
|
||||
if(!propagate) {
|
||||
return contextResults;
|
||||
}
|
||||
// only handle added groups
|
||||
Set<String> contextSourceChecked = new HashSet<String>();
|
||||
Set<String> processContextGroups = new HashSet<String>();
|
||||
@@ -415,8 +421,6 @@ public class ProcessUpdateManager extends AbstractUpdateManager {
|
||||
|
||||
Map<ContextItem, Set<String>> existedParams = new HashMap<ContextItem, Set<String>>();
|
||||
|
||||
List<String> contextItemGroupNames = new ArrayList<String>();
|
||||
|
||||
for (IContext context : contextManager.getListContext()) {
|
||||
for (IContextParameter param : context.getContextParameterList()) {
|
||||
if (!param.isBuiltIn()) {
|
||||
@@ -440,14 +444,6 @@ public class ProcessUpdateManager extends AbstractUpdateManager {
|
||||
boolean builtin = true;
|
||||
if (contextItem != null) {
|
||||
if (contextItem instanceof ContextItem) {
|
||||
contextItemGroupNames.clear();
|
||||
EList<?> contextGroups = ((ContextItem) contextItem).getContext();
|
||||
for (Object contextGroup : contextGroups) {
|
||||
if (contextGroup instanceof ContextTypeImpl) {
|
||||
String name = ((ContextTypeImpl) contextGroup).getName();
|
||||
contextItemGroupNames.add(name);
|
||||
}
|
||||
}
|
||||
final ContextType contextType = ContextUtils.getContextTypeByName((ContextItem) contextItem,
|
||||
context.getName(), true);
|
||||
if (contextType != null) {
|
||||
@@ -459,10 +455,8 @@ public class ProcessUpdateManager extends AbstractUpdateManager {
|
||||
existedParams.put(repositoryContext, new HashSet<String>());
|
||||
}
|
||||
existedParams.get(repositoryContext).add(paramName);
|
||||
String jobContextGroupName = context.getName();
|
||||
boolean contains = contextItemGroupNames.contains(jobContextGroupName);
|
||||
if (contains && (onlySimpleShow || !ContextUtils.samePropertiesForContextParameter(param,
|
||||
contextParameterType))) {
|
||||
if (onlySimpleShow || !ContextUtils.samePropertiesForContextParameter(param,
|
||||
contextParameterType)) {
|
||||
unsameMap.add(contextItem, paramName);
|
||||
}
|
||||
builtin = false;
|
||||
@@ -596,10 +590,14 @@ public class ProcessUpdateManager extends AbstractUpdateManager {
|
||||
if (newParametersMap.get(contextItem) == null) {
|
||||
newParametersMap.put(contextItem, new HashSet<String>());
|
||||
}
|
||||
// To avoid the case: serval contexts contain more than one same name parameters, but we only can add
|
||||
// one of them
|
||||
IContext processContext = ((JobContextManager) contextManager).getDefaultContext();
|
||||
if (processContext.getContextParameter(parameterType.getName()) == null) {
|
||||
newParametersMap.get(contextItem).add(parameterType.getName());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -247,7 +247,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
if (obj instanceof RepositoryNode) {
|
||||
RepositoryNode sourceNode = (RepositoryNode) obj;
|
||||
if (PluginChecker.isCDCPluginLoaded()) {
|
||||
ICDCProviderService service = (ICDCProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
ICDCProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
ICDCProviderService.class);
|
||||
|
||||
if (service != null && (service.isSubscriberTableNode(sourceNode) || service.isSystemSubscriberTable(sourceNode))) {
|
||||
@@ -260,7 +260,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
}
|
||||
IOozieService oozieService = null;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IOozieService.class)) {
|
||||
oozieService = (IOozieService) GlobalServiceRegister.getDefault().getService(IOozieService.class);
|
||||
oozieService = GlobalServiceRegister.getDefault().getService(IOozieService.class);
|
||||
}
|
||||
if (oozieService != null && oozieService.isOozieNode(sourceNode)) {
|
||||
return false;
|
||||
@@ -268,7 +268,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
|
||||
ISAPProviderService sapService = null;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ISAPProviderService.class)) {
|
||||
sapService = (ISAPProviderService) GlobalServiceRegister.getDefault().getService(ISAPProviderService.class);
|
||||
sapService = GlobalServiceRegister.getDefault().getService(ISAPProviderService.class);
|
||||
}
|
||||
if (sapService != null && sapService.isSAPNode(sourceNode)) {
|
||||
return false;
|
||||
@@ -1051,7 +1051,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
Item item = sourceNode.getObject().getProperty().getItem();
|
||||
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerProviderService.class)) {
|
||||
ITestContainerProviderService testContainerService = (ITestContainerProviderService) GlobalServiceRegister
|
||||
ITestContainerProviderService testContainerService = GlobalServiceRegister
|
||||
.getDefault().getService(ITestContainerProviderService.class);
|
||||
if (testContainerService != null && testContainerService.isTestContainerItem(item)) {
|
||||
continue;
|
||||
@@ -1971,7 +1971,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
// special handle hbase to support tpigLoad
|
||||
String hbaseName = EDatabaseTypeName.HBASE.getDisplayName().toUpperCase();
|
||||
if (rcSetting != null && (hbaseName).equals(rcSetting.toString())) {
|
||||
IComponentsService service = (IComponentsService) GlobalServiceRegister.getDefault().getService(
|
||||
IComponentsService service = GlobalServiceRegister.getDefault().getService(
|
||||
IComponentsService.class);
|
||||
String componentProductname = null;
|
||||
Collection<IComponent> components = service.getComponentsFactory().readComponents();
|
||||
@@ -2125,7 +2125,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
|
||||
EConnectionType connectionType = EConnectionType.FLOW_MAIN;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICamelDesignerCoreService.class)) {
|
||||
ICamelDesignerCoreService camelService = (ICamelDesignerCoreService) GlobalServiceRegister.getDefault()
|
||||
ICamelDesignerCoreService camelService = GlobalServiceRegister.getDefault()
|
||||
.getService(ICamelDesignerCoreService.class);
|
||||
if (camelService.isRouteBuilderNode(node)) {
|
||||
connectionType = camelService.getTargetConnectionType(node);
|
||||
@@ -2143,7 +2143,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
// FIXME perhaps, this is not good fix, need check it later
|
||||
// bug 21411
|
||||
if (PluginChecker.isJobLetPluginLoaded()) {
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService.class);
|
||||
if (service != null && service.isJobletComponent(targetConnection.getTarget())) {
|
||||
if (targetConnection.getTarget() instanceof Node) {
|
||||
@@ -2277,7 +2277,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
private boolean isLock(JobletContainerPart part) {
|
||||
INode jobletNode = ((JobletContainer) part.getModel()).getNode();
|
||||
if (PluginChecker.isJobLetPluginLoaded()) {
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService.class);
|
||||
if (service != null) {
|
||||
return service.isLock(jobletNode);
|
||||
@@ -2292,7 +2292,7 @@ public class TalendEditorDropTargetListener extends TemplateTransferDropTargetLi
|
||||
Node jobletNode = ((JobletContainer) part.getModel()).getNode();
|
||||
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
|
||||
if (PluginChecker.isJobLetPluginLoaded()) {
|
||||
IJobletProviderService service = (IJobletProviderService) GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService service = GlobalServiceRegister.getDefault().getService(
|
||||
IJobletProviderService.class);
|
||||
if (service != null) {
|
||||
openEditor = (AbstractMultiPageTalendEditor) service.openJobletEditor(jobletNode, page);
|
||||
@@ -2332,7 +2332,7 @@ class ComponentChooseDialog extends ListDialog {
|
||||
if (UnifiedComponentUtil.isDelegateComponent(component) && typeName != null) {
|
||||
return component.getName() + "(" + typeName + ")";
|
||||
}
|
||||
return component.getName();
|
||||
return component.getDisplayName();
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -266,6 +266,9 @@ public class TextController extends AbstractElementPropertySectionController {
|
||||
* @param value
|
||||
*/
|
||||
private void checkTextError(IElementParameter param, Text labelText, Object value) {
|
||||
if (elem instanceof Node) {
|
||||
labelText.setToolTipText(VARIABLE_TOOLTIP + param.getVariableName());
|
||||
}
|
||||
// Only for job settings View.
|
||||
// job settings extra (feature 2710)
|
||||
if (param.getCategory() == EComponentCategory.STATSANDLOGS || param.getCategory() == EComponentCategory.EXTRA) {
|
||||
|
||||
@@ -19,6 +19,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.eclipse.gef.commands.Command;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
@@ -36,6 +37,7 @@ import org.talend.core.model.process.IContextManager;
|
||||
import org.talend.core.model.process.IContextParameter;
|
||||
import org.talend.core.model.process.IProcess2;
|
||||
import org.talend.core.model.properties.ContextItem;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.update.EUpdateItemType;
|
||||
import org.talend.core.model.update.EUpdateResult;
|
||||
import org.talend.core.model.update.UpdateResult;
|
||||
@@ -86,15 +88,16 @@ public class UpdateContextParameterCommand extends Command {
|
||||
if (result == null) {
|
||||
return;
|
||||
}
|
||||
List<String> contextItemGroupNames = new ArrayList<String>();
|
||||
Map<String, ContextType> repoContextMap = new HashMap<String, ContextType>();
|
||||
String repoDefaultContextName = null;
|
||||
if (result.getParameter() != null) {
|
||||
if (result.getParameter() instanceof ContextItem) {
|
||||
contextItemGroupNames.clear();
|
||||
EList<?> contextGroups = ((ContextItem) result.getParameter()).getContext();
|
||||
repoDefaultContextName = ((ContextItem) result.getParameter()).getDefaultContext();
|
||||
for (Object contextGroup : contextGroups) {
|
||||
if (contextGroup instanceof ContextTypeImpl) {
|
||||
String name = ((ContextTypeImpl) contextGroup).getName();
|
||||
contextItemGroupNames.add(name);
|
||||
repoContextMap.put(name, ((ContextTypeImpl) contextGroup));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -137,13 +140,19 @@ public class UpdateContextParameterCommand extends Command {
|
||||
}
|
||||
break;
|
||||
case UPDATE:
|
||||
if (contextItemGroupNames.contains(context.getName())) {
|
||||
String sourceContextName = null;
|
||||
if (repoContextMap.containsKey(context.getName())) {
|
||||
sourceContextName = context.getName();
|
||||
} else {
|
||||
sourceContextName = repoDefaultContextName;
|
||||
}
|
||||
if (sourceContextName != null) {
|
||||
item = (ContextItem) result.getParameter();
|
||||
|
||||
if (item != null && item.getProperty().getId().equals(param.getSource())
|
||||
&& result.isChecked()) {
|
||||
|
||||
ContextUtils.updateParameterFromRepository(item, param, context.getName());
|
||||
ContextUtils.updateParameterFromRepository(item, param, sourceContextName);
|
||||
} else {
|
||||
param.setSource(IContextParameter.BUILT_IN);
|
||||
}
|
||||
@@ -201,6 +210,30 @@ public class UpdateContextParameterCommand extends Command {
|
||||
continue;
|
||||
}
|
||||
param = (JobContextParameter) contextParam.clone();
|
||||
final Item contextItem = ContextUtils.getRepositoryContextItemById(param.getSource());
|
||||
if (contextItem != null) {
|
||||
if (contextItem instanceof ContextItem) {
|
||||
String defaultContextName = ((ContextItem) contextItem).getDefaultContext();
|
||||
ContextTypeImpl defaultContext = null;
|
||||
EList<?> contextGroups = ((ContextItem) contextItem).getContext();
|
||||
for (Object contextGroup : contextGroups) {
|
||||
if (contextGroup instanceof ContextTypeImpl) {
|
||||
String conName = ((ContextTypeImpl) contextGroup).getName();
|
||||
if (StringUtils.equals(defaultContextName, conName)) {
|
||||
defaultContext = ((ContextTypeImpl) contextGroup);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (defaultContext != null) {
|
||||
final ContextParameterType conParamType = ContextUtils
|
||||
.getContextParameterTypeByName(defaultContext, param.getName());
|
||||
if (conParamType != null) {
|
||||
ContextUtils.updateParameter(conParamType, param);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
param.setContext(newContext);
|
||||
newParamList.add(param);
|
||||
}
|
||||
|
||||
@@ -65,6 +65,9 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
|
||||
addField(new BooleanFieldEditor(TalendDesignerPrefConstants.CHECK_ONLY_LAST_VERSION,
|
||||
Messages.getString("PerformancePreferencePage.checkVersion"), //$NON-NLS-1$
|
||||
getFieldEditorParent()));
|
||||
addField(new BooleanFieldEditor(TalendDesignerPrefConstants.PROPAGATE_CONTEXT,
|
||||
Messages.getString("PerformancePreferencePage.propagateContext"), //$NON-NLS-1$
|
||||
getFieldEditorParent()));
|
||||
addField(new BooleanFieldEditor(TalendDesignerPrefConstants.PROPAGATE_CONTEXT_VARIABLE,
|
||||
Messages.getString("PerformancePreferencePage.addOrDeleteVariable"), //$NON-NLS-1$
|
||||
getFieldEditorParent()));
|
||||
@@ -101,6 +104,9 @@ public class PerformancePreferencePage extends FieldEditorPreferencePage impleme
|
||||
addField(new BooleanFieldEditor(TalendDesignerPrefConstants.CHECK_ONLY_LAST_VERSION,
|
||||
Messages.getString("PerformancePreferencePage.checkVersion"), //$NON-NLS-1$
|
||||
getFieldEditorParent()));
|
||||
addField(new BooleanFieldEditor(TalendDesignerPrefConstants.PROPAGATE_CONTEXT,
|
||||
Messages.getString("PerformancePreferencePage.propagateContext"), //$NON-NLS-1$
|
||||
getFieldEditorParent()));
|
||||
addField(new BooleanFieldEditor(TalendDesignerPrefConstants.PROPAGATE_CONTEXT_VARIABLE,
|
||||
Messages.getString("PerformancePreferencePage.addOrDeleteVariable"), //$NON-NLS-1$
|
||||
getFieldEditorParent()));
|
||||
|
||||
@@ -68,6 +68,8 @@ public class TalendDesignerPrefConstants {
|
||||
|
||||
public static final String DUPLICATE_TESTCASE = "duplicateTestCases "; //$NON-NLS-1$
|
||||
|
||||
public static final String PROPAGATE_CONTEXT = "propagateContext"; //$NON-NLS-1$
|
||||
|
||||
public static final String SCHEMA_OPTIONS = "schemaOptions"; //$NON-NLS-1$
|
||||
|
||||
public static final String VIEW_OPTIONS = "viewOptions"; //$NON-NLS-1$
|
||||
|
||||
@@ -151,9 +151,14 @@ public class BigDataJobUtil {
|
||||
|
||||
for (IElementParameter pt : parameters) {
|
||||
if (pt.getName().equals("DISTRIBUTION")) { //$NON-NLS-1$
|
||||
String value = String.valueOf(pt.getValue());
|
||||
if ("MICROSOFT_HD_INSIGHT".equals(value) //$NON-NLS-1$
|
||||
|| "GOOGLE_CLOUD_DATAPROC".equals(value) //$NON-NLS-1$
|
||||
|| "CLOUDERA_ALTUS".equals(value) || "DATABRICKS".equals(value) || "QUBOLE".equals(value)) { //$NON-NLS-1$
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isSparkWithYarnClusterMode()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -436,7 +436,9 @@ public class JavaProcessUtil {
|
||||
if (var.equals(contextPara.getName())) {
|
||||
String value =
|
||||
context.getContextParameter(contextPara.getName()).getValue();
|
||||
|
||||
if (StringUtils.isBlank(value)) {
|
||||
continue;
|
||||
}
|
||||
if (curParam.getName().equals(EParameterName.DRIVER_JAR.getName())
|
||||
&& value.contains(";")) { //$NON-NLS-1$
|
||||
String[] jars = value.split(";"); //$NON-NLS-1$
|
||||
|
||||
@@ -49,8 +49,7 @@ public class UnifiedComponentUtil {
|
||||
if (elementParameter != null && elementParameter.getValue() != null) {
|
||||
String emfCompName = String.valueOf(elementParameter.getValue());
|
||||
String paletteType = component.getPaletteType();
|
||||
IComponentsService compService = (IComponentsService) GlobalServiceRegister.getDefault()
|
||||
.getService(IComponentsService.class);
|
||||
IComponentsService compService = GlobalServiceRegister.getDefault().getService(IComponentsService.class);
|
||||
IComponent emfComponent = compService.getComponentsFactory().get(emfCompName, paletteType);
|
||||
if (emfComponent != null) {
|
||||
return emfComponent;
|
||||
@@ -64,8 +63,7 @@ public class UnifiedComponentUtil {
|
||||
|
||||
public static boolean isDelegateComponent(IComponent component) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
if (service.isDelegateComponent(component)) {
|
||||
return true;
|
||||
}
|
||||
@@ -75,8 +73,7 @@ public class UnifiedComponentUtil {
|
||||
|
||||
public static IComponent getDelegateComponent(IComponent component) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
return service.getDelegateComponent(component);
|
||||
}
|
||||
return component;
|
||||
@@ -84,8 +81,7 @@ public class UnifiedComponentUtil {
|
||||
|
||||
public static IComponent getDelegateComponent(String componentName, String paletteType) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
return service.getDelegateComponent(componentName, paletteType);
|
||||
}
|
||||
return null;
|
||||
@@ -94,8 +90,7 @@ public class UnifiedComponentUtil {
|
||||
public static void createParameters(INode node, List<IElementParameter> listParams, IComponent delegateComp,
|
||||
IComponent emfComp) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
service.createParameters(node, listParams, delegateComp, emfComp);
|
||||
}
|
||||
}
|
||||
@@ -104,8 +99,7 @@ public class UnifiedComponentUtil {
|
||||
List<? extends IElementParameter> oldParms, List<IMetadataTable> oldMetadataTables,
|
||||
List<INodeConnector> oldConnectors) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
service.switchComponent(node, delegateComponent, oldEmfComponent, oldParms, oldMetadataTables, oldConnectors);
|
||||
}
|
||||
|
||||
@@ -114,8 +108,7 @@ public class UnifiedComponentUtil {
|
||||
public static List<IComponent> filterUnifiedComponent(RepositoryComponentSetting setting, List<IComponent> componentList) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
List<IComponent> filtedList = new ArrayList<IComponent>();
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
IComponentsHandler componentsHandler = ComponentsFactoryProvider.getInstance().getComponentsHandler();
|
||||
filtedList.addAll(componentList);
|
||||
for (IComponent component : componentList) {
|
||||
@@ -149,12 +142,10 @@ public class UnifiedComponentUtil {
|
||||
|
||||
public static IComponent getEmfComponent(IComponentName setting, IComponent selectedComponent) {
|
||||
if (isDelegateComponent(selectedComponent)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
String paletteType = selectedComponent.getPaletteType();
|
||||
String emfCompName = service.getUnifiedComponetName4DndFromRepository(setting, selectedComponent);
|
||||
IComponentsService compService = (IComponentsService) GlobalServiceRegister.getDefault()
|
||||
.getService(IComponentsService.class);
|
||||
IComponentsService compService = GlobalServiceRegister.getDefault().getService(IComponentsService.class);
|
||||
IComponent emfComponent = compService.getComponentsFactory().get(emfCompName, paletteType);
|
||||
if (emfComponent != null) {
|
||||
return emfComponent;
|
||||
@@ -167,8 +158,7 @@ public class UnifiedComponentUtil {
|
||||
|
||||
public static String getUnifiedComponentDisplayName(IComponent delegateComponent, String emfComponent) {
|
||||
if (isDelegateComponent(delegateComponent)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
return service.getUnifiedCompDisplayName(delegateComponent, emfComponent);
|
||||
}
|
||||
return delegateComponent.getName();
|
||||
@@ -194,17 +184,15 @@ public class UnifiedComponentUtil {
|
||||
|
||||
public static String getComponentDisplayNameForPalette(IComponent delegateComponent, String keyWord) {
|
||||
if (isDelegateComponent(delegateComponent)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
return service.getComponentDisplayNameForPalette(delegateComponent, keyWord);
|
||||
}
|
||||
return delegateComponent.getName();
|
||||
return delegateComponent.getDisplayName();
|
||||
}
|
||||
|
||||
public static IComponent getUnifiedComponentByFilter(IComponent delegateComponent, String filter) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IUnifiedComponentService.class)) {
|
||||
IUnifiedComponentService service = (IUnifiedComponentService) GlobalServiceRegister.getDefault()
|
||||
.getService(IUnifiedComponentService.class);
|
||||
IUnifiedComponentService service = GlobalServiceRegister.getDefault().getService(IUnifiedComponentService.class);
|
||||
return service.getUnifiedComponentByFilter(delegateComponent, filter);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.dbmap</artifactId>
|
||||
|
||||
@@ -465,7 +465,9 @@ public class DbMapComponent extends AbstractMapComponent {
|
||||
}
|
||||
if (externalData != null) {
|
||||
// rename metadata column name
|
||||
List<ExternalDbMapTable> tables = new ArrayList<ExternalDbMapTable>(externalData.getInputTables());
|
||||
List<ExternalDbMapTable> tables = new ArrayList<ExternalDbMapTable>();
|
||||
List<ExternalDbMapTable> inputTables = new ArrayList<ExternalDbMapTable>(externalData.getInputTables());
|
||||
tables.addAll(inputTables);
|
||||
tables.addAll(externalData.getOutputTables());
|
||||
ExternalDbMapTable tableFound = null;
|
||||
for (ExternalDbMapTable table : tables) {
|
||||
@@ -482,12 +484,24 @@ public class DbMapComponent extends AbstractMapComponent {
|
||||
}
|
||||
}
|
||||
|
||||
List<String> alias = new ArrayList<String>();
|
||||
alias.add(conectionName);
|
||||
for(ExternalDbMapTable table : inputTables) {
|
||||
if (table.getTableName().equals(conectionName)) {
|
||||
if(table.getAlias() != null) {
|
||||
alias.add(table.getAlias());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// it is necessary to update expressions only if renamed column come from input table
|
||||
for(String connName : alias) {
|
||||
if (tableFound != null && externalData.getInputTables().indexOf(tableFound) != -1) {
|
||||
TableEntryLocation oldLocation = new TableEntryLocation(conectionName, oldColumnName);
|
||||
TableEntryLocation newLocation = new TableEntryLocation(conectionName, newColumnName);
|
||||
TableEntryLocation oldLocation = new TableEntryLocation(connName, oldColumnName);
|
||||
TableEntryLocation newLocation = new TableEntryLocation(connName, newColumnName);
|
||||
replaceLocationsInAllExpressions(oldLocation, newLocation, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1325,6 +1325,7 @@ public abstract class DbGenerationManager {
|
||||
|
||||
protected String initExpression(DbMapComponent component, ExternalDbMapEntry dbMapEntry) {
|
||||
String quote = getQuote(component);
|
||||
String quto_mark = TalendQuoteUtils.QUOTATION_MARK;
|
||||
String expression = dbMapEntry.getExpression();
|
||||
if (expression != null) {
|
||||
List<Map<String, String>> itemNameList = null;
|
||||
@@ -1349,7 +1350,7 @@ public abstract class DbGenerationManager {
|
||||
itemNameList = mapParser2.parseInTableEntryLocations(expression);
|
||||
}
|
||||
|
||||
String quoParser = "[\\\\]?\\" + quote; //$NON-NLS-1$
|
||||
String quto_markParser = "[\\\\]?\\" + quto_mark; //$NON-NLS-1$
|
||||
for (Map<String, String> itemNamemap : itemNameList) {
|
||||
Set<Entry<String, String>> set = itemNamemap.entrySet();
|
||||
Iterator<Entry<String, String>> ite = set.iterator();
|
||||
@@ -1415,16 +1416,12 @@ public abstract class DbGenerationManager {
|
||||
}
|
||||
if (expression.trim().equals(tableValue + "." + oriName)) {
|
||||
expression = tableValue + "." + getColumnName(iconn, oriName, quote);
|
||||
if(TalendQuoteUtils.QUOTATION_MARK.equals(quote)){
|
||||
expression = expression.replaceAll(quoParser,"\\\\" +quote); //$NON-NLS-1$
|
||||
}
|
||||
expression = expression.replaceAll(quto_markParser,"\\\\" +quto_mark); //$NON-NLS-1$
|
||||
continue;
|
||||
}
|
||||
if (expression.trim().equals(originaltableName + "." + oriName)) {
|
||||
expression = originaltableName + "." + getColumnName(iconn, oriName, quote);
|
||||
if(TalendQuoteUtils.QUOTATION_MARK.equals(quote)){
|
||||
expression = expression.replaceAll(quoParser,"\\\\" +quote); //$NON-NLS-1$
|
||||
}
|
||||
expression = expression.replaceAll(quto_markParser,"\\\\" +quto_mark); //$NON-NLS-1$
|
||||
continue;
|
||||
}
|
||||
// if it is temp delived table, use label to generate sql
|
||||
@@ -1438,9 +1435,7 @@ public abstract class DbGenerationManager {
|
||||
}
|
||||
expression = expression.replaceFirst(tableValue + "\\." + co.getLabel(), //$NON-NLS-1$
|
||||
tableValue + "\\." + oriName); //$NON-NLS-1$
|
||||
if(TalendQuoteUtils.QUOTATION_MARK.equals(quote)){
|
||||
expression = replaceAuotes(expression, quoParser, quote);
|
||||
}
|
||||
expression = replaceAuotes(expression, quto_markParser, quto_mark);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.dbmap.model.table;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -101,7 +100,6 @@ public class InputTable extends AbstractInOutTable {
|
||||
}
|
||||
}
|
||||
|
||||
ArrayList<IMetadataColumn> columnsToRemove = new ArrayList<IMetadataColumn>();
|
||||
for (IMetadataColumn column : columns) {
|
||||
InputColumnTableEntry inputEntry = (InputColumnTableEntry) getNewTableEntry(column);
|
||||
ExternalDbMapEntry externalMapperTableEntry = nameToPerTabEntry.get(inputEntry.getMetadataColumn().getLabel());
|
||||
@@ -110,13 +108,8 @@ public class InputTable extends AbstractInOutTable {
|
||||
fillInputEntry(inputEntry, externalMapperTableEntry);
|
||||
nameToPerTabEntry.remove(externalMapperTableEntry.getName());
|
||||
}
|
||||
if (externalMapperTableEntry != null || !isAliasTable) {
|
||||
dataMapTableEntries.add(inputEntry);
|
||||
} else {
|
||||
columnsToRemove.add(column);
|
||||
}
|
||||
}
|
||||
columns.removeAll(columnsToRemove);
|
||||
|
||||
// create unmatching entries
|
||||
for (ExternalDbMapEntry perTableEntry : nameToPerTabEntry.values()) {
|
||||
|
||||
@@ -300,6 +300,10 @@ public class MapperUI {
|
||||
if (outputsTablesView.size() > 0) {
|
||||
uiManager.selectDataMapTableView(outputsTablesView.get(0), true, false);
|
||||
}
|
||||
|
||||
for (DataMapTableView view : outputsTablesView) {
|
||||
view.getTableViewerCreatorForColumns().getTableViewer().refresh();
|
||||
}
|
||||
}
|
||||
|
||||
private void resizeNotMinimizedTablesAtExpandedSize(final Display display) {
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.dbmap.ui.tabs;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.gef.commands.CommandStack;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.swt.SWT;
|
||||
@@ -23,12 +25,19 @@ import org.eclipse.swt.layout.RowLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.eclipse.swt.widgets.Listener;
|
||||
import org.talend.commons.ui.swt.advanced.dataeditor.control.ExtendedPushButton;
|
||||
import org.talend.commons.ui.swt.colorstyledtext.UnnotifiableColorStyledText;
|
||||
import org.talend.commons.ui.swt.extended.table.ExtendedButtonEvent;
|
||||
import org.talend.commons.ui.swt.extended.table.IExtendedButtonListener;
|
||||
import org.talend.core.CorePlugin;
|
||||
import org.talend.core.ui.metadata.editor.MetadataTableEditorView;
|
||||
import org.talend.core.ui.metadata.editor.MetadataToolbarEditorView;
|
||||
import org.talend.designer.dbmap.MapperMain;
|
||||
import org.talend.designer.dbmap.i18n.Messages;
|
||||
import org.talend.designer.dbmap.managers.MapperManager;
|
||||
import org.talend.designer.dbmap.model.table.InputTable;
|
||||
import org.talend.designer.dbmap.model.table.OutputTable;
|
||||
import org.talend.designer.dbmap.ui.visualmap.table.DataMapTableView;
|
||||
|
||||
/**
|
||||
* DOC amaumont class global comment. Detailled comment <br/>
|
||||
@@ -58,6 +67,10 @@ public class TabFolderEditors extends CTabFolder {
|
||||
|
||||
private String dbmsId;
|
||||
|
||||
private List<ExtendedPushButton> inputToolBarButtons;
|
||||
|
||||
private List<ExtendedPushButton> outputToolBarButtons;
|
||||
|
||||
public TabFolderEditors(Composite parent, int style, MapperManager mapperManager, String dbmsId) {
|
||||
super(parent, style);
|
||||
tabFolderEditors = this;
|
||||
@@ -144,6 +157,8 @@ public class TabFolderEditors extends CTabFolder {
|
||||
inputMetaEditor.initGraphicComponents();
|
||||
inputMetaEditor.getExtendedTableViewer().setCommandStack(commandStack);
|
||||
|
||||
addListenersToInputButtons();
|
||||
|
||||
outputMetaEditor = new MetadataTableEditorView(inOutMetaEditorContainer, SWT.BORDER);
|
||||
outputMetaEditor.setCurrentDbms(dbmsId);
|
||||
outputMetaEditor.setShowDbTypeColumn(true, false, true);
|
||||
@@ -152,6 +167,46 @@ public class TabFolderEditors extends CTabFolder {
|
||||
outputMetaEditor.setShowPatternColumn(false);
|
||||
outputMetaEditor.initGraphicComponents();
|
||||
outputMetaEditor.getExtendedTableViewer().setCommandStack(commandStack);
|
||||
|
||||
addListenersToOutputButtons();
|
||||
}
|
||||
|
||||
private void addListenersToInputButtons() {
|
||||
MetadataToolbarEditorView toolBar = inputMetaEditor.getToolBar();
|
||||
inputToolBarButtons = toolBar.getButtons();
|
||||
IExtendedButtonListener afterCommandListener = new IExtendedButtonListener() {
|
||||
|
||||
public void handleEvent(ExtendedButtonEvent event) {
|
||||
List<InputTable> inputTablesList = mapperManager.getInputTables();
|
||||
for (InputTable inputTable : inputTablesList) {
|
||||
DataMapTableView view = mapperManager.retrieveIDataMapTableView(inputTable);
|
||||
view.getTableViewerCreatorForColumns().getTableViewer().refresh();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
for (ExtendedPushButton extendedPushButton : inputToolBarButtons) {
|
||||
extendedPushButton.addListener(afterCommandListener, false);
|
||||
}
|
||||
}
|
||||
|
||||
private void addListenersToOutputButtons() {
|
||||
MetadataToolbarEditorView toolBar = outputMetaEditor.getToolBar();
|
||||
outputToolBarButtons = toolBar.getButtons();
|
||||
IExtendedButtonListener afterCommandListener = new IExtendedButtonListener() {
|
||||
|
||||
public void handleEvent(ExtendedButtonEvent event) {
|
||||
List<OutputTable> outputTablesList = mapperManager.getOutputTables();
|
||||
for (OutputTable outputTable : outputTablesList) {
|
||||
DataMapTableView view = mapperManager.retrieveIDataMapTableView(outputTable);
|
||||
view.getTableViewerCreatorForColumns().getTableViewer().refresh();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
for (ExtendedPushButton extendedPushButton : outputToolBarButtons) {
|
||||
extendedPushButton.addListener(afterCommandListener, false);
|
||||
}
|
||||
}
|
||||
|
||||
private StyledText createStyledText(CTabItem item) {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.documentation</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.filemultischemas</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.fileoutputxml</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.gefabstractmap</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.mapper.advanced</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.mapper</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.maven.job</artifactId>
|
||||
|
||||
@@ -52,6 +52,14 @@
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
<fileSet><!-- add context resources -->
|
||||
<directory>${resources.path}</directory>
|
||||
<outputDirectory>${file.separator}</outputDirectory>
|
||||
<includes>
|
||||
<include>${talend.job.path}/**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
<fileSet> <!-- add provided-lib -->
|
||||
<directory>${current.bundle.resources.dir}/provided-lib</directory>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.publish.core</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.rowgenerator</artifactId>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>7.2.1-SNAPSHOT</version>
|
||||
<version>7.2.1</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.runprocess</artifactId>
|
||||
|
||||
@@ -743,6 +743,11 @@ public class DefaultRunProcessService implements IRunProcessService {
|
||||
return TalendJavaProjectManager.getTalendJobJavaProject(property);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IFolder getCodeSrcFolder(ERepositoryObjectType type, String projectTechName) {
|
||||
return new AggregatorPomsHelper(projectTechName).getCodeSrcFolder(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITalendProcessJavaProject getTempJavaProject() {
|
||||
return TalendJavaProjectManager.getTempJavaProject();
|
||||
@@ -842,6 +847,8 @@ public class DefaultRunProcessService implements IRunProcessService {
|
||||
if (ProcessUtils.isRequiredBeans(null, refProject)) {
|
||||
installRefCodeProject(ERepositoryObjectType.valueOf("BEANS"), refHelper, monitor); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
deleteRefProjects(refProject, refHelper);
|
||||
}
|
||||
|
||||
private void installRefCodeProject(ERepositoryObjectType codeType, AggregatorPomsHelper refHelper, IProgressMonitor monitor)
|
||||
@@ -857,6 +864,28 @@ public class DefaultRunProcessService implements IRunProcessService {
|
||||
argumentsMap.put(TalendProcessArgumentConstant.ARG_GOAL, TalendMavenConstants.GOAL_INSTALL);
|
||||
argumentsMap.put(TalendProcessArgumentConstant.ARG_PROGRAM_ARGUMENTS, TalendMavenConstants.ARG_MAIN_SKIP);
|
||||
codeProject.buildModules(monitor, null, argumentsMap);
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteRefProjects(Project refProject, AggregatorPomsHelper refHelper) throws Exception {
|
||||
IProgressMonitor monitor = new NullProgressMonitor();
|
||||
deleteRefProject(ERepositoryObjectType.ROUTINES, refHelper, monitor);
|
||||
deleteRefProject(ERepositoryObjectType.PIG_UDF, refHelper, monitor);
|
||||
deleteRefProject(ERepositoryObjectType.valueOf("BEANS"), refHelper, monitor); //$NON-NLS-1$
|
||||
|
||||
}
|
||||
|
||||
private void deleteRefProject(ERepositoryObjectType codeType, AggregatorPomsHelper refHelper, IProgressMonitor monitor)
|
||||
throws Exception, CoreException {
|
||||
|
||||
if (!refHelper.getProjectRootPom().exists()) {
|
||||
return;
|
||||
}
|
||||
|
||||
String projectTechName = refHelper.getProjectTechName();
|
||||
ITalendProcessJavaProject codeProject = TalendJavaProjectManager.getExistingTalendCodeProject(codeType, projectTechName);
|
||||
|
||||
if (codeProject != null) {
|
||||
codeProject.getProject().delete(false, true, monitor);
|
||||
TalendJavaProjectManager.removeFromCodeJavaProjects(codeType, projectTechName);
|
||||
}
|
||||
@@ -893,17 +922,23 @@ public class DefaultRunProcessService implements IRunProcessService {
|
||||
if (info.equals(mainJobInfo)) {
|
||||
continue;
|
||||
}
|
||||
childPoms.add(info.getPomFile());
|
||||
|
||||
// copy source code to the main project
|
||||
IFile codeFile = info.getCodeFile();
|
||||
IPath refPath = codeFile.getProjectRelativePath();
|
||||
IFolder targetFolder = mainProject.getFolder(refPath.removeLastSegments(1));
|
||||
|
||||
if (!targetFolder.exists()) {
|
||||
targetFolder.create(true, false, progressMonitor);
|
||||
}
|
||||
if (codeFile.getLocation().removeLastSegments(1).equals(targetFolder.getLocation())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
FilesUtils.copyDirectory(new File(codeFile.getLocation().toPortableString()),
|
||||
new File(targetFolder.getLocation().toPortableString()));
|
||||
|
||||
childPoms.add(info.getPomFile());
|
||||
}
|
||||
|
||||
PomUtil.updateMainJobDependencies(mainJobInfo.getPomFile(), childPoms, childJobDependencies, progressMonitor);
|
||||
|
||||
@@ -15,6 +15,7 @@ package org.talend.designer.runprocess;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -31,7 +32,6 @@ import org.talend.commons.exception.CommonExceptionHandler;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.commons.exception.SystemException;
|
||||
import org.talend.commons.ui.runtime.exception.MessageBoxExceptionHandler;
|
||||
import org.talend.core.CorePlugin;
|
||||
import org.talend.core.model.process.IContainerEntry;
|
||||
import org.talend.core.model.process.IProcess;
|
||||
@@ -67,9 +67,10 @@ public class JobErrorsChecker {
|
||||
}
|
||||
try {
|
||||
Item item = null;
|
||||
IProxyRepositoryFactory proxyRepositoryFactory = CorePlugin.getDefault().getRepositoryService()
|
||||
.getProxyRepositoryFactory();
|
||||
ITalendSynchronizer synchronizer = CorePlugin.getDefault().getCodeGeneratorService().createRoutineSynchronizer();
|
||||
IProxyRepositoryFactory proxyRepositoryFactory =
|
||||
CorePlugin.getDefault().getRepositoryService().getProxyRepositoryFactory();
|
||||
ITalendSynchronizer synchronizer =
|
||||
CorePlugin.getDefault().getCodeGeneratorService().createRoutineSynchronizer();
|
||||
|
||||
Set<String> jobIds = new HashSet<String>();
|
||||
HashSet<JobInfo> jobInfos = new HashSet<>();
|
||||
@@ -94,13 +95,14 @@ public class JobErrorsChecker {
|
||||
}
|
||||
jobIds.add(item.getProperty().getId());
|
||||
|
||||
// Property property = process.getProperty();
|
||||
Problems.addJobRoutineFile(sourceFile, ProblemType.JOB, item, true);
|
||||
}
|
||||
if (!CommonsPlugin.isHeadless()) {
|
||||
List<IRepositoryViewObject> routinesObjects = proxyRepositoryFactory.getAll(ERepositoryObjectType.ROUTINES, false);
|
||||
Set<String> dependentRoutines = LastGenerationInfo.getInstance().getRoutinesNeededWithSubjobPerJob(
|
||||
LastGenerationInfo.getInstance().getLastMainJob().getJobId(),
|
||||
List<IRepositoryViewObject> routinesObjects =
|
||||
proxyRepositoryFactory.getAll(ERepositoryObjectType.ROUTINES, false);
|
||||
Set<String> dependentRoutines = LastGenerationInfo
|
||||
.getInstance()
|
||||
.getRoutinesNeededWithSubjobPerJob(LastGenerationInfo.getInstance().getLastMainJob().getJobId(),
|
||||
LastGenerationInfo.getInstance().getLastMainJob().getJobVersion());
|
||||
if (routinesObjects != null) {
|
||||
for (IRepositoryViewObject obj : routinesObjects) {
|
||||
@@ -153,11 +155,11 @@ public class JobErrorsChecker {
|
||||
|
||||
public static boolean checkExportErrors(IStructuredSelection selection, boolean isJob) {
|
||||
if (!selection.isEmpty()) {
|
||||
final ITalendSynchronizer synchronizer = CorePlugin.getDefault().getCodeGeneratorService()
|
||||
.createRoutineSynchronizer();
|
||||
final ITalendSynchronizer synchronizer =
|
||||
CorePlugin.getDefault().getCodeGeneratorService().createRoutineSynchronizer();
|
||||
Set<String> jobIds = new HashSet<String>();
|
||||
|
||||
List<RepositoryNode> nodes = selection.toList();
|
||||
List<RepositoryNode> nodes = extractNodes(selection);
|
||||
if (nodes.size() > 1) {
|
||||
// in case it's a multiple export, only check the status of the latest job to export
|
||||
for (RepositoryNode node : nodes) {
|
||||
@@ -189,22 +191,35 @@ public class JobErrorsChecker {
|
||||
}
|
||||
if (ret) {
|
||||
if (isJob) {
|
||||
throw new ProcessorException(Messages.getString("JobErrorsChecker_compile_errors") + '\n' + //$NON-NLS-1$
|
||||
Messages.getString("JobErrorsChecker_compile_error_content", item.getProperty() //$NON-NLS-1$
|
||||
.getLabel()) + '\n' + message);
|
||||
throw new ProcessorException(
|
||||
Messages.getString("JobErrorsChecker_compile_errors") + '\n' + //$NON-NLS-1$
|
||||
Messages
|
||||
.getString("JobErrorsChecker_compile_error_content", //$NON-NLS-1$
|
||||
item.getProperty().getLabel())
|
||||
+ '\n' + message);
|
||||
} else {
|
||||
throw new ProcessorException(Messages.getString("CamelJobErrorsChecker_compile_errors") + '\n' + //$NON-NLS-1$
|
||||
Messages.getString("CamelJobErrorsChecker_compile_error_content", item.getProperty() //$NON-NLS-1$
|
||||
.getLabel()) + '\n' + message);
|
||||
throw new ProcessorException(
|
||||
Messages.getString("CamelJobErrorsChecker_compile_errors") + '\n' + //$NON-NLS-1$
|
||||
Messages
|
||||
.getString("CamelJobErrorsChecker_compile_error_content", //$NON-NLS-1$
|
||||
item.getProperty().getLabel())
|
||||
+ '\n' + message);
|
||||
}
|
||||
}
|
||||
|
||||
jobIds.add(item.getProperty().getId());
|
||||
|
||||
Problems.addRoutineFile(sourceFile, ProblemType.JOB, item.getProperty().getLabel(), item.getProperty()
|
||||
.getVersion(), true);
|
||||
Problems
|
||||
.addRoutineFile(sourceFile, ProblemType.JOB, item.getProperty().getLabel(),
|
||||
item.getProperty().getVersion(), true);
|
||||
} catch (Exception e) {
|
||||
MessageBoxExceptionHandler.process(e);
|
||||
CommonExceptionHandler.process(e);
|
||||
if (CommonsPlugin.isHeadless()) {
|
||||
// [TESB-8953] avoid SWT invoked and also throw Exception let Command Executor to have
|
||||
// detailed
|
||||
// trace in command status.
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -214,13 +229,12 @@ public class JobErrorsChecker {
|
||||
try {
|
||||
checkLastGenerationHasCompilationError(true);
|
||||
} catch (Exception e) {
|
||||
if (CommonsPlugin.isHeadless()) {
|
||||
CommonExceptionHandler.process(e);
|
||||
if (CommonsPlugin.isHeadless()) {
|
||||
// [TESB-8953] avoid SWT invoked and also throw Exception let Command Executor to have detailed
|
||||
// trace in command status.
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
MessageBoxExceptionHandler.process(e);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -249,7 +263,12 @@ public class JobErrorsChecker {
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
MessageBoxExceptionHandler.process(e);
|
||||
CommonExceptionHandler.process(e);
|
||||
if (CommonsPlugin.isHeadless()) {
|
||||
// [TESB-8953] avoid SWT invoked and also throw Exception let Command Executor to have detailed
|
||||
// trace in command status.
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -264,9 +283,10 @@ public class JobErrorsChecker {
|
||||
boolean hasError = false;
|
||||
boolean isJob = true;
|
||||
Item item = null;
|
||||
final IProxyRepositoryFactory proxyRepositoryFactory = CorePlugin.getDefault().getRepositoryService()
|
||||
.getProxyRepositoryFactory();
|
||||
final ITalendSynchronizer synchronizer = CorePlugin.getDefault().getCodeGeneratorService().createRoutineSynchronizer();
|
||||
final IProxyRepositoryFactory proxyRepositoryFactory =
|
||||
CorePlugin.getDefault().getRepositoryService().getProxyRepositoryFactory();
|
||||
final ITalendSynchronizer synchronizer =
|
||||
CorePlugin.getDefault().getCodeGeneratorService().createRoutineSynchronizer();
|
||||
Integer line = null;
|
||||
String errorMessage = null;
|
||||
try {
|
||||
@@ -299,7 +319,7 @@ public class JobErrorsChecker {
|
||||
// one job
|
||||
final IResource[] members = file.getParent().members();
|
||||
for (IResource member : members) {
|
||||
if (member instanceof IFile && "java".equals(member.getFileExtension())) {
|
||||
if (member instanceof IFile && "java".equals(member.getFileExtension())) { //$NON-NLS-1$
|
||||
IMarker[] markers = ((IFile) member).findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_ONE);
|
||||
for (IMarker marker : markers) {
|
||||
Integer lineNr = (Integer) marker.getAttribute(IMarker.LINE_NUMBER);
|
||||
@@ -322,7 +342,8 @@ public class JobErrorsChecker {
|
||||
}
|
||||
}
|
||||
if (updateProblemsView) {
|
||||
Problems.addRoutineFile(file, ProblemType.JOB, item.getProperty().getLabel(),
|
||||
Problems
|
||||
.addRoutineFile(file, ProblemType.JOB, item.getProperty().getLabel(),
|
||||
item.getProperty().getVersion(), true);
|
||||
}
|
||||
if (hasError) {
|
||||
@@ -335,17 +356,17 @@ public class JobErrorsChecker {
|
||||
}
|
||||
if (hasError && item != null) {
|
||||
if (isJob) {
|
||||
throw new ProcessorException(Messages.getString("JobErrorsChecker_compile_errors") + " " + '\n' + //$NON-NLS-1$
|
||||
Messages.getString("JobErrorsChecker_compile_error_message", item.getProperty().getLabel()) + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' + line + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") + ':' + ' ' + errorMessage + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_jvmmessage")); //$NON-NLS-1$
|
||||
throw new ProcessorException(Messages.getString("JobErrorsChecker_compile_errors") + ' ' + '\n' + //$NON-NLS-1$
|
||||
Messages.getString("JobErrorsChecker_compile_error_message", item.getProperty().getLabel()) //$NON-NLS-1$
|
||||
+ '\n' + Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' + line + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") + ':' + ' ' + errorMessage //$NON-NLS-1$
|
||||
+ '\n' + Messages.getString("JobErrorsChecker_compile_error_jvmmessage")); //$NON-NLS-1$
|
||||
} else {
|
||||
throw new ProcessorException(Messages.getString("CamelJobErrorsChecker_compile_errors") + " " + '\n' + //$NON-NLS-1$
|
||||
Messages.getString("JobErrorsChecker_compile_error_message", item.getProperty().getLabel()) + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' + line + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") + ':' + ' ' + errorMessage + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_jvmmessage")); //$NON-NLS-1$
|
||||
throw new ProcessorException(Messages.getString("CamelJobErrorsChecker_compile_errors") + ' ' + '\n' + //$NON-NLS-1$
|
||||
Messages.getString("JobErrorsChecker_compile_error_message", item.getProperty().getLabel()) //$NON-NLS-1$
|
||||
+ '\n' + Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' + line + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") + ':' + ' ' + errorMessage //$NON-NLS-1$
|
||||
+ '\n' + Messages.getString("JobErrorsChecker_compile_error_jvmmessage")); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,6 +377,7 @@ public class JobErrorsChecker {
|
||||
}
|
||||
|
||||
private static void checkRoutinesCompilationError() throws ProcessorException {
|
||||
|
||||
if(LastGenerationInfo.getInstance() == null || LastGenerationInfo.getInstance().getLastMainJob() == null) {
|
||||
return;
|
||||
}
|
||||
@@ -368,25 +390,28 @@ public class JobErrorsChecker {
|
||||
for (Problem p : errors) {
|
||||
if (p instanceof TalendProblem) {
|
||||
TalendProblem talendProblem = (TalendProblem) p;
|
||||
if (talendProblem.getType() == ProblemType.ROUTINE && dependentRoutines.contains(talendProblem.getJavaUnitName())) {
|
||||
if (talendProblem.getType() == ProblemType.ROUTINE
|
||||
&& dependentRoutines.contains(talendProblem.getJavaUnitName())) {
|
||||
int line = talendProblem.getLineNumber();
|
||||
String errorMessage = talendProblem.getDescription();
|
||||
throw new ProcessorException(Messages.getString(
|
||||
"JobErrorsChecker_routines_compile_errors", talendProblem.getJavaUnitName()) + '\n'//$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' + line + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") + ':' + ' ' + errorMessage); //$NON-NLS-1$
|
||||
throw new ProcessorException(Messages
|
||||
.getString("JobErrorsChecker_routines_compile_errors", talendProblem.getJavaUnitName()) //$NON-NLS-1$
|
||||
+ '\n' + Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' + line + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") + ':' + ' ' //$NON-NLS-1$
|
||||
+ errorMessage);
|
||||
}
|
||||
} else {
|
||||
// for now not to check components errors when building jobs in studio/commandline
|
||||
// throw new ProcessorException(Messages.getString("JobErrorsChecker_jobDesign_errors", p.getType().getTypeName(), //$NON-NLS-1$
|
||||
// throw new ProcessorException(Messages.getString("JobErrorsChecker_jobDesign_errors",
|
||||
// p.getType().getTypeName(), //$NON-NLS-1$
|
||||
// p.getJobInfo().getJobName(), p.getComponentName(), p.getDescription()));
|
||||
}
|
||||
}
|
||||
|
||||
// if can't find the routines problem, try to check the file directly(mainly for commandline)
|
||||
try {
|
||||
final ITalendSynchronizer synchronizer = CorePlugin.getDefault().getCodeGeneratorService()
|
||||
.createRoutineSynchronizer();
|
||||
final ITalendSynchronizer synchronizer =
|
||||
CorePlugin.getDefault().getCodeGeneratorService().createRoutineSynchronizer();
|
||||
IProxyRepositoryFactory factory = CorePlugin.getDefault().getProxyRepositoryFactory();
|
||||
List<IRepositoryViewObject> routinesObjects = factory.getAll(ERepositoryObjectType.ROUTINES, false);
|
||||
if (routinesObjects != null) {
|
||||
@@ -407,10 +432,12 @@ public class JobErrorsChecker {
|
||||
if (lineNr != null && message != null && severity != null && start != null && end != null) {
|
||||
switch (severity) {
|
||||
case IMarker.SEVERITY_ERROR:
|
||||
throw new ProcessorException(
|
||||
Messages.getString("JobErrorsChecker_routines_compile_errors", property.getLabel()) + '\n'//$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' + lineNr + '\n' //$NON-NLS-1$
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") + ':' + ' ' + message); //$NON-NLS-1$
|
||||
throw new ProcessorException(Messages
|
||||
.getString("JobErrorsChecker_routines_compile_errors", property.getLabel()) //$NON-NLS-1$
|
||||
+ '\n' + Messages.getString("JobErrorsChecker_compile_error_line") + ':' + ' ' //$NON-NLS-1$
|
||||
+ lineNr + '\n'
|
||||
+ Messages.getString("JobErrorsChecker_compile_error_detailmessage") //$NON-NLS-1$
|
||||
+ ':' + ' ' + message);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -427,7 +454,6 @@ public class JobErrorsChecker {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void checkShadowFileError(IFile file) throws ProcessorException {
|
||||
try {
|
||||
IMarker[] markers = file.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_ONE);
|
||||
@@ -454,7 +480,8 @@ public class JobErrorsChecker {
|
||||
}
|
||||
|
||||
protected static void checkSubJobMultipleVersionsError() throws ProcessorException {
|
||||
if(LastGenerationInfo.getInstance() == null || LastGenerationInfo.getInstance().getLastGeneratedjobs() == null) {
|
||||
if (LastGenerationInfo.getInstance() == null
|
||||
|| LastGenerationInfo.getInstance().getLastGeneratedjobs() == null) {
|
||||
return;
|
||||
}
|
||||
Set<JobInfo> jobInfos = LastGenerationInfo.getInstance().getLastGeneratedjobs();
|
||||
@@ -483,4 +510,14 @@ public class JobErrorsChecker {
|
||||
}
|
||||
}
|
||||
|
||||
private static List<RepositoryNode> extractNodes(IStructuredSelection selection) {
|
||||
List<RepositoryNode> nodes = new ArrayList<>();
|
||||
for (Iterator<?> iterator = selection.iterator(); iterator.hasNext();) {
|
||||
Object o = iterator.next();
|
||||
if (o instanceof RepositoryNode)
|
||||
nodes.add((RepositoryNode) o);
|
||||
}
|
||||
return nodes;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -427,6 +427,11 @@ public class RunProcessService implements IRunProcessService {
|
||||
return delegateService.getTalendJobJavaProject(property);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IFolder getCodeSrcFolder(ERepositoryObjectType type, String projectTechName) {
|
||||
return delegateService.getCodeSrcFolder(type, projectTechName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITalendProcessJavaProject getTempJavaProject() {
|
||||
return delegateService.getTempJavaProject();
|
||||
|
||||
@@ -95,6 +95,7 @@ import org.talend.commons.exception.SystemException;
|
||||
import org.talend.commons.ui.runtime.exception.RuntimeExceptionHandler;
|
||||
import org.talend.commons.utils.generation.JavaUtils;
|
||||
import org.talend.commons.utils.resource.FileExtensions;
|
||||
import org.talend.commons.utils.system.EnvironmentUtils;
|
||||
import org.talend.core.CorePlugin;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.PluginChecker;
|
||||
@@ -153,6 +154,7 @@ import org.talend.designer.runprocess.prefs.RunProcessPrefsConstants;
|
||||
import org.talend.designer.runprocess.utils.JobVMArgumentsUtil;
|
||||
import org.talend.repository.ProjectManager;
|
||||
import org.talend.repository.constants.BuildJobConstants;
|
||||
import org.talend.repository.utils.EmfModelUtils;
|
||||
import org.talend.repository.utils.EsbConfigUtils;
|
||||
import org.talend.utils.io.FilesUtils;
|
||||
|
||||
@@ -273,7 +275,7 @@ public class JavaProcessor extends AbstractJavaProcessor implements IJavaBreakpo
|
||||
}
|
||||
|
||||
private boolean isGuessSchemaJob(Property property) {
|
||||
return "ID".equals(property.getId()) && "Mock_job_for_Guess_schema".equals(property.getLabel()); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
return property != null && "ID".equals(property.getId()) && "Mock_job_for_Guess_schema".equals(property.getLabel()); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -366,16 +368,39 @@ public class JavaProcessor extends AbstractJavaProcessor implements IJavaBreakpo
|
||||
outputFolder = tProcessJavaProject.getTestOutputFolder();
|
||||
} else {
|
||||
srcFolder = tProcessJavaProject.getSrcFolder();
|
||||
boolean needsToHaveContextInsideJar = true;
|
||||
boolean needContextInJar = false;
|
||||
|
||||
if (property != null && property.getItem() instanceof ProcessItem) {
|
||||
needsToHaveContextInsideJar = !new BigDataJobUtil(process).needsToHaveContextInsideJar();
|
||||
if (process != null) {
|
||||
needContextInJar = new BigDataJobUtil(process).needsToHaveContextInsideJar();
|
||||
if (ProcessorUtilities.getMainJobInfo() != null) {
|
||||
if (ProcessorUtilities.getMainJobInfo().getProcess() != null) {
|
||||
if (ProcessorUtilities.isEsbJob(ProcessorUtilities.getMainJobInfo().getProcess(), true)
|
||||
|| "CAMEL".equals(ProcessorUtilities.getMainJobInfo().getProcess().getComponentsType())) {
|
||||
if (property.getItem() instanceof ProcessItem) {
|
||||
if (!needContextInJar) {
|
||||
if (null != EmfModelUtils.getComponentByName((ProcessItem) property.getItem(), "tRunJob", "cTalendJob")) {
|
||||
needContextInJar = false;
|
||||
} else {
|
||||
if (ProcessorUtilities.isEsbJob(process, true)) {
|
||||
needContextInJar = false;
|
||||
} else {
|
||||
needContextInJar = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (property.getItem().eClass().getClassifierID() == 4) {
|
||||
// CamelPropertiesPackage Line 516 int ROUTELET_PROCESS_ITEM = 4;
|
||||
needContextInJar = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ProcessorUtilities.isExportConfig() && property != null && needsToHaveContextInsideJar) {
|
||||
resourcesFolder = tProcessJavaProject.getExternalResourcesFolder();
|
||||
} else {
|
||||
if (needContextInJar) {
|
||||
resourcesFolder = tProcessJavaProject.getResourcesFolder();
|
||||
} else {
|
||||
resourcesFolder = tProcessJavaProject.getExternalResourcesFolder();
|
||||
}
|
||||
outputFolder = tProcessJavaProject.getOutputFolder();
|
||||
}
|
||||
@@ -1180,7 +1205,17 @@ public class JavaProcessor extends AbstractJavaProcessor implements IJavaBreakpo
|
||||
list.addAll(Arrays.asList(cmd2));
|
||||
return list.toArray(new String[0]);
|
||||
} else {
|
||||
return cmd2;
|
||||
List<String> asList = convertArgsToList(cmd2);
|
||||
if ((!isExternalUse() && isStandardJob()) || isGuessSchemaJob(property)) {
|
||||
String localM2Path = "-Dtalend.component.manager.m2.repository="; //$NON-NLS-1$
|
||||
if (EnvironmentUtils.isWindowsSystem()) {
|
||||
localM2Path = localM2Path + PomUtil.getLocalRepositoryPath().replaceAll("%20", " "); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
} else {
|
||||
localM2Path = localM2Path + PomUtil.getLocalRepositoryPath();
|
||||
}
|
||||
asList.add(3, localM2Path);
|
||||
}
|
||||
return asList.toArray(new String[0]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1461,19 +1496,20 @@ public class JavaProcessor extends AbstractJavaProcessor implements IJavaBreakpo
|
||||
break;
|
||||
}
|
||||
}
|
||||
useRelativeClasspath = hasCXFComponent;
|
||||
IFolder execPath = talendJavaProject.getTargetFolder();
|
||||
for (ModuleNeeded neededModule : neededModules) {
|
||||
MavenArtifact artifact = MavenUrlHelper.parseMvnUrl(neededModule.getMavenUri());
|
||||
String relativeJarPath = JavaProcessorUtilities.getJavaProjectLibFolder2()
|
||||
.getFile(MavenUrlHelper.generateModuleNameByMavenURI(neededModule.getMavenUri())).getLocation()
|
||||
.makeRelativeTo(execPath.getLocation())
|
||||
.toPortableString();
|
||||
IPath jarPath = JavaProcessorUtilities.getJavaProjectLibFolder2()
|
||||
.getFile(MavenUrlHelper.generateModuleNameByMavenURI(neededModule.getMavenUri())).getLocation();
|
||||
String artifactId = artifact.getArtifactId();
|
||||
boolean hasSapjco3 = "sapjco3".equals(artifactId) && compareSapjco3Version(relativeJarPath) > 0; //$NON-NLS-1$
|
||||
boolean hasSapjco3 = "sapjco3".equals(artifactId) //$NON-NLS-1$
|
||||
&& compareSapjco3Version(jarPath.toPortableString()) > 0;
|
||||
boolean hasSapidoc3 = "sapidoc3".equals(artifactId); //$NON-NLS-1$
|
||||
useRelativeClasspath = hasCXFComponent || hasSapjco3 || hasSapidoc3;
|
||||
if (useRelativeClasspath) {
|
||||
libPath.append(relativeJarPath).append(classPathSeparator);
|
||||
if (hasCXFComponent) {
|
||||
libPath.append(jarPath.makeRelativeTo(execPath.getLocation()).toPortableString()).append(classPathSeparator);
|
||||
} else if (hasSapjco3 || hasSapidoc3) {
|
||||
libPath.append(jarPath.toPortableString()).append(classPathSeparator);
|
||||
} else {
|
||||
libPath.append(PomUtil.getAbsArtifactPathAsCP(artifact)).append(classPathSeparator);
|
||||
}
|
||||
@@ -1913,6 +1949,42 @@ public class JavaProcessor extends AbstractJavaProcessor implements IJavaBreakpo
|
||||
copyEsbConfigFile(esbConfigsSourceFolder, esbConfigsTargetFolder, "oidc.properties"); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
ITalendProcessJavaProject tProcessJvaProject = this.getTalendJavaProject();
|
||||
if (tProcessJvaProject == null) {
|
||||
return;
|
||||
}
|
||||
Item item = property.getItem();
|
||||
IFolder externalResourcesFolder = tProcessJvaProject.getExternalResourcesFolder();
|
||||
IFolder resourcesFolder = tProcessJvaProject.getResourcesFolder();
|
||||
String jobClassPackageFolder = JavaResourcesHelper.getJobClassPackageFolder(item, false);
|
||||
IPath jobContextFolderPath = new Path(jobClassPackageFolder).append(JavaUtils.JAVA_CONTEXTS_DIRECTORY);
|
||||
|
||||
IFolder extResourcePath = externalResourcesFolder.getFolder(jobContextFolderPath);
|
||||
IFolder resourcesPath = resourcesFolder.getFolder(jobContextFolderPath);
|
||||
|
||||
if(!resourcesPath.exists()) {
|
||||
tProcessJvaProject.createSubFolder(null, resourcesFolder, jobContextFolderPath.toString());
|
||||
}
|
||||
|
||||
resourcesPath.refreshLocal(IResource.DEPTH_INFINITE, null);
|
||||
|
||||
for (IResource resource : extResourcePath.members()) {
|
||||
IFile context = resourcesPath.getFile(resource.getName());
|
||||
|
||||
if (context.exists()) {
|
||||
context.delete(true, null);
|
||||
}
|
||||
resource.copy(context.getFullPath(), true, null);
|
||||
}
|
||||
|
||||
resourcesPath.refreshLocal(IResource.DEPTH_INFINITE, null);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,10 +14,12 @@ package org.talend.designer.runprocess.maven;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.resources.IFolder;
|
||||
import org.eclipse.core.resources.IResource;
|
||||
@@ -26,15 +28,20 @@ import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.commons.ui.runtime.CommonUIPlugin;
|
||||
import org.talend.commons.utils.generation.JavaUtils;
|
||||
import org.talend.commons.utils.resource.FileExtensions;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IESBService;
|
||||
import org.talend.core.model.process.IProcess;
|
||||
import org.talend.core.model.process.JobInfo;
|
||||
import org.talend.core.model.process.ProcessUtils;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.model.utils.JavaResourcesHelper;
|
||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||
import org.talend.core.repository.utils.ItemResourceUtil;
|
||||
import org.talend.core.runtime.process.ITalendProcessJavaProject;
|
||||
import org.talend.core.runtime.process.LastGenerationInfo;
|
||||
@@ -58,6 +65,7 @@ import org.talend.designer.runprocess.ProcessorException;
|
||||
import org.talend.designer.runprocess.ProcessorUtilities;
|
||||
import org.talend.designer.runprocess.java.JavaProcessor;
|
||||
import org.talend.repository.i18n.Messages;
|
||||
import org.talend.repository.model.IProxyRepositoryFactory;
|
||||
|
||||
/**
|
||||
* created by ggu on 2 Feb 2015 Detailled comment
|
||||
@@ -303,6 +311,30 @@ public class MavenJavaProcessor extends JavaProcessor {
|
||||
|
||||
buildTypeName = exportType != null ? exportType.toString() : null;
|
||||
|
||||
if (StringUtils.isBlank(buildTypeName) && GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
|
||||
List<IRepositoryViewObject> serviceRepoList = null;
|
||||
|
||||
IESBService service = (IESBService) GlobalServiceRegister.getDefault().getService(IESBService.class);
|
||||
|
||||
try {
|
||||
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
|
||||
serviceRepoList = factory.getAll(ERepositoryObjectType.valueOf(ERepositoryObjectType.class, "SERVICES"));
|
||||
|
||||
for (IRepositoryViewObject serviceItem : serviceRepoList) {
|
||||
if (service != null) {
|
||||
List<String> jobIds = service.getSerivceRelatedJobIds(serviceItem.getProperty().getItem());
|
||||
if (jobIds.contains(itemProperty.getId())) {
|
||||
buildTypeName = "OSGI";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (PersistenceException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, Object> parameters = new HashMap<String, Object>();
|
||||
parameters.put(IBuildParametes.ITEM, itemProperty.getItem());
|
||||
parameters.put(IBuildPomCreatorParameters.PROCESSOR, this);
|
||||
|
||||
@@ -96,6 +96,7 @@ import org.talend.core.model.process.IProcess2;
|
||||
import org.talend.core.model.process.ISubjobContainer;
|
||||
import org.talend.core.model.process.ReplaceNodesInProcessProvider;
|
||||
import org.talend.core.model.properties.ConnectionItem;
|
||||
import org.talend.core.prefs.ITalendCorePrefConstants;
|
||||
import org.talend.core.ui.CoreUIPlugin;
|
||||
import org.talend.core.ui.ITestContainerProviderService;
|
||||
import org.talend.core.ui.branding.IBrandingService;
|
||||
@@ -1682,12 +1683,12 @@ public class ProcessComposite extends ScrolledComposite implements IDynamicPrope
|
||||
}
|
||||
} else if (ProcessMessageManager.PROP_MESSAGE_ADD.equals(propName)
|
||||
|| ProcessMessageManager.PROP_DEBUG_MESSAGE_ADD.equals(propName)) {
|
||||
// IProcessMessage psMess = (IProcessMessage) evt.getNewValue();
|
||||
//
|
||||
// if (errorMessMap.size() <= CorePlugin.getDefault().getPreferenceStore()
|
||||
// .getInt(ITalendCorePrefConstants.PREVIEW_LIMIT)) {
|
||||
// if (!(LanguageManager.getCurrentLanguage().equals(ECodeLanguage.PERL))) {
|
||||
// getAllErrorMess(psMess);
|
||||
IProcessMessage psMess = (IProcessMessage) evt.getNewValue();
|
||||
|
||||
if (errorMessMap.size() <= CorePlugin.getDefault().getPreferenceStore()
|
||||
.getInt(ITalendCorePrefConstants.PREVIEW_LIMIT)) {
|
||||
getAllErrorMess(psMess);
|
||||
}
|
||||
// } else {
|
||||
// addPerlMark(psMess);
|
||||
// }
|
||||
@@ -1793,9 +1794,12 @@ public class ProcessComposite extends ScrolledComposite implements IDynamicPrope
|
||||
}
|
||||
|
||||
public void getAllErrorMess(IProcessMessage psMess) {
|
||||
errorMessMap.putAll(ProcessErrorUtil.getAllErrorMess(psMess, processContext));
|
||||
HashMap<String, IProcessMessage> result = ProcessErrorUtil.getAllErrorMess(psMess, processContext);
|
||||
if (result != null) {
|
||||
errorMessMap.putAll(result);
|
||||
refreshNode(psMess);
|
||||
}
|
||||
}
|
||||
|
||||
public void refreshNode(final IProcessMessage psMess) {
|
||||
Display.getDefault().asyncExec(new Runnable() {
|
||||
|
||||
@@ -28,8 +28,9 @@ import org.talend.designer.runprocess.RunProcessContext;
|
||||
public class ProcessErrorUtil {
|
||||
|
||||
public static HashMap<String, IProcessMessage> getAllErrorMess(IProcessMessage psMess, RunProcessContext processContext) {
|
||||
HashMap<String, IProcessMessage> errorMessMap = new HashMap<String, IProcessMessage>();
|
||||
HashMap<String, IProcessMessage> errorMessMap = null;
|
||||
if (psMess.getType().equals(MsgType.STD_ERR)) {
|
||||
errorMessMap = new HashMap<String, IProcessMessage>();
|
||||
String mess = psMess.getContent();
|
||||
String[] linesMess = mess.split("\n");//$NON-NLS-1$
|
||||
StringBuffer currentMess = new StringBuffer();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user