Compare commits

...

37 Commits

Author SHA1 Message Date
SunChaoqun
2d3f092908 chore(APPINT-33587) upgrade maven-core to 3.8.1 2021-08-25 15:28:09 +08:00
bhe-talendbj
e3148b4df6 feat(TUP-32392): Support java17 in Studio 8 (#4527)
* feat(TUP-32392): do not invoke internal api

* feat(TUP-32392): remove reflection

* feat(TUP-32392): remove reflection

* feat(TUP-32392): remove reflection

* feat(TUP-32392): fix version parsing

* feat(TUP-32392): add log

* feat(TUP-3239): set jre proxy selector
2021-08-23 10:58:50 +08:00
hzhao-talendbj
3b6aef3e04 feat(TUP-32020): remove business models (#4525)
* feat(TUP-32020): remove business models

* feat(TUP-32020): remove business models

* feat(TUP-32020): remove business models

* feat(TUP-32020): remove business models

* feat(TUP-32020): remove business models
2021-08-23 10:34:37 +08:00
cbadillo1603
e99d8c8125 fix(TBD-12863):Error component tImpalaConnection (#4498) (#4531)
* fix(TBD-12863):Error component tImpalaConnection

* fix(TBD-12863):Error component tImpalaConnection
2021-08-20 17:37:05 +02:00
Jane Ding
62f5752851 feat(TUP-32278):Provide migration report (#4467)
* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278

* feat(TUP-32278):Provide migration report
https://jira.talendforge.org/browse/TUP-32278
2021-08-20 15:39:32 +08:00
msjian
18b56f8992 fix(TDQ-19587): fix tDqReportRun job failed (#4491) 2021-08-20 15:21:48 +08:00
Xilai Dai
5f5e746157 Bugfix/master/appint 33399 (#4526)
* chore(APPINT-33399) fix missing org.tukaani:xz:jar:1.6 when build kar

* chore(APPINT-33399) fix the missing dependency of karaf-maven-plugin
2021-08-18 11:08:32 +08:00
nrousseau
af46a6b99c feat(TUP-32149): fix buid (#4522)
* feat(TUP-32149): fix buid

* feat(TUP-32149): fix buid

* feat(TUP-32149): fix buid

* feat(TUP-32149): fix buid

* feat(TUP-32149): fix buid
2021-08-18 10:25:07 +08:00
bhe-talendbj
8347571919 feat(TUP-31489): refactor (#4521) 2021-08-17 19:24:04 +08:00
obricha
24077a4902 consolidate properties files (#4519)
Co-authored-by: Nicolas Rousseau <nrousseau@talend.com>
2021-08-14 11:26:35 +08:00
nrousseau
d5b205cbb0 fix(TUP-32570): avoid additional deps (#4517) 2021-08-13 21:06:21 +08:00
bhe-talendbj
1fe85cf8b1 feat(TUP-31489): exclude not used jars (#4515) 2021-08-13 10:21:00 +08:00
jiezhang-tlnd
1690c3c080 feat(TUP-31920)Remove additional packages (#4516) 2021-08-12 15:53:14 +08:00
jiezhang-tlnd
1f671a13f7 feat(TUP-31920)Remove additional packages (#4514)
* feat(TUP-31920)Remove additional packages

* improve ui
2021-08-12 14:41:19 +08:00
kjwang
e501993978 Kjwang/fix tup 32327 CVE maven core m (#4489)
* kjwang/Fix TUP-32327 CVE maven-core-[3.2.3-3.6.3]
https://jira.talendforge.org/browse/TUP-32327
2021-08-11 15:56:36 +08:00
pyzhou
b0a34e28a1 fix(TDI-46373):Resuming logs refactor with NIO and FileLock (#4465) (#4513)
* fix(TDI-46373):Resuming logs refactor with NIO and FileLock

* fix(TDI-46373):remove debug info

* Remove the double lock and release in finally

* Remove UTF-8 and refactor
2021-08-11 15:52:23 +08:00
qiongli
17c1bf7503 fix(TDQ-19637): Check if it includes 'tdqReportRun' in main/sub-job when (#4497)
* fix(TDQ-19637): Check if it includes 'tdqReportRun' in main/sub-job when
generate code.

* fix(TDQ-19637): code format

Co-authored-by: qiongli <qiongli@LT-6TNJ593.talend.com>
2021-08-11 15:49:53 +08:00
Chao MENG
0f7bdfd94a feat(TUP-32145): CI Update (#4512)
https://jira.talendforge.org/browse/TUP-32145

Update CI parameters
2021-08-10 17:07:41 +08:00
Jane Ding
b56c26ef98 fix(TUP-32383):Migration executed at every logon (#4505) (#4510)
* Revert "fix(TUP-32383):Migration executed at every logon (#4480)"

This reverts commit b06ee57323.

* fix(TUP-32383):Migration executed at every logon
https://jira.talendforge.org/browse/TUP-32383
2021-08-10 14:28:52 +08:00
wang wei
3bdc00d0bb fix(TDI-46358): CVE: pdfbox-2.0.19.jar (#4509) 2021-08-10 11:30:11 +08:00
zyuan-talend
e6e2bc6ecd feat(TUP-30465):remove older versions of job. (#4461) (#4508) 2021-08-10 09:52:39 +08:00
bhe-talendbj
9f4851274d feat(TUP-31489): Studio Lite: Split default m2 by product (#4471)
* feat(TUP-31489): add base plugin

* feat(TUP-31489): update artifact id

* feat(TUP-31489): update artifact id

* feat(TUP-31489): update artifact id

* feat(TUP-31489): add tcompv0 and tck maven repo plugins

* feat(TUP-31489): splitting tis m2

* feat(TUP-31489): splitting tis m2

* feat(TUP-31489): splitting tis m2

* feat(TUP-31489): splitting tis m2

* feat(TUP-31489): splitting tis m2

* feat(TUP-31489): remove unsed dependencies

* feat(TUP-31489): fix tck sdk versions

* feat(TUP-31489): set monitor

* feat(TUP-31489): add missing artifacts

* feat(TUP-31489): add tck sdk

* feat(TUP-31489): refactor

* feat(TUP-31489): refactor

* feat(TUP-31489): refactor

* feat(TUP-31489): fix copy dep

* feat(TUP-31489): fix job build

* feat(TUP-31489): add sys properties

* feat(TUP-31489): fix job build

* feat(TUP-31489): update tck sdk version
2021-08-09 21:00:55 +08:00
hzhao-talendbj
7712f20072 fix(TUP-31685): NPE error occures when I drag hive conncection to DI job (#4506) 2021-08-09 14:20:22 +08:00
Laurent BOURGEOIS
3b4ae25dc8 fix(TUP-29694):Studio fails to download jar with classifier in mvn uri (#3913) 2021-08-09 12:07:14 +08:00
Max
6f1a3f0beb fix(TBD-12466): httpclient upgraded to 4.5.13 (#4422) (#4499)
Co-authored-by: Svitlana Ponomarova <sponomarova@talend.com>

Co-authored-by: Svitlana Ponomarova <sponomarova@talend.com>
2021-08-06 11:49:03 +03:00
Hanna Liashchuk
f6da215f04 Hliashchuk/feat/tbd 12816 (#4476)
* feat(TBD-12816):remove CDH 5.13 and below

* feat(TBD-12816): removed Altus

* remove cdh

* feat(TBD-12823): removed Qubole
2021-08-05 12:03:24 +03:00
Jane Ding
367f86e4e1 fix(TUP-32333):Not able to access a repository resource file in TMC (#4466) (#4496)
* fix(TUP-32333):Not able to access a repository resource file in TMC
https://jira.talendforge.org/browse/TUP-32333

* fix(TUP-32333):Not able to access a repository resource file in TMC
https://jira.talendforge.org/browse/TUP-32333
2021-08-05 14:23:08 +08:00
jiezhang-tlnd
2f0ede4f8f Jzhang/tup 31920 (#4493)
* Jzhang/73/tup 31920 (#4481)

* feat(TUP-31920)Remove additional packages

* simply dialog

* change ui

* change ui

* change ui

* change dialog name

* change install button

* reset manifest

Conflicts:
	main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/service/IUpdateService.java
	main/plugins/org.talend.librariesmanager.ui/META-INF/MANIFEST.MF

* format code

* format additional dialog

* change icon

* format code

* format code

* add PluginChecker.isStudioLite

* change dialog

* change dialog

* change dialog

* no libraries dialog

* dialog info

* update messages

* change message
2021-08-05 11:26:59 +08:00
Jane Ding
c3ef04dbe6 fix(TUP-32383):Migration executed at every logon (#4480) (#4495)
https://jira.talendforge.org/browse/TUP-32383
2021-08-05 11:16:25 +08:00
jiezhang-tlnd
1adaa29152 Jzhang/73/tup 31920 (#4481) (#4483)
* Jzhang/73/tup 31920 (#4481)

* feat(TUP-31920)Remove additional packages

* simply dialog

* change ui

* change ui

* change ui

* change dialog name

* change install button

* reset manifest

Conflicts:
	main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/service/IUpdateService.java
	main/plugins/org.talend.librariesmanager.ui/META-INF/MANIFEST.MF

* format code

* format additional dialog

* change icon

* format code

* format code

* add PluginChecker.isStudioLite

* change dialog

* change dialog

* change dialog

* no libraries dialog

* dialog info
2021-08-04 16:15:15 +08:00
apoltavtsev
d4f60df21c fix(APPINT-33487) Route dependencies are added to beans 2021-08-04 07:02:41 +02:00
Chao MENG
ed71ddd402 feat(TUP-32145): CI/CMD support (#4477)
https://jira.talendforge.org/browse/TUP-32145
2021-08-03 18:32:35 +08:00
hcyi
0d74fd6e4f feat(TUP-31488):fix a compilation error. (#4487) 2021-08-03 14:57:26 +08:00
hcyi
1c3d7908a3 feat(TUP-31488):Studio Lite: Feature Manager. (#4464) 2021-08-03 11:55:04 +08:00
nrousseau
8c96722780 feat(TUP-32146): Update Categories (#4482) 2021-08-02 17:58:37 +08:00
hzhao-talendbj
11ec887c49 chore(TUP-32326): CVE: maven-compat-3.0[3.2.3-3.6.3] (#4478) 2021-08-02 14:08:37 +08:00
sbliu
e02043f060 chore(TUP-31799) upgrade plexus-archiver. (#4453) 2021-07-30 17:59:38 +08:00
176 changed files with 7198 additions and 5101 deletions

View File

@@ -1,5 +1,3 @@
#Created by JInto - www.guh-software.de
#Thu Nov 22 16:33:05 CST 2007
AccessorUtils.Assert0=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly. {2} is required for bean <B>
AccessorUtils.Assert1=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly or the value set has not the correct type.
AccessorUtils.NoClassDef=NoClassDefFoundError ({0})\:{1}
@@ -18,8 +16,8 @@ ContentProposalAdapterExtended.close=close
ContentProposalAdapterExtended.closeFocusout=close focusout
ControlUtils.Unsupported1=This control ({0}) is not supported, add case if you want...
CopyPushButton.CopyButton.Tip=Copy selected items
Curve2D.MaxNum.Be0=maximumSegements must positive or 0
Curve2D.MinNum.Be0=minimumSegements must positive or 0
Curve2D.MaxNum.Be0=maximumSegments must be positive or 0
Curve2D.MinNum.Be0=minimumSegments must be positive or 0
DateDialog.textContent=Select Date & Time
DefaultCellModifier.tableItemDispose=TableItem disposed
DialogErrorForCellEditorListener.Error.MsgDialogTitle=Error
@@ -73,7 +71,7 @@ ExceptionMessageDialog.log=log
ExceptionMessageDialog.No=No
ExceptionMessageDialog.OK=OK
ExceptionMessageDialog.Yes=Yes
ExportPushButton.ExportButton.Tip=Export all rows into xml file
ExportPushButton.ExportButton.Tip=Export all rows into XML file
ExportPushButtonForExtendedTable.ErrorMsg.Text=Error occurred
ExtendedTableAddCommand.Add.Label=Add one or more table entries
ExtendedTableCopyCommand.Copy.Label=Copy one or more table entries in the internal clipboard

View File

@@ -1,5 +1,3 @@
#Created by JInto - www.guh-software.de
#Thu Nov 22 16:33:05 CST 2007
DatabaseContentRetriever.PRODUCTNAME=Database Product Name:
DatabaseContentRetriever.PRODUCTVERSION=Database Product Version:
DB2ForZosResultSet.outofRange=\ is out of range.
@@ -28,7 +26,7 @@ StringUtils.IllegalArgument0=only support the \\uxxxx or \\xhh encoding.
StringUtils.IllegalArgument1=Malformed \\uxxxx encoding.
StringUtils.IllegalArgument2=Malformed \\uxxxx encoding.
StringUtils.IllegalArgument3=Malformed \\0xxx encoding.
VersionUtils.Version.Error2=Malformed string {0} (attending M{1}m)
VersionUtils.Version.Error2=Malformed string {0} (expecting M{1}m)
FilesUtils.operationCanceled=Operation is canceled during copying folders or files.
resources.file.notCreated=File "{0}" cannot be created ({1})
resources.file.notDeleted=File "{0}" cannot be deleted
@@ -42,7 +40,7 @@ resources.members.notGet=Members of container "{0}" cannot be retrieve
resources.project.notGet=Required project "{0}" not found
resources.resource.notMoved=Resource "{0}" cannot be moved to "{1}"
utils.data.container=Id {0} already used in container
utils.workbench.extensions.badNumberOfExtension=Bad number of extension found on {0}. Attending between {1} and {2} wile found {3}.
utils.workbench.extensions.badNumberOfExtension=Bad number of extensions found on {0}. Expecting between {1} and {2} but found {3}.
utils.workbench.extensions.noExtension=No plug-in extending extension point ID "{0}" can be found.
XmlNodeRetriever.countResult=Count result \:
XmlNodeRetriever.field2Node=field2Node=
@@ -60,4 +58,3 @@ AS400ResultSet.outofRange=\ is out of range.
ITaCoKitService.exception.multipleInstance=More than one instance found: {0}
TalendProxySelector.exception.badUriMap=Bad uri map: {0}
TalendProxySelector.exception.proxySelectionError=Error occurs when selecting proxy for {0}

View File

@@ -15,6 +15,7 @@ package org.talend.commons.utils;
import java.util.StringTokenizer;
import org.talend.commons.i18n.internal.Messages;
import org.talend.utils.JavaVersion;
/**
*
@@ -53,7 +54,8 @@ public class Version implements Comparable<Version> {
this.major = LAST_VERSION.getMajor();
this.minor = LAST_VERSION.getMinor();
} else {
StringTokenizer stringTokenizer = new StringTokenizer(version, LEVEL_SEPARATOR);
JavaVersion jv = new JavaVersion(version);
StringTokenizer stringTokenizer = new StringTokenizer(jv.toString(), LEVEL_SEPARATOR);
try {
this.major = Integer.parseInt(stringTokenizer.nextToken());
this.minor = Integer.parseInt(stringTokenizer.nextToken());

View File

@@ -205,6 +205,17 @@ public class VersionUtils {
return talendVersion;
}
public static String getTalendVersionStr() {
org.osgi.framework.Version studioVersion = new org.osgi.framework.Version(getTalendVersion());
StringBuffer result = new StringBuffer();
result.append(studioVersion.getMajor());
result.append('.');
result.append(studioVersion.getMinor());
result.append('.');
result.append(studioVersion.getMicro());
return result.toString();
}
public static String getProductVersionWithoutBranding(String fullProductVersion) {
String[] splitStr = fullProductVersion.split("-"); //$NON-NLS-1$
Pattern pattern = Pattern.compile("((\\d+\\.){2}\\d.*)"); //$NON-NLS-1$

View File

@@ -13,7 +13,6 @@
package org.talend.commons.utils.network;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
@@ -47,8 +46,6 @@ import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.i18n.internal.Messages;
import org.talend.daikon.sandbox.properties.ClassLoaderIsolatedSystemProperties;
import sun.net.spi.DefaultProxySelector;
/**
* DOC cmeng class global comment. Detailled comment
*/
@@ -99,8 +96,8 @@ public class TalendProxySelector extends ProxySelector {
private static final String PROP_ALLOW_PROXY_REDIRECT_EXCLUDE_DEFAULT = "";
private static final String KEY_DEFAULT = ":default:";
private static Field uriHostField;
private static final String SYS_JRE_PROXY_SELECTOR = "SYS_JRE_PROXY_SELECTOR";
private static Method proxyManagerUpdateSystemPropertiesFunc;
@@ -137,24 +134,34 @@ public class TalendProxySelector extends ProxySelector {
private boolean disableDefaultSelectorProvider = false;
private boolean validateUri = true;
private boolean executeConnectionFailed = true;
private boolean updateSystemPropertiesForJre = true;
private boolean excludeLoopbackAddressAutomatically = false;
private ProxySelector getStardardJreProxySelector() {
Object o = System.getProperties().get(SYS_JRE_PROXY_SELECTOR);
if (o != null && o instanceof ProxySelector) {
return (ProxySelector) o;
}
return getDefault();
}
private TalendProxySelector(final ProxySelector eclipseDefaultSelector) {
this.eclipseDefaultSelector = eclipseDefaultSelector;
this.jreDefaultSelector = new DefaultProxySelector();
this.jreDefaultSelector = getStardardJreProxySelector();
if (!this.jreDefaultSelector.getClass().getCanonicalName().endsWith("DefaultProxySelector")) {
Exception e = new Exception("jreDefaultSelector class: " + this.jreDefaultSelector.getClass().getCanonicalName());
ExceptionHandler.process(e);
}
selectorProviders = Collections.synchronizedMap(new HashMap<>());
allowProxyRedirect = Boolean.valueOf(System.getProperty(PROP_ALLOW_PROXY_REDIRECT, Boolean.FALSE.toString()));
disableDefaultSelectorProvider = Boolean
.valueOf(System.getProperty(PROP_DISABLE_DEFAULT_SELECTOR_PROVIDER, Boolean.FALSE.toString()));
printProxyLog = Boolean.valueOf(System.getProperty(PROP_PRINT_LOGS, Boolean.FALSE.toString()));
validateUri = Boolean.valueOf(System.getProperty(PROP_VALIDATE_URI, Boolean.TRUE.toString()));
executeConnectionFailed = Boolean.valueOf(System.getProperty(PROP_EXECUTE_CONNECTION_FAILED, Boolean.TRUE.toString()));
updateSystemPropertiesForJre = Boolean
.valueOf(System.getProperty(PROP_UPDATE_SYSTEM_PROPERTIES_FOR_JRE, Boolean.TRUE.toString()));
@@ -326,12 +333,6 @@ public class TalendProxySelector extends ProxySelector {
synchronized (instanceLock) {
if (instance == null) {
instance = new TalendProxySelector(proxySelector);
try {
uriHostField = URI.class.getDeclaredField("host");
uriHostField.setAccessible(true);
} catch (Exception e) {
ExceptionHandler.process(e);
}
try {
proxyManagerUpdateSystemPropertiesFunc = ProxyManager.class.getDeclaredMethod("updateSystemProperties");
proxyManagerUpdateSystemPropertiesFunc.setAccessible(true);
@@ -399,11 +400,10 @@ public class TalendProxySelector extends ProxySelector {
} catch (Exception e) {
ExceptionHandler.process(e);
}
URI validatedUri = validateUri(uri);
Set<Proxy> results = new LinkedHashSet<>();
try {
final Set<Proxy> resultFromProviders = getProxysFromProviders(validatedUri);
final Set<Proxy> resultFromProviders = getProxysFromProviders(uri);
if (resultFromProviders != null && !resultFromProviders.isEmpty()) {
results.addAll(resultFromProviders);
}
@@ -422,9 +422,9 @@ public class TalendProxySelector extends ProxySelector {
/**
* don't validate uri here, so that we can know whether it is an issue uri
*/
URI newUri = getNewUri(validatedUri, false);
URI newUri = getNewUri(uri);
List<Proxy> defaultProxys = null;
if (validateUri && StringUtils.isBlank(newUri.getHost())) {
if (StringUtils.isBlank(newUri.getHost())) {
/**
* If host is blank, force to use jre proxy selector to avoid the eclipse proxy selector bug
*/
@@ -436,7 +436,7 @@ public class TalendProxySelector extends ProxySelector {
ExceptionHandler.log("TalendProxySelector.defaultProxys " + defaultProxys);
}
try {
results.addAll(filterProxys(validatedUri, defaultProxys));
results.addAll(filterProxys(uri, defaultProxys));
} catch (Exception e) {
results.addAll(defaultProxys);
ExceptionHandler.process(e);
@@ -453,54 +453,6 @@ public class TalendProxySelector extends ProxySelector {
return new LinkedList<Proxy>(results);
}
private URI validateUri(URI uri) {
if (!validateUri) {
return uri;
}
URI validatedUri = null;
try {
/**
* DON'T use URI.create(), MUST use the conductor which requires authority
*/
validatedUri = new URI(uri.getScheme(), uri.getAuthority(), uri.getPath(), uri.getQuery(), uri.getFragment());
/**
* Validate the host, if the host is empty, it will cause the eclipse selector to return dirrect
*/
if (StringUtils.isBlank(validatedUri.getHost())) {
String authority = validatedUri.getAuthority();
if (StringUtils.isNotBlank(authority)) {
// example: https://u:p@www.company.com:8081/path/a?param=b
String host = null;
int userInfoIndex = authority.indexOf('@');
if (0 <= userInfoIndex) {
authority = authority.substring(userInfoIndex + 1);
}
int portIndex = authority.lastIndexOf(':');
if (0 <= portIndex) {
host = authority.substring(0, portIndex);
}
try {
uriHostField.set(validatedUri, host);
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
}
} catch (Exception e) {
ExceptionHandler.process(e);
if (validatedUri == null) {
validatedUri = uri;
}
}
if (printProxyLog) {
ExceptionHandler.log("After validate: " + uri + " -> " + validatedUri);
}
return validatedUri;
}
private List<Proxy> filterProxys(final URI uri, List<Proxy> defaultProxys) {
List<Proxy> result = new ArrayList<>();
if (defaultProxys != null && !defaultProxys.isEmpty()) {
@@ -514,15 +466,12 @@ public class TalendProxySelector extends ProxySelector {
boolean redirect = true;
if (!allowProxyRedirect) {
String host = uri.getHost();
if (host == null) {
host = "";
}
String host = getHostName(uri);
host = StringUtils.strip(host).toLowerCase();
if (this.redirectWhiteList.contains(host) || this.redirectWhiteList.contains(KEY_DEFAULT)) {
redirect = true;
} else if (Proxy.Type.DIRECT == proxyType
|| (addr != null && StringUtils.equals(uri.getHost(), ((InetSocketAddress) addr).getHostString()))) {
|| (addr != null && StringUtils.equals(getHostName(uri), ((InetSocketAddress) addr).getHostString()))) {
redirect = false;
}
}
@@ -536,7 +485,7 @@ public class TalendProxySelector extends ProxySelector {
return result;
}
private URI getNewUri(URI uri, boolean validateUri) {
private URI getNewUri(URI uri) {
URI newUri = uri;
if (newUri != null) {
try {
@@ -575,9 +524,6 @@ public class TalendProxySelector extends ProxySelector {
}
}
}
if (validateUri) {
newUri = validateUri(newUri);
}
return newUri;
}
@@ -765,6 +711,37 @@ public class TalendProxySelector extends ProxySelector {
}
return possibleKeys;
}
public static String getHostName(URI uri) {
String host = uri.getHost();
if (host == null) {
// This is a hack to ensure backward compatibility in two
// cases: 1. hostnames contain non-ascii characters,
// internationalized domain names. in which case, URI will
// return null, see BugID 4957669; 2. Some hostnames can
// contain '_' chars even though it's not supposed to be
// legal, in which case URI will return null for getHost,
// but not for getAuthority() See BugID 4913253
String auth = uri.getAuthority();
if (auth != null) {
int i;
i = auth.indexOf('@');
if (i >= 0) {
auth = auth.substring(i + 1);
}
i = auth.lastIndexOf(':');
if (i >= 0) {
auth = auth.substring(0, i);
}
host = auth;
}
}
if (host == null) {
host = "";
}
return host;
}
private enum EProxySelector {
eclipse_default,
@@ -811,7 +788,7 @@ public class TalendProxySelector extends ProxySelector {
if (uri == null) {
return false;
}
String uriHost = uri.getHost();
String uriHost = getHostName(uri);
if (StringUtils.isNotBlank(uriHost)) {
return this.host.equals(uriHost.toLowerCase());
}

View File

@@ -35,6 +35,11 @@ public final class PluginChecker {
* @return isLoaded
*/
public static boolean isPluginLoaded(String pluginID) {
// TDQ-19587 msjian: fix tDqReportRun job failed
if (!Platform.isRunning()) {
return false;
}
// TDQ-19587~
boolean isLoaded = true;
Bundle bundle = Platform.getBundle(pluginID);
if (bundle == null || (bundle != null && bundle.getState() == Bundle.UNINSTALLED)) {

View File

@@ -1,10 +1,8 @@
#Created by JInto - www.guh-software.de
#Thu Nov 22 16:33:05 CST 2007
AccessorUtils.Assert0=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly. {2} is required for bean <B>
AccessorUtils.Assert1=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly or the value set has not the correct type.
AccessorUtils.NoClassDef=NoClassDefFoundError ({0})\:{1}
AccessorUtils.isReq=\ is required for the bean (<B>).
AccessorUtils.isReqValue=\ is required for the value (<V>), but the value could be adapted with CellEditorValueAdapter.
AccessorUtils.Assert0=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly. {2} is required for bean <B>
AccessorUtils.Assert1=The 'BeanPropertyAccessors' of the column (with title '{0}' and id '{1}') is not configured correctly or the value set has not the correct type.
AccessorUtils.NoClassDef=NoClassDefFoundError ({0}):
AccessorUtils.isReq=is required for the bean (<B>).
AccessorUtils.isReqValue=is required for the value (<V>), but the value could be adapted with CellEditorValueAdapter.
AddPushButton.AddButton.Tip=Add
AddAllPushButton.AddAllButton.Tip=Add All
CellEditorDialogBehavior.textContent=...
@@ -18,8 +16,8 @@ ContentProposalAdapterExtended.close=close
ContentProposalAdapterExtended.closeFocusout=close focusout
ControlUtils.Unsupported1=This control ({0}) is not supported, add case if you want...
CopyPushButton.CopyButton.Tip=Copy selected items
Curve2D.MaxNum.Be0=maximumSegements must positive or 0
Curve2D.MinNum.Be0=minimumSegements must positive or 0
Curve2D.MaxNum.Be0=maximumSegments must be positive or 0
Curve2D.MinNum.Be0=minimumSegments be must positive or 0
DateDialog.textContent=Select Date & Time
DefaultCellModifier.tableItemDispose=TableItem disposed
DialogErrorForCellEditorListener.Error.MsgDialogTitle=Error
@@ -57,17 +55,17 @@ EventUtil.mouseUp=mouse up
EventUtil.move=move
EventUtil.paint=paint
EventUtil.resize=resize
EventUtil.selectedEqual=SELECTED=
EventUtil.selectedEqual=SELECTED
EventUtil.selection=selection
EventUtil.show=show
EventUtil.traverse=traverse
EventUtil.typeNull=null
EventUtil.UnknowDetail=unkown ??? value of event detail \:
EventUtil.UnknowType=unkown ??? value of event type \:
EventUtil.UnknowDetail=unkown ??? value of event detail :
EventUtil.UnknowType=unkown ??? value of event type :
EventUtil.verify=verify
ExceptionHandler.Parameter.BeNull=ex param cannot be null
ExceptionMessageDialog.log=log
ExportPushButton.ExportButton.Tip=Export all rows into xml file
ExportPushButton.ExportButton.Tip=Export all rows into XML file
ExportPushButtonForExtendedTable.ErrorMsg.Text=Error occurred
ExtendedTableAddCommand.Add.Label=Add one or more table entries
ExtendedTableCopyCommand.Copy.Label=Copy one or more table entries in the internal clipboard
@@ -81,28 +79,28 @@ ExtendedTableQuoteCommand.Quote.Label=Quote selected DB columns
ImportPushButton.ImportButton.Tip=Replace all rows by import from xml file
ImportPushButtonForExtendedTable.ErrorMsg.Text=Error occurred
LabelledFileField.BrowseButton.Text=Browse...
LabelledFileField.FileDialog.Text=Select a
LabelledFileField.FileDialog.Text=Select a
Mode.Mode.ToString=Mode [{0}]
ModeReader.IgnoreElement=Ignore unknown element
ModeReader.IgnoreElement=Ignore unknown element
ModelSelectionDialog.Title=Edit parameter using repository
ModifyBeanValueCommand.ModifyCell.Label=Modify cell value
MoveDownPushButton.MoveDownTip=Move down selected items
MoveUpPushButton.MoveUpButton.Tip=Move up selected items
PastePushButton.PasteButton.Label=Paste
ProposalUtils.CellProposal.Error=Proposal of this type of CellEditor is unsupported \:
ProposalUtils.CtrlProposal.ErrorMsg=Proposal for this type of Control is unsupported \:
ProposalUtils.CellProposal.Error=Proposal of this type of CellEditor is unsupported:
ProposalUtils.CtrlProposal.ErrorMsg=Proposal for this type of Control is unsupported :
RemovePushButton.RemoveButton.Tip=Remove selected items
ResetDBTypesButton.ResetDBTypesButton.Tip=Reset DB Types
Rule.rule=Rule [{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=Save as generic schema
SelectContextVariablesPushButton.Label=Select context variables
SWTCalendarWithTime.contentEvening=Evening
SWTCalendarWithTime.contentHr=Hr:
SWTCalendarWithTime.contentMin=Min:
SWTCalendarWithTime.contentHr=Hr:
SWTCalendarWithTime.contentMin=Min:
SWTCalendarWithTime.contentMorning=Morning
SWTCalendarWithTime.contentNoon=Noon
SWTCalendarWithTime.contentNow=Now
SWTCalendarWithTime.contnetSec=Sec:
SWTCalendarWithTime.contnetSec=Sec:
TableViewerCreator.CallMethod.ErrorMsg=You can call this method only if you have already called createTable()
TableViewerCreator.CellModifier.ExError=The current CellModifier does'nt support this operation. \n Use '{0}' or a class which extends it to use this feature
TableViewerCreator.columnNoIBeanProperty=The column '{0}' ('{1}') has a CellEditor set but does'nt have a IBeanPropertyAccessors \!
@@ -119,15 +117,15 @@ ModelSelectionDialog.BuiltIn=Change to built-in property.
ModelSelectionDialog.ViewSchema=View schema (read only).
ModelSelectionDialog.ViewQuery=View query (read only).
ModelSelectionDialog.Update=Update repository connection.
FileStep2.previewFailure=Preview error. Some settings must be changed.\nNote\: Preview errors are generally due to a wrong encoding setting.
FileStep2.previewFailure=Preview error. Some settings must be changed.\nNote: Preview errors are generally due to a wrong encoding setting.
StateComposite.FLL_DB_INFOR=Fill DB Information
StateComposite.HELP_MESSAGE=Help Messages
StateComposite.MESSAGE1=It's possible to create dynamic jobs and set a file name or table name who depends on the input table.
StateComposite.MESSAGE2=For this it just needs to use the text
StateComposite.MESSAGE2=For this it just needs to use the text
StateComposite.MESSAGE3=\ in the file name or table name.
StateComposite.MESSAGE4=For example for one table:
StateComposite.MESSAGE5=For example for one file:
StateComposite.MESSAGE6=\ or maybe
StateComposite.MESSAGE4=For example for one table:
StateComposite.MESSAGE5=For example for one file:
StateComposite.MESSAGE6=\ or maybe
StateComposite.OUTPUT_SELECTION=Output Selection
StateComposite.SEL_JOBNAME=Set Jobs Name
StateComposite.STATE=State

View File

@@ -0,0 +1,172 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.advanced.composite;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Sash;
/**
* This class is used for constructing 2 composites, putting 1 sashes in the middle composite, which is used for
* changing other 2 composites.
*
*/
public class TwoCompositesSashForm extends Composite {
public static final int SASH_WIDTH = 3;
private Composite leftComposite;
private Composite rightComposite;
private Sash midSash;
/**
* Initialize.
*
* @param parent
* @param style
*/
public TwoCompositesSashForm(Composite parent, int style) {
super(parent, style);
final GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 3;
gridLayout.marginBottom = 0;
gridLayout.marginHeight = 0;
gridLayout.marginLeft = 0;
gridLayout.marginRight = 0;
gridLayout.marginTop = 0;
gridLayout.marginWidth = 0;
gridLayout.horizontalSpacing = 0;
setLayout(gridLayout);
final GridData gridData = new GridData(GridData.FILL_BOTH);
setLayoutData(gridData);
addComponents();
addSashListeners();
}
/**
* Changes all widgets's position when sash was moved.
*
* @param shift
*/
private void setCompositesBounds(int shift) {
// Set mid Composite Width.
int midSashPreLocation = midSash.getBounds().x;
midSash.setLocation(midSashPreLocation + shift, midSash.getBounds().y);
if (midSash.getBounds().x > 0) {
if (midSashPreLocation < 0) {
leftComposite.setSize(leftComposite.getBounds().width + shift + midSashPreLocation, leftComposite
.getBounds().height);
} else {
leftComposite.setSize(leftComposite.getBounds().width + shift, leftComposite.getBounds().height);
}
} else {
leftComposite.setSize(0, leftComposite.getBounds().height);
}
// Set Right Composte Width.
rightComposite.setLocation(rightComposite.getBounds().x + shift, rightComposite.getBounds().y);
rightComposite.setSize(rightComposite.getBounds().width - shift, rightComposite.getBounds().height);
}
public Composite getLeftComposite() {
return this.leftComposite;
}
public Composite getRightComposite() {
return this.rightComposite;
}
private void addSashListeners() {
midSash.addListener(SWT.Selection, new Listener() {
/*
* (non-Java)
*
* @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
*/
public void handleEvent(Event event) {
int shift = event.x - midSash.getBounds().x;
setCompositesBounds(shift);
}
});
}
private void addComponents() {
leftComposite = new Composite(this, SWT.NONE);
GridLayout gridLayout = new GridLayout();
gridLayout.marginBottom = 0;
gridLayout.marginHeight = 0;
gridLayout.marginLeft = 0;
gridLayout.marginRight = 0;
gridLayout.marginTop = 0;
gridLayout.marginWidth = 0;
gridLayout.horizontalSpacing = 0;
GridData gridData = new GridData(GridData.FILL_BOTH);
leftComposite.setLayout(gridLayout);
leftComposite.setLayoutData(gridData);
midSash = new Sash(this, SWT.VERTICAL | SWT.SMOOTH);
GridData gridData2 = new GridData(GridData.FILL_VERTICAL);
midSash.setLayoutData(gridData2);
midSash.setSize(SASH_WIDTH, midSash.getBounds().height);
rightComposite = new Composite(this, SWT.NONE);
GridLayout gridLayout3 = new GridLayout();
gridLayout3.marginBottom = 0;
gridLayout3.marginHeight = 0;
gridLayout3.marginLeft = 0;
gridLayout3.marginRight = 0;
gridLayout3.marginTop = 0;
gridLayout3.marginWidth = 0;
gridLayout3.horizontalSpacing = 0;
rightComposite.setLayout(gridLayout3);
GridData gridData4 = new GridData(GridData.FILL_BOTH);
rightComposite.setLayoutData(gridData4);
}
public void setGridDatas() {
Composite composite = (Composite) leftComposite.getChildren()[0];
GridLayout gridLayout2 = new GridLayout();
gridLayout2.marginBottom = 0;
gridLayout2.marginHeight = 0;
gridLayout2.marginLeft = 0;
gridLayout2.marginRight = 0;
gridLayout2.marginTop = 0;
gridLayout2.marginWidth = 0;
gridLayout2.horizontalSpacing = 0;
composite.setLayout(gridLayout2);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
Composite composite2 = (Composite) rightComposite.getChildren()[0];
gridLayout2 = new GridLayout();
gridLayout2.marginBottom = 0;
gridLayout2.marginHeight = 0;
gridLayout2.marginLeft = 0;
gridLayout2.marginRight = 0;
gridLayout2.marginTop = 0;
gridLayout2.marginWidth = 0;
gridLayout2.horizontalSpacing = 0;
composite2.setLayout(gridLayout2);
composite2.setLayoutData(new GridData(GridData.FILL_BOTH));
}
}

View File

@@ -142,7 +142,6 @@ ContextReferenceDialog.kindMessages=The context group of {0} {1} is referred by
ContextReferenceDialog.kindMessages1=The context group of {0} {1} is referred by the following list, Would you still like to delete it?
CopyToGenericSchemaHelper.cannotGenarateItem=Cannot generate pasted item label.
ProxyRepositoryFactory.ReplaceJobHazardDescription=\nDependence on the original connection may be lost\!
ItemReferenceDialog.title=Items which cannot be deleted
ItemReferenceDialog.item=Item
ItemReferenceDialog.referenceItem=Reference Item
@@ -155,7 +154,6 @@ ItemReferenceDialog.doNotDelete.button=Don't delete
ItemReferenceDialog.forceDelete.button=Force delete
ItemReferenceDialog.forceDelete.warn.title=Are You Sure?
ItemReferenceDialog.forceDelete.warn.message=Force delete action may break items which use this item. Do you really want to force delete it?
ProjectRepositoryNode.code=Code
ProjectRepositoryNode.rulesManagement=Rules Management
ProjectRepositoryNode.itemInvalid=Item not valid: [{0}] {1}
@@ -181,16 +179,14 @@ ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI Content Extractor
RepositoryDropAdapter_copyingItems=Copying items...
RepositoryDropAdapter_errorMsg=This directory contains the locked item,it can not be moved now
RepositoryDropAdapter_lockedByOthers=This item is locked by other users, it can not be moved now.
RepositoryDropAdapter_lockedByYou=This item is locked by you, it can not be moved now.
RepositoryDropAdapter_moveTitle=Move
RepositoryDropAdapter_movingItems=Moving items...
RepositoryDropAdapter.checkingLockStatus=Checking lock status of {0}
RepositoryDropAdapter.checkingLockStatus=Checking lock status of
RepositoryDropAdapter.moving=Moving
NewFolderWizard.description=Create a new folder in repository
NewFolderWizard.failureText=An error occurs. Folder cannot be created. See log for more details.
NewFolderWizard.failureTitle=Error
@@ -200,10 +196,8 @@ NewFolderWizard.nameIncorrect=Label contains incorrect characters.
NewFolderWizard.nameInvalid=Label {0} is forbidden
NewFolderWizard.title=Folder
NewFolderWizard.windowTitle=New folder
CreateFolderAction.action.title=Create folder
CreateFolderAction.action.toolTipText=Create folder
RenameFolderAction.action.title=Rename folder
RenameFolderAction.action.toolTipText=Rename folder
RenameFolderAction.description=Rename the folder
@@ -211,7 +205,6 @@ RenameFolderAction.warning.editorOpen.message=Cannot rename "{1}" folder because
RenameFolderAction.warning.editorOpen.title=Action not available
RenameFolderAction.warning.cannotFind.message=Cannot rename folder, it may have been moved or deleted. Click refresh button to update the repository.
RenameFolderAction.warning.cannotFind.title=Action not available
ConvertJobsUtil.warning.title=Warning
ConvertJobsUtil.warning.message=The target framework is not fully supported for this release.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Create stats log and implicit parameters
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Create stats log and implicit parameters

View File

@@ -121,7 +121,7 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
ERepositoryObjectType.METADATA_SAPCONNECTIONS, ERepositoryObjectType.SQLPATTERNS,
ERepositoryObjectType.METADATA_FILE_DELIMITED, ERepositoryObjectType.METADATA_FILE_POSITIONAL,
ERepositoryObjectType.PROCESS, ERepositoryObjectType.CONTEXT, ERepositoryObjectType.SNIPPETS,
ERepositoryObjectType.ROUTINES, ERepositoryObjectType.BUSINESS_PROCESS,
ERepositoryObjectType.ROUTINES,
ERepositoryObjectType.METADATA_FILE_REGEXP, ERepositoryObjectType.METADATA_FILE_XML,
ERepositoryObjectType.METADATA_FILE_LDIF, ERepositoryObjectType.METADATA_FILE_EXCEL,
ERepositoryObjectType.METADATA_LDAP_SCHEMA, ERepositoryObjectType.METADATA_GENERIC_SCHEMA,

View File

@@ -480,4 +480,8 @@ public interface IRepositoryFactory {
public boolean isRepositoryBusy();
public RepositoryWorkUnit getWorkUnitInProgress();
public void deleteOldVersionPhysical(Project project, IRepositoryViewObject objToDelete, String version) throws PersistenceException;
public void batchDeleteOldVersionsPhysical(Project project, List<IRepositoryViewObject> objToDeleteList, boolean isDeleteOnRemote, IProgressMonitor monitor) throws PersistenceException;
}

View File

@@ -2294,6 +2294,9 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
IRunProcessService runProcessService = getRunProcessService();
if (runProcessService != null) {
runProcessService.initMavenJavaProject(monitor, project);
// before afterLogon migration execute, check and update daikon dependency
runProcessService.checkAndUpdateDaikonDependencies();
}
currentMonitor = subMonitor.newChild(1, SubMonitor.SUPPRESS_NONE);
@@ -2882,4 +2885,81 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
}
}
@Override
public void deleteOldVersionPhysical(Project project, IRepositoryViewObject objToDelete, String version) throws PersistenceException {
if (project == null || objToDelete == null || objToDelete.getProperty() == null) {
return;
}
// RepositoryViewObject is dynamic, so force to use in all case the RepositoryObject with fixed object.
IRepositoryViewObject object = new RepositoryObject(objToDelete.getProperty());
ERepositoryObjectType repositoryObjectType = object.getRepositoryObjectType();
ICoreService coreService = getCoreService();
if (coreService != null) {
if (repositoryObjectType == ERepositoryObjectType.PROCESS) {
// delete the job launch, for bug 8878
coreService.removeJobLaunch(object);
}
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRunProcessService.class)) {
IRunProcessService service = GlobalServiceRegister.getDefault()
.getService(IRunProcessService.class);
service.deleteOldVersionTalendJobProject(objToDelete);
}
this.repositoryFactoryFromProvider.deleteOldVersionPhysical(project, object, version);
// i18n
//log.info("Physical deletion [" + objToDelete + "] by " + getRepositoryContext().getUser() + ".");
String str[] = new String[] { object.toString()+ "_" + version, getRepositoryContext().getUser().toString() };
log.info(Messages.getString("ProxyRepositoryFactory.log.physicalDeletion", str)); //$NON-NLS-1$ }
}
@Override
public void batchDeleteOldVersionPhysical4Remote(Project project, List<IRepositoryViewObject> objToDeleteList, IProgressMonitor monitor) throws PersistenceException {
if (project == null || objToDeleteList == null || objToDeleteList.size() == 0) {
return;
}
List<String> idList = new ArrayList<>();
List<IRepositoryViewObject> repositoryObjectList = new ArrayList<>();
String label = "",lastLabel = "";
for (IRepositoryViewObject objToDelete : objToDeleteList) {
label = objToDelete.getProperty().getLabel();
String versionedLabel = objToDelete.getProperty().getLabel() + "_" + objToDelete.getProperty().getVersion();
monitor.setTaskName("Removing " + objToDelete.getRepositoryObjectType() + ":"+ versionedLabel);
IRepositoryViewObject object = new RepositoryObject(objToDelete.getProperty());
boolean isExtendPoint = false;
idList.add(object.getProperty().getId());
ERepositoryObjectType repositoryObjectType = object.getRepositoryObjectType();
ICoreService coreService = getCoreService();
if (coreService != null) {
if (repositoryObjectType == ERepositoryObjectType.PROCESS) {
// delete the job launch, for bug 8878
coreService.removeJobLaunch(object);
}
}
repositoryObjectList.add(object);
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRunProcessService.class)) {
IRunProcessService service = GlobalServiceRegister.getDefault()
.getService(IRunProcessService.class);
service.deleteOldVersionTalendJobProject(objToDelete);
}
this.repositoryFactoryFromProvider.deleteOldVersionPhysical(project, objToDelete,objToDelete.getProperty().getVersion());
if (label != null && !label.equals(lastLabel)) monitor.worked(1); //for different versions in progress bar
lastLabel = label;
}
// save project will handle git/svn update
this.repositoryFactoryFromProvider.saveProject(project);
}
}

View File

@@ -568,9 +568,7 @@ public class DuplicateAction extends AContextualAction {
Item item = null;
if (repositoryType != null) {
if (repositoryType != null) {
if (repositoryType == ERepositoryObjectType.BUSINESS_PROCESS) {
item = PropertiesFactory.eINSTANCE.createBusinessProcessItem();
} else if (repositoryType == ERepositoryObjectType.CONTEXT) {
if (repositoryType == ERepositoryObjectType.CONTEXT) {
item = PropertiesFactory.eINSTANCE.createContextItem();
} else if (repositoryType == ERepositoryObjectType.DOCUMENTATION) {
item = PropertiesFactory.eINSTANCE.createDocumentationItem();
@@ -620,8 +618,6 @@ public class DuplicateAction extends AContextualAction {
item = PropertiesFactory.eINSTANCE.createSnippetItem();
} else if (repositoryType == ERepositoryObjectType.SQLPATTERNS) {
item = PropertiesFactory.eINSTANCE.createSQLPatternItem();
} else if (repositoryType == ERepositoryObjectType.SVG_BUSINESS_PROCESS) {
item = PropertiesFactory.eINSTANCE.createSVGBusinessProcessItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_EDIFACT) {
item = PropertiesFactory.eINSTANCE.createEDIFACTConnectionItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_VALIDATION_RULES) {

View File

@@ -491,9 +491,6 @@ public class RepositoryLabelProvider extends LabelProvider implements IColorProv
return STABLE_PRIMARY_ENTRY_COLOR;
}
case SYSTEM_FOLDER:
if (node.getContentType() == ERepositoryObjectType.BUSINESS_PROCESS) {
return STABLE_PRIMARY_ENTRY_COLOR;
}
if (node.getContentType() == ERepositoryObjectType.PROCESS) {
return STABLE_PRIMARY_ENTRY_COLOR;
}

View File

@@ -1,2 +0,0 @@
#Created by JInto - www.guh-software.de
#Fri Apr 24 16:12:06 CST 2009

View File

@@ -12,6 +12,7 @@
// ============================================================================
package org.talend.commons.utils.io;
import java.awt.Desktop;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
@@ -60,6 +61,7 @@ import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.eclipse.core.runtime.jobs.Job;
import org.osgi.framework.Bundle;
@@ -69,6 +71,7 @@ import org.talend.commons.i18n.internal.Messages;
import org.talend.commons.utils.StringUtils;
import org.talend.commons.utils.encoding.CharsetToolkit;
import org.talend.commons.utils.network.NetworkUtil;
import org.talend.commons.utils.system.EnvironmentUtils;
import org.talend.core.model.metadata.builder.connection.FileConnection;
import org.talend.core.model.repository.SVNConstant;
import org.talend.utils.xml.XmlUtils;
@@ -1230,4 +1233,16 @@ public class FilesUtils {
}
public static void selectFileInSystemExplorer(File file) throws Exception {
Path path = new Path(file.getAbsolutePath());
if (EnvironmentUtils.isWindowsSystem()) {
Runtime.getRuntime().exec("explorer.exe /select," + path.toOSString());
} else if (EnvironmentUtils.isMacOsSytem()) {
Runtime.getRuntime().exec("open -R " + path.toOSString());
} else {
File dir = file.getParentFile();
Desktop.getDesktop().open(dir);
}
}
}

View File

@@ -12,19 +12,15 @@
// ============================================================================
package org.talend.core;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.nio.file.Files;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.Platform;
import org.osgi.framework.Bundle;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.VersionUtils;
import org.talend.core.service.IStudioLiteP2Service;
/**
* This class can check whether some specific plugins are loaded or not. <br/>
@@ -142,6 +138,13 @@ public class PluginChecker {
public static final String SWTBOT_PLUGIN_ID = "org.eclipse.swtbot.eclipse.core"; //$NON-NLS-1$
public static final String PROD_LITE = "org.talend.rcp.branding.lite.product";
/**
* Currently only used by CI, since CI is installed by p2Installer, it will use the cmd product
*/
public static final String PROD_LITE_CI = "org.talend.rcp.branding.lite.ci.product";
private static Boolean isStudioLite;
/**
@@ -165,12 +168,10 @@ public class PluginChecker {
public static boolean isStudioLite() {
if (isStudioLite == null) {
try {
File studioConfigFile = VersionUtils.getStudioConfigFile();
Properties props = new Properties();
try (BufferedReader reader = Files.newBufferedReader(studioConfigFile.toPath())) {
props.load(reader);
}
isStudioLite = Boolean.valueOf(props.getProperty("talend.studio.lite"));
// IProduct product = Platform.getProduct();
// String prodId = product.getId();
// isStudioLite = StringUtils.equals(prodId, PROD_LITE) || StringUtils.equals(prodId, PROD_LITE_CI);
isStudioLite = IStudioLiteP2Service.get() != null;
} catch (Exception e) {
isStudioLite = false;
ExceptionHandler.process(e);

View File

@@ -296,27 +296,6 @@ public class ConnParameterKeys {
public static final String CONN_PARA_KEY_PATH_TO_GOOGLE_CREDENTIALS = "CONN_PARA_KEY_PATH_TO_GOOGLE_CREDENTIALS"; //$NON-NLS-1$
/** Qubole */
public static final String CONN_PARA_KEY_QUBOLE_API_TOKEN = "CONN_PARA_KEY_QUBOLE_API_TOKEN";
public static final String CONN_PARA_KEY_QUBOLE_CLUSTER = "CONN_PARA_KEY_QUBOLE_CLUSTER";
public static final String CONN_PARA_KEY_QUBOLE_CLUSTER_LABEL = "CONN_PARA_KEY_QUBOLE_CLUSTER_LABEL";
public static final String CONN_PARA_KEY_QUBOLE_ENDPOINT = "CONN_PARA_KEY_QUBOLE_ENDPOINT";
public static final String CONN_PARA_KEY_QUBOLE_ENDPOINT_URL = "CONN_PARA_KEY_QUBOLE_ENDPOINT_URL";
public static final String CONN_PARA_KEY_QUBOLE_S3_ACCESS_KEY = "CONN_PARA_KEY_QUBOLE_S3_ACCESS_KEY";
public static final String CONN_PARA_KEY_QUBOLE_S3_SECRET_KEY = "CONN_PARA_KEY_QUBOLE_S3_SECRET_KEY";
public static final String CONN_PARA_KEY_QUBOLE_S3_BUCKET_NAME = "CONN_PARA_KEY_QUBOLE_S3_BUCKET_NAME";
public static final String CONN_PARA_KEY_QUBOLE_S3_BUCKET_KEY = "CONN_PARA_KEY_QUBOLE_S3_BUCKET_KEY";
public static final String CONN_PARA_KEY_QUBOLE_S3_REGION = "CONN_PARA_KEY_QUBOLE_S3_REGION";
/**DataBricks*/
public static final String CONN_PARA_KEY_DATABRICKS_ENDPOINT="CONN_PARA_KEY_DATABRICKS_ENDPOINT";

View File

@@ -300,13 +300,20 @@ public class DatabaseConnStrUtil {
if (!url.endsWith(";")) { //$NON-NLS-1$
url = url + ";"; //$NON-NLS-1$
}
url = url + "ssl=true;"; //$NON-NLS-1$
boolean isHiveDriver = url.startsWith(DbConnStrForHive.URL_HIVE_2_TEMPLATE);
url = url + ( isHiveDriver ? "ssl=true;" : "SSL=1;" ); //$NON-NLS-1$
String trustStorePath = dbConn.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_SSL_TRUST_STORE_PATH);
if (trustStorePath != null) {
url = url + "sslTrustStore=" + trustStorePath + ";"; //$NON-NLS-1$//$NON-NLS-2$
url = url + ( isHiveDriver ? "sslTrustStore=" : "SSLTrustStore=" ) + trustStorePath + ";"; //$NON-NLS-1$//$NON-NLS-2$
}
String trustStorePassword = null;
trustStorePassword = dbConn.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_SSL_TRUST_STORE_PASSWORD);
if (trustStorePassword != null) {
if (encryptPassword) {
trustStorePassword = "encrypted"; //$NON-NLS-1$
@@ -318,7 +325,7 @@ public class DatabaseConnStrUtil {
if (trustStorePassword == null) {
trustStorePassword = ""; //$NON-NLS-1$
}
url = url + "trustStorePassword=" + trustStorePassword; //$NON-NLS-1$
url = url + ( isHiveDriver ? "trustStorePassword=" : "SSLTrustStorePwd=" ) + trustStorePassword; //$NON-NLS-1$
}
if (url.endsWith(";")) { //$NON-NLS-1$
url = url.substring(0, url.length() - 1);
@@ -385,7 +392,8 @@ public class DatabaseConnStrUtil {
template = EDatabaseConnTemplate.IMPALA_IMPALA_DRIVER.getUrlTemplate(null);
}
String standardURlString = getImpalaURlString(template, supportContext, server, port, sid);
String principalSuffix = "principal="; //$NON-NLS-1$
String principalSuffix = "IMPALA".equals(driver) ? "AuthMech=1" : "principal="; //$NON-NLS-1$
boolean hasPrinc = false;
String[] urlArray = standardURlString.split(SEMICOLON);
if (urlArray[urlArray.length - 1].startsWith(principalSuffix)) {
@@ -397,7 +405,21 @@ public class DatabaseConnStrUtil {
}
} else {
if (Principal != null) {
standardURlString = urlArray[0].concat(SEMICOLON).concat(principalSuffix).concat(Principal);
if("IMPALA".equals(driver)) {
String krbServiceName = (Principal.split("/")[0]);
String krbHostFQDN = (Principal.split("/")[1].split("@")[0]);
String krbRealm = (Principal.split("/")[1].split("@")[1]);
String urlKerberosParameter = ";KrbServiceName=" + krbServiceName
+ ";KrbHostFQDN=" + krbHostFQDN
+ ";KrbRealm=" + krbRealm;
standardURlString = urlArray[0].concat(SEMICOLON).concat(principalSuffix).concat(urlKerberosParameter);
} else {
standardURlString = urlArray[0].concat(SEMICOLON).concat(principalSuffix).concat(Principal);
}
}
}

View File

@@ -102,17 +102,6 @@ public enum EHadoopProperties {
HD_JOB_RESULT_FOLDER,
QUBOLE_API_TOKEN,
QUBOLE_CLUSTER,
QUBOLE_CLUSTER_LABEL,
QUBOLE_ENDPOINT,
QUBOLE_ENDPOINT_URL,
QUBOLE_S3_ACCESS_KEY,
QUBOLE_S3_SECRET_KEY,
QUBOLE_S3_BUCKET_NAME,
QUBOLE_S3_BUCKET_KEY,
QUBOLE_S3_REGION,
DATABRICKS_ENDPOINT,
DATABRICKS_CLOUD_PROVIDER,
DATABRICKS_CLUSTER_ID,

View File

@@ -23,8 +23,6 @@ public enum EHadoopDistributions {
CLOUDERA("Cloudera"), //$NON-NLS-1$
ALTUS("Altus"), //$NON-NLS-1$
MAPR("MapR"), //$NON-NLS-1$
APACHE("Apache"), //$NON-NLS-1$

View File

@@ -54,44 +54,6 @@ public enum EHadoopVersion4Drivers {
APACHE_1_0_0(EHadoopDistributions.APACHE, "Apache 1.0.0", "APACHE_1_0_0", true, false), //$NON-NLS-1$ //$NON-NLS-2$
CLOUDERA_CDH5_5(EHadoopDistributions.CLOUDERA, "Cloudera CDH5.5(YARN mode)", //$NON-NLS-1$
"Cloudera_CDH5_5", //$NON-NLS-1$
true,
false,
new EMRVersion[] { EMRVersion.YARN }),
CLOUDERA_CDH5_4(EHadoopDistributions.CLOUDERA, "Cloudera CDH5.4(YARN mode)", //$NON-NLS-1$
"Cloudera_CDH5_4", //$NON-NLS-1$
true,
false,
new EMRVersion[] { EMRVersion.YARN }),
CLOUDERA_CDH5_1(EHadoopDistributions.CLOUDERA, "Cloudera CDH5.1(YARN mode)", //$NON-NLS-1$
"Cloudera_CDH5_1", //$NON-NLS-1$
true,
false,
new EMRVersion[] { EMRVersion.YARN }),
CLOUDERA_CDH5_1_MR1(EHadoopDistributions.CLOUDERA, "Cloudera CDH5.1(MR 1 mode)", //$NON-NLS-1$
"Cloudera_CDH5_1_MR1", //$NON-NLS-1$
true,
false,
new EMRVersion[] { EMRVersion.MR1 }),
CLOUDERA_CDH5(EHadoopDistributions.CLOUDERA, "Cloudera CDH5.0(YARN mode)", //$NON-NLS-1$
"Cloudera_CDH5", //$NON-NLS-1$
true,
false,
new EMRVersion[] { EMRVersion.YARN }),
CLOUDERA_CDH4_YARN(EHadoopDistributions.CLOUDERA, "Cloudera CDH4.3+(YARN mode)", //$NON-NLS-1$
"Cloudera_CDH4_YARN", //$NON-NLS-1$
true,
false,
new EMRVersion[] { EMRVersion.YARN }),
CLOUDERA_CDH4(EHadoopDistributions.CLOUDERA, "Cloudera CDH4.X(MR1 mode)", "Cloudera_CDH4", true, false), //$NON-NLS-1$ //$NON-NLS-2$
MAPR500(EHadoopDistributions.MAPR, "MapR 5.0.0(YARN mode)", "MAPR500", true, true, new EMRVersion[] { EMRVersion.YARN }), //$NON-NLS-1$ //$NON-NLS-2$
MAPR410(EHadoopDistributions.MAPR, "MapR 4.1.0(YARN mode)", "MAPR410", false, true, new EMRVersion[] { EMRVersion.YARN }), //$NON-NLS-1$ //$NON-NLS-2$

View File

@@ -364,9 +364,6 @@ public class HadoopVersionDialog extends TitleAreaDialog {
if (distributions != null) {
for (IHDistribution d : distributions) {
if (!d.useCustom()) {// not need custom
if ("CLOUDERA_ALTUS".equals(d.getName())) {
continue;
}
distributionsDisplay.add(d.getDisplayName());
}
}

View File

@@ -1018,7 +1018,11 @@ public class RepositoryToComponentProperty {
// return getAppropriateValue(connection, connection.getUsername());
// }
if (value.equals("PASSWORD")) { //$NON-NLS-1$
return getAppropriateValue(connection,connection.getValue(connection.getPassword(), false).replace("\"", "\\\""));
String password = connection.getValue(connection.getPassword(), false);
if (password != null) {
password = password.replace("\"", "\\\"");
}
return getAppropriateValue(connection, password);
}
if (value.equals("NULL_CHAR")) { //$NON-NLS-1$
return getAppropriateValue(connection, connection.getNullChar());
@@ -1687,15 +1691,7 @@ public class RepositoryToComponentProperty {
}
if (value.equals("IMPALA_VERSION")) {
String impalaVersion = connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_IMPALA_VERSION);
if (impalaVersion != null) {
// The value for IMPALA_CDH5 is wrong for a long time, so need to change it manaully, so can avoid to
// add migration task
if ("CLOUDERA_5".equals(impalaVersion)) {
impalaVersion = "Cloudera_CDH5_1";
}
}
return impalaVersion;
return connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_IMPALA_VERSION);
}
if (value.equals("SET_SCHEDULER_ADDRESS")) {

View File

@@ -30,6 +30,8 @@ import org.talend.core.model.repository.RepositoryObject;
import org.talend.core.runtime.i18n.Messages;
import org.talend.migration.AbstractMigrationTask;
import org.talend.migration.IProjectMigrationTask;
import org.talend.migration.MigrationReportHelper;
import org.talend.migration.MigrationReportRecorder;
import org.talend.migration.MigrationTaskExtensionEPReader;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.IRepositoryService;
@@ -105,11 +107,20 @@ public abstract class AbstractItemMigrationTask extends AbstractMigrationTask im
return ExecutionResult.NOTHING_TO_DO;
}
setProject(project);
return execute(item);
ExecutionResult result = execute(item);
if (ExecutionResult.SUCCESS_WITH_ALERT.equals(result) || ExecutionResult.SUCCESS_NO_ALERT.equals(result)) {
handleDefaultMigrationReportRecord(this, item);
}
return result;
}
public abstract ExecutionResult execute(Item item);
@Override
public void generateReportRecord(MigrationReportRecorder recorder) {
MigrationReportHelper.getInstance().addRecorder(recorder);
}
// if need to unload the object ,overide this method,see bug 21587
protected void unloadObject(IRepositoryViewObject object) {
@@ -167,4 +178,10 @@ public abstract class AbstractItemMigrationTask extends AbstractMigrationTask im
return objectTypeExtensions;
}
private static void handleDefaultMigrationReportRecord(IProjectMigrationTask task, Item item) {
if (MigrationReportHelper.getInstance().isRequireDefaultRecord(task, item)) {
task.generateReportRecord(new MigrationReportRecorder(task, item));
}
}
}

View File

@@ -31,7 +31,6 @@ import org.talend.core.IESBService;
import org.talend.core.PluginChecker;
import org.talend.core.model.general.Project;
import org.talend.core.model.properties.BRMSConnectionItem;
import org.talend.core.model.properties.BusinessProcessItem;
import org.talend.core.model.properties.CSVFileConnectionItem;
import org.talend.core.model.properties.ConnectionItem;
import org.talend.core.model.properties.ContextItem;
@@ -65,7 +64,6 @@ import org.talend.core.model.properties.RoutinesJarItem;
import org.talend.core.model.properties.RulesItem;
import org.talend.core.model.properties.SAPConnectionItem;
import org.talend.core.model.properties.SQLPatternItem;
import org.talend.core.model.properties.SVGBusinessProcessItem;
import org.talend.core.model.properties.SalesforceSchemaConnectionItem;
import org.talend.core.model.properties.SnippetItem;
import org.talend.core.model.properties.SnippetVariable;
@@ -109,9 +107,6 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
public final static ERepositoryObjectType SVN_ROOT = new ERepositoryObjectType("repository.svnroot", "", "SVN_ROOT", true, 1,
new String[] { PROD_DI, PROD_DQ }, new String[] {}, false);
public final static ERepositoryObjectType SVG_BUSINESS_PROCESS = new ERepositoryObjectType("repository.svgBusinessProcess",
"businessProcessSVG", "SVG_BUSINESS_PROCESS", true, 3, new String[] { PROD_DI }, new String[] {});
public final static ERepositoryObjectType SNIPPETS = new ERepositoryObjectType("repository.snippets", "code/snippets",
"SNIPPETS", true, 10, new String[] { PROD_DI }, new String[] {}, false);
@@ -418,8 +413,6 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
RepositoryNodeProviderRegistryReader.getInstance().init();
}
public final static ERepositoryObjectType BUSINESS_PROCESS = ERepositoryObjectType.valueOf("BUSINESS_PROCESS"); //$NON-NLS-1$
public final static ERepositoryObjectType PROCESS = ERepositoryObjectType.valueOf("PROCESS"); //$NON-NLS-1$
/**
@@ -850,11 +843,7 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
}
public static String getDeleteFolderName(ERepositoryObjectType type) {
if (type == BUSINESS_PROCESS) {
return "businessProcess"; //$NON-NLS-1$
} else if (type == SVG_BUSINESS_PROCESS) {
return "businessProcessSVG"; //$NON-NLS-1$
} else if (type == PROCESS) {
if (type == PROCESS) {
return "job"; //$NON-NLS-1$
} else if (type == JOBLET) {
return "joblet";
@@ -1073,11 +1062,6 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
return SNIPPETS;
}
@Override
public Object caseBusinessProcessItem(BusinessProcessItem object) {
return BUSINESS_PROCESS;
}
@Override
public Object caseCSVFileConnectionItem(CSVFileConnectionItem object) {
throw new IllegalStateException(Messages.getString("ERepositoryObjectType.NotImplemented")); //$NON-NLS-1$
@@ -1173,11 +1157,6 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
return METADATA_MDMCONNECTION;
}
@Override
public Object caseSVGBusinessProcessItem(SVGBusinessProcessItem object) {
return SVG_BUSINESS_PROCESS;
}
@Override
public Object caseHeaderFooterConnectionItem(HeaderFooterConnectionItem object) {
return METADATA_HEADER_FOOTER;

View File

@@ -1,6 +1,7 @@
package org.talend.core.service;
import org.eclipse.swt.widgets.Shell;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.process.IProcess;
import org.talend.core.model.repository.IRepositoryViewObject;
@@ -14,6 +15,8 @@ public interface IResourcesDependenciesService extends IService {
public String getResourcePathForContext(IProcess process, String resourceContextValue);
public String getResourcePathForContext(IProcess process, String resourceContextValue, boolean forceRelative);
public String getResourceItemFilePath(String resourceContextValue);
public void refreshDependencyViewer();
@@ -21,4 +24,12 @@ public interface IResourcesDependenciesService extends IService {
public void setContextParameterChangeDirtyManually();
public void removeBuildJobCacheForResource(String resourceId);
public static IResourcesDependenciesService get() {
GlobalServiceRegister register = GlobalServiceRegister.getDefault();
if (register.isServiceRegistered(IResourcesDependenciesService.class)) {
return register.getService(IResourcesDependenciesService.class);
}
return null;
}
}

View File

@@ -17,7 +17,6 @@ import java.util.Collection;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.talend.commons.CommonsPlugin;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.general.Project;
@@ -87,14 +86,9 @@ public interface IStudioLiteP2Service extends IService {
int adaptFeaturesForProject(IProgressMonitor monitor, Project proj) throws Exception;
void setLocalPatches(Collection<String> localPatchUris) throws Exception;
public static IStudioLiteP2Service get() {
boolean forceLoad = Boolean.getBoolean("talend.studio.studiolite.p2.enable");
if (!forceLoad) {
if (CommonsPlugin.isHeadless() || CommonsPlugin.isJUnitTest() || CommonsPlugin.isTUJTest()
|| CommonsPlugin.isScriptCmdlineMode()) {
return null;
}
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(IStudioLiteP2Service.class)) {
return GlobalServiceRegister.getDefault().getService(IStudioLiteP2Service.class);
}
@@ -150,13 +144,17 @@ public interface IStudioLiteP2Service extends IService {
public static interface UpdateSiteConfig {
boolean isReleaseEditable();
URI getRelease(IProgressMonitor monitor) throws Exception;
void setRelease(IProgressMonitor monitor, URI uri) throws Exception;
URI getUpdate(IProgressMonitor monitor) throws Exception;
boolean isUpdateEditable();
void setUpdate(IProgressMonitor monitor, URI uri) throws Exception;
Collection<URI> getUpdates(IProgressMonitor monitor) throws Exception;
void setUpdates(IProgressMonitor monitor, Collection<URI> uris) throws Exception;
}

View File

@@ -24,4 +24,6 @@ public interface IUpdateService extends IService {
public String getSharedStudioMissingPatchVersion();
public boolean updateArtifactsFileSha256Hex(IProgressMonitor monitor, String studioArtifactsFileShaCodeHex);
public void checkThirdPartyLibraries();
}

View File

@@ -30,8 +30,6 @@ public class RepositoryImageProvider {
if (type == ERepositoryObjectType.SVN_ROOT) {
return ECoreImage.SVN_ROOT_ICON;
} else if (type == ERepositoryObjectType.BUSINESS_PROCESS) {
return ECoreImage.BUSINESS_PROCESS_ICON;
} else if (type == ERepositoryObjectType.PROCESS) {
return ECoreImage.PROCESS_ICON;
} else if (type == ERepositoryObjectType.JOBLET) {

View File

@@ -39,6 +39,7 @@ import org.talend.core.model.process.JobInfo;
import org.talend.core.model.properties.Item;
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.routines.CodesJarInfo;
import org.talend.core.runtime.process.ITalendProcessJavaProject;
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
@@ -271,5 +272,9 @@ public interface IRunProcessService extends IService {
void deleteTalendCodesJarProject(ERepositoryObjectType type, String projectTechName, String codesJarName,
boolean deleteContent);
public void deleteOldVersionTalendJobProject(IRepositoryViewObject object);
public void checkAndUpdateDaikonDependencies();
}

View File

@@ -36,4 +36,8 @@ public interface IProjectMigrationTask extends IMigrationTask {
public ExecutionResult execute(Project project, Item item);
default public void generateReportRecord(MigrationReportRecorder recorder) {
// do nothing
}
}

View File

@@ -0,0 +1,173 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.migration;
import java.io.File;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.widgets.WidgetFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.core.runtime.i18n.Messages;
/**
* DOC jding class global comment. Detailled comment
*/
public class MigrationReportAccessDialog extends Dialog {
private String reportGeneratedFile;
private boolean onStartUp;
private Button disableOptionBtn;
protected MigrationReportAccessDialog(Shell parentShell, String reportGeneratedFile, boolean onStartUp) {
super(parentShell);
this.reportGeneratedFile = reportGeneratedFile;
this.onStartUp = onStartUp;
}
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText("Project items migration");
}
@Override
protected void initializeBounds() {
getShell().setSize(780, 390);
Point location = getInitialLocation(getShell().getSize());
getShell().setLocation(location.x, location.y);
}
@Override
protected Control createDialogArea(Composite parent) {
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
layout.verticalSpacing = 8;
Composite composite = WidgetFactory.composite(SWT.NONE).layout(layout)
.layoutData(new GridData(GridData.FILL_BOTH))
.create(parent);
applyDialogFont(composite);
Composite migrationInfoArea = new Composite(composite, SWT.NONE);
GridLayout migrationInfoLayout = new GridLayout();
migrationInfoLayout.numColumns = 1;
migrationInfoLayout.marginWidth = 0;
migrationInfoLayout.marginTop = 8;
migrationInfoLayout.marginLeft = 10;
migrationInfoArea.setLayout(migrationInfoLayout);
createMessageLabel(migrationInfoArea, Messages.getString("MigrationReportAccessDialog.migrateSuccess"));
Link accessLink = new Link(migrationInfoArea, SWT.NONE);
accessLink.setText(Messages.getString("MigrationReportAccessDialog.completeReportAvailable") + " <a>"
+ Messages.getString("MigrationReportAccessDialog.accessReport") + "</a> ");
accessLink.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL));
accessLink.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
File reportFile = new File(reportGeneratedFile);
if (reportFile != null && reportFile.exists()) {
try {
FilesUtils.selectFileInSystemExplorer(reportFile);
} catch (Exception excep) {
ExceptionHandler.process(excep);
}
}
}
});
Composite infoArea = new Composite(composite, SWT.NONE);
GridLayout infoAreaLayout = new GridLayout();
migrationInfoLayout.numColumns = 1;
infoAreaLayout.marginWidth = 0;
infoAreaLayout.marginLeft = 10;
infoArea.setLayout(infoAreaLayout);
createMessageLabel(infoArea, Messages.getString("MigrationReportAccessDialog.provideAnalysisTool"));
Composite infoItemArea = new Composite(infoArea, SWT.NONE);
GridLayout infoItemLayout = new GridLayout();
infoItemLayout.numColumns = 1;
infoItemLayout.marginWidth = 0;
infoItemLayout.marginHeight = 0;
infoItemLayout.marginLeft = 15;
infoItemArea.setLayout(infoItemLayout);
createMessageLabel(infoItemArea, Messages.getString("MigrationReportAccessDialog.listOfProblems"));
createMessageLabel(infoItemArea, Messages.getString("MigrationReportAccessDialog.listItems"));
Composite analysisInfoArea = new Composite(composite, SWT.NONE);
GridLayout analysisInfoLayout = new GridLayout();
analysisInfoLayout.numColumns = 1;
analysisInfoLayout.marginWidth = 0;
analysisInfoLayout.marginLeft = 10;
analysisInfoArea.setLayout(analysisInfoLayout);
createMessageLabel(analysisInfoArea, Messages.getString("MigrationReportAccessDialog.analysisToolCanTrigger"));
if (!onStartUp) {
Composite disableDialogArea = new Composite(composite, SWT.NONE);
GridLayout disableDialogLayout = new GridLayout();
disableDialogLayout.numColumns = 1;
disableDialogLayout.marginWidth = 0;
disableDialogLayout.marginLeft = 10;
disableDialogArea.setLayout(disableDialogLayout);
disableOptionBtn = new Button(disableDialogArea, SWT.CHECK);
disableOptionBtn.setText(Messages.getString("MigrationReportAccessDialog.doNotShowAnymore"));
disableOptionBtn.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL));
disableOptionBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
MigrationReportHelper.storeDoNotShowAgainPref(disableOptionBtn.getSelection());
}
});
}
return composite;
}
private Label createMessageLabel(Composite parent, String message) {
Label messageLabel = new Label(parent, SWT.NONE);
messageLabel.setText(message);
GridData gridData = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_VERTICAL);
messageLabel.setLayoutData(gridData);
return messageLabel;
}
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, true);
}
@Override
protected void buttonPressed(int buttonId) {
setReturnCode(OK);
close();
}
}

View File

@@ -0,0 +1,243 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.migration;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.runtime.preferences.ConfigurationScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
import org.osgi.service.prefs.BackingStoreException;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.PluginChecker;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.Property;
import org.talend.core.utils.TalendQuoteUtils;
/**
* DOC jding class global comment. Detailled comment
*/
public class MigrationReportHelper {
private static final String COMMA = ",";
private static final String PLUGIN_ID = "org.talend.core.runtime";
private static final String DO_NOT_SHOW_PREF_KEY = "talend.migrationReportDialog.doNotShowAgain";
private static final String MIGRATION_REPORT_HEAD = "Task name,Task description,Item type,Path to migrated item,Migration details";
private static final MigrationReportHelper instance = new MigrationReportHelper();
public static MigrationReportHelper getInstance() {
return instance;
}
private String reportGeneratedPath = "";
private Set<String> taskItemRecords = new HashSet<String>();
private List<MigrationReportRecorder> migrationReportRecorders = new ArrayList<MigrationReportRecorder>();
public void generateMigrationReport(String projectTecName) {
if (migrationReportRecorders == null || migrationReportRecorders.isEmpty()) {
return;
}
if (!PluginChecker.isTIS()) {
clearRecorders();
return;
}
BufferedWriter printWriter = null;
File exportFolder = null;
File reportFile = null;
try {
String currentTime = getCurrentTime();
String folderPath = getReportExportFolder(currentTime);
exportFolder = new File(folderPath);
if (!exportFolder.exists()) {
exportFolder.mkdirs();
}
String filePath = folderPath + "/" + getReportFileName(currentTime, projectTecName);
reportGeneratedPath = filePath;
reportFile = new File(filePath);
reportFile.createNewFile();
FileOutputStream fos = new FileOutputStream(reportFile);
fos.write(new byte[] { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF });
OutputStreamWriter outputWriter = new OutputStreamWriter(fos, "UTF-8");
printWriter = new BufferedWriter(outputWriter);
printWriter.write(MIGRATION_REPORT_HEAD);
printWriter.newLine();
for (MigrationReportRecorder record : migrationReportRecorders) {
StringBuffer buffer = new StringBuffer();
buffer.append(handleQuotes(record.getTaskClassName())).append(COMMA);
buffer.append(handleQuotes(record.getTaskDescription())).append(COMMA);
buffer.append(handleQuotes(record.getItemType())).append(COMMA);
buffer.append(handleQuotes(record.getItemPath())).append(COMMA);
buffer.append(handleQuotes(record.getMigrationDetails()));
printWriter.write(buffer.toString());
printWriter.newLine();
}
printWriter.flush();
} catch (Exception e) {
ExceptionHandler.process(e);
if (reportFile != null && reportFile.exists()) {
reportFile.delete();
}
if (exportFolder != null && exportFolder.exists()) {
exportFolder.delete();
}
} finally {
try {
if (printWriter != null) {
printWriter.close();
}
} catch (IOException e) {
ExceptionHandler.process(e);
}
migrationReportRecorders.clear();
taskItemRecords.clear();
}
}
private String handleQuotes(String text) {
String quoteMark = TalendQuoteUtils.QUOTATION_MARK;
if (text.contains(quoteMark)) {
// replace to double quote surround
text = text.replace(quoteMark, quoteMark + quoteMark);
}
return quoteMark + text + quoteMark;
}
public boolean isRequireDefaultRecord(IProjectMigrationTask task, Item item) {
boolean require = true;
if (item.getProperty() != null) {
Property property = item.getProperty();
String key = task.getId() + "_" + property.getId() + "_" + property.getVersion();
if (taskItemRecords.contains(key)) {
require = false;
}
}
return require;
}
private String getCurrentTime() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String time = dateFormat.format(new Date());
return time;
}
private String getReportExportFolder(String time) {
String folderName = "migrationReport" + "_" + time;
String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + "/report/" + folderName;
return path;
}
private String getReportFileName(String time, String projectTecName) {
String fileName = time + "_" + projectTecName + "_" + "Migration" + "_" + "Report.csv";
return fileName;
}
public synchronized void checkMigrationReport(boolean onStartUp) {
if (StringUtils.isBlank(reportGeneratedPath) || !PluginChecker.isTIS()) {
return;
}
File reportFile = new File(reportGeneratedPath);
if (reportFile == null || !reportFile.exists()) {
return;
}
if (!onStartUp && isReportDialogDisable()) {
return;
}
Job job = new Job("Check migration report") {
@Override
protected IStatus run(IProgressMonitor monitor) {
Display.getDefault().syncExec(() -> {
try {
MigrationReportAccessDialog dialog = new MigrationReportAccessDialog(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), reportGeneratedPath, onStartUp);
dialog.open();
} catch (Exception e) {
ExceptionHandler.process(e);
} finally {
// after popup clean up record
clearRecorders();
}
});
return Status.OK_STATUS;
}
};
job.setUser(false);
job.setPriority(Job.INTERACTIVE);
job.schedule();
}
public static void storeDoNotShowAgainPref(boolean selected) {
IScopeContext scopeContext = ConfigurationScope.INSTANCE;
IEclipsePreferences pref = scopeContext.getNode(PLUGIN_ID);
pref.putBoolean(DO_NOT_SHOW_PREF_KEY, selected);
try {
pref.flush();
} catch (BackingStoreException e) {
ExceptionHandler.process(e);
}
}
public static boolean isReportDialogDisable() {
IScopeContext scopeContext = ConfigurationScope.INSTANCE;
IEclipsePreferences pref = scopeContext.getNode(PLUGIN_ID);
return pref.getBoolean(DO_NOT_SHOW_PREF_KEY, false);
}
public void addRecorder(MigrationReportRecorder recorder) {
if (recorder != null) {
migrationReportRecorders.add(recorder);
if (recorder.getItem() != null && recorder.getItem().getProperty() != null) {
Property property = recorder.getItem().getProperty();
taskItemRecords.add(recorder.getTask().getId() + "_" + property.getId() + "_" + property.getVersion());
}
}
}
public void clearRecorders() {
reportGeneratedPath = "";
migrationReportRecorders.clear();
taskItemRecords.clear();
}
public String getReportGeneratedPath() {
return reportGeneratedPath;
}
}

View File

@@ -0,0 +1,334 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.migration;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.PersistenceException;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.ui.ITestContainerCoreService;
import org.talend.core.utils.TalendQuoteUtils;
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.repository.model.IRepositoryService;
/**
* DOC jding class global comment. Detailled comment
*/
public class MigrationReportRecorder {
private IProjectMigrationTask task;
private MigrationOperationType operationType;
private Item item;
private NodeType node;
private String paramName;
private String oldValue;
private String newValue;
private String detailMessage;
public enum MigrationOperationType {
ADD,
MODIFY,
DELETE
}
public MigrationReportRecorder(IProjectMigrationTask task, Item item) {
super();
this.task = task;
this.item = item;
}
public MigrationReportRecorder(IProjectMigrationTask task, MigrationOperationType operationType, Item item, NodeType node,
String paramName, String oldValue, String newValue) {
super();
this.task = task;
this.operationType = operationType;
this.item = item;
this.node = node;
this.paramName = paramName;
this.oldValue = oldValue;
this.newValue = newValue;
}
public MigrationReportRecorder(IProjectMigrationTask task, Item item, String detailMessage) {
super();
this.task = task;
this.item = item;
this.detailMessage = detailMessage;
}
public String getTaskClassName() {
return task.getClass().getSimpleName();
}
public String getTaskDescription() {
String description = "";
if (StringUtils.isNotBlank(task.getDescription())) {
description = task.getDescription();
}
return description;
}
public String getItemType() {
String type = "";
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
if (itemType != null) {
if (ERepositoryObjectType.getAllTypesOfTestContainer().contains(itemType)) {
Item parentJobItem = getTestCaseParentJobItem(item);
if (parentJobItem != null) {
ERepositoryObjectType parentJobType = ERepositoryObjectType.getItemType(parentJobItem);
if (parentJobType != null) {
String parentTypePath = getCompleteObjectTypePath(parentJobType);
if (StringUtils.isNotBlank(parentTypePath)) {
type = parentTypePath + "/";
}
}
}
type += itemType;
} else {
type = getCompleteObjectTypePath(itemType);
}
}
return type;
}
public String getItemPath() {
String path = "";
StringBuffer buffer = new StringBuffer();
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
if (ERepositoryObjectType.getAllTypesOfTestContainer().contains(itemType)) {
StringBuffer testcaseBuffer = new StringBuffer();
Item parentJobItem = getTestCaseParentJobItem(item);
if (parentJobItem != null) {
if (parentJobItem.getState() != null && StringUtils.isNotBlank(parentJobItem.getState().getPath())) {
testcaseBuffer.append(parentJobItem.getState().getPath()).append("/");
}
testcaseBuffer.append(parentJobItem.getProperty() != null ? parentJobItem.getProperty().getLabel() : "");
if (StringUtils.isNotBlank(testcaseBuffer.toString())) {
buffer.append(testcaseBuffer.toString()).append("/");
}
}
} else {
if (item.getState() != null && StringUtils.isNotBlank(item.getState().getPath())) {
buffer.append(item.getState().getPath()).append("/");
}
}
Property property = item.getProperty();
if (property != null) {
buffer.append(property.getLabel() + "_" + property.getVersion());
}
path = buffer.toString();
return path;
}
private Item getTestCaseParentJobItem(Item testcaseItem) {
Item parentJobItem = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerCoreService.class)) {
ITestContainerCoreService testcaseService = GlobalServiceRegister.getDefault()
.getService(ITestContainerCoreService.class);
if (testcaseService != null) {
try {
parentJobItem = testcaseService.getParentJobItem(item);
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
}
}
return parentJobItem;
}
private String getCompleteObjectTypePath(ERepositoryObjectType itemType) {
ERepositoryObjectType rootItemType = itemType;
if (ERepositoryObjectType.JDBC != null && ERepositoryObjectType.JDBC.equals(rootItemType)) {
rootItemType = ERepositoryObjectType.METADATA_CONNECTIONS;
}
List<String> typeLabels = new ArrayList<String>();
findOutCompleteTypePath(rootItemType, typeLabels);
if (ERepositoryObjectType.PROCESS != null && ERepositoryObjectType.PROCESS.equals(rootItemType)) {
IRepositoryService repositoryService = IRepositoryService.get();
if (repositoryService != null) {
String standardNodeLabel = repositoryService.getStandardNodeLabel();
if (StringUtils.isNotBlank(standardNodeLabel)) {
typeLabels.add(standardNodeLabel);
}
}
}
StringBuffer buffer = new StringBuffer();
if (!typeLabels.isEmpty()) {
for (int i = 0; i < typeLabels.size(); i++) {
if (i != 0) {
buffer.append("/");
}
buffer.append(typeLabels.get(i));
}
}
return buffer.toString();
}
private void findOutCompleteTypePath(ERepositoryObjectType type, List<String> typeLabels) {
ERepositoryObjectType parentType = ERepositoryObjectType.findParentType(type);
if (parentType != null) {
findOutCompleteTypePath(parentType, typeLabels);
}
typeLabels.add(type.getLabel());
}
public String getMigrationDetails() {
String details = detailMessage;
if (StringUtils.isNotBlank(detailMessage)) {
return details;
}
if (operationType == null || StringUtils.isBlank(paramName)) {
details = getTaskClassName() + " task is applied";
return details;
}
StringBuffer detailBuffer = new StringBuffer();
if (node != null) {
// migration for node, e.g. tRESTClient component "tRESTClient_2":
detailBuffer.append(node.getComponentName()).append(" component ");
ElementParameterType uniqueName = ComponentUtilities.getNodeProperty(node, "UNIQUE_NAME");
detailBuffer.append(TalendQuoteUtils.addQuotes(uniqueName.getValue())).append(":");
} else {
// migration for item, e.g. context item "testContext":
detailBuffer.append(getItemType() + " item ")
.append(TalendQuoteUtils.addQuotes(item.getProperty().getLabel())).append(":");
}
detailBuffer.append(paramName).append(" was ");
switch (operationType) {
case ADD:
detailBuffer.append("added");
if (StringUtils.isNotBlank(newValue)) {
detailBuffer.append(" with ").append(newValue);
}
break;
case MODIFY:
detailBuffer.append("changed");
if (StringUtils.isNotBlank(oldValue)) {
detailBuffer.append(" from ").append(oldValue);
}
if (StringUtils.isNotBlank(newValue)) {
detailBuffer.append(" to ").append(newValue);
}
break;
case DELETE:
detailBuffer.append("deleted");
break;
default:
break;
}
details = detailBuffer.toString();
return details;
}
/**
* Getter for task.
*
* @return the task
*/
public IProjectMigrationTask getTask() {
return task;
}
/**
* Sets the task.
*
* @param task the task to set
*/
public void setTask(IProjectMigrationTask task) {
this.task = task;
}
/**
* Sets the operationType.
*
* @param operationType the operationType to set
*/
public void setOperationType(MigrationOperationType operationType) {
this.operationType = operationType;
}
/**
* Getter for item.
*
* @return the item
*/
public Item getItem() {
return item;
}
/**
* Sets the item.
*
* @param item the item to set
*/
public void setItem(Item item) {
this.item = item;
}
/**
* Sets the node.
*
* @param node the node to set
*/
public void setNode(NodeType node) {
this.node = node;
}
/**
* Sets the paramName.
*
* @param paramName the paramName to set
*/
public void setParamName(String paramName) {
this.paramName = paramName;
}
/**
* Sets the oldValue.
*
* @param oldValue the oldValue to set
*/
public void setOldValue(String oldValue) {
this.oldValue = oldValue;
}
/**
* Sets the newValue.
*
* @param newValue the newValue to set
*/
public void setNewValue(String newValue) {
this.newValue = newValue;
}
}

View File

@@ -19,6 +19,7 @@ import java.util.Map;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.talend.commons.exception.BusinessException;
import org.talend.commons.exception.LoginException;
import org.talend.commons.exception.PersistenceException;
@@ -565,4 +566,8 @@ public interface IProxyRepositoryFactory {
public void batchDeleteObjectPhysical4Remote(Project project, List<IRepositoryViewObject> objToDeleteList)
throws PersistenceException;
public void deleteOldVersionPhysical(Project project, IRepositoryViewObject objToDelete, String version) throws PersistenceException;
public void batchDeleteOldVersionPhysical4Remote(Project project, List<IRepositoryViewObject> objToDeleteList, IProgressMonitor monitor) throws PersistenceException;
}

View File

@@ -150,6 +150,8 @@ public interface IRepositoryService extends IService {
List<ModuleNeeded> getLog4j2Modules();
String getStandardNodeLabel();
public static IRepositoryService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRepositoryService.class)) {
return GlobalServiceRegister.getDefault().getService(IRepositoryService.class);

View File

@@ -1,7 +1,6 @@
#Mon Jun 08 12:27:33 CST 2009
Metadata=Metadata
TalendDataCollector=Usage Data Collector
TalendDataCollectorPreview=Preview
TalendDataCollectorUploading=Uploading
prefs=Talend
specificSetting=Specific Settings
specificSetting=Specific Settings

View File

@@ -130,10 +130,10 @@ FunctionManager.PurePerl.ParaName=customize parameter
GlobalServiceRegister.ServiceNotRegistered=The service {0} has not been registered.
GroupByContextAction.groupContext=Group by Context
GroupByVariableAction.groupVariable=Group by Variable
JavaFunctionParser.checkMethod=Runtines : "{0}.{1}\\" parse failed. please check your the Method.
JavaFunctionParser.checkMethod=Routines : "{0}.{1}\" parse failed. please check your the Method.
JavaGlobalVariableProposal.Description=Description\: {0}
JavaGlobalVariableProposal.VariableName=\n\nVariable Name\: {1}
JavaSimpleDateFormatProposalProvider.displaySingleQuote=\ '' : Display a single quote
JavaGlobalVariableProposal.VariableName=\n\nVariable Name: {1}
JavaSimpleDateFormatProposalProvider.displaySingleQuote=\ ' : Display a single quote
JavaSimpleDateFormatProposalProvider.quoteDisplayError=Two single quotes display only one single quote
JavaTypesManager.bigDecimal=BIGDECIMAL is number:
JavaTypesManager.integer=INTEGER is number:
@@ -268,7 +268,7 @@ SelectRepositoryContextDialog.ExpandAll=Expand All
SelectRepositoryContextDialog.Title=Select Context Variables
SelectRepositoryContextDialog.View=View...
SelectRepositoryContextGroupDialog.Default=default
SelectRepositoryContextGroupDialog.Messages=\ Add the nonexistent context group into job from the repository context.
SelectRepositoryContextGroupDialog.Messages=In the Job, add a nonexistent context group from the repository context
SelectRepositoryContextGroupDialog.Title=Add Context Group
TalendTabbedPropertyComposite.compactButton.toolTip=compact view
TalendTabbedPropertyComposite.tableButton.toolTip=table view
@@ -285,8 +285,7 @@ VersionSection.Version=Version
VersionSection.Status=Status
XmlArray.InvalidFile=Invalid file.
XPathQueryMetadataTableEditorViewExt.xpathQuerys=Schema XPathQuerys
XSDValidater.IllegalArgument=the input xsd file does not exist.
repository.businessProcess=Business Models
XSDValidater.IllegalArgument=The input XSD file does not exist.
repository.context=Contexts
repository.documentation=Documentation
repository.folder=Folder
@@ -340,7 +339,7 @@ repository.metadataLinkFileRules=LinkRules
repository.metadataLinkFileRules.alias=LinkRule
repository.metadataSalesforceSchema=Salesforce
repository.metadataSalesforceSchema.alias=Salesforce CRM
repository.process=Jobs
repository.process=Job Designs
repository.query=Query
repository.CDC=CDC
repository.svnroot=SVN
@@ -444,7 +443,7 @@ EComponentCategory.availableExtensions=Available Extensions
EComponentCategory.downloadedExtensions=Downloaded Extensions
EComponentCategory.myExtensions=My Extensions
TalendDataCollectorPreferencePage_EnableCapture=Enable capture
TalendDataCollectorPreferencePage_Description=The Usage Data Collector collects information about how individuals are using the Talend products. The intent is to use this data to help users and organizations better understand how developers are using Talend products.
TalendDataCollectorPreferencePage_Description=The Usage Data Collector collects information about how individuals are using the Talend products. The intent is to use this data to help Talend better understand how users and organizations are using Talend products.
TalendDataCollectorPreviewPreferencePage_Description=The following Keys/Values have been captured by the Usage Data Collector.
TalendDataCollectorPreviewPreferencePage_EmptyValue=<Empty>
TalendDataCollectorPreviewPreferencePage_Key=Key
@@ -456,7 +455,7 @@ TalendDataCollectorUploadingPreferencePage_UploadPeriod=Upload Period
TalendDataCollectorUploadingPreferencePage_Days=Days
repository.servicesOperation=Operation
repository.servicesPort=Port
RepositoryUpdateManager.MessagesForTDQ=Do you want to propagate the modifications to all Jobs?\nSome analysis dependenies will lost information.\nIt might be quite long.
RepositoryUpdateManager.MessagesForTDQ=Do you want to propagate the modifications to all Jobs?\nSome analysis dependencies will lost information.\nIt might be quite long.
EComponentCategory.executeJob=Execute Job
EComponentCategory.monitoring=Monitoring
BinRepositoryNode.label=Recycle bin
@@ -464,18 +463,6 @@ EMetadataEncoding.Latin9=Latin9
HDFS=HDFS
HCAT=HCAT
EConnectionType.startsMenu=Starts
TalendTabbedPropertyComposite.compactButton.toolTip=compact view
TalendTabbedPropertyComposite.tableButton.toolTip=table view
PaletteContentDialog.connection=Format connection default:
PaletteContentDialog.hint=Format hint default:
PaletteContentDialog.lable=Format label default:
ComponentsFormatPreferencePage.add=Add
ComponentsFormatPreferencePage.errorCreateConnectionName=The name "{0}" is not valid.
ComponentsFormatPreferencePage.formatConnection=Format connection default:
ComponentsFormatPreferencePage.formatHint=Format hint default:
ComponentsFormatPreferencePage.formatLable=Format label default:
ComponentsFormatPreferencePage.remove=Remove
ComponentsFormatPreferencePage.ErrorTitle=Error
MetadataTalendTypeEditor.button.edit=E&dit
MetadataTalendTypeEditor.button.export=E&xport
MetadataTalendTypeEditor.button.import=I&mport
@@ -507,16 +494,12 @@ MetadataTypeLengthConstants.STRING_LENGTH=String
MetadataTypeLengthConstants.FLOAT_LENGTH=Float
MetadataTypeLengthConstants.LIST_LENGTH=List
MetadataTypeLengthConstants.DATETIME_LENGTH=Datetime
JavaGlobalVariableProposal.Description=Description\: {0}
JavaGlobalVariableProposal.VariableName=Variable Name\: {1}
TalendType.TypeName=Type name {0}
PigProposalProvider.defaultUDFDescription=There is no User Defined Function of this category , you can use Pig UDF option to create one .
DbTableSelectorDialog.textContent=Select Table Name
MetadataEmfTableEditor.ColumnNameIsNullError=Error\: Column name is null
MetadataEmfTableEditor.ColumnNameExists=The input '{0}' already exist.
MetadataTableEditor.ColumnNameIsInvalid=Beacuse the input name not case sensitive, the input '{0}' already exist.
MetadataEmfTableEditor.ColumnNameExists=The column name '{0}' already exists
MetadataTableEditor.ColumnNameIsInvalid=The column name '{0}' is invalid.
MetadataTableEditor.ColumnNameIsNull=Error\: Column name is null
MetadataTableEditor.ColumnNameExists=The input '{0}' already exist.
MetadataTableEditor.ColumnNameExists=The column name '{0}' already exists.
MetadataDialog.CopyToInput.toolTipText=Copy all of the columns from output schema to input schema
MetadataDialog.CopySelectionToInput.toolTipText=Copy the selected columns from output schema to input schema
MetadataDialog.CopyToOutput=Copy all of the columns from input schema to output schema
@@ -527,33 +510,13 @@ MetadataDialog.TransferMessage=All columns from the output schema will be transf
MetadataDialog.NeedDoGuessQuery=Need do a guess query!
ConnectionParameters.exceptionMessage=This is a repository , should not call this method.
ExtendedTableResetDBTypesCommand.ResetDBTypes.Label=Reset DB type
XPathQueryMetadataTableEditorViewExt.xpathQuerys=Schema XPathQuerys
SchemaXPathQuerysDialog.Mappings=Mappings
CreateRuleDialog.conditionLabel=Condition
CreateRuleDialog.groupLabel=Create rule
CreateRuleDialog.messageLabel=create new rule
CreateRuleDialog.nameLabel=Name
CreateRuleDialog.ruleComponentName=tRules
CreateRuleDialog.title=Add a new rule
SchemaOperationChoiceDialog.ChangeBuiltInMessage=Change schema to built-in.
SchemaOperationChoiceDialog.ChangeRepositoryMessage=Change schema from repository.
SchemaOperationChoiceDialog.CreateBuiltInMessage=Create schema for built-in.
SchemaOperationChoiceDialog.CreateRepositoryMessage=Create schema from repository.
SchemaOperationChoiceDialog.EditSchemaMessage=Edit schema.
SchemaOperationChoiceDialog.Message=Please choose one option, or cancel.
SchemaOperationChoiceDialog.Option=Option
SchemaOperationChoiceDialog.StatusMessage=Invalid schema, or already exists.
SchemaOperationChoiceDialog.Title=Schema
SchemaOperationChoiceDialog.ViewSchemaMessage=View schema (read only).
SchemaOperationChoiceDialog.newViewSchemaMessage=View schema.
SchemaCellEditor.giveSchemaName=Give the name for the schema
SchemaCellEditor.inputName=Input the name
SchemaCellEditor.nameExistOrInvalid=This name already exists or is invalid
SchemaCellEditor.schemaName=Schema Name
ModuleListCellEditor.externalLabel=External modules
ModuleListCellEditor.innerLabel=Inner modules
ModuleListCellEditor.selectLabel=Select module
ModuleListCellEditor.title=Select Module
ContextAddParameterCommand.label=Add Parameter
ContextChangeDefaultCommand.label=Change default Context
ContextRemoveParameterCommand.label=Remove Parameter
@@ -568,12 +531,12 @@ RoutinesFunctionProposal.ReturnType.v1=Return Type: {2}\n
RoutinesFunctionProposal.VariableName.v1=Example: {3}\n\n
RoutinesFunctionProposal.User=User
RoutinesFunctionProposal.System=System
NodeReturnProposal.Description=Description: {0} : {1}\n\n
NodeReturnProposal.GlobalVariable=Global Variable: {2}\n
NodeReturnProposal.Type=Type: {3}\n
NodeReturnProposal.Availability=Availability: {4}\n
NodeReturnProposal.VariableName=Variable Name: {5}\n
ContextParameterProposal.NoCommentAvaiable=No Comment Available
NodeReturnProposal.Description=Description: {0}
NodeReturnProposal.GlobalVariable=\n\nGlobal variable, property of component {1} [{2}].
NodeReturnProposal.Type=\nType: {3}
NodeReturnProposal.Availability=\nAvailability: {4}
NodeReturnProposal.VariableName=\n\nVariable Name: {5}
ContextParameterProposal.NoCommentAvaiable=no comment available.
ContextParameterProposal.Description.v1=Description: {0}
ContextParameterProposal.ContextVariable.v1=Default context environment: {1}
ContextParameterProposal.Type.v1=Type: {2}
@@ -593,7 +556,7 @@ ContextMissSettingComposite.missingModuleMessages=this context view requires on
ContextMissSettingComposite.installName=Install
ContextMissSettingComposite.Title_Missing_jars_for_plugin=Missing third parties libraries
ContextMissSettingComposite.description_jars_to_be_installed_in=The Studio requires third parties libraries to be installed.\nPlease install the following jars before closing this window.
ContextTreeTable.AddToBuildIn_label=Add to built-in
ContextTreeTable.AddToBuildIn_label=Add to build-in
ContextTreeTable.AddToRepository_label=Add to repository context
ContextNebulaComposite.ContextsUnAvailable=Context view is not available.
ContextNebulaComposite.ContextGroupLabel=Default context environment
@@ -611,14 +574,12 @@ WorkspaceDlg.workspace.label=Workspace
WorkspaceDlg.browse.button=&Browse...
WorkspaceDlg.browse.folder.title=Select a workspace folder
WorkspaceDlg.use.this.as.default.cb.message=&Use this workspace as the default and do not ask again
PerspectiveMenuManager.dummy=Dummy
PerspectiveMenuManager.perspectiveLabel=&Perspective
I18nPreferencePage.needRestart=Local Language(need restart)
I18nPreferencePage.translationInformation=Test translation with Babili (works only for current language,other language selection needs restart)
I18nPreferencePage.needRestart=Local Language (need restart)
I18nPreferencePage.translationInformation=Test translation with Babili (works only for current language, other language selection needs restart)
I18nPreferencePage.importBabili=Import Translation from Babili
I18nPreferencePage.restart=Restart
I18nPreferencePage.restartButton=Need to restart to take effect.
I18nPreferencePage.restoreDefault=Restore default
I18nPreferencePage.wait_process=Process will hold on several minutes, please wait...
I18nPreferencePage.wait_process=The process will hold for several minutes, please wait...
MetadataPreferencePage.EnableBasic.name=Enable Basic Authentication Header
MetadataPreferencePage.MessageDialog.Restart=Will restart the studio to apply this setting. \nAre you sure?
MetadataPreferencePage.MessageDialog.Restart=The Studio needs to restart for this setting to take effect.\nAre you sure?

View File

@@ -1,7 +1,5 @@
#Created by JInto - www.guh-software.de
#Mon Jun 08 12:27:33 CST 2009
pluginName=DatabaseTalend Model
prefsName=Talend
providerName=www.example.org
talend.scheme=Talend default scheme
prefs=Talend
prefs=Talend

View File

@@ -50,7 +50,7 @@
<element name="componentInstallerTask">
<complexType>
<sequence>
<element ref="componentGAV" minOccurs="1" maxOccurs="unbounded"/>
<element ref="componentGAV" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="class" type="string" use="required">
<annotation>
@@ -71,6 +71,23 @@ The default value is &lt;b&gt;normal&lt;/b&gt;
</documentation>
</annotation>
</attribute>
<attribute name="ct">
<annotation>
<documentation>
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="1">
</enumeration>
<enumeration value="2">
</enumeration>
<enumeration value="4">
</enumeration>
</restriction>
</simpleType>
</attribute>
</complexType>
</element>
@@ -116,6 +133,8 @@ The default value is &lt;b&gt;normal&lt;/b&gt;
</enumeration>
<enumeration value="2">
</enumeration>
<enumeration value="4">
</enumeration>
</restriction>
</simpleType>
</attribute>

View File

@@ -1,5 +1,3 @@
#Created by JInto - www.guh-software.de
#Tue Mar 11 15:46:42 CST 2008
AbstractComponentsProvider.folderNotExist=Folder {0} does not exist.
AbstractItemMigrationTask.taskFailed=Migration task {0} failed on item {1}
ColumnNameChangedExt.columnChanged=Node: {0} Column changed : {1}-> {2}
@@ -8,7 +6,7 @@ ComponentToRepositoryProperty.ImpossibleUseOCI=Impossible to use OCI type in the
ContextComposite.tableValue=Values as table
ContextComposite.treeValue=Values as tree
ContextComposite.variable=Variables
ContextValueErrorChecker.ErrorTitile=Context value error:
ContextValueErrorChecker.ErrorTitile=Context value error:
ContextProcessSection.1=menuTable
ContextProcessSection.12=Rename Context
ContextProcessSection.13=Give a new name for the context {0}
@@ -46,7 +44,7 @@ CorePreferencePage.javaInterpreter=&Java interpreter
CorePreferencePage.perlInterpreter=Perl interpreter
CorePreferencePage.previewLimit=Preview limit
CorePreferencePage.runInMultiThread=Multi Thread execution (Default value for job creation)
CorePreferencePage.temporaryFiles=&Temporary files
CorePreferencePage.temporaryFiles=&Temporary files
ECodeLanguage.unknowLanguage=Unknown language
EComponentCategory_advanceSetting=Advanced settings
EComponentCategory_appearance=Appearance
@@ -112,25 +110,25 @@ ERepositoryObjectType.NotImplemented=not implemented
ExtractMetaDataFromDataBase.SchemaNoPresent=Schema not present in Database
ExtractMetaDataFromDataBase.connectionSuccessful=Connection successful
ExtractMetaDataFromDataBase.dbTypeNotFound=dbType '{0}' not found
ExtractMetaDataUtils.1=Impossible to initialize the connection \!
ExtractMetaDataUtils.1=Impossible to initialize the connection.
ExtractMetaDataUtils.noData=No data found.
GlobalServiceRegister.ServiceNotRegistered=The service {0} has not been registered.
GroupByContextAction.groupContext=Group by Context
GroupByVariableAction.groupVariable=Group by Variable
JavaSimpleDateFormatProposalProvider.displaySingleQuote=\ '' : Display a single quote
JavaSimpleDateFormatProposalProvider.displaySingleQuote=\ ' : Display a single quote
JavaSimpleDateFormatProposalProvider.quoteDisplayError=Two single quotes display only one single quote
JavaTypesManager.bigDecimal=BIGDECIMAL is number:
JavaTypesManager.integer=INTEGER is number:
JavaTypesManager.list=LIST is number:
JavaTypesManager.string=STRING is number:
ListPreferencePage.RemoveButtonName=Remove
MappingFileLoader.DbTypeAlreadyExists=In dbms id "{0}" mapping, Db type "{1}" appears more than once into file "{2}" at node\:{3}
MappingFileLoader.DbmsIdAlreadyExists=Dbms with id "{0}" already exists \!"
MappingFileLoader.InvalidTalendType="{0}" is not a valid {1} Talend type for the dbms id "{2}" at node\: {3}
MappingFileLoader.UnbindedDbTypes=In dbms id "{0}" mapping file, Db types below are not bind with "{1}" Talend types \: {2}
MappingFileLoader.UnbindedTalendTypes=In dbms id "{0}" mapping file, Talend types below are not bind with "{1}" Db types \: {2}
MappingFileLoader.UndeclaredDbType="{0}"is not a declared Db type for the dbms id "{1}" at node\: {2}
MetadataTalendType.dbIdNotFound=DBMS Id : {0} can't be found \!
MappingFileLoader.DbTypeAlreadyExists=In dbms id "{0}" mapping, Db type "{1}" appears more than once into file "{2}" at node:{3}
MappingFileLoader.DbmsIdAlreadyExists=Dbms with id "{0}" already exists !"
MappingFileLoader.InvalidTalendType="{0}" is not a valid {1} Talend type for the dbms id "{2}" at node: {3}
MappingFileLoader.UnbindedDbTypes=In dbms id "{0}" mapping file, Db types below are not bind with "{1}" Talend types : {2}
MappingFileLoader.UnbindedTalendTypes=In dbms id "{0}" mapping file, Talend types below are not bind with "{1}" Db types : {2}
MappingFileLoader.UndeclaredDbType="{0}"is not a declared Db type for the dbms id "{1}" at node: {2}
MetadataTalendType.dbIdNotFound=DBMS Id : {0} can't be found.
MetadataTalendType.DBMSNotSetted=DBMS not setted
MetadataTool.errorMessage=Can't input the current character.
MetadataTool.invalid=Invalid value
@@ -142,23 +140,23 @@ MetadataTool.schemaIn=The schema name is invalid.
MetadataTool.schemaInvalid=Schema name is invalid.
MetadataTool.schemaNull=Schema name is null.
PatternCalendar.dateFormat="yyyy-MM-dd HH:mm:ss"
PatternCalendar.example=Example:
PatternCalendar.example=Example:
PerlDynamicProposalUtil.autoConvert=\ would be automatically converted to {0}->[index] in the generated code
ProcessorUtilities.finalizeBuild=Finalize build...
ProcessorUtilities.generatingJob=Generating job...
ProcessorUtilities.loadingJob=Loading job...
ProcessorUtilities.finalizeBuild=Finalize build...
ProcessorUtilities.generatingJob=Generating job...
ProcessorUtilities.loadingJob=Loading job...
ProcessorUtilities.nullProcess=The testCase process is null.
RelationshipItemBuilder.buildingIndex=Building index...
RelationshipItemBuilder.forItem=for item
RelationshipItemBuilder.forItem=for item
RepositoryObject.NotImplemented=not implemented
RepositoryUpdateManager.Title=Modification
RepositoryUpdateManager.Check=Checking...
RepositoryUpdateManager.Messages=Do you want to propagate the modifications to all jobs? \n And it might be quite long.
RepositoryUpdateManager.Messages=Do you want to detect all the Jobs that are affected by the modifications done in this item? This may take some time.
RepositoryUpdateManager.NoModificationTitle=No modification needed
RepositoryUpdateManager.NoModificationMessages=There is no modification needed for update.
RepositoryUpdateManager.NotFoundMessages=There is no relationship to find.
RepositoryUpdateManager.NotFoundTitle=Not Found
RepositoryUpdateManager.RenameContextMessages=Do you really want to propagate the rename variable to all jobs now? \n\n If yes, it might be quite long time to update.\n\n If no, the old variables will be change to built-in in the job.
RepositoryUpdateManager.RenameContextMessages=Do you really want to propagate the rename variable to all jobs now? \n\n If yes, it might be quite long time to update.\n\n If no, the old variables will be change to built-in in the job.
RepositoryUpdateManager.RenameContextTitle=Rename Question
RepositoryUpdateManager.ItemsToUpdate=Check items to update
RuleOperationChoiceDialog.editRules=Edit Rules
@@ -167,23 +165,23 @@ RuleOperationChoiceDialog.selectRulesFile=Select a rule from file
RuleOperationChoiceDialog.viewRules=View Rules(Read-only)
SelectRepositoryContextDialog.DeselectAll=Deselect All
SelectRepositoryContextDialog.CollapseAll=Collapse All
SelectRepositoryContextDialog.DuplicationMessage=You have selected the variable "{0}" in the Context "{1}".
SelectRepositoryContextDialog.DuplicationTitle=Duplication Warining\!
SelectRepositoryContextDialog.DuplicationMessage=You have selected the variable "{0}" in the Context "{1}".
SelectRepositoryContextDialog.DuplicationTitle=Duplication Warining!
SelectRepositoryContextDialog.ExistenceMessage=The variable "{0}" has existed in job(Context:"{1}").
SelectRepositoryContextDialog.Label=Select variables from repository contexts.
SelectRepositoryContextDialog.Label=Select variables from repository contexts.
SelectRepositoryContextDialog.SelectAll=Select All
SelectRepositoryContextDialog.ExpandAll=Expand All
SelectRepositoryContextDialog.Title=Select Context Variables
SelectRepositoryContextDialog.View=View...
SelectRepositoryContextGroupDialog.Default=default
SelectRepositoryContextGroupDialog.Messages=\ Add the nonexistent context group into job from the repository context.
SelectRepositoryContextGroupDialog.Default=Default
SelectRepositoryContextGroupDialog.Messages=In the Job, add a nonexistent context group from the repository context
SelectRepositoryContextGroupDialog.Title=Add Context Group
VersionSection.CreationDate=Creation Date
VersionSection.ModificationDate=Modification Date
VersionSection.Version=Version
VersionSection.Status=Status
XmlArray.InvalidFile=Invalid file.
XSDValidater.IllegalArgument=the input xsd file is not existing.
XSDValidater.IllegalArgument=The input XSD file does not exist.
EUpdateItemType.Property=Property
EUpdateItemType.Schema=Schema
EUpdateItemType.SAPFunction=SAP Function
@@ -199,7 +197,7 @@ EUpdateResult.JobletUpdate=Update for joblet node
EUpdateResult.Update=Update from repository
EUpdateResult.Reload=Reload components
EUpdateResult.Rename=Change the name
EUpdateResult.Add=Add from repository
EUpdateResult.Add=Add to repository
EUpdateResult.Delete=Delete from repository
UpdatesConstants.Context=Context
UpdatesConstants.ContextGroup=Context Group
@@ -217,17 +215,17 @@ ApplicationActionBarAdvisor.gotoLabel=&Go to
ApplicationActionBarAdvisor.projectLabel=&Project
ApplicationActionBarAdvisor.menuWindowLabel=&Window
ApplicationActionBarAdvisor.menuHelpLabel=&Help
BusinessAppearanceComposite.textAlignmentGroup= Text Alignment
BusinessAppearanceComposite.textAlignment.horizontal = Horizontal
BusinessAppearanceComposite.textAlignment.vertical = Vertical
BusinessAppearanceComposite.textAlignment.horizontal.left= Left
BusinessAppearanceComposite.textAlignment.horizontal.right= Right
BusinessAppearanceComposite.textAlignment.horizontal.centre= Centre
BusinessAppearanceComposite.textAlignment.vertical.top= Top
BusinessAppearanceComposite.textAlignment.vertical.bottom= Bottom
BusinessAppearanceComposite.textAlignment.vertical.centre =Centre
BusinessAppearanceComposite.textAlignmentGroup=Text Alignment
BusinessAppearanceComposite.textAlignment.horizontal=Horizontal
BusinessAppearanceComposite.textAlignment.vertical=Vertical
BusinessAppearanceComposite.textAlignment.horizontal.left=Left
BusinessAppearanceComposite.textAlignment.horizontal.right=Right
BusinessAppearanceComposite.textAlignment.horizontal.centre=Centre
BusinessAppearanceComposite.textAlignment.vertical.top=Top
BusinessAppearanceComposite.textAlignment.vertical.bottom=Bottom
BusinessAppearanceComposite.textAlignment.vertical.centre=Centre
HTMLDocGenerator_generate_document=Generated documentation
HTMLDocGenerator.author=AUTHOR
HTMLDocGenerator.author=Author
HTMLDocGenerator.author1=Author
HTMLDocGenerator.column=Column
HTMLDocGenerator.comment=Comment
@@ -283,7 +281,7 @@ HTMLDocGenerator.row_parameters=Parameters
HTMLDocGenerator.schema_for=Schema for
HTMLDocGenerator.source=Source
HTMLDocGenerator.source_code=Source Code
HTMLDocGenerator.stats_logs=Stats &amp; Logs
HTMLDocGenerator.stats_logs=Stats & Logs
HTMLDocGenerator.status=Status
HTMLDocGenerator.summary=Summary
HTMLDocGenerator.tmap.constraint.entries=Constraint Table Entries
@@ -298,10 +296,10 @@ HTMLDocGenerator.unique_name=UNIQUE NAME
HTMLDocGenerator.value=Value
HTMLDocGenerator.values=Values
HTMLDocGenerator.version=Version
InegerCellEditorListener.NegativeNumberMessage=The value of {0} can't be set by negative number.
InegerCellEditorListener.NegativeNumberMessage=The value of {0} can't be a negative number.
InegerCellEditorListener.NumeralMessage=The value of {0} should be numeral.
ProposalUtils.CellProposal.Error=Proposal of this type of CellEditor is unsupported \:
ProposalUtils.CtrlProposal.ErrorMsg=Proposal for this type of Control is unsupported \:
ProposalUtils.CellProposal.Error=Proposal of this type of CellEditor is unsupported \:
ProposalUtils.CtrlProposal.ErrorMsg=Proposal for this type of Control is unsupported \:
ConnectionParameterName.HostLabel=Host
ConnectionParameterName.PortLabel=Port
ConnectionParameterName.DatabaseLabel=Database
@@ -310,13 +308,13 @@ ConnectionParameterName.UserLabel=User
ConnectionParameterName.PasswordLabel=Password
ConnectionParameterName.DbfileLabel=Database
ConnectionParameterName.DbPathLabel=DataBase Root Path
ImportExternalJarAction.title=Import external jars
ImportExternalJarAction.title=Add external JARs
ActionBarBuildHelper.CloseEditorAction_text=&Close
ActionBarBuildHelper.CloseEditorAction_toolTip=Close
ActionBarBuildHelper.CloseAllAction_text=C&lose All
ActionBarBuildHelper.CloseAllAction_toolTip=Close All
ActionBarBuildHelper.SaveAll_text=Sav&e All
ActionBarBuildHelper.SaveAll_toolTip=Save All
ContextOrderProperty.BuiltInComment=Build-in context variables
ContextOrderProperty.BuiltInComment=Built-in context variables
ContextOrderProperty.RepositoryComment=Context variables from repository context:
BaseComponentInstallerTask.installComponent=Installing component {0}
BaseComponentInstallerTask.installComponent=Installing component {0}

View File

@@ -57,10 +57,10 @@ public class ModifyComponentsAction {
searchAndModify(item, item.getProcess(), filter, conversions);
}
public static void searchAndModify(Item item, ProcessType processType, IComponentFilter filter,
public static boolean searchAndModify(Item item, ProcessType processType, IComponentFilter filter,
List<IComponentConversion> conversions) throws PersistenceException {
if (processType == null) {
return;
return false;
}
IRepositoryService service = (IRepositoryService) GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
IProxyRepositoryFactory factory = service.getProxyRepositoryFactory();
@@ -73,6 +73,7 @@ public class ModifyComponentsAction {
if (modified) {
factory.save(item, true);
}
return modified;
}
public static void searchAndModify(IComponentFilter filter, List<IComponentConversion> conversions)

View File

@@ -45,11 +45,36 @@ import org.talend.utils.io.FilesUtils;
abstract public class BaseComponentInstallerTask implements IComponentInstallerTask {
private static final Logger LOGGER = LoggerFactory.getLogger(BaseComponentInstallerTask.class);
private static final String SYS_PROP_TCOMPV0 = "tcompv0.update";
private static final String SYS_PROP_OVERWRITE = "m2.overwrite";
private static final String SYS_PROP_OVERWRITE_DEFAULT = "false";
private int order;
private int componentType = -1;
private Set<ComponentGAV> gavs = new HashSet<ComponentGAV>();
protected boolean overWriteM2() {
String prop = System.getProperty(SYS_PROP_OVERWRITE, SYS_PROP_OVERWRITE_DEFAULT);
return Boolean.valueOf(prop);
}
protected boolean updateTcompv0() {
String prop = System.getProperty(SYS_PROP_TCOMPV0, SYS_PROP_OVERWRITE_DEFAULT);
return Boolean.valueOf(prop);
}
@Override
public int getComponentType() {
return componentType;
}
@Override
public void setComponentType(int componentType) {
this.componentType = componentType;
}
@Override
public int getOrder() {
return this.order;
@@ -114,6 +139,12 @@ abstract public class BaseComponentInstallerTask implements IComponentInstallerT
*/
@Override
public boolean needInstall() {
if (this.updateTcompv0()) {
LOGGER.info("System property: {} is true", SYS_PROP_TCOMPV0);
return true;
}
boolean toInstall = false;
Set<ComponentGAV> tcompv0Gavs = this.getComponentGAV(COMPONENT_TYPE_TCOMPV0);
@@ -167,7 +198,7 @@ abstract public class BaseComponentInstallerTask implements IComponentInstallerT
for (File zf : zipFiles) {
try {
FilesUtils.unzip(zf.getAbsolutePath(), m2Dir.getAbsolutePath(), false);
FilesUtils.unzip(zf.getAbsolutePath(), m2Dir.getAbsolutePath(), this.overWriteM2());
LOGGER.info("Jar zip: {} were unzipped to {}", zf, m2Dir);
} catch (Exception e) {
LOGGER.error("unzipp error", e);

View File

@@ -90,10 +90,16 @@ public class ComponentInstallerTaskRegistryReader extends RegistryReader {
public List<IComponentInstallerTask> getTasks(int componentType) {
List<IComponentInstallerTask> allTasks = getTasks();
allTasks = allTasks.stream().filter(task -> {
for (ComponentGAV gav : task.getComponentGAV()) {
if ((gav.getComponentType() & componentType) > 0) {
if (task.getComponentType() > -1) {
if ((task.getComponentType() & componentType) > 0) {
return true;
}
} else {
for (ComponentGAV gav : task.getComponentGAV()) {
if ((gav.getComponentType() & componentType) > 0) {
return true;
}
}
}
return false;
}).collect(Collectors.toList());
@@ -120,6 +126,10 @@ public class ComponentInstallerTaskRegistryReader extends RegistryReader {
}
task.setOrder(order);
String ct = element.getAttribute(TYPE_ATTRIBUTE);
if (ct != null) {
task.setComponentType(Integer.valueOf(ct));
}
readGAV(task, element);

View File

@@ -27,6 +27,8 @@ public interface IComponentInstallerTask {
int COMPONENT_TYPE_TCOMPV1 = 2;
int COMPONENT_TYPE_MAVEN_REPO = 4;
/**
* Order of the task, smaller means higher priority
*
@@ -77,4 +79,13 @@ public interface IComponentInstallerTask {
*/
boolean install(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException;
/**
* @return the componentType
*/
int getComponentType();
/**
* @param componentType the componentType to set
*/
void setComponentType(int componentType);
}

View File

@@ -80,6 +80,8 @@ public interface ICoreTisService extends IService {
Set<String> getComponentBlackList();
String getStandardNodeLabel();
public void afterImport (Property property) throws PersistenceException;
boolean hasNewPatchInPatchesFolder();

View File

@@ -184,6 +184,8 @@ public class ProcessorUtilities {
private static boolean isDynamicJobAndCITest = false;
private static JobInfo mainJobInfo;
private static boolean needExportItemsForDQ = false;
public static void addOpenEditor(IEditorPart editor) {
openedEditors.add(editor);
@@ -272,6 +274,7 @@ public class ProcessorUtilities {
exportAsOSGI = false;
exportTimeStamp = null;
exportJobAsMicroService = false;
needExportItemsForDQ = false;
}
public static String getInterpreter() {
@@ -685,7 +688,7 @@ public class ProcessorUtilities {
processor.setArguments(argumentsMap);
copyDQDroolsToSrc(selectedProcessItem);
handelDQComponents(selectedProcessItem, currentProcess);
// generate the code of the father after the childrens
// so the code won't have any error during the check, and it will help to check
// if the generation is really needed.
@@ -1184,7 +1187,7 @@ public class ProcessorUtilities {
processor.setArguments(argumentsMap);
copyDQDroolsToSrc(selectedProcessItem);
handelDQComponents(selectedProcessItem, currentProcess);
generateContextInfo(jobInfo, selectedContextName, statistics, trace, needContext, progressMonitor,
currentProcess, currentJobName, processor, isMainJob, codeGenerationNeeded);
@@ -1289,15 +1292,13 @@ public class ProcessorUtilities {
/**
*
* copy the current item's drools file from 'workspace/metadata/survivorship' to '.Java/src/resources'
* Specail operation for DQ components:
* - For tdqReportRun, set 'needExportItemsForDQ'to true so as the item folder can be exported
* - For tRuleSurvivorship, copy the current item's drools file from 'workspace/metadata/survivorship' to '.Java/src/resources'
*
* @param processItem
*/
private static void copyDQDroolsToSrc(ProcessItem processItem) {
// 1.TDQ-12474 copy the "metadata/survivorship/rulePackage" to ".Java/src/main/resources/". so that it will be
// used by
// maven command 'include-survivorship-rules' to export.
// 2.TDQ-14308 current drools file in 'src/resourcesmetadata/survivorship/' should be included to job jar.
private static void handelDQComponents(ProcessItem processItem, IProcess currentProcess) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQItemService.class)) {
ITDQItemService tdqItemService =
GlobalServiceRegister.getDefault().getService(ITDQItemService.class);
@@ -1305,6 +1306,20 @@ public class ProcessorUtilities {
return;
}
try {
// TDQ-19637 if it includes 'tDqReportRun',must export item folder
if (!needExportItemsForDQ) {
for (INode node : currentProcess.getGeneratingNodes()) {
String componentName = node.getComponent().getName();
if ("tDqReportRun".equals(componentName)) {
needExportItemsForDQ = true;
break;
}
}
}
/* 1.TDQ-12474 copy the "metadata/survivorship/rulePackage" to ".Java/src/main/resources/". so that it will be
used by maven command 'include-survivorship-rules' to export.
2.TDQ-14308 current drools file in 'src/resourcesmetadata/survivorship/' should be included to job jar.
*/
ExportFileResource resouece = new ExportFileResource();
BuildExportManager.getInstance().exportDependencies(resouece, processItem);
if (resouece.getAllResources().isEmpty()) {
@@ -2734,4 +2749,8 @@ public class ProcessorUtilities {
public static boolean isDynamicJobAndCITest() {
return isDynamicJobAndCITest;
}
public static boolean isNeedExportItemsForDQ() {
return needExportItemsForDQ;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +1,2 @@
# <copyright>
# </copyright>
#
# $Id$
# ====================================================================
# To code developer:
# Do NOT change the properties between this line and the
# "%%% END OF TRANSLATED PROPERTIES %%%" line.
# Make a new property name, append to the end of the file and change
# the code to use the new property.
# ====================================================================
# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================
pluginName = CWM MIP Model Plug-in
providerName = .Talend SA.
pluginName=CWM MIP Model
providerName=.Talend SA.

View File

@@ -131,16 +131,16 @@ public class MavenLibraryResolverProvider {
}
public ArtifactResult resolveArtifact(MavenArtifact aritfact, boolean is4Parent) throws Exception {
public ArtifactResult resolveArtifact(MavenArtifact artifact, boolean is4Parent) throws Exception {
ArtifactRequest artifactRequest = new ArtifactRequest();
RemoteRepository remoteRepo = getRemoteRepositroy(aritfact);
RemoteRepository remoteRepo = getRemoteRepositroy(artifact);
artifactRequest.addRepository(remoteRepo);
if (is4Parent) {
artifactRequest.addRepository(dynamicRemoteRepository);
}
Artifact artifact = new DefaultArtifact(aritfact.getGroupId(), aritfact.getArtifactId(), aritfact.getClassifier(),
aritfact.getType(), aritfact.getVersion());
artifactRequest.setArtifact(artifact);
// Classifier must not be specified if type is pom
artifactRequest.setArtifact(new DefaultArtifact(artifact.getGroupId(), artifact.getArtifactId(), "pom".equals(artifact.getType()) ? "" : artifact.getClassifier(),
artifact.getType(), artifact.getVersion()));
ArtifactResult result = null;
if (is4Parent) {
result = dynamicRepoSystem.resolveArtifact(dynamicRepoSystemSession, artifactRequest);

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/main/java/"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.talend.designer.maven.repo.tck</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,15 @@
Manifest-Version: 1.0
Automatic-Module-Name: org.talend.designer.maven.repo.tck
Bundle-ManifestVersion: 2
Bundle-Name: Maven repo Tck Plug-in
Bundle-SymbolicName: org.talend.designer.maven.repo.tck;singleton:=true
Bundle-Version: 8.0.1.qualifier
Bundle-Localization: plugin
Eclipse-LazyStart: true
Require-Bundle: org.talend.core,
org.talend.updates.runtime
Bundle-Vendor: .Talend SA.
Import-Package: org.eclipse.core.runtime,
org.slf4j
Bundle-ClassPath: .
Eclipse-BundleShape: dir

View File

@@ -0,0 +1,7 @@
source.. = src/main/java/
output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
plugin.properties,\
repository/

View File

@@ -0,0 +1,7 @@
#Created by JInto - www.guh-software.de
#Mon Jun 08 12:27:33 CST 2009
pluginName=DatabaseTalend Model
prefsName=Talend
providerName=www.example.org
talend.scheme=Talend default scheme
prefs=Talend

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.talend.core.component_installer_task">
<componentInstallerTask
class="org.talend.designer.maven.repo.tck.TckInstaller" order="1" ct="4" >
</componentInstallerTask>
</extension>
</plugin>

View File

@@ -0,0 +1,189 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.designer.maven.repo.tck</artifactId>
<packaging>eclipse-plugin</packaging>
<properties>
<jackson.version>2.11.4</jackson.version>
</properties>
<repositories>
<repository>
<id>talend_open</id>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>https://artifacts-oss.talend.com/nexus/content/repositories/TalendOpenSourceRelease/</url>
</repository>
<repository>
<id>talend_open_snapshots</id>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>https://artifacts-oss.talend.com/nexus/content/repositories/TalendOpenSourceSnapshot/</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.talend.components</groupId>
<artifactId>connectors-se</artifactId>
<version>${tacokit.components.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- following dependencies fix provided scope to compile for dependencies from connectors-se -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
<version>2.7</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.8.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.5</version>
<scope>compile</scope>
</dependency>
<!-- end dependencies which fix provided scope to compile -->
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/repository</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
<fileset>
<directory>${project.basedir}/tmp</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies-jar</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/tmp</outputDirectory>
<includeScope>runtime</includeScope>
<useRepositoryLayout>true</useRepositoryLayout>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>zip-maven-repository</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<zip destfile="${project.basedir}/repository/maven_repository.zip" basedir="${project.basedir}/tmp/" />
<delete dir="${project.basedir}/tmp/" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,2 @@
*.zip
*.properties

View File

@@ -0,0 +1,29 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.maven.repo.tck;
import org.talend.core.model.utils.BaseComponentInstallerTask;
import org.talend.updates.runtime.maven.M2repoBaseInstaller;
/**
* @author bhe created on Jul 29, 2021
*
*/
public class TckInstaller extends M2repoBaseInstaller {
@Override
protected Class<? extends BaseComponentInstallerTask> getInstallerClass() {
return TckInstaller.class;
}
}

View File

@@ -0,0 +1 @@
**/*

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/main/java/"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.talend.designer.maven.repo.tcksdk</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,15 @@
Manifest-Version: 1.0
Automatic-Module-Name: org.talend.designer.maven.repo.tcksdk
Bundle-ManifestVersion: 2
Bundle-Name: Maven repo Tcksdk Plug-in
Bundle-SymbolicName: org.talend.designer.maven.repo.tcksdk;singleton:=true
Bundle-Version: 8.0.1.qualifier
Bundle-Localization: plugin
Eclipse-LazyStart: true
Require-Bundle: org.talend.core,
org.talend.updates.runtime
Bundle-Vendor: .Talend SA.
Import-Package: org.eclipse.core.runtime,
org.slf4j
Bundle-ClassPath: .
Eclipse-BundleShape: dir

View File

@@ -0,0 +1 @@
jarprocessor.exclude.children=true

View File

@@ -0,0 +1,7 @@
source.. = src/main/java/
output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
plugin.properties,\
repository/

View File

@@ -0,0 +1,7 @@
#Created by JInto - www.guh-software.de
#Mon Jun 08 12:27:33 CST 2009
pluginName=DatabaseTalend Model
prefsName=Talend
providerName=www.example.org
talend.scheme=Talend default scheme
prefs=Talend

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.talend.core.component_installer_task">
<componentInstallerTask
class="org.talend.designer.maven.repo.tcksdk.TcksdkInstaller" order="1" ct="4" >
</componentInstallerTask>
</extension>
</plugin>

View File

@@ -0,0 +1,185 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.designer.maven.repo.tcksdk</artifactId>
<packaging>eclipse-plugin</packaging>
<properties>
<tcomp.version>${component-runtime.version}</tcomp.version>
<slf4j.version>1.7.28</slf4j.version>
</properties>
<repositories>
<repository>
<id>talend_open</id>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>https://artifacts-oss.talend.com/nexus/content/repositories/TalendOpenSourceRelease/</url>
</repository>
<repository>
<id>talend_open_snapshots</id>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>https://artifacts-oss.talend.com/nexus/content/repositories/TalendOpenSourceSnapshot/</url>
</repository>
<repository>
<id>sonatype_snapshots</id>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.talend.sdk.component</groupId>
<artifactId>component-runtime</artifactId>
<version>${tcomp.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.talend.sdk.component</groupId>
<artifactId>component-server</artifactId>
<version>${tcomp.version}</version>
</dependency>
<dependency>
<groupId>org.talend.sdk.component</groupId>
<artifactId>component-runtime-di</artifactId>
<version>${tcomp.version}</version>
</dependency>
<dependency>
<groupId>org.talend.sdk.component</groupId>
<artifactId>component-api</artifactId>
<version>${tcomp.version}</version>
</dependency>
<dependency>
<groupId>org.talend.sdk.component</groupId>
<artifactId>slf4j-standard</artifactId>
<version>${tcomp.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-text -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/repository</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
<fileset>
<directory>${project.basedir}/tmp</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies-jar</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/tmp</outputDirectory>
<includeScope>runtime</includeScope>
<useRepositoryLayout>true</useRepositoryLayout>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>zip-maven-repository</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<zip destfile="${project.basedir}/repository/maven_repository.zip" basedir="${project.basedir}/tmp/" />
<delete dir="${project.basedir}/tmp/" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,2 @@
*.zip
*.properties

View File

@@ -0,0 +1,29 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.maven.repo.tcksdk;
import org.talend.core.model.utils.BaseComponentInstallerTask;
import org.talend.updates.runtime.maven.M2repoBaseInstaller;
/**
* @author bhe created on Jul 29, 2021
*
*/
public class TcksdkInstaller extends M2repoBaseInstaller {
@Override
protected Class<? extends BaseComponentInstallerTask> getInstallerClass() {
return TcksdkInstaller.class;
}
}

View File

@@ -0,0 +1 @@
**/*

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/main/java/"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.talend.designer.maven.repo.tcompv0</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,15 @@
Manifest-Version: 1.0
Automatic-Module-Name: org.talend.designer.maven.repo.tcompv0
Bundle-ManifestVersion: 2
Bundle-Name: Maven repo Tcompv0 Plug-in
Bundle-SymbolicName: org.talend.designer.maven.repo.tcompv0;singleton:=true
Bundle-Version: 8.0.1.qualifier
Bundle-Localization: plugin
Eclipse-LazyStart: true
Require-Bundle: org.talend.core,
org.talend.updates.runtime
Bundle-Vendor: .Talend SA.
Import-Package: org.eclipse.core.runtime,
org.slf4j
Bundle-ClassPath: .
Eclipse-BundleShape: dir

View File

@@ -0,0 +1 @@
jarprocessor.exclude.children=true

View File

@@ -0,0 +1,7 @@
source.. = src/main/java/
output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
plugin.properties,\
repository/

View File

@@ -0,0 +1,7 @@
#Created by JInto - www.guh-software.de
#Mon Jun 08 12:27:33 CST 2009
pluginName=DatabaseTalend Model
prefsName=Talend
providerName=www.example.org
talend.scheme=Talend default scheme
prefs=Talend

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.talend.core.component_installer_task">
<componentInstallerTask
class="org.talend.designer.maven.repo.tcompv0.Tcompv0Installer" order="1" ct="4" >
</componentInstallerTask>
</extension>
</plugin>

View File

@@ -0,0 +1,245 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.designer.maven.repo.tcompv0</artifactId>
<packaging>eclipse-plugin</packaging>
<properties>
<!-- Might be removed because parent-pom contains property -->
<junit.version>4.13.2</junit.version>
<!-- Maven repository urls -->
<talend_snapshots>https://artifacts-oss.talend.com/nexus/content/repositories/TalendOpenSourceSnapshot/</talend_snapshots>
<talend_releases>https://artifacts-oss.talend.com/nexus/content/repositories/TalendOpenSourceRelease/</talend_releases>
<talend_snapshots_ee>https://artifacts-zl.talend.com/nexus/content/repositories/snapshots/</talend_snapshots_ee>
<talend_releases_ee>https://artifacts-zl.talend.com/nexus/content/repositories/releases/</talend_releases_ee>
</properties>
<repositories>
<repository>
<id>talend_open</id>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>${talend_releases}</url>
</repository>
<repository>
<id>talend_open_snapshots</id>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>${talend_snapshots}</url>
</repository>
<repository>
<id>releases</id>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>${talend_releases_ee}</url>
</repository>
<repository>
<id>snapshots</id>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<url>${talend_snapshots_ee}</url>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-cbor</artifactId>
<version>${m2.fasterxml.jackson.version}</version>
</dependency>
<!-- It fixes provided dependency scope to compile, because maven-dependency-plugin is setup to include
only compile and runtime scopes, but provided is also required. It's not possible to setup plugin to
include all: compile, runtime and provided dependencies -->
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>annotation</artifactId>
<version>2.4.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.talend.components</groupId>
<artifactId>components-bom</artifactId>
<version>${components.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Dependencies in provided scope should be explicitly added as dependency in this module,
because provided scope is not transitive -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.service.component.annotations</artifactId>
<version>1.3.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.inject</artifactId>
<version>0.0.0.M2a</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>${jackson-codehaus.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>${jackson-codehaus.version}</version>
</dependency>
<dependency>
<groupId>org.talend.daikon-ee</groupId>
<artifactId>format-detection-csv</artifactId>
<version>${daikon-ee.format.verison}</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15on</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.talend.daikon-ee</groupId>
<artifactId>format-detection-core</artifactId>
<version>${daikon-ee.format.verison}</version>
</dependency>
<dependency>
<groupId>org.talend.daikon-ee</groupId>
<artifactId>format-type-detection-csv</artifactId>
<version>${daikon-ee.format.verison}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}/repository</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
<fileset>
<directory>${project.basedir}/tmp</directory>
<includes>
<include>**/*</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies-jar</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/tmp</outputDirectory>
<includeScope>runtime</includeScope>
<useRepositoryLayout>true</useRepositoryLayout>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>zip-maven-repository</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<zip destfile="${project.basedir}/repository/maven_repository.zip" basedir="${project.basedir}/tmp/" />
<delete dir="${project.basedir}/tmp/" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,2 @@
*.zip
*.properties

View File

@@ -0,0 +1,29 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.maven.repo.tcompv0;
import org.talend.core.model.utils.BaseComponentInstallerTask;
import org.talend.updates.runtime.maven.M2repoBaseInstaller;
/**
* @author bhe created on Jul 29, 2021
*
*/
public class Tcompv0Installer extends M2repoBaseInstaller {
@Override
protected Class<? extends BaseComponentInstallerTask> getInstallerClass() {
return Tcompv0Installer.class;
}
}

View File

@@ -0,0 +1 @@
**/*

View File

@@ -15,11 +15,29 @@
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
</exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
<build>

View File

@@ -27,6 +27,18 @@
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@@ -45,6 +57,11 @@
<version>5.2.7.RELEASE</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-component-annotations</artifactId>
@@ -121,7 +138,21 @@
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@@ -24,6 +24,14 @@
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
</exclusions>
</dependency>
@@ -32,8 +40,17 @@
<artifactId>org.osgi.core</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
<build>
<plugins>

View File

@@ -30,8 +30,27 @@
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
<build>

View File

@@ -42,6 +42,14 @@
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@@ -84,6 +92,16 @@
<artifactId>xstream</artifactId>
<version>1.4.16</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
<build>

View File

@@ -10,10 +10,25 @@
<artifactId>talend-compiler-plugin-tos</artifactId>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-jdt</artifactId>
<version>1.6.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-io</groupId>

View File

@@ -23,44 +23,61 @@
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
</exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
</exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
</exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
</exclusions>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
@@ -72,11 +89,24 @@
<artifactId>commons-codec</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>

View File

@@ -19,8 +19,4 @@
<module>log4j/pom.xml</module>
<module>zip/pom.xml</module>
</modules>
<properties>
<m2.fasterxml.jackson.version>2.11.4</m2.fasterxml.jackson.version>
<jackson-codehaus.version>1.9.15-TALEND</jackson-codehaus.version>
</properties>
</project>

View File

@@ -4,16 +4,16 @@ FolderMavenSettingPage_DeleteButtonText=Delete Maven files
FolderMavenSettingPage_CreatingMavenSettingPath=Path:
FolderMavenSettingPage_CreatingMavenSettingErrorTitle=Error
FolderMavenSettingPage_CreatingMavenSettingErrorMessage=Can\'t create the Maven setting files in this folder:
ProjectPomProjectSettingPage_Titile=NOTE\: The modules and dependencies will be kept.
ProjectPomProjectSettingPage_Titile=NOTE\: The modules and dependencies will be kept.
ProjectPomProjectSettingPage_ConfirmTitle=Confirm
ProjectPomProjectSettingPage_ConfirmMessage=Will apply and update for project POM with modifications immediately.
ProjectPomProjectSettingPage_FilterPomLabel=Filter to use to generate poms:
ProjectPomProjectSettingPage_FilterErrorMessage=Invalid filter: {0}
ProjectPomProjectSettingPage.syncAllPomsButtonText=Force full re-synchronize poms
ProjectPomProjectSettingPage_FilterErrorMessage=Filter is invalid.
ProjectPomProjectSettingPage.syncAllPomsButtonText=Force full re-synchronize POMs
AbstractPersistentProjectSettingPage.syncAllPoms=Do you want to update all poms? \n This operation might take long time depends on your project size.
MavenProjectSettingPage.filterExampleMessage=Filter examples:\nlabel=myJob \t\t\t\t=> Generate only the job named "myJob"\n!(label=myJob) \t\t\t\t=> Generate any job except the one named "myJob"\n(path=folder1/folder2) \t\t\t=> Generate any job in the folder "folder1/folder2"\n(path=folder1/folder2)or(label=myJob)\t=> Generate any job in the folder "folder1/folder2" or named "myJob"\n(label=myJob)and(version=0.2) \t=> Generate only the job named "myJob" with version 0.2\n!((label=myJob)and(version=0.1)) \t=> Generate every jobs except the "myJob" version 0.1
MavenProjectSettingPage.filterExampleMessage=Filter examples:\nlabel=myJob \t\t\t\t=> Generate only the job named "myJob"\n!(label=myJob) \t\t\t\t=> Generate any job except the one named "myJob"\n(path=folder1/folder2) \t\t\t=> Generate any job in the folder "folder1/folder2"\n(path=folder1/folder2)or(label=myJob)\t=> Generate any job in the folder "folder1/folder2" or named "myJob"\n(label=myJob)and(version=0.2)\t\t=> Generate only the job named "myJob" with version 0.2\n!((label=myJob)and(version=0.1))\t\t=> Generate every jobs except the "myJob" version 0.1
MavenProjectSettingPage.refModuleText=Set reference project modules in profile
MavenProjectSettingPage.excludeDeletedItems=Exclude deleted items
MavenProjectSettingPage.syncAllPomsWarning=Click the Force full re-synchronize poms button to apply the new settings.
MavenProjectSettingPage.syncAllPomsWarning=Click the Force full re-synchronize POMs button to apply the new settings.
MavenProjectSettingPage.skipFolders=Skip folders
BuildProjectSettingPage.allowRecursiveJobs=Allow recursive jobs (Not supported - for compatibility only)
BuildProjectSettingPage.allowRecursiveJobs=Allow recursive jobs (Not supported - for compatibility only)

View File

@@ -1,5 +1,4 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>@ProjectGroupId@</groupId>
<artifactId>@ProjectArtifactId@</artifactId>
@@ -31,11 +30,11 @@
</configuration>
<dependencies>
<!-- This dependency provides the implementation of compiler "jdt": -->
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-jdt</artifactId>
@@ -51,6 +50,26 @@
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.20</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
@@ -64,15 +83,20 @@
<version>3.0.24</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
@@ -80,11 +104,11 @@
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
@@ -100,6 +124,21 @@
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-io</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
<configuration>
<archive>
@@ -112,31 +151,46 @@
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-shared-utils</artifactId>
<version>3.3.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.24</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
<dependency>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.19</version>
<version>1.20</version>
</dependency>
<dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.8.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
@@ -148,12 +202,12 @@
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.24</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
</dependency>
</dependencies>
</plugin>
<plugin>
@@ -188,4 +242,4 @@
</plugins>
</pluginManagement>
</build>
</project>
</project>

View File

@@ -15,6 +15,7 @@ package org.talend.designer.maven.tools;
import static org.talend.designer.maven.model.TalendJavaProjectConstants.*;
import java.lang.reflect.InvocationTargetException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -28,7 +29,9 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.model.Activation;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.Model;
import org.apache.maven.model.Profile;
import org.eclipse.core.resources.IContainer;
@@ -1054,4 +1057,45 @@ public class AggregatorPomsHelper {
return null;
}
public void checkAndUpdateDaikonDependencies() {
try {
IFile rootPomFile = getProjectRootPom();
if (rootPomFile.exists()) {
boolean isRegeneratePoms = false;
Model model = MavenPlugin.getMaven().readModel(rootPomFile.getLocation().toFile());
if (model.getModules() != null) {
for (String module : model.getModules()) {
java.nio.file.Path modPath = Paths.get(rootPomFile.getLocation().toFile().getParent(), module, "pom.xml");
Model modModel = MavenPlugin.getMaven().readModel(modPath.toFile());
List<Dependency> deps = modModel.getDependencies();
if (deps != null && !deps.isEmpty()) {
DefaultArtifactVersion targetVersion = new DefaultArtifactVersion("0.31.12");
for (Dependency dep : deps) {
DefaultArtifactVersion actualVersion = new DefaultArtifactVersion(dep.getVersion());
int cmp = targetVersion.compareTo(actualVersion);
if (StringUtils.equals("org.talend.daikon", dep.getGroupId()) && cmp > 0) {
if (StringUtils.equals("crypto-utils", dep.getArtifactId())
|| StringUtils.equals("daikon", dep.getArtifactId())) {
isRegeneratePoms = true;
}
}
}
}
if (isRegeneratePoms) {
break;
}
}
}
if (isRegeneratePoms) {
syncAllPomsWithoutProgress(new NullProgressMonitor());
BuildCacheManager.getInstance().clearAllCodesCache();
}
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
}

View File

@@ -1,4 +1,4 @@
LogLoadedComponentsAction.componentLog=Component: {0}
LogActiveContextsAction.activeContextLog=Active context: {0}
LogImageCacheAction.CacheImage=Cache image\:
LogImageCacheAction.CacheImageDesc=Cache image desc\:
LogImageCacheAction.CacheImage=Cache image\:
LogImageCacheAction.CacheImageDesc=Cache image desc\:

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

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

View File

@@ -1,6 +0,0 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Cassandra
Bundle-SymbolicName: org.talend.libraries.apache.cassandra;singleton:=true
Bundle-Version: 8.0.1.qualifier
Eclipse-BundleShape: dir

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