Compare commits
111 Commits
release/8.
...
release/8.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
44978b1438 | ||
|
|
af3b199fbc | ||
|
|
1c32872057 | ||
|
|
f859033bb3 | ||
|
|
f28610deb2 | ||
|
|
77b762d835 | ||
|
|
c8ff7f0115 | ||
|
|
257085413d | ||
|
|
743861d278 | ||
|
|
a464909db1 | ||
|
|
33121074d8 | ||
|
|
3e3eca887d | ||
|
|
81991f3acf | ||
|
|
cc7f8e4183 | ||
|
|
718c7055c5 | ||
|
|
74b613a5e4 | ||
|
|
c1e0c419e3 | ||
|
|
4b5b9ad5c5 | ||
|
|
0b9dc184ec | ||
|
|
65fc3816e2 | ||
|
|
0ac2233c7f | ||
|
|
a5fce652e2 | ||
|
|
62c3cd96fc | ||
|
|
617d7a0971 | ||
|
|
8e71165264 | ||
|
|
cee928c438 | ||
|
|
30139714d4 | ||
|
|
d31a64654e | ||
|
|
22f590c376 | ||
|
|
aba7988f3b | ||
|
|
7e0ef66029 | ||
|
|
cc953fa42f | ||
|
|
6efda8ecae | ||
|
|
396f9ef099 | ||
|
|
d6acf0a5be | ||
|
|
50cdd7f3c6 | ||
|
|
508867dce3 | ||
|
|
7cf9823f64 | ||
|
|
80f3b27c0c | ||
|
|
d872ced133 | ||
|
|
2d9fffa6d4 | ||
|
|
bf8135943a | ||
|
|
83ec5c0d42 | ||
|
|
26a119649b | ||
|
|
be594bc22c | ||
|
|
f917599a0c | ||
|
|
90c5220f08 | ||
|
|
b963938b24 | ||
|
|
37af226974 | ||
|
|
3a7614ee6a | ||
|
|
efd27e4ec9 | ||
|
|
e12e687963 | ||
|
|
9c1122e971 | ||
|
|
b684d299f4 | ||
|
|
c6b22629fd | ||
|
|
355d94e5de | ||
|
|
6318fb8131 | ||
|
|
a490fe61ab | ||
|
|
2b6fe49b09 | ||
|
|
351bf44095 | ||
|
|
5bab4f7de2 | ||
|
|
9479f25100 | ||
|
|
fc7cae42bf | ||
|
|
c8dcf3e70e | ||
|
|
3b7f69525c | ||
|
|
996d2ee452 | ||
|
|
a695e44d7f | ||
|
|
f77aadd99f | ||
|
|
e1743f86d3 | ||
|
|
5ef866743b | ||
|
|
656987c139 | ||
|
|
e8902f55cc | ||
|
|
024bd7bf5c | ||
|
|
5e1d06edf6 | ||
|
|
73699ce3c1 | ||
|
|
b218688c82 | ||
|
|
5fb4b545f4 | ||
|
|
4d9fa8adee | ||
|
|
75c8efe0f0 | ||
|
|
cfc2a29f92 | ||
|
|
3c2ccf0f38 | ||
|
|
48905f03a9 | ||
|
|
c88e5002b3 | ||
|
|
af3ca0c30d | ||
|
|
dc687f1a50 | ||
|
|
14a610a72b | ||
|
|
153a831b0b | ||
|
|
2bcc470833 | ||
|
|
88d10b08ec | ||
|
|
5687315bd2 | ||
|
|
7cfce8de2a | ||
|
|
da7f173be2 | ||
|
|
f5a6347377 | ||
|
|
e7ba1d5016 | ||
|
|
ba1ee02e4e | ||
|
|
a5df51204e | ||
|
|
dfe132d87e | ||
|
|
4c0b9c6f91 | ||
|
|
16b6699cc9 | ||
|
|
3f57a592d1 | ||
|
|
74bc5ee66f | ||
|
|
6a0c96627f | ||
|
|
ecf339a6ca | ||
|
|
dc5c3d0ec9 | ||
|
|
503924aa75 | ||
|
|
4ed461840a | ||
|
|
cafa72f52a | ||
|
|
af62f01007 | ||
|
|
5e4b9311a9 | ||
|
|
a6164bf006 | ||
|
|
24622068ec |
@@ -56,5 +56,12 @@
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="true"/>
|
||||
|
||||
<plugin
|
||||
id="org.talend.signon.util"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<copyright url="http://www.example.com/copyright">[Enter Copyright Description here.]</copyright>
|
||||
<license url="http://www.example.com/license">[Enter License Description here.]</license>
|
||||
<requires>
|
||||
<import plugin="org.bouncycastle.bcprov" version="1.69.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.bouncycastle.bcprov" version="1.70.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.cedarsoftware.json-io" version="0.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.fasterxml.jackson.core.jackson-annotations" version="2.9.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.fasterxml.jackson.core.jackson-core" version="2.9.8" match="greaterOrEqual"/>
|
||||
|
||||
@@ -72,12 +72,27 @@ public final class MessageBoxExceptionHandler {
|
||||
}
|
||||
}
|
||||
|
||||
public static void process(Throwable ex, Shell shell, boolean wrapMessage) {
|
||||
CommonExceptionHandler.process(ex);
|
||||
|
||||
if (CommonsPlugin.isHeadless() || CommonsPlugin.isJUnitTest()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (shell != null) {
|
||||
showMessage(ex, shell, wrapMessage);
|
||||
}
|
||||
}
|
||||
|
||||
public static void showMessage(Throwable ex, Shell shell) {
|
||||
showMessage(ex, shell, true);
|
||||
}
|
||||
/**
|
||||
* Open a message box showing a generic message and exception message.
|
||||
*
|
||||
* @param ex - exception to show
|
||||
*/
|
||||
public static void showMessage(Throwable ex, Shell shell) {
|
||||
public static void showMessage(Throwable ex, Shell shell, boolean wrapMessage) {
|
||||
if (ex.equals(lastShowedAction)) {
|
||||
return;
|
||||
}
|
||||
@@ -85,10 +100,14 @@ public final class MessageBoxExceptionHandler {
|
||||
|
||||
// TODO smallet use ErrorDialogWidthDetailArea ?
|
||||
String title = Messages.getString("commons.error"); //$NON-NLS-1$
|
||||
String msg = Messages.getString("exception.errorOccured", ex.getMessage()); //$NON-NLS-1$
|
||||
String excepMsg = ex.getMessage();
|
||||
//add for tup-19726/19790, as for exception detailMessage will show more details on log area.
|
||||
if(ex.getCause()!=null) {
|
||||
msg = Messages.getString("exception.errorOccured", ex.getCause().getMessage()); //$NON-NLS-1$
|
||||
excepMsg = ex.getCause().getMessage();
|
||||
}
|
||||
String msg = Messages.getString("exception.errorOccured", excepMsg); //$NON-NLS-1$
|
||||
if (!wrapMessage) {
|
||||
msg = Messages.getString("exception.message", excepMsg); //$NON-NLS-1$
|
||||
}
|
||||
Priority priority = CommonExceptionHandler.getPriority(ex);
|
||||
|
||||
|
||||
@@ -114,6 +114,7 @@ TableViewerCreator.Table.BeNull=table is null
|
||||
TableViewerCreator.TableColumn.AssertMsg=The TableColumn of TableEditorColumn with idProperty '{0}' has not the correct Table parent
|
||||
TreeToTablesLinker.Type.Unsupported=This type of currentControl is unsupported
|
||||
commons.error=Error
|
||||
exception.message={0}\nSee log for more details.
|
||||
exception.errorOccured=An error occured ({0}).\nSee log for more details.
|
||||
ModelSelectionDialog.Message=Please choose one option, or cancel.
|
||||
ModelSelectionDialog.Option=option
|
||||
|
||||
@@ -114,6 +114,7 @@ TableViewerCreator.Table.BeNull=la table est null.
|
||||
TableViewerCreator.TableColumn.AssertMsg=La TableColumn de TableEditorColumn avec idProperty '{0}' n'a pas la bonne Table parente
|
||||
TreeToTablesLinker.Type.Unsupported=Ce type de currentControl n'est pas support\u00E9
|
||||
commons.error=Erreur
|
||||
exception.message={0}\nConsultez le log pour plus de d\u00E9tails.
|
||||
exception.errorOccured=Une erreur est survenue ({0}).\nConsultez le log pour plus de d\u00E9tails.
|
||||
ModelSelectionDialog.Message=S\u00E9lectionnez une option ou annulez.
|
||||
ModelSelectionDialog.Option=Option
|
||||
|
||||
@@ -114,6 +114,7 @@ TableViewerCreator.Table.BeNull=\u30C6\u30FC\u30D6\u30EB\u304CNULL\u3067\u3059
|
||||
TableViewerCreator.TableColumn.AssertMsg=idProperty'{0}'\u304C\u3042\u308BTableEditorColumn\u306ETableColumn\u306B\u306F\u3001\u6B63\u3057\u3044\u89AA\u30C6\u30FC\u30D6\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
|
||||
TreeToTablesLinker.Type.Unsupported=currentControl\u306E\u3053\u306E\u30BF\u30A4\u30D7\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
|
||||
commons.error=\u30A8\u30E9\u30FC
|
||||
exception.message={0}\n\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
exception.errorOccured=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F({0})\u3002\n\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
ModelSelectionDialog.Message=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\uFF11\u3064\u9078\u629E\u3059\u308B\u304B\u3001\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
ModelSelectionDialog.Option=\u30AA\u30D7\u30B7\u30E7\u30F3
|
||||
|
||||
@@ -114,6 +114,7 @@ TableViewerCreator.Table.BeNull=\u8868\u4E3A null
|
||||
TableViewerCreator.TableColumn.AssertMsg=TableEditorColumn \u7684 idProperty \u4E3A '{0}' \u7684 TableColumn \u6CA1\u6709\u6B63\u786E\u7684 Table \u7236\u9879
|
||||
TreeToTablesLinker.Type.Unsupported=\u4E0D\u652F\u6301\u8FD9\u79CD\u7C7B\u578B\u7684 currentControl
|
||||
commons.error=\u9519\u8BEF
|
||||
exception.message={0}\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
|
||||
exception.errorOccured=\u51FA\u73B0\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
|
||||
ModelSelectionDialog.Message=\u8BF7\u9009\u62E9\u4E00\u4E2A\u9009\u9879\u6216\u53D6\u6D88\u3002
|
||||
ModelSelectionDialog.Option=\u9009\u9879
|
||||
|
||||
@@ -16,8 +16,14 @@ import java.io.BufferedOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.swt.SWT;
|
||||
@@ -158,8 +164,35 @@ public class ImageUtils {
|
||||
return imageDes;
|
||||
}
|
||||
|
||||
private static Map<byte[], ImageDataProvider> imageFromDataCachedImages = new HashMap<byte[], ImageDataProvider>();
|
||||
private static Map<byte[], ImageDataProvider> imageFromDataCachedImages = Collections.synchronizedMap(new HashMap<byte[], ImageDataProvider>());
|
||||
private static Map<Long, byte[]> cachedImagesTimeKeeping = Collections.synchronizedMap(new HashMap<Long, byte[]>());
|
||||
|
||||
private static Thread clearImageFromDataCachedImages = new Thread() {
|
||||
@SuppressWarnings("static-access")
|
||||
public void run() {
|
||||
long timeout = 5 * 60 * 1000;
|
||||
while(true) {//remove older than 5 mins
|
||||
Set<Entry<Long, byte[]>> collect = cachedImagesTimeKeeping.entrySet().stream()
|
||||
.filter(entry -> (System.currentTimeMillis() - entry.getKey()) > timeout).collect(Collectors.toSet());
|
||||
for(Entry<Long, byte[]> entry: collect) {
|
||||
Long key = entry.getKey();
|
||||
cachedImagesTimeKeeping.remove(key);
|
||||
imageFromDataCachedImages.remove(entry.getValue());
|
||||
}
|
||||
|
||||
try {
|
||||
sleep(timeout);
|
||||
} catch (InterruptedException e) {//
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
static {
|
||||
clearImageFromDataCachedImages.setDaemon(true);
|
||||
clearImageFromDataCachedImages.start();
|
||||
}
|
||||
|
||||
/**
|
||||
* By default, keep in memory the .
|
||||
*
|
||||
@@ -169,12 +202,17 @@ public class ImageUtils {
|
||||
*/
|
||||
public static ImageDescriptor createImageFromData(byte[] data, boolean... keepInMemory) {
|
||||
if (data != null) {
|
||||
ImageDataProvider imageProvider = imageFromDataCachedImages.get(data);
|
||||
ImageDataProvider imageProvider = null;
|
||||
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
|
||||
if(findKey.isPresent()) {
|
||||
imageProvider = imageFromDataCachedImages.get(findKey.get());
|
||||
}
|
||||
if (imageProvider == null) {
|
||||
ByteArrayInputStream bais = new ByteArrayInputStream(data);
|
||||
ImageData img = new ImageData(bais);
|
||||
imageProvider = new TalendImageProvider(img);
|
||||
imageFromDataCachedImages.put(data, imageProvider);
|
||||
cachedImagesTimeKeeping.put(System.currentTimeMillis(), data);
|
||||
}
|
||||
return ImageDescriptor.createFromImageDataProvider(imageProvider);
|
||||
}
|
||||
@@ -183,8 +221,9 @@ public class ImageUtils {
|
||||
|
||||
public static void disposeImages(byte[] data) {
|
||||
if (data != null) {
|
||||
if (imageFromDataCachedImages.get(data) != null) {
|
||||
imageFromDataCachedImages.remove(data);
|
||||
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
|
||||
if(findKey.isPresent()) {
|
||||
imageFromDataCachedImages.remove(findKey.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Enumeration;
|
||||
import java.util.jar.JarEntry;
|
||||
import java.util.jar.JarFile;
|
||||
import java.util.jar.JarOutputStream;
|
||||
|
||||
import org.apache.tools.zip.ZipEntry;
|
||||
@@ -169,8 +170,52 @@ public class ZipFileUtils {
|
||||
inputStream.close();
|
||||
}
|
||||
}
|
||||
|
||||
public static void unZipFileEntry(File destFile, java.util.zip.ZipFile zipFile, java.util.zip.ZipEntry entry) throws IOException {
|
||||
InputStream inputStream;
|
||||
FileOutputStream fileOut;
|
||||
if (entry.isDirectory()) {
|
||||
destFile.mkdirs();
|
||||
} else {
|
||||
File parent = destFile.getParentFile();
|
||||
if (parent != null && !parent.exists()) {
|
||||
parent.mkdirs();
|
||||
}
|
||||
|
||||
inputStream = zipFile.getInputStream(entry);
|
||||
|
||||
fileOut = new FileOutputStream(destFile);
|
||||
byte[] buf = new byte[bufSize];
|
||||
int readedBytes;
|
||||
while ((readedBytes = inputStream.read(buf)) > 0) {
|
||||
fileOut.write(buf, 0, readedBytes);
|
||||
}
|
||||
fileOut.close();
|
||||
|
||||
inputStream.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void setBufSize(int bufSize) {
|
||||
ZipFileUtils.bufSize = bufSize;
|
||||
}
|
||||
|
||||
public static boolean isValidJarFile(String moduleFilePath) {
|
||||
if (moduleFilePath == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!new File(moduleFilePath).exists()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try (JarFile zip = new JarFile(moduleFilePath)) {
|
||||
zip.getManifest();
|
||||
} catch (IOException e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
<dependency>
|
||||
<groupId>ch.qos.reload4j</groupId>
|
||||
<artifactId>reload4j</artifactId>
|
||||
<version>1.2.19</version>
|
||||
<version>1.2.22</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
@@ -55,6 +55,11 @@ public class NetworkUtil {
|
||||
private static final int DEFAULT_NEXUS_TIMEOUT = 20000;// same as preference value
|
||||
|
||||
public static final String ORG_TALEND_DESIGNER_CORE = "org.talend.designer.core"; //$NON-NLS-1$
|
||||
|
||||
/*
|
||||
* see ITalendCorePrefConstants.PERFORMANCE_TAC_READ_TIMEOUT
|
||||
*/
|
||||
private static final String PERFORMANCE_TAC_READ_TIMEOUT = "PERFORMANCE_TAC_READ_TIMEOUT"; //$NON-NLS-1$
|
||||
|
||||
private static final String PROP_DISABLEDSCHEMES_USE_DEFAULT = "talend.studio.jdk.http.auth.tunneling.disabledSchemes.useDefault";
|
||||
|
||||
@@ -149,10 +154,10 @@ public class NetworkUtil {
|
||||
}
|
||||
|
||||
public static int getNexusTimeout() {
|
||||
int timeout = DEFAULT_NEXUS_TIMEOUT;
|
||||
int timeout = Integer.getInteger("nexus.timeout.min", DEFAULT_NEXUS_TIMEOUT);
|
||||
try {
|
||||
IEclipsePreferences node = InstanceScope.INSTANCE.getNode(ORG_TALEND_DESIGNER_CORE);
|
||||
timeout = node.getInt(ITalendNexusPrefConstants.NEXUS_TIMEOUT, DEFAULT_NEXUS_TIMEOUT);
|
||||
timeout = Math.max(timeout, node.getInt(PERFORMANCE_TAC_READ_TIMEOUT, 0) * 1000);
|
||||
} catch (Throwable e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
@@ -88,13 +88,17 @@ public class EclipseCommandLine {
|
||||
static public final String TALEND_CONTINUE_LOGON = "-talendContinueLogon";
|
||||
|
||||
static public final String TALEND_CONTINUE_UPDATE = "-talendContinueUpdate";
|
||||
|
||||
static public final String TALEND_CLEAN_M2 = "-talendCleanM2";
|
||||
|
||||
static public final String TALEND_CLEAN_UNINSTALLED_BUNDLES = "-talendCleanUninstalledBundles";
|
||||
|
||||
static public final String PROP_KEY_PROFILE_ID = "eclipse.p2.profile";
|
||||
|
||||
static public final String ARG_BRANCH = "-branch";
|
||||
|
||||
|
||||
static public final String ARG_PROJECT = "-project";
|
||||
|
||||
static public final String LOGIN_ONLINE_UPDATE = "--loginOnlineUpdate";
|
||||
|
||||
static public final String ARG_TALEND_BUNDLES_CLEANED = "-talend.studio.bundles.cleaned"; //$NON-NLS-1$
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
// ============================================================================
|
||||
package org.talend.commons.ui.swt.dialogs;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.graphics.RGB;
|
||||
import org.talend.commons.ui.utils.image.ColorUtils;
|
||||
@@ -29,5 +31,7 @@ public interface IConfigModuleDialog {
|
||||
public String getMavenURI();
|
||||
|
||||
public int open();
|
||||
|
||||
public Map<String, String> getModulesMVNUrls();
|
||||
|
||||
}
|
||||
|
||||
@@ -39,6 +39,19 @@ public final class Constant {
|
||||
*/
|
||||
public static final String ITEM_EVENT_PROPERTY_KEY = "item"; //$NON-NLS-1$
|
||||
|
||||
|
||||
/**
|
||||
* key used to get/set the property of an event related to an item (REPOSITORY_ITEM_EVENT_PREFIX). The value is the
|
||||
* cloudVersion string.
|
||||
*/
|
||||
public static final String VERSION_EVENT_CLOUD_KEY = "cloudVersion"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* key used to get/set the property of an event related to an item (REPOSITORY_ITEM_EVENT_PREFIX). The value is the
|
||||
* cloudName string.
|
||||
*/
|
||||
public static final String VERSION_EVENT_CLOUD_NAME = "cloudName"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* key used to get/set the property of an event related to a list of files modified in the repository
|
||||
* (REPOSITORY_ITEM_EVENT_PREFIX). The value is the Collection of String (list of all files modified).
|
||||
@@ -56,6 +69,11 @@ public final class Constant {
|
||||
*/
|
||||
public static final String PROJECT_RELOAD_EVENT_SUFFIX = "project"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* suffix used when issuing an event on the OSGI event bus when published to cloud.
|
||||
*/
|
||||
public static final String CLOUD_PUBLISH_EVENT_SUFFIX = "cloud"; //$NON-NLS-1$
|
||||
|
||||
|
||||
/**
|
||||
* key used to get/set the property of an event related to a list of files modified in the repository
|
||||
|
||||
@@ -19,6 +19,8 @@ import org.talend.repository.model.RepositoryConstants;
|
||||
*/
|
||||
public interface FileConstants {
|
||||
|
||||
String DOT = ".";
|
||||
|
||||
String OLD_TALEND_PROJECT_FILENAME = "talendProject"; //$NON-NLS-1$
|
||||
|
||||
String LOCAL_PROJECT_FILENAME = "talend.project"; //$NON-NLS-1$
|
||||
@@ -112,5 +114,4 @@ public interface FileConstants {
|
||||
String TALEND_FOLDER_NAME = "TALEND-INF"; //$NON-NLS-1$
|
||||
|
||||
String MAVEN_FOLDER_NAME = "MAVEN-INF";
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,267 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.repository.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.log4j.Level;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.ICoreService;
|
||||
import org.talend.core.PluginChecker;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.model.properties.RoutineItem;
|
||||
import org.talend.core.model.properties.SQLPatternItem;
|
||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.pendo.AbstractPendoTrackManager;
|
||||
import org.talend.core.pendo.PendoDataTrackFactory;
|
||||
import org.talend.core.pendo.PendoItemSignatureUtil;
|
||||
import org.talend.core.pendo.PendoItemSignatureUtil.SignatureStatus;
|
||||
import org.talend.core.pendo.PendoItemSignatureUtil.TOSProdNameEnum;
|
||||
import org.talend.core.pendo.PendoItemSignatureUtil.ValueEnum;
|
||||
import org.talend.core.pendo.PendoTrackDataUtil;
|
||||
import org.talend.core.pendo.TrackEvent;
|
||||
import org.talend.core.pendo.properties.IPendoDataProperties;
|
||||
import org.talend.core.pendo.properties.PendoSignLogonProperties;
|
||||
import org.talend.utils.migration.MigrationTokenUtil;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoItemSignatureManager extends AbstractPendoTrackManager {
|
||||
|
||||
private static PendoItemSignatureManager manager;
|
||||
|
||||
private static boolean isTrackAvailable;
|
||||
|
||||
static {
|
||||
manager = new PendoItemSignatureManager();
|
||||
try {
|
||||
isTrackAvailable = PluginChecker.isTIS() && PendoDataTrackFactory.getInstance().isTrackSendAvailable();
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e, Level.WARN);
|
||||
}
|
||||
}
|
||||
|
||||
private PendoItemSignatureManager() {
|
||||
}
|
||||
|
||||
public static PendoItemSignatureManager getInstance() {
|
||||
return manager;
|
||||
}
|
||||
|
||||
private Set<String> signByLoginMigrationItems = new HashSet<String>();
|
||||
|
||||
public void countItemSignByMigration(String file) {
|
||||
if (!isTrackAvailable) {
|
||||
return;
|
||||
}
|
||||
if (!ProxyRepositoryFactory.getInstance().isFullLogonFinished()) {
|
||||
signByLoginMigrationItems.add(file);
|
||||
}
|
||||
}
|
||||
|
||||
public IPendoDataProperties collectProperties() {
|
||||
ICoreService coreService = ICoreService.get();
|
||||
if (coreService == null || !isTrackAvailable) {
|
||||
return null;
|
||||
}
|
||||
PendoSignLogonProperties itemSignProperties = new PendoSignLogonProperties();
|
||||
try {
|
||||
itemSignProperties.setSignByMigration(signByLoginMigrationItems.size());
|
||||
|
||||
String seperator = "@";
|
||||
Map<String, Integer> tosUnsignItemMap = new HashMap<String, Integer>();
|
||||
Map<String, Integer> invalidItemVersionMap = new HashMap<String, Integer>();
|
||||
Set<String> checkedItem = new HashSet<String>();
|
||||
ProxyRepositoryFactory proxyRepositoryFactory = ProxyRepositoryFactory.getInstance();
|
||||
ERepositoryObjectType[] types = (ERepositoryObjectType[]) ERepositoryObjectType.values();
|
||||
for (ERepositoryObjectType type : types) {
|
||||
List<IRepositoryViewObject> allObjectList = proxyRepositoryFactory.getAll(type);
|
||||
for (IRepositoryViewObject repositoryObject : allObjectList) {
|
||||
Property property = repositoryObject.getProperty();
|
||||
if (property == null || property.eResource() == null) {
|
||||
continue;
|
||||
}
|
||||
String itemKey = repositoryObject.getRepositoryObjectType() + seperator + property.getId() + seperator
|
||||
+ property.getVersion();
|
||||
if (isBuiltInItem(repositoryObject) || checkedItem.contains(itemKey)) {
|
||||
continue;
|
||||
}
|
||||
checkedItem.add(itemKey);
|
||||
Integer verifyResult = null;
|
||||
try {
|
||||
verifyResult = coreService.getSignatureVerifyResult(property, null, false);
|
||||
if (verifyResult != null) {
|
||||
switch (verifyResult) {
|
||||
case SignatureStatus.V_VALID:
|
||||
itemSignProperties.setValidItems(itemSignProperties.getValidItems() + 1);
|
||||
break;
|
||||
case SignatureStatus.V_UNSIGNED:
|
||||
String itemProductName = PendoItemSignatureUtil
|
||||
.getItemProductName(property);
|
||||
if (StringUtils.isNotBlank(itemProductName)) {
|
||||
String tosCategory = TOSProdNameEnum.getTOSCategoryByProdName(itemProductName);
|
||||
if (StringUtils.isBlank(tosCategory)) {
|
||||
itemSignProperties.setUnsignEEItems(itemSignProperties.getUnsignEEItems() + 1);
|
||||
} else {
|
||||
if (tosUnsignItemMap.get(tosCategory) == null) {
|
||||
tosUnsignItemMap.put(tosCategory, 0);
|
||||
}
|
||||
tosUnsignItemMap.put(tosCategory, tosUnsignItemMap.get(tosCategory) + 1);
|
||||
}
|
||||
}
|
||||
addInvalidItemVersion(property, invalidItemVersionMap);
|
||||
break;
|
||||
default:
|
||||
addInvalidItemVersion(property, invalidItemVersionMap);
|
||||
itemSignProperties.setInvalidSignItems(itemSignProperties.getInvalidSignItems() + 1);
|
||||
}
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e, Level.WARN);
|
||||
if (verifyResult == null) {
|
||||
// exception during verify
|
||||
addInvalidItemVersion(property, invalidItemVersionMap);
|
||||
itemSignProperties.setInvalidSignItems(itemSignProperties.getInvalidSignItems() + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
itemSignProperties.setInvalidItemSourceVersion(getSortInvalidItems(invalidItemVersionMap));
|
||||
itemSignProperties.setUnsignSEItems(getSortTOSUnsignItems(tosUnsignItemMap));
|
||||
|
||||
itemSignProperties.setStudioVersion(PendoItemSignatureUtil.getStudioVersion());
|
||||
if (coreService.isInValidGP()) {
|
||||
itemSignProperties.setGracePeriod(ValueEnum.YES.getDisplayValue());
|
||||
} else {
|
||||
itemSignProperties.setGracePeriod(ValueEnum.NO.getDisplayValue());
|
||||
}
|
||||
String prodDate = PendoItemSignatureUtil.formatDate(System.getProperty(PendoItemSignatureUtil.PROD_DATE_ID),
|
||||
"yyyy-MM-dd");
|
||||
itemSignProperties.setInstallDate(prodDate);
|
||||
String projectCreateDate = PendoItemSignatureUtil.getCurrentProjectCreateDate();
|
||||
itemSignProperties.setProjectCreateDate(PendoItemSignatureUtil.formatDate(projectCreateDate, "yyyy-MM-dd"));
|
||||
|
||||
String value = System.getProperty(PendoItemSignatureUtil.MIGRATION_TOKEN_KEY);
|
||||
Map<String, Date> tokenTime = MigrationTokenUtil.getMigrationTokenTime(value);
|
||||
if (tokenTime == null || tokenTime.isEmpty()) {
|
||||
itemSignProperties.setValidMigrationToken(ValueEnum.NOT_APPLICATE.getDisplayValue());
|
||||
} else {
|
||||
String customer = coreService.getLicenseCustomer();
|
||||
Date tokenDate = tokenTime.get(customer);
|
||||
Date currentDate = new Date();
|
||||
if (tokenDate != null && tokenDate.after(currentDate)) {
|
||||
itemSignProperties.setValidMigrationToken(ValueEnum.YES.getDisplayValue());
|
||||
} else {
|
||||
itemSignProperties.setValidMigrationToken(ValueEnum.NO.getDisplayValue());
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e, Level.WARN);
|
||||
}
|
||||
return itemSignProperties;
|
||||
|
||||
}
|
||||
|
||||
private void addInvalidItemVersion(Property property, Map<String, Integer> invalidItemVersionMap) {
|
||||
String itemProductVersion = PendoItemSignatureUtil.getItemProductVersion(property);
|
||||
if (StringUtils.isNotBlank(itemProductVersion)) {
|
||||
if (invalidItemVersionMap.get(itemProductVersion) == null) {
|
||||
invalidItemVersionMap.put(itemProductVersion, 0);
|
||||
}
|
||||
invalidItemVersionMap.put(itemProductVersion, invalidItemVersionMap.get(itemProductVersion) + 1);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isBuiltInItem(IRepositoryViewObject repositoryObject) {
|
||||
if (repositoryObject.getProperty().getItem() instanceof SQLPatternItem) {
|
||||
SQLPatternItem sqlPatternItem = (SQLPatternItem) repositoryObject.getProperty().getItem();
|
||||
if (sqlPatternItem.isSystem()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (repositoryObject.getProperty().getItem() instanceof RoutineItem) {
|
||||
RoutineItem routineItem = (RoutineItem) repositoryObject.getProperty().getItem();
|
||||
if (routineItem.isBuiltIn()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private String getSortTOSUnsignItems(Map<String, Integer> tosUnsignItemMap) {
|
||||
List<Map.Entry<String, Integer>> resultMapList = new ArrayList<Map.Entry<String, Integer>>(tosUnsignItemMap.entrySet());
|
||||
Collections.sort(resultMapList, new Comparator<Map.Entry<String, Integer>>() {
|
||||
|
||||
@Override
|
||||
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
|
||||
List<TOSProdNameEnum> categoryList = Arrays.asList(TOSProdNameEnum.values());
|
||||
TOSProdNameEnum category1 = TOSProdNameEnum.valueOf(o1.getKey());
|
||||
TOSProdNameEnum category2 = TOSProdNameEnum.valueOf(o2.getKey());
|
||||
return categoryList.indexOf(category1) - categoryList.indexOf(category2);
|
||||
}
|
||||
});
|
||||
Map<String, Integer> tosUnsignMap = new LinkedHashMap<String, Integer>();
|
||||
resultMapList.forEach(entry -> {
|
||||
tosUnsignMap.put(entry.getKey(), entry.getValue());
|
||||
});
|
||||
return PendoTrackDataUtil.convertEntityJsonString(tosUnsignMap);
|
||||
}
|
||||
|
||||
private String getSortInvalidItems(Map<String, Integer> invalidItemVersionMap) {
|
||||
List<Map.Entry<String, Integer>> resultMapList = new ArrayList<Map.Entry<String, Integer>>(
|
||||
invalidItemVersionMap.entrySet());
|
||||
Collections.sort(resultMapList, new Comparator<Map.Entry<String, Integer>>(){
|
||||
|
||||
@Override
|
||||
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
|
||||
return o1.getKey().compareTo(o2.getKey());
|
||||
}
|
||||
|
||||
});
|
||||
Map<String, Integer> invalidMap = new LinkedHashMap<String, Integer>();
|
||||
resultMapList.forEach(entry -> {
|
||||
invalidMap.put(entry.getKey(), entry.getValue());
|
||||
});
|
||||
return PendoTrackDataUtil.convertEntityJsonString(invalidMap);
|
||||
}
|
||||
|
||||
public void sendTrackToPendo() {
|
||||
if (!isTrackAvailable) {
|
||||
return;
|
||||
}
|
||||
super.sendTrackToPendo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrackEvent getTrackEvent() {
|
||||
return TrackEvent.ITEM_SIGNATURE;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -93,6 +93,7 @@ import org.talend.core.context.CommandLineContext;
|
||||
import org.talend.core.context.Context;
|
||||
import org.talend.core.context.RepositoryContext;
|
||||
import org.talend.core.exception.TalendInternalPersistenceException;
|
||||
import org.talend.core.hadoop.BigDataBasicUtil;
|
||||
import org.talend.core.hadoop.IHadoopDistributionService;
|
||||
import org.talend.core.model.components.IComponentsService;
|
||||
import org.talend.core.model.general.ILibrariesService;
|
||||
@@ -2209,6 +2210,9 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
// init dynamic distirbution after `beforeLogon`, before loading libraries.
|
||||
initDynamicDistribution(monitor);
|
||||
|
||||
// need to set m2
|
||||
LoginTaskRegistryReader loginTaskRegistryReader = new LoginTaskRegistryReader();
|
||||
ILoginTask[] allLoginTasks = loginTaskRegistryReader.getAllCommandlineTaskListInstance();
|
||||
@@ -2315,6 +2319,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
|
||||
if (monitor != null && monitor.isCanceled()) {
|
||||
throw new OperationCanceledException(""); //$NON-NLS-1$
|
||||
}
|
||||
PendoItemSignatureManager.getInstance().sendTrackToPendo();
|
||||
|
||||
boolean isCommandLineLocalRefProject = false;
|
||||
CommandLineContext commandLineContext = (CommandLineContext) CoreRuntimePlugin.getInstance().getContext()
|
||||
@@ -2404,6 +2409,18 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
private void initDynamicDistribution(IProgressMonitor monitor) {
|
||||
try {
|
||||
if (BigDataBasicUtil.isDynamicDistributionLoaded(monitor)) {
|
||||
BigDataBasicUtil.reloadAllDynamicDistributions(monitor);
|
||||
} else {
|
||||
BigDataBasicUtil.loadDynamicDistribution(monitor);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
|
||||
// to fix the ops4j and m2e.core maven handler conflict issue TUP-31484
|
||||
private void unregisterM2EServiceBeforeLogon() {
|
||||
|
||||
@@ -1,125 +1,127 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.repository.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.ArrayUtils;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IConfigurationElement;
|
||||
import org.eclipse.swt.events.SelectionListener;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.workbench.extensions.ExtensionImplementationProvider;
|
||||
import org.talend.commons.utils.workbench.extensions.ExtensionPointLimiterImpl;
|
||||
import org.talend.commons.utils.workbench.extensions.IExtensionPointLimiter;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.ui.branding.IBrandingService;
|
||||
|
||||
/**
|
||||
* Provides, using extension points, implementation of many factories.
|
||||
*
|
||||
* <ul>
|
||||
* <li>IProcessFactory</li>
|
||||
* </ul>
|
||||
*
|
||||
* $Id: RepositoryFactoryProvider.java 38013 2010-03-05 14:21:59Z mhirt $
|
||||
*/
|
||||
public class RepositoryFactoryProvider {
|
||||
|
||||
private static List<IRepositoryFactory> list = null;
|
||||
|
||||
public static final IExtensionPointLimiter REPOSITORY_PROVIDER = new ExtensionPointLimiterImpl(
|
||||
"org.talend.core.repository.repository_provider", //$NON-NLS-1$
|
||||
"RepositoryFactory", 1, -1); //$NON-NLS-1$
|
||||
|
||||
public static List<IRepositoryFactory> getAvailableRepositories() {
|
||||
if (list == null) {
|
||||
list = new ArrayList<IRepositoryFactory>();
|
||||
List<IConfigurationElement> extension = ExtensionImplementationProvider.getInstanceV2(REPOSITORY_PROVIDER);
|
||||
String hiddenRepos = System.getProperty("hidden.repositories"); //$NON-NLS-1$
|
||||
String hiddenRepository[] = new String[]{};
|
||||
if (hiddenRepos != null) {
|
||||
hiddenRepository = hiddenRepos.split(";"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
boolean isPoweredByTalend = false;
|
||||
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault()
|
||||
.getService(IBrandingService.class);
|
||||
isPoweredByTalend = brandingService.isPoweredbyTalend();
|
||||
for (IConfigurationElement current : extension) {
|
||||
try {
|
||||
String only4TalendStr = current.getAttribute("only4Talend"); //$NON-NLS-1$
|
||||
if (Boolean.valueOf(only4TalendStr) && !isPoweredByTalend) {
|
||||
continue;
|
||||
}
|
||||
String only4OemStr = current.getAttribute("only4Oem"); //$NON-NLS-1$
|
||||
if (Boolean.valueOf(only4OemStr) && isPoweredByTalend) {
|
||||
continue;
|
||||
}
|
||||
IRepositoryFactory currentAction = (IRepositoryFactory) current.createExecutableExtension("class"); //$NON-NLS-1$
|
||||
currentAction.setId(current.getAttribute("id")); //$NON-NLS-1$
|
||||
currentAction.setName(current.getAttribute("name")); //$NON-NLS-1$
|
||||
currentAction.setAuthenticationNeeded(new Boolean(current.getAttribute("authenticationNeeded"))); //$NON-NLS-1$
|
||||
currentAction.setDisplayToUser(new Boolean(current.getAttribute("displayToUser")).booleanValue()); //$NON-NLS-1$
|
||||
|
||||
// Getting dynamic login fields:
|
||||
for (IConfigurationElement currentLoginField : current.getChildren("loginField")) { //$NON-NLS-1$
|
||||
DynamicFieldBean key = new DynamicFieldBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("name"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("defaultValue"), //$NON-NLS-1$
|
||||
new Boolean(currentLoginField.getAttribute("required")), //$NON-NLS-1$
|
||||
new Boolean(currentLoginField.getAttribute("password")), //$NON-NLS-1$
|
||||
Boolean.valueOf(currentLoginField.getAttribute("readonly"))); //$NON-NLS-1$
|
||||
currentAction.getFields().add(key);
|
||||
}
|
||||
|
||||
for (IConfigurationElement currentLoginField : current.getChildren("button")) { //$NON-NLS-1$
|
||||
DynamicButtonBean key = new DynamicButtonBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("name"), //$NON-NLS-1$
|
||||
(SelectionListener) currentLoginField.createExecutableExtension("selectionListener")); //$NON-NLS-1$
|
||||
currentAction.getButtons().add(key);
|
||||
}
|
||||
|
||||
for (IConfigurationElement currentLoginField : current.getChildren("choiceField")) { //$NON-NLS-1$
|
||||
DynamicChoiceBean key = new DynamicChoiceBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("name")); //$NON-NLS-1$
|
||||
for (IConfigurationElement currentChoice : currentLoginField.getChildren("choice")) { //$NON-NLS-1$
|
||||
String value = currentChoice.getAttribute("value"); //$NON-NLS-1$
|
||||
String label = currentChoice.getAttribute("label"); //$NON-NLS-1$
|
||||
key.addChoice(value, label);
|
||||
}
|
||||
currentAction.getChoices().add(key);
|
||||
}
|
||||
if (ArrayUtils.contains(hiddenRepository, currentAction.getId())) {
|
||||
continue;
|
||||
}
|
||||
list.add(currentAction);
|
||||
} catch (CoreException e) {
|
||||
// e.printStackTrace();
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public static IRepositoryFactory getRepositoriyById(String id) {
|
||||
for (IRepositoryFactory current : getAvailableRepositories()) {
|
||||
if (current.getId().equals(id)) {
|
||||
return current;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.repository.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.ArrayUtils;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IConfigurationElement;
|
||||
import org.eclipse.swt.events.SelectionListener;
|
||||
import org.talend.commons.CommonsPlugin;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.workbench.extensions.ExtensionImplementationProvider;
|
||||
import org.talend.commons.utils.workbench.extensions.ExtensionPointLimiterImpl;
|
||||
import org.talend.commons.utils.workbench.extensions.IExtensionPointLimiter;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.ui.branding.IBrandingService;
|
||||
|
||||
/**
|
||||
* Provides, using extension points, implementation of many factories.
|
||||
*
|
||||
* <ul>
|
||||
* <li>IProcessFactory</li>
|
||||
* </ul>
|
||||
*
|
||||
* $Id: RepositoryFactoryProvider.java 38013 2010-03-05 14:21:59Z mhirt $
|
||||
*/
|
||||
public class RepositoryFactoryProvider {
|
||||
|
||||
private static List<IRepositoryFactory> list = null;
|
||||
|
||||
public static final IExtensionPointLimiter REPOSITORY_PROVIDER = new ExtensionPointLimiterImpl(
|
||||
"org.talend.core.repository.repository_provider", //$NON-NLS-1$
|
||||
"RepositoryFactory", 1, -1); //$NON-NLS-1$
|
||||
|
||||
public static synchronized List<IRepositoryFactory> getAvailableRepositories() {
|
||||
if (list == null) {
|
||||
list = new ArrayList<IRepositoryFactory>();
|
||||
List<IConfigurationElement> extension = ExtensionImplementationProvider.getInstanceV2(REPOSITORY_PROVIDER);
|
||||
String hiddenRepos = System.getProperty("hidden.repositories"); //$NON-NLS-1$
|
||||
String hiddenRepository[] = new String[]{};
|
||||
if (hiddenRepos != null) {
|
||||
hiddenRepository = hiddenRepos.split(";"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
boolean isPoweredByTalend = false;
|
||||
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault()
|
||||
.getService(IBrandingService.class);
|
||||
isPoweredByTalend = brandingService.isPoweredbyTalend();
|
||||
for (IConfigurationElement current : extension) {
|
||||
try {
|
||||
String only4TalendStr = current.getAttribute("only4Talend"); //$NON-NLS-1$
|
||||
if (Boolean.valueOf(only4TalendStr) && !isPoweredByTalend) {
|
||||
continue;
|
||||
}
|
||||
String only4OemStr = current.getAttribute("only4Oem"); //$NON-NLS-1$
|
||||
if (Boolean.valueOf(only4OemStr) && isPoweredByTalend) {
|
||||
continue;
|
||||
}
|
||||
IRepositoryFactory currentAction = (IRepositoryFactory) current.createExecutableExtension("class"); //$NON-NLS-1$
|
||||
currentAction.setId(current.getAttribute("id")); //$NON-NLS-1$
|
||||
currentAction.setName(current.getAttribute("name")); //$NON-NLS-1$
|
||||
currentAction.setAuthenticationNeeded(new Boolean(current.getAttribute("authenticationNeeded"))); //$NON-NLS-1$
|
||||
currentAction.setDisplayToUser(new Boolean(current.getAttribute("displayToUser")).booleanValue()); //$NON-NLS-1$
|
||||
|
||||
// Getting dynamic login fields:
|
||||
for (IConfigurationElement currentLoginField : current.getChildren("loginField")) { //$NON-NLS-1$
|
||||
DynamicFieldBean key = new DynamicFieldBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("name"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("defaultValue"), //$NON-NLS-1$
|
||||
new Boolean(currentLoginField.getAttribute("required")), //$NON-NLS-1$
|
||||
new Boolean(currentLoginField.getAttribute("password")), //$NON-NLS-1$
|
||||
Boolean.valueOf(currentLoginField.getAttribute("readonly"))); //$NON-NLS-1$
|
||||
currentAction.getFields().add(key);
|
||||
}
|
||||
|
||||
for (IConfigurationElement currentLoginField : current.getChildren("button")) { //$NON-NLS-1$
|
||||
DynamicButtonBean key = new DynamicButtonBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("name"), //$NON-NLS-1$
|
||||
(SelectionListener) currentLoginField.createExecutableExtension("selectionListener")); //$NON-NLS-1$
|
||||
currentAction.getButtons().add(key);
|
||||
}
|
||||
|
||||
for (IConfigurationElement currentLoginField : current.getChildren("choiceField")) { //$NON-NLS-1$
|
||||
DynamicChoiceBean key = new DynamicChoiceBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
|
||||
currentLoginField.getAttribute("name")); //$NON-NLS-1$
|
||||
for (IConfigurationElement currentChoice : currentLoginField.getChildren("choice")) { //$NON-NLS-1$
|
||||
String value = currentChoice.getAttribute("value"); //$NON-NLS-1$
|
||||
String label = currentChoice.getAttribute("label"); //$NON-NLS-1$
|
||||
key.addChoice(value, label);
|
||||
}
|
||||
currentAction.getChoices().add(key);
|
||||
}
|
||||
if (ArrayUtils.contains(hiddenRepository, currentAction.getId())) {
|
||||
continue;
|
||||
}
|
||||
list.add(currentAction);
|
||||
} catch (CoreException e) {
|
||||
// e.printStackTrace();
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public static IRepositoryFactory getRepositoriyById(String id) {
|
||||
for (IRepositoryFactory current : getAvailableRepositories()) {
|
||||
if (current.getId().equals(id)) {
|
||||
return current;
|
||||
}
|
||||
}
|
||||
ExceptionHandler.log("Can't find repository factory for: " + id);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,8 @@ import org.talend.commons.runtime.model.emf.provider.EmfResourcesFactoryReader;
|
||||
*/
|
||||
public class TalendResourceSet extends ResourceSetImpl {
|
||||
|
||||
private boolean showLog;
|
||||
|
||||
public TalendResourceSet() {
|
||||
super();
|
||||
|
||||
@@ -58,6 +60,14 @@ public class TalendResourceSet extends ResourceSetImpl {
|
||||
getLoadOptions().put(XMLResource.OPTION_USE_DEPRECATED_METHODS, Boolean.FALSE);
|
||||
}
|
||||
|
||||
public boolean isShowLog() {
|
||||
return this.showLog;
|
||||
}
|
||||
|
||||
public void setShowLog(boolean showLog) {
|
||||
this.showLog = showLog;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
@@ -83,7 +93,13 @@ public class TalendResourceSet extends ResourceSetImpl {
|
||||
Resource resource = map.get(uri);
|
||||
if (resource != null) {
|
||||
if (loadOnDemand && !resource.isLoaded()) {
|
||||
demandLoadHelper(resource);
|
||||
try {
|
||||
demandLoadHelper(resource);
|
||||
} catch (Exception e) {
|
||||
if (showLog) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return resource;
|
||||
}
|
||||
@@ -99,7 +115,13 @@ public class TalendResourceSet extends ResourceSetImpl {
|
||||
}
|
||||
if (theURIConverter.normalize(resource.getURI()).equals(normalizedURI)) {
|
||||
if (loadOnDemand && !resource.isLoaded()) {
|
||||
demandLoadHelper(resource);
|
||||
try {
|
||||
demandLoadHelper(resource);
|
||||
} catch (Exception e) {
|
||||
if (showLog) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (map != null) {
|
||||
@@ -125,7 +147,13 @@ public class TalendResourceSet extends ResourceSetImpl {
|
||||
+ "'; a registered resource factory is needed");
|
||||
}
|
||||
|
||||
demandLoadHelper(resource);
|
||||
try {
|
||||
demandLoadHelper(resource);
|
||||
} catch (Exception e) {
|
||||
if (showLog) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
if (map != null) {
|
||||
map.put(uri, resource);
|
||||
|
||||
@@ -390,6 +390,10 @@ public class XmiResourceManager {
|
||||
}
|
||||
|
||||
public Resource getItemResource(ResourceSet resourceSet, Item item, boolean forceLoad) {
|
||||
return getItemResource(getResourceSet(), item, forceLoad, false);
|
||||
}
|
||||
|
||||
public Resource getItemResource(ResourceSet resourceSet, Item item, boolean forceLoad, boolean showLog) {
|
||||
if (item == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -402,13 +406,23 @@ public class XmiResourceManager {
|
||||
} else {
|
||||
itemResourceURI = getItemResourceURI(getItemURI(item));
|
||||
}
|
||||
Resource itemResource = resourceSet.getResource(itemResourceURI, false);
|
||||
if (forceLoad && itemResource == null) {
|
||||
if (item instanceof FileItem) {
|
||||
itemResource = new ByteArrayResource(itemResourceURI);
|
||||
resourceSet.getResources().add(itemResource);
|
||||
Resource itemResource = null;
|
||||
try {
|
||||
if (resourceSet instanceof TalendResourceSet) {
|
||||
((TalendResourceSet) resourceSet).setShowLog(showLog);
|
||||
}
|
||||
itemResource = resourceSet.getResource(itemResourceURI, false);
|
||||
if (forceLoad && itemResource == null) {
|
||||
if (item instanceof FileItem) {
|
||||
itemResource = new ByteArrayResource(itemResourceURI);
|
||||
resourceSet.getResources().add(itemResource);
|
||||
}
|
||||
itemResource = resourceSet.getResource(itemResourceURI, true);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
if (showLog) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
itemResource = resourceSet.getResource(itemResourceURI, true);
|
||||
}
|
||||
return itemResource;
|
||||
}
|
||||
@@ -628,7 +642,7 @@ public class XmiResourceManager {
|
||||
|
||||
boolean isTestContainer = false;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerProviderService.class)) {
|
||||
ITestContainerProviderService testContainerService = (ITestContainerProviderService) GlobalServiceRegister
|
||||
ITestContainerProviderService testContainerService = GlobalServiceRegister
|
||||
.getDefault().getService(ITestContainerProviderService.class);
|
||||
if (testContainerService != null) {
|
||||
isTestContainer = testContainerService.isTestContainerItem(property.getItem());
|
||||
|
||||
@@ -129,7 +129,8 @@ Require-Bundle: org.eclipse.jdt.core,
|
||||
jackson-core-asl,
|
||||
org.talend.libraries.jackson,
|
||||
org.eclipse.m2e.core,
|
||||
org.talend.libraries.apache.common
|
||||
org.talend.libraries.apache.common,
|
||||
org.talend.signon.util
|
||||
Bundle-Activator: org.talend.core.runtime.CoreRuntimePlugin
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: .,
|
||||
|
||||
@@ -33,6 +33,13 @@ public class AnalysisReportRecorder extends ItemReportRecorder {
|
||||
this.detailMessage = detailMessage;
|
||||
}
|
||||
|
||||
public AnalysisReportRecorder(IItemAnalysisTask task, SeverityOption severity, String detailMessage) {
|
||||
super();
|
||||
this.task = task;
|
||||
this.severity = severity;
|
||||
this.detailMessage = detailMessage;
|
||||
}
|
||||
|
||||
public String getTaskName() {
|
||||
return task.getName();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.analysistask;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||
|
||||
/**
|
||||
* created by hcyi on Oct 26, 2022
|
||||
* Detailled comment
|
||||
*
|
||||
*/
|
||||
public class DefaultItemsAnalysisTask extends AbstractItemAnalysisTask {
|
||||
|
||||
public DefaultItemsAnalysisTask() {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Set<ERepositoryObjectType> getRepositoryObjectTypeScope() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AnalysisReportRecorder> execute(Item item) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,6 +20,7 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
@@ -50,7 +51,9 @@ import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.runtime.CoreRuntimePlugin;
|
||||
import org.talend.core.runtime.i18n.Messages;
|
||||
import org.talend.designer.core.IDesignerCoreService;
|
||||
import org.talend.repository.ProjectManager;
|
||||
import org.talend.repository.model.IProxyRepositoryFactory;
|
||||
import org.talend.repository.model.IRepositoryService;
|
||||
@@ -73,7 +76,7 @@ public class ItemAnalysisReportManager {
|
||||
private AtomicBoolean inGenerating = new AtomicBoolean(false);
|
||||
|
||||
public List<AnalysisReportRecorder> executeAnalysisTask(Project project) {
|
||||
IRepositoryService service = (IRepositoryService) GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
|
||||
IRepositoryService service = GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
|
||||
IProxyRepositoryFactory repFactory = service.getProxyRepositoryFactory();
|
||||
List<AnalysisReportRecorder> analysisResultList = new ArrayList<AnalysisReportRecorder>();
|
||||
List<IItemAnalysisTask> analysisTasks = ItemAnalysisTaskRegistryReader.getInstance().getItemAnalysisTasks();
|
||||
@@ -105,6 +108,16 @@ public class ItemAnalysisReportManager {
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
ItemAnalysisTaskRegistryReader.getInstance().getAllItemURIsMap().clear();
|
||||
ItemAnalysisTaskRegistryReader.getInstance().getDuplicatedItemURIsMap().clear();
|
||||
IDesignerCoreService designerCoreService = CoreRuntimePlugin.getInstance().getDesignerCoreService();
|
||||
if (designerCoreService != null) {
|
||||
List<AnalysisReportRecorder> recorder = designerCoreService.analysis(project);
|
||||
if (recorder != null && !recorder.isEmpty()) {
|
||||
analysisResultList.addAll(recorder);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
@@ -190,6 +203,42 @@ public class ItemAnalysisReportManager {
|
||||
inGenerating.set(newValue);
|
||||
}
|
||||
|
||||
public 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();
|
||||
}
|
||||
|
||||
public void findOutCompleteTypePath(ERepositoryObjectType type, List<String> typeLabels) {
|
||||
ERepositoryObjectType parentType = ERepositoryObjectType.findParentType(type);
|
||||
if (parentType != null) {
|
||||
findOutCompleteTypePath(parentType, typeLabels);
|
||||
}
|
||||
typeLabels.add(type.getLabel());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class AnalysisReportAccessDialog extends Dialog {
|
||||
|
||||
@@ -32,6 +32,10 @@ public class ItemAnalysisTaskRegistryReader extends RegistryReader {
|
||||
|
||||
private static final ItemAnalysisTaskRegistryReader INSTANCE = new ItemAnalysisTaskRegistryReader();
|
||||
|
||||
private Map<String, String> allItemURIsMap = new HashMap<String, String>();
|
||||
|
||||
private Map<String, List<String>> duplicatedItemURIsMap = new HashMap<String, List<String>>();
|
||||
|
||||
public static ItemAnalysisTaskRegistryReader getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
@@ -81,4 +85,17 @@ public class ItemAnalysisTaskRegistryReader extends RegistryReader {
|
||||
idItemAnalysisTaskMap.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for allItemURIsMap.
|
||||
*
|
||||
* @return the allItemURIsMap
|
||||
*/
|
||||
public Map<String, String> getAllItemURIsMap() {
|
||||
return this.allItemURIsMap;
|
||||
}
|
||||
|
||||
public Map<String, List<String>> getDuplicatedItemURIsMap() {
|
||||
return this.duplicatedItemURIsMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,10 +12,8 @@
|
||||
// ============================================================================
|
||||
package org.talend.commons.report;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.talend.analysistask.ItemAnalysisReportManager;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
@@ -23,7 +21,6 @@ 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.repository.model.IRepositoryService;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
@@ -34,8 +31,15 @@ public class ItemReportRecorder {
|
||||
|
||||
protected String detailMessage;
|
||||
|
||||
protected String currentItemPath;
|
||||
|
||||
protected String currentItemType;
|
||||
|
||||
public String getItemType() {
|
||||
String type = "";
|
||||
if (item == null) {
|
||||
return currentItemType;
|
||||
}
|
||||
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
|
||||
if (itemType != null) {
|
||||
if (ERepositoryObjectType.getAllTypesOfTestContainer().contains(itemType)) {
|
||||
@@ -43,7 +47,7 @@ public class ItemReportRecorder {
|
||||
if (parentJobItem != null) {
|
||||
ERepositoryObjectType parentJobType = ERepositoryObjectType.getItemType(parentJobItem);
|
||||
if (parentJobType != null) {
|
||||
String parentTypePath = getCompleteObjectTypePath(parentJobType);
|
||||
String parentTypePath = ItemAnalysisReportManager.getInstance().getCompleteObjectTypePath(parentJobType);
|
||||
if (StringUtils.isNotBlank(parentTypePath)) {
|
||||
type = parentTypePath + "/";
|
||||
}
|
||||
@@ -51,7 +55,7 @@ public class ItemReportRecorder {
|
||||
}
|
||||
type += itemType;
|
||||
} else {
|
||||
type = getCompleteObjectTypePath(itemType);
|
||||
type = ItemAnalysisReportManager.getInstance().getCompleteObjectTypePath(itemType);
|
||||
}
|
||||
}
|
||||
return type;
|
||||
@@ -59,6 +63,9 @@ public class ItemReportRecorder {
|
||||
|
||||
public String getItemPath() {
|
||||
String path = "";
|
||||
if (this.currentItemPath != null) {
|
||||
return this.currentItemPath;
|
||||
}
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
|
||||
|
||||
@@ -104,42 +111,6 @@ public class ItemReportRecorder {
|
||||
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 Item getItem() {
|
||||
return item;
|
||||
}
|
||||
@@ -148,6 +119,22 @@ public class ItemReportRecorder {
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
public String getCurrentItemPath() {
|
||||
return this.currentItemPath;
|
||||
}
|
||||
|
||||
public void setCurrentPath(String currentItemPath) {
|
||||
this.currentItemPath = currentItemPath;
|
||||
}
|
||||
|
||||
public String getCurrentItemType() {
|
||||
return this.currentItemType;
|
||||
}
|
||||
|
||||
public void setCurrentItemType(String currentItemType) {
|
||||
this.currentItemType = currentItemType;
|
||||
}
|
||||
|
||||
public String getDetailMessage() {
|
||||
return detailMessage;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.talend.core.model.metadata.ColumnNameChanged;
|
||||
import org.talend.core.model.metadata.IMetadataTable;
|
||||
import org.talend.core.model.metadata.builder.connection.MetadataTable;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.runtime.process.ITalendProcessJavaProject;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
@@ -134,6 +135,12 @@ public interface ICoreService extends IService {
|
||||
*/
|
||||
void installComponents(IProgressMonitor monitor);
|
||||
|
||||
Integer getSignatureVerifyResult(Property property, IPath resourcePath, boolean considerGP) throws Exception;
|
||||
|
||||
String getLicenseCustomer();
|
||||
|
||||
boolean isInValidGP();
|
||||
|
||||
public static ICoreService get() {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreService.class)) {
|
||||
return GlobalServiceRegister.getDefault().getService(ICoreService.class);
|
||||
|
||||
@@ -156,6 +156,8 @@ public interface ILibraryManagerService extends IService {
|
||||
public void clearCache();
|
||||
|
||||
public void clearCache(boolean cleanIndex);
|
||||
|
||||
public void deployLibsFromCustomComponents();
|
||||
|
||||
@Deprecated
|
||||
public Set<String> list(boolean withComponent, IProgressMonitor... monitorWrap);
|
||||
|
||||
@@ -53,5 +53,5 @@ public interface ILibraryManagerUIService extends IService {
|
||||
|
||||
public boolean confirmDialog(String originalJarFileName);
|
||||
|
||||
public IConfigModuleDialog getConfigModuleDialog(Shell parentShell, String initValue);
|
||||
public IConfigModuleDialog getConfigModuleDialog(Shell parentShell, String initValue, boolean allowDetectDependencies);
|
||||
}
|
||||
|
||||
@@ -15,8 +15,10 @@ package org.talend.core.context;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.properties.User;
|
||||
import org.talend.core.service.ICloudSignOnService;
|
||||
|
||||
/**
|
||||
* DOC smallet class global comment. Detailled comment <br/>
|
||||
@@ -139,6 +141,14 @@ public class RepositoryContext {
|
||||
* @return the clearPassword
|
||||
*/
|
||||
public String getClearPassword() {
|
||||
try {
|
||||
if (ICloudSignOnService.get() != null && ICloudSignOnService.get().isSignViaCloud()) {
|
||||
return ICloudSignOnService.get().getLatestToken().getAccessToken();
|
||||
}
|
||||
}catch (Exception ex) {
|
||||
ExceptionHandler.process(ex);
|
||||
}
|
||||
|
||||
return clearPassword;
|
||||
}
|
||||
|
||||
|
||||
@@ -147,8 +147,15 @@ public enum EDatabaseTypeName {
|
||||
|
||||
MAPRDB(
|
||||
"MapRDB", "MapRDB", Boolean.FALSE, "MAPRDB", EDatabaseSchemaOrCatalogMapping.Sid, EDatabaseSchemaOrCatalogMapping.Column_Family, true),//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
|
||||
SNOWFLAKE(
|
||||
"SNOWFLAKE","SNOWFLAKE",Boolean.TRUE,"SNOWFLAKE",EDatabaseSchemaOrCatalogMapping.None, EDatabaseSchemaOrCatalogMapping.None);
|
||||
"SNOWFLAKE",
|
||||
"SNOWFLAKE",
|
||||
Boolean.TRUE,
|
||||
"SNOWFLAKE",
|
||||
EDatabaseSchemaOrCatalogMapping.None,
|
||||
EDatabaseSchemaOrCatalogMapping.None,
|
||||
true);
|
||||
|
||||
// displayName is used in Java code.
|
||||
private String displayName;
|
||||
|
||||
@@ -351,11 +351,19 @@ public class ConnParameterKeys {
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_CLOUD_PROVIDER = "CONN_PARA_KEY_DATABRICKS_CLOUD_PROVIDER";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_CLUSTER_TYPE = "CONN_PARA_KEY_DATABRICKS_CLUSTER_TYPE";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_RUN_MODE = "CONN_PARA_KEY_DATABRICKS_RUN_MODE";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_CLUSTER_ID="CONN_PARA_KEY_DATABRICKS_CLUSTER_ID";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_TOKEN="CONN_PARA_KEY_DATABRICKS_TOKEN";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_NODE_TYPE="CONN_PARA_KEY_DATABRICKS_NODE_TYPE";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_DRIVER_NODE_TYPE="CONN_PARA_KEY_DATABRICKS_DRIVER_NODE_TYPE";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_RUNTIME_VERSION="CONN_PARA_KEY_DATABRICKS_RUNTIME_VERSION";
|
||||
|
||||
public static final String CONN_PARA_KEY_DATABRICKS_DBFS_DEP_FOLDER="CONN_PARA_KEY_DATABRICKS_DBFS_DEP_FOLDER";
|
||||
|
||||
@@ -379,6 +387,8 @@ public class ConnParameterKeys {
|
||||
|
||||
public static final String CONN_PARA_KEY_KNOX_DIRECTORY="CONN_PARA_KEY_KNOX_DIRECTORY";
|
||||
|
||||
public static final String CONN_PARA_KEY_KNOX_TIMEOUT="CONN_PARA_KEY_KNOX_TIMEOUT";
|
||||
|
||||
// CDE
|
||||
public static final String CONN_PARA_KEY_CDE_API_ENDPOINT="CONN_PARA_KEY_CDE_API_ENDPOINT";
|
||||
public static final String CONN_PARA_KEY_CDE_TOKEN="CONN_PARA_KEY_CDE_TOKEN";
|
||||
|
||||
@@ -207,7 +207,13 @@ public enum EDatabaseConnTemplate {
|
||||
"2181")), //$NON-NLS-1$
|
||||
|
||||
MAPRDB(new DbConnStr(EDatabaseTypeName.MAPRDB, "127.0.0.1", //$NON-NLS-1$
|
||||
"5181")); //$NON-NLS-1$
|
||||
"5181")), //$NON-NLS-1$
|
||||
|
||||
SNOWFLAKE(
|
||||
new DbConnStr(EDatabaseTypeName.SNOWFLAKE, //
|
||||
"jdbc:snowflake://<host>:<port>/?<property>",
|
||||
"3306" //$NON-NLS-1$
|
||||
)); // $NON-NLS-1$
|
||||
|
||||
private DbConnStr connStr;
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ import org.talend.core.database.conn.DatabaseConnConstants;
|
||||
public enum EDatabaseVersion4Drivers {
|
||||
// access
|
||||
ACCESS_JDBC(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, new String[] {
|
||||
"jackcess-2.1.0.jar", "ucanaccess-2.0.9.5.jar", "commons-lang-2.6.jar", "commons-logging-1.1.1.jar", "hsqldb.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
"jackcess-encrypt-2.1.0.jar", "bcprov-jdk15on-1.51.jar", "talend-ucanaccess-utils-1.0.0.jar" })),
|
||||
"jackcess-2.1.12.jar", "ucanaccess-2.0.9.5.jar", "commons-lang-2.6.jar", "commons-logging-1.1.3.jar", "hsqldb.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
"jackcess-encrypt-2.1.4.jar", "bcprov-jdk15on-1.70.jar", "talend-ucanaccess-utils-1.0.0.jar" })),
|
||||
ACCESS_2003(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, "Access 2003", "Access_2003")), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
ACCESS_2007(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, "Access 2007", "Access_2007")), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
// oracle
|
||||
@@ -56,22 +56,22 @@ public enum EDatabaseVersion4Drivers {
|
||||
HSQLDB_SERVER(new DbVersion4Drivers(EDatabaseTypeName.HSQLDB_SERVER, "hsqldb.jar")), //$NON-NLS-1$
|
||||
HSQLDB_WEBSERVER(new DbVersion4Drivers(EDatabaseTypeName.HSQLDB_WEBSERVER, "hsqldb.jar")), //$NON-NLS-1$
|
||||
|
||||
H2(new DbVersion4Drivers(EDatabaseTypeName.H2, "h2-2.1.210.jar")), //$NON-NLS-1$
|
||||
H2(new DbVersion4Drivers(EDatabaseTypeName.H2, "h2-2.1.214.jar")), //$NON-NLS-1$
|
||||
|
||||
//
|
||||
JAVADB_EMBEDED(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_EMBEDED, "derby.jar")), //$NON-NLS-1$
|
||||
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlitejdbc-v056.jar")), //$NON-NLS-1$
|
||||
FIREBIRD(new DbVersion4Drivers(EDatabaseTypeName.FIREBIRD, "jaybird-full-2.1.1.jar")), //$NON-NLS-1$
|
||||
TERADATA(new DbVersion4Drivers(EDatabaseTypeName.TERADATA,
|
||||
new String[] { "terajdbc4-17.10.00.27.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
new String[] { "terajdbc4-17.10.00.27.jar" })), //$NON-NLS-1$
|
||||
JAVADB_DERBYCLIENT(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_DERBYCLIENT, "derbyclient.jar")), //$NON-NLS-1$
|
||||
NETEZZA(new DbVersion4Drivers(EDatabaseTypeName.NETEZZA, "nzjdbc.jar")), //$NON-NLS-1$
|
||||
INFORMIX(new DbVersion4Drivers(EDatabaseTypeName.INFORMIX, "ifxjdbc.jar")), //$NON-NLS-1$
|
||||
|
||||
SAS_9_1(new DbVersion4Drivers(EDatabaseTypeName.SAS, "SAS 9.1", "SAS_9.1", new String[] { "sas.core.jar", //$NON-NLS-1$
|
||||
"sas.intrnet.javatools.jar", "sas.svc.connection.jar", "reload4j-1.2.19.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
"sas.intrnet.javatools.jar", "sas.svc.connection.jar", "reload4j-1.2.22.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
SAS_9_2(new DbVersion4Drivers(EDatabaseTypeName.SAS,
|
||||
"SAS 9.2", "SAS_9.2", new String[] { "sas.core.jar", "sas.security.sspi.jar", "sas.svc.connection.jar", "reload4j-1.2.19.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
"SAS 9.2", "SAS_9.2", new String[] { "sas.core.jar", "sas.security.sspi.jar", "sas.svc.connection.jar", "reload4j-1.2.22.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
SAPHana(new DbVersion4Drivers(EDatabaseTypeName.SAPHana, "HDB 1.0", "HDB_1_0", "ngdbc.jar")), //$NON-NLS-1$
|
||||
// MYSQL, add for 9594
|
||||
MYSQL_8(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MySQL 8", "MYSQL_8", "mysql-connector-java-8.0.18.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
@@ -84,8 +84,8 @@ public enum EDatabaseVersion4Drivers {
|
||||
MSSQL_PROP(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
|
||||
"Microsoft", "MSSQL_PROP", //$NON-NLS-1$ //$NON-NLS-2$
|
||||
new String[] { "mssql-jdbc.jar", "slf4j-api-1.7.29.jar", "slf4j-log4j12-1.7.29.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
|
||||
"oauth2-oidc-sdk-9.7.jar", "reload4j-1.2.19.jar", "jackson-core-2.13.2.jar",
|
||||
"jackson-databind-2.13.2.2.jar", "jackson-annotations-2.13.2.jar", "jcip-annotations-1.0-1.jar",
|
||||
"oauth2-oidc-sdk-9.7.jar", "reload4j-1.2.22.jar", "jackson-core-2.13.4.jar",
|
||||
"jackson-databind-2.13.4.2.jar", "jackson-annotations-2.13.4.jar", "jcip-annotations-1.0-1.jar",
|
||||
"json-smart-2.4.7.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.7.jar", "asm-9.1.jar",
|
||||
"content-type-2.1.jar", "lang-tag-1.5.jar" })),
|
||||
|
||||
@@ -95,12 +95,12 @@ public enum EDatabaseVersion4Drivers {
|
||||
GREENPLUM_PSQL(new DbVersion4Drivers(EDatabaseTypeName.GREENPLUM,"PostgreSQL", "POSTGRESQL", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$
|
||||
GREENPLUM(new DbVersion4Drivers(EDatabaseTypeName.GREENPLUM,"Greenplum", "GREENPLUM", "greenplum-5.1.4.000275.jar")), //$NON-NLS-1$
|
||||
// PSQL_V10(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v10", "V10", "postgresql-42.2.5.jar")),
|
||||
PSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v9 and later", "V9_X", "postgresql-42.2.25.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
PSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "v9 and later", "V9_X", "postgresql-42.2.26.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
PSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PSQL, "Prior to v9", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
|
||||
PLUSPSQL_PRIOR_TO_V9(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL,
|
||||
"Prior to v9", "PRIOR_TO_V9", "postgresql-8.4-703.jdbc4.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
PLUSPSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL, "v9 and later", "V9_X", "postgresql-42.2.25.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
PLUSPSQL_V9_X(new DbVersion4Drivers(EDatabaseTypeName.PLUSPSQL, "v9 and later", "V9_X", "postgresql-42.2.26.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
IBMDB2(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$
|
||||
"db2jcc_license_cisuz.jar" })), //$NON-NLS-1$
|
||||
IBMDB2ZOS(new DbVersion4Drivers(EDatabaseTypeName.IBMDB2ZOS, new String[] { "db2jcc4.jar", "db2jcc_license_cu.jar", //$NON-NLS-1$ //$NON-NLS-2$
|
||||
@@ -153,8 +153,8 @@ public enum EDatabaseVersion4Drivers {
|
||||
REDSHIFT(new DbVersion4Drivers(EDatabaseTypeName.REDSHIFT, "redshift", "REDSHIFT", //$NON-NLS-1$ //$NON-NLS-2$
|
||||
new String[]{ "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
REDSHIFT_SSO(new DbVersion4Drivers(EDatabaseTypeName.REDSHIFT_SSO, "redshift sso", "REDSHIFT_SSO", //$NON-NLS-1$ //$NON-NLS-2$
|
||||
new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar", "aws-java-sdk-1.11.848.jar", "jackson-core-2.11.4.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
||||
"jackson-databind-2.11.4.jar", "jackson-annotations-2.11.4.jar", "httpcore-4.4.13.jar", "httpclient-4.5.13.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
|
||||
new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar", "antlr4-runtime-4.8-1.jar", "aws-java-sdk-1.11.848.jar", "jackson-core-2.13.4.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
|
||||
"jackson-databind-2.13.4.2.jar", "jackson-annotations-2.13.4.jar", "httpcore-4.4.13.jar", "httpclient-4.5.13.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
|
||||
"joda-time-2.8.1.jar", "commons-logging-1.2.jar", "commons-codec-1.14.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
"aws-java-sdk-redshift-internal-1.12.x.jar" })), //$NON-NLS-1$
|
||||
|
||||
|
||||
@@ -38,7 +38,10 @@ public class HadoopClassLoaderFactory2 {
|
||||
public static ClassLoader getHDFSClassLoader(String relatedClusterId, String distribution, String version, boolean useKrb) {
|
||||
return getClassLoader(relatedClusterId, EHadoopCategory.HDFS, distribution, version, useKrb);
|
||||
}
|
||||
|
||||
public static ClassLoader getHDFSKnoxClassLoader(String relatedClusterId, String distribution, String version, boolean useKrb) {
|
||||
return HadoopClassLoaderFactory2.getClassLoader(relatedClusterId, EHadoopCategory.HDFS, distribution, version, useKrb,
|
||||
IHadoopArgs.HDFS_ARG_KNOX);
|
||||
}
|
||||
public static ClassLoader getMRClassLoader(String relatedClusterId, String distribution, String version, boolean useKrb) {
|
||||
return getClassLoader(relatedClusterId, EHadoopCategory.MAP_REDUCE, distribution, version, useKrb);
|
||||
}
|
||||
|
||||
@@ -22,4 +22,6 @@ public interface IHadoopArgs {
|
||||
|
||||
public static final String HIVE_ARG_STANDALONE = "STANDALONE"; //$NON-NLS-1$
|
||||
|
||||
public static final String HDFS_ARG_KNOX = "USE_KNOX"; //$NON-NLS-1$
|
||||
|
||||
}
|
||||
|
||||
@@ -154,6 +154,14 @@ public enum EHadoopProperties {
|
||||
|
||||
DATABRICKS_DBFS_DEP_FOLDER,
|
||||
|
||||
DATABRICKS_NODE_TYPE,
|
||||
|
||||
DATABRICKS_DRIVER_NODE_TYPE,
|
||||
|
||||
DATABRICKS_RUNTIME_VERSION,
|
||||
|
||||
DATABRICKS_CLUSTER_TYPE,
|
||||
|
||||
UNIV_STANDALONE_MASTER,
|
||||
|
||||
UNIV_STANDALONE_EXEC_MEMORY,
|
||||
|
||||
32
main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/context/ContextUtils.java
Normal file → Executable file
32
main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/context/ContextUtils.java
Normal file → Executable file
@@ -222,6 +222,32 @@ public class ContextUtils {
|
||||
}
|
||||
return parameterType;
|
||||
}
|
||||
|
||||
// TUP-36519:For possible duplicate internalid scenario(TUP-36667) after several times' renaming in joblet. Loop all and find the nearest
|
||||
// one.
|
||||
public static ContextParameterType getContextParameterTypeById(ContextType contextType, final String uuId,
|
||||
boolean isFromContextItem, String paraName) {
|
||||
if (contextType == null || uuId == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ContextParameterType parameterType = null;
|
||||
for (ContextParameterType param : (List<ContextParameterType>) contextType.getContextParameter()) {
|
||||
String paramId = null;
|
||||
if (isFromContextItem) {
|
||||
paramId = ResourceHelper.getUUID(param);
|
||||
} else {
|
||||
paramId = param.getInternalId();
|
||||
}
|
||||
if (uuId.equals(paramId)) {
|
||||
parameterType = param;
|
||||
if (paraName != null && StringUtils.equals(paraName, param.getName())) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return parameterType;
|
||||
}
|
||||
|
||||
public static ContextParameterType getContextParameterTypeById(ContextType contextType, final String uuId,
|
||||
boolean isFromContextItem) {
|
||||
@@ -846,7 +872,7 @@ public class ContextUtils {
|
||||
if (item != null) {
|
||||
final ContextType repoContextType = ContextUtils.getContextTypeByName(item, contextType.getName());
|
||||
ContextParameterType repoContextParam = ContextUtils.getContextParameterTypeById(repoContextType,
|
||||
paramLink.getId(), item instanceof ContextItem);
|
||||
paramLink.getId(), item instanceof ContextItem, contextParameterType.getName());
|
||||
if (repoContextParam != null
|
||||
&& !StringUtils.equals(repoContextParam.getName(), contextParameterType.getName())) {
|
||||
renamedMap.put(repoContextParam.getName(), contextParameterType.getName());
|
||||
@@ -915,7 +941,7 @@ public class ContextUtils {
|
||||
if (item != null) {
|
||||
ContextType contextType = ContextUtils.getContextTypeByName(item, context.getName());
|
||||
ContextParameterType repoParameterType = ContextUtils.getContextParameterTypeById(contextType,
|
||||
parameterLink.getId(), item instanceof ContextItem);
|
||||
parameterLink.getId(), item instanceof ContextItem, parameterType.getName());
|
||||
if (repoParameterType != null
|
||||
&& !StringUtils.equals(repoParameterType.getName(), parameterType.getName())) {
|
||||
renamedMap.put(repoParameterType.getName(), parameterType.getName());
|
||||
@@ -975,7 +1001,7 @@ public class ContextUtils {
|
||||
ContextParameterType contextParameterType = null;
|
||||
if (paramLink != null && paramLink.getId() != null && contextType != null) {
|
||||
contextParameterType = getContextParameterTypeById(contextType, paramLink.getId(),
|
||||
contextItem instanceof ContextItem);
|
||||
contextItem instanceof ContextItem, paramName);
|
||||
}
|
||||
if (contextParameterType != null) {// Compare use UUID
|
||||
if (!StringUtils.equals(contextParameterType.getName(), paramName)) {
|
||||
|
||||
@@ -17,10 +17,15 @@ import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.pendo.PendoTrackSender;
|
||||
import org.talend.core.pendo.PendoDataTrackFactory;
|
||||
import org.talend.core.runtime.i18n.Messages;
|
||||
import org.talend.core.service.ICloudSignOnService;
|
||||
import org.talend.repository.model.RepositoryConstants;
|
||||
import org.talend.signon.util.TMCRepositoryUtil;
|
||||
import org.talend.signon.util.TokenMode;
|
||||
import org.talend.utils.json.JSONException;
|
||||
import org.talend.utils.json.JSONObject;
|
||||
|
||||
@@ -58,12 +63,14 @@ public class ConnectionBean implements Cloneable {
|
||||
|
||||
private static final String TOKEN = "token"; //$NON-NLS-1$
|
||||
|
||||
private static final String URL = "url"; //$NON-NLS-1$
|
||||
|
||||
private static final String STORECREDENTIALS = "storeCredentials"; //$NON-NLS-1$
|
||||
|
||||
private String credentials = ""; //$NON-NLS-1$
|
||||
|
||||
public static final String CLOUD_TOKEN_ID ="cloud_token"; //$NON-NLS-1$
|
||||
|
||||
private static final String LOGIN_VIA_CLOUD = "login_via_cloud"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* DOC smallet ConnectionBean constructor comment.
|
||||
*/
|
||||
@@ -89,6 +96,24 @@ public class ConnectionBean implements Cloneable {
|
||||
newConnection.setPassword(""); //$NON-NLS-1$
|
||||
return newConnection;
|
||||
}
|
||||
|
||||
public static ConnectionBean getDefaultCloudConnectionBean(String dataCenter) {
|
||||
ConnectionBean newConnection = new ConnectionBean();
|
||||
newConnection.setName(Messages.getString("ConnectionBean.Cloud.name", TMCRepositoryUtil.getDisplayNameByDatacenter(dataCenter))); //$NON-NLS-1$
|
||||
newConnection.setDescription(Messages.getString("ConnectionBean.CloudConnection.description", TMCRepositoryUtil.getDisplayNameByDatacenter(dataCenter))); //$NON-NLS-1$
|
||||
newConnection.setRepositoryId(TMCRepositoryUtil.getRepositoryId(dataCenter));
|
||||
newConnection.setToken(true);
|
||||
newConnection.setStoreCredentials(true);
|
||||
newConnection.setComplete(true);
|
||||
newConnection.setLoginViaCloud(true);
|
||||
newConnection.setWorkSpace(getRecentWorkSpace());
|
||||
return newConnection;
|
||||
}
|
||||
|
||||
protected static String getRecentWorkSpace() {
|
||||
String filePath = new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath();
|
||||
return filePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for ID.
|
||||
@@ -184,13 +209,22 @@ public class ConnectionBean implements Cloneable {
|
||||
*/
|
||||
public String getPassword() {
|
||||
try {
|
||||
|
||||
if (conDetails.has(PASSWORD)) {
|
||||
if (isStoreCredentials() && credentials != null) {
|
||||
return this.credentials;
|
||||
}
|
||||
return conDetails.getString(PASSWORD);
|
||||
} else if (conDetails.has(CLOUD_TOKEN_ID)){
|
||||
String object = conDetails.getString(CLOUD_TOKEN_ID);
|
||||
TokenMode token = TokenMode.parseFromJson(object, null);
|
||||
if (ICloudSignOnService.get() != null) {
|
||||
token = ICloudSignOnService.get().getLatestToken();
|
||||
this.setConnectionToken(token);
|
||||
}
|
||||
return token.getAccessToken();
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return "";
|
||||
@@ -215,18 +249,18 @@ public class ConnectionBean implements Cloneable {
|
||||
* @return the user
|
||||
*/
|
||||
public String getUser() {
|
||||
try {
|
||||
try {
|
||||
if (conDetails.has(USER)) {
|
||||
String user = conDetails.getString(USER);
|
||||
if (isToken()) {
|
||||
String url = getDynamicFields().get(RepositoryConstants.REPOSITORY_URL);
|
||||
user = PendoTrackSender.getInstance().getTmcUser(url, getPassword());
|
||||
user = PendoDataTrackFactory.getInstance().getTmcUser(url, getPassword());
|
||||
if (StringUtils.isNotBlank(user)) {
|
||||
setUser(user);
|
||||
}
|
||||
}
|
||||
return user;
|
||||
}
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
@@ -320,6 +354,25 @@ public class ConnectionBean implements Cloneable {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isLoginViaCloud() {
|
||||
try {
|
||||
if (conDetails.has(LOGIN_VIA_CLOUD)) {
|
||||
return (Boolean) conDetails.get(LOGIN_VIA_CLOUD);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
// do nothing
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setLoginViaCloud(boolean isLoginViaCloud) {
|
||||
try {
|
||||
conDetails.put(LOGIN_VIA_CLOUD, isLoginViaCloud);
|
||||
} catch (JSONException e) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConnectionBean clone() throws CloneNotSupportedException {
|
||||
@@ -418,14 +471,21 @@ public class ConnectionBean implements Cloneable {
|
||||
|
||||
public String getUrl() {
|
||||
try {
|
||||
if (conDetails.has(URL)) {
|
||||
return conDetails.getString(URL);
|
||||
if (dynamicFields.containsKey(RepositoryConstants.REPOSITORY_URL)) {
|
||||
return dynamicFields.get(RepositoryConstants.REPOSITORY_URL);
|
||||
}
|
||||
if (conDetails.has(RepositoryConstants.REPOSITORY_URL)) {
|
||||
return conDetails.getString(RepositoryConstants.REPOSITORY_URL);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
dynamicFields.put(RepositoryConstants.REPOSITORY_URL, url);
|
||||
}
|
||||
|
||||
public boolean isStoreCredentials() {
|
||||
try {
|
||||
@@ -453,4 +513,27 @@ public class ConnectionBean implements Cloneable {
|
||||
public void setCredentials(String credentials) {
|
||||
this.credentials = credentials;
|
||||
}
|
||||
|
||||
|
||||
public TokenMode getConnectionToken() {
|
||||
try {
|
||||
if (conDetails.has(CLOUD_TOKEN_ID)) {
|
||||
String object = conDetails.getString(CLOUD_TOKEN_ID);
|
||||
return TokenMode.parseFromJson(object, null);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public void setConnectionToken(TokenMode connectionToken) {
|
||||
try {
|
||||
conDetails.put(CLOUD_TOKEN_ID, TokenMode.writeToJson(connectionToken));
|
||||
} catch (JSONException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -194,6 +194,10 @@ public interface IMetadataConnection extends IMetadata {
|
||||
public String getContextName();
|
||||
|
||||
public void setContextName(String contextName);
|
||||
|
||||
public boolean isSupportNLS();
|
||||
|
||||
public void setSupportNLS(boolean newSupportNLS);
|
||||
|
||||
/**
|
||||
* Returns the value that you stored in the data collection by the key. Normally, it is like this key-value. For
|
||||
|
||||
@@ -25,6 +25,7 @@ import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
@@ -515,14 +516,15 @@ public final class MetadataTalendType {
|
||||
try {
|
||||
Map<String, File> targetFileMap = Stream.of(arr).collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
Map<String, File> workingFileMap = getWorkingMappingFiles().stream()
|
||||
.collect(Collectors.toMap(File::getName, Function.identity()));
|
||||
.collect(Collectors.toMap(f -> getTargetName(f, rename), Function.identity(), (f1, f2) -> f1));
|
||||
|
||||
targetFileMap.entrySet().stream().filter(entry -> !workingFileMap.containsKey(entry.getKey()))
|
||||
.forEach(entry -> entry.getValue().delete());
|
||||
|
||||
for (File workingMappingFile : workingFileMap.values()) {
|
||||
for (Entry<String, File> entry : workingFileMap.entrySet()) {
|
||||
String targetName = entry.getKey();
|
||||
File workingMappingFile = entry.getValue();
|
||||
boolean needUpdate = false;
|
||||
String targetName = getTargetName(workingMappingFile, rename);
|
||||
File targetMappingFile = targetFileMap.get(targetName);
|
||||
if (targetMappingFile == null) {
|
||||
targetMappingFile = new File(target, targetName);
|
||||
|
||||
@@ -13,10 +13,17 @@ public class SparkBatchMetadataTalendTypeFilter extends SparkMetadataTalendTypeF
|
||||
public static List<String> dynamicTypeCompatibleComponents = Arrays.asList(
|
||||
"tDeltaLakeInput",
|
||||
"tDeltaLakeOutput",
|
||||
"tFileInputDelimited",
|
||||
"tFileInputParquet",
|
||||
"tFileOutputParquet",
|
||||
"tJDBCInput",
|
||||
"tJDBCOutput", "tLogRow", "tSqlRow"
|
||||
"tJDBCOutput",
|
||||
"tLogRow",
|
||||
"tSqlRow",
|
||||
"tAvroInput",
|
||||
"tMongoDBInput",
|
||||
"tMongoDBOutput",
|
||||
"tSqlRow"
|
||||
);
|
||||
|
||||
public SparkBatchMetadataTalendTypeFilter(INode node) {
|
||||
|
||||
@@ -260,6 +260,7 @@ public final class ConvertionHelper {
|
||||
result.setContentModel(connection.isContextMode());
|
||||
result.setContextId(sourceConnection.getContextId());
|
||||
result.setContextName(sourceConnection.getContextName());
|
||||
result.setSupportNLS(sourceConnection.isSupportNLS());
|
||||
// handle oracle database connnection of general_jdbc.
|
||||
result.setSchema(getMeataConnectionSchema(result));
|
||||
convertOtherParameters(result, connection);
|
||||
|
||||
@@ -113,6 +113,7 @@ public class MetadataConnection implements IMetadataConnection {
|
||||
|
||||
private String contextName;
|
||||
|
||||
private boolean supportNLS = false;
|
||||
// ~
|
||||
|
||||
private String comment;
|
||||
@@ -729,6 +730,14 @@ public class MetadataConnection implements IMetadataConnection {
|
||||
public void setContextName(String contextName) {
|
||||
this.contextName = contextName;
|
||||
}
|
||||
|
||||
public boolean isSupportNLS() {
|
||||
return supportNLS;
|
||||
}
|
||||
|
||||
public void setSupportNLS(boolean supportNLS) {
|
||||
this.supportNLS = supportNLS;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
|
||||
@@ -1250,6 +1250,11 @@ public class RepositoryToComponentProperty {
|
||||
return value2;
|
||||
|
||||
}
|
||||
|
||||
if(value.equals("SUPPORT_NLS")) {
|
||||
return connection.isSupportNLS();
|
||||
}
|
||||
|
||||
if (value.equals("CDC_TYPE_MODE")) { //$NON-NLS-1$
|
||||
return new Boolean(CDCTypeMode.LOG_MODE.getName().equals(connection.getCdcTypeMode()));
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.eclipse.ui.preferences.ScopedPreferenceStore;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.PasswordEncryptUtil;
|
||||
import org.talend.commons.utils.generation.CodeGenerationUtils;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.language.ECodeLanguage;
|
||||
import org.talend.core.language.LanguageManager;
|
||||
import org.talend.core.model.metadata.types.JavaType;
|
||||
@@ -37,6 +38,7 @@ import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.model.utils.JavaResourcesHelper;
|
||||
import org.talend.core.model.utils.SQLPatternUtils;
|
||||
import org.talend.core.runtime.CoreRuntimePlugin;
|
||||
import org.talend.core.service.IDesignerXMLMapperService;
|
||||
import org.talend.core.utils.TalendQuoteUtils;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||
@@ -293,8 +295,7 @@ public final class ElementParameterParser {
|
||||
|
||||
List<IElementParameter> params = (List<IElementParameter>) element.getElementParametersWithChildrens();
|
||||
if (params != null && !params.isEmpty()) {
|
||||
for (int i = 0; i < params.size(); i++) {
|
||||
IElementParameter param = params.get(i);
|
||||
for (IElementParameter param : params) {
|
||||
if (text.indexOf(param.getVariableName()) != -1
|
||||
|| (param.getVariableName() != null && param.getVariableName().contains(text))) {
|
||||
if (param.getFieldType() == EParameterFieldType.TABLE) {
|
||||
@@ -422,8 +423,8 @@ public final class ElementParameterParser {
|
||||
}
|
||||
IElementParameter param;
|
||||
|
||||
for (int i = 0; i < element.getElementParameters().size(); i++) {
|
||||
param = element.getElementParameters().get(i);
|
||||
for (IElementParameter element2 : element.getElementParameters()) {
|
||||
param = element2;
|
||||
if (text.indexOf(param.getVariableName()) != -1) {
|
||||
if (param.getFieldType() == EParameterFieldType.TABLE) {
|
||||
return createTableValuesXML((List<Map<String, Object>>) param.getValue(), param);
|
||||
@@ -483,7 +484,21 @@ public final class ElementParameterParser {
|
||||
if (element instanceof INode) {
|
||||
INode node = (INode) element;
|
||||
if (node.getExternalNode() != null) {
|
||||
return EcoreUtil.copy(node.getExternalNode().getExternalEmfData());
|
||||
Object obj = null;
|
||||
if (node.isVirtualGenerateNode()) {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IDesignerXMLMapperService.class)) {
|
||||
final IDesignerXMLMapperService service = GlobalServiceRegister.getDefault()
|
||||
.getService(IDesignerXMLMapperService.class);
|
||||
if (service != null) {
|
||||
obj = service.rebuildXmlMapData(node.getExternalNode());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (obj != null) {
|
||||
return obj;
|
||||
} else {
|
||||
return EcoreUtil.copy(node.getExternalNode().getExternalEmfData());
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -496,8 +511,8 @@ public final class ElementParameterParser {
|
||||
}
|
||||
IElementParameter param;
|
||||
newText = text;
|
||||
for (int i = 0; i < element.getElementParameters().size(); i++) {
|
||||
param = element.getElementParameters().get(i);
|
||||
for (IElementParameter element2 : element.getElementParameters()) {
|
||||
param = element2;
|
||||
if (newText.contains(param.getVariableName())) {
|
||||
String value = getDisplayValue(param);
|
||||
newText = newText.replace(param.getVariableName(), value);
|
||||
|
||||
@@ -37,7 +37,7 @@ public abstract class AbstractJobParameterInRepositoryRelationshipHandler extend
|
||||
Set<Relation> relationSet = new HashSet<Relation>();
|
||||
|
||||
for (ElementParameterType paramType : parametersMap.values()) {
|
||||
if (paramType.getName().endsWith(":" + getRepositoryTypeName())) { //$NON-NLS-1$
|
||||
if (paramType.getName() != null && paramType.getName().endsWith(":" + getRepositoryTypeName())) { //$NON-NLS-1$
|
||||
String name = paramType.getName().split(":")[0]; //$NON-NLS-1$
|
||||
ElementParameterType repositoryTypeParam = parametersMap.get(name + ":" //$NON-NLS-1$
|
||||
+ getRepositoryTypeName());
|
||||
|
||||
4
main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/update/RepositoryUpdateManager.java
Normal file → Executable file
4
main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/update/RepositoryUpdateManager.java
Normal file → Executable file
@@ -359,7 +359,9 @@ public abstract class RepositoryUpdateManager {
|
||||
List<UpdateResult> checkedResults = null;
|
||||
|
||||
if (parameter == null) { // update all job
|
||||
checkedResults = filterSpecialCheckedResult(results);
|
||||
// TUP-36519: comment out the filter for only opening job
|
||||
// checkedResults = filterSpecialCheckedResult(results);
|
||||
checkedResults = results;
|
||||
} else { // filter
|
||||
checkedResults = filterCheckedResult(results);
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
|
||||
import org.talend.core.service.IRemoteService;
|
||||
import org.talend.repository.model.IProxyRepositoryFactory;
|
||||
import org.talend.repository.model.RepositoryConstants;
|
||||
import org.talend.utils.security.StudioEncryption;
|
||||
|
||||
/**
|
||||
* created by wchen on 2015年6月16日 Detailled comment
|
||||
@@ -255,7 +256,7 @@ public class TalendLibsServerManager {
|
||||
if (enableProxyFlag) {
|
||||
serverBean.setServer(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_URL));
|
||||
serverBean.setUserName(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_USERNAME));
|
||||
serverBean.setPassword(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_PASSWORD));
|
||||
serverBean.setPassword(StudioEncryption.getStudioEncryption(StudioEncryption.EncryptionKeyName.SYSTEM).decrypt(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_PASSWORD)));
|
||||
serverBean.setRepositoryId(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_REPOSITORY_ID));
|
||||
serverBean.setType(prefManager.getValue(TalendLibsServerManager.NEXUS_PROXY_TYPE));
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.core.pendo.mapper;
|
||||
package org.talend.core.pendo;
|
||||
|
||||
import org.apache.log4j.Level;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
@@ -18,16 +18,24 @@ import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
|
||||
import org.talend.core.pendo.PendoTrackSender;
|
||||
import org.talend.core.pendo.properties.PendoTMapProperties;
|
||||
import org.talend.core.pendo.properties.IPendoDataProperties;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public abstract class AbstractPendoTMapManager {
|
||||
public abstract class AbstractPendoTrackManager {
|
||||
|
||||
protected abstract PendoTMapProperties calculateProperties();
|
||||
public abstract TrackEvent getTrackEvent();
|
||||
|
||||
public abstract IPendoDataProperties collectProperties();
|
||||
|
||||
public boolean isTrackSendAvailable() throws Exception {
|
||||
return PendoDataTrackFactory.getInstance().isTrackSendAvailable();
|
||||
}
|
||||
|
||||
public void sendTrackData(TrackEvent event, IPendoDataProperties properties) throws Exception {
|
||||
PendoDataTrackFactory.getInstance().sendTrackData(event, properties);
|
||||
}
|
||||
|
||||
public void sendTrackToPendo() {
|
||||
Job job = new Job("send pendo track") {
|
||||
@@ -35,9 +43,9 @@ public abstract class AbstractPendoTMapManager {
|
||||
@Override
|
||||
protected IStatus run(IProgressMonitor monitor) {
|
||||
try {
|
||||
if (PendoTrackSender.getInstance().isTrackSendAvailable()) {
|
||||
PendoTMapProperties properties = calculateProperties();
|
||||
PendoTrackSender.getInstance().sendTrackData(TrackEvent.TMAP, properties);
|
||||
if (isTrackSendAvailable()) {
|
||||
IPendoDataProperties properties = collectProperties();
|
||||
sendTrackData(getTrackEvent(), properties);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// warning only
|
||||
@@ -0,0 +1,73 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.pendo;
|
||||
|
||||
import org.talend.core.pendo.properties.IPendoDataProperties;
|
||||
import org.talend.core.service.IRemoteService;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoDataTrackFactory {
|
||||
|
||||
private static PendoDataTrackFactory instance;
|
||||
|
||||
private static IRemoteService remoteService;
|
||||
|
||||
static {
|
||||
instance = new PendoDataTrackFactory();
|
||||
remoteService = IRemoteService.get();
|
||||
}
|
||||
|
||||
private PendoDataTrackFactory() {
|
||||
}
|
||||
|
||||
public static PendoDataTrackFactory getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public boolean isTrackSendAvailable() throws Exception {
|
||||
if (remoteService != null) {
|
||||
return remoteService.isPendoTrackAvailable();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void sendTrackData(TrackEvent event, IPendoDataProperties properties) throws Exception {
|
||||
if (remoteService != null) {
|
||||
remoteService.sendPendoTrackData(event, properties);
|
||||
}
|
||||
}
|
||||
|
||||
public void sendProjectLoginTrack() {
|
||||
if (remoteService != null) {
|
||||
AbstractPendoTrackManager pendoProjectLoginManager = remoteService.getPendoProjectLoginManager();
|
||||
pendoProjectLoginManager.sendTrackToPendo();
|
||||
}
|
||||
}
|
||||
|
||||
public void sendGenericTrack(TrackEvent event, IPendoDataProperties properties) {
|
||||
if (remoteService != null) {
|
||||
AbstractPendoTrackManager genericManager = remoteService.getPendoGenericManager(event, properties);
|
||||
genericManager.sendTrackToPendo();
|
||||
}
|
||||
}
|
||||
|
||||
public String getTmcUser(String url, String token) {
|
||||
if (remoteService != null) {
|
||||
return remoteService.getTmcUser(url, token);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.pendo;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.eclipse.emf.common.util.EMap;
|
||||
import org.talend.commons.utils.VersionUtils;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
|
||||
import org.talend.core.runtime.util.EmfResourceUtil;
|
||||
import org.talend.repository.ProjectManager;
|
||||
import org.talend.utils.security.CryptoMigrationUtil;
|
||||
import org.talend.utils.security.StudioEncryption;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoItemSignatureUtil {
|
||||
|
||||
public static final String MIGRATION_TOKEN_KEY = "force_import_unsupported_job";
|
||||
|
||||
public static final String REPOSITORY_PLUGIN_ID = "org.talend.repository";
|
||||
|
||||
public static final String PROJ_DATE_ID = "repository.project.id";
|
||||
|
||||
public static final String PROD_DATE_ID = "product.date.id";
|
||||
|
||||
public static String getCurrentProjectCreateDate() {
|
||||
Project currentProject = ProjectManager.getInstance().getCurrentProject();
|
||||
if (currentProject != null) {
|
||||
ProjectPreferenceManager projectPrefManager = new ProjectPreferenceManager(
|
||||
PendoItemSignatureUtil.REPOSITORY_PLUGIN_ID, false);
|
||||
String projDate = projectPrefManager.getValue(PendoItemSignatureUtil.PROJ_DATE_ID);
|
||||
if (StringUtils.isNotBlank(projDate)) {
|
||||
String decrypt = null;
|
||||
if (StudioEncryption.hasEncryptionSymbol(projDate)) {
|
||||
decrypt = StudioEncryption.getStudioEncryption(StudioEncryption.EncryptionKeyName.MIGRATION_TOKEN)
|
||||
.decrypt(projDate);
|
||||
} else {
|
||||
decrypt = CryptoMigrationUtil.decrypt(projDate);
|
||||
}
|
||||
return decrypt;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getStudioVersion() {
|
||||
String studioVersion = VersionUtils.getDisplayVersion();
|
||||
String patchInstalledVersion = PendoTrackDataUtil.getLatestPatchInstalledVersion();
|
||||
if (StringUtils.isNotBlank(patchInstalledVersion)) {
|
||||
studioVersion = patchInstalledVersion;
|
||||
}
|
||||
return studioVersion;
|
||||
}
|
||||
|
||||
public static String getItemProductVersion(Property property) {
|
||||
String productVersion = null;
|
||||
EMap additionalProperties = property.getAdditionalProperties();
|
||||
if (additionalProperties.get("modified_product_version") != null) {
|
||||
productVersion = additionalProperties.get("modified_product_version").toString();
|
||||
} else if (additionalProperties.get("created_product_version") != null) {
|
||||
productVersion = additionalProperties.get("created_product_version").toString();
|
||||
}
|
||||
if (StringUtils.isNotBlank(productVersion)) {
|
||||
productVersion = VersionUtils.getTalendPureVersion(productVersion);
|
||||
}
|
||||
return productVersion;
|
||||
}
|
||||
|
||||
public static String getItemProductName(Property property) {
|
||||
String productName = null;
|
||||
EMap additionalProperties = property.getAdditionalProperties();
|
||||
if (additionalProperties.get("modified_product_fullname") != null) {
|
||||
productName = additionalProperties.get("modified_product_fullname").toString();
|
||||
} else if (additionalProperties.get("created_product_fullname") != null) {
|
||||
productName = additionalProperties.get("created_product_fullname").toString();
|
||||
}
|
||||
return productName;
|
||||
}
|
||||
|
||||
public static String formatDate(String dateString, String pattern) {
|
||||
String formattedDate = "";
|
||||
if (StringUtils.isNotBlank(dateString)) {
|
||||
Date date = new Date(Long.parseLong(dateString));
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
|
||||
formattedDate = sdf.format(date);
|
||||
}
|
||||
return formattedDate;
|
||||
}
|
||||
|
||||
public interface SignatureStatus {
|
||||
|
||||
public static final int V_VALID = 0;
|
||||
|
||||
public static final int V_INVALID = EmfResourceUtil.V_INVALID << 0;
|
||||
|
||||
public static final int V_UNSIGNED = V_INVALID << 1;
|
||||
}
|
||||
|
||||
public enum TOSProdNameEnum {
|
||||
|
||||
TOS_DI("Talend Open Studio for Data Integration"),
|
||||
TOS_BD("Talend Open Studio for Big Data"),
|
||||
TOS_ESB("Talend Open Studio for ESB"),
|
||||
TOS_TOP("Talend Open Studio for Data Quality");
|
||||
|
||||
private String prodName;
|
||||
|
||||
TOSProdNameEnum(String prodName) {
|
||||
this.prodName = prodName;
|
||||
}
|
||||
|
||||
public String getProdName() {
|
||||
return prodName;
|
||||
}
|
||||
|
||||
public static String getTOSCategoryByProdName(String prodName) {
|
||||
String category = null;
|
||||
for (TOSProdNameEnum tosProdNameEnum : TOSProdNameEnum.values()) {
|
||||
if (tosProdNameEnum.getProdName().equals(prodName)) {
|
||||
category = tosProdNameEnum.name();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return category;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum ValueEnum {
|
||||
|
||||
YES("Y"),
|
||||
NO("N"),
|
||||
NOT_APPLICATE("N/A");
|
||||
|
||||
private String displayValue;
|
||||
|
||||
ValueEnum(String displayValue) {
|
||||
this.displayValue = displayValue;
|
||||
}
|
||||
|
||||
public String getDisplayValue() {
|
||||
return displayValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,22 +12,12 @@
|
||||
// ============================================================================
|
||||
package org.talend.core.pendo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.VersionUtils;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.properties.ProjectReference;
|
||||
import org.talend.core.pendo.properties.IPendoDataProperties;
|
||||
import org.talend.core.pendo.properties.PendoLoginProperties;
|
||||
import org.talend.core.service.IStudioLiteP2Service;
|
||||
import org.talend.core.ui.IInstalledPatchService;
|
||||
import org.talend.repository.ProjectManager;
|
||||
import org.talend.utils.json.JSONObject;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
@@ -60,83 +50,13 @@ public class PendoTrackDataUtil {
|
||||
return content;
|
||||
}
|
||||
|
||||
public static IPendoDataProperties getLoginEventProperties() {
|
||||
String studioPatch = null;
|
||||
public static String getLatestPatchInstalledVersion() {
|
||||
String studioPatch = "";
|
||||
IInstalledPatchService installedPatchService = IInstalledPatchService.get();
|
||||
if (installedPatchService != null) {
|
||||
studioPatch = installedPatchService.getLatestInstalledPatchVersion();
|
||||
studioPatch = installedPatchService.getLatestInstalledVersion(true);
|
||||
}
|
||||
PendoLoginProperties loginEvent = new PendoLoginProperties();
|
||||
IStudioLiteP2Service studioLiteP2Service = IStudioLiteP2Service.get();
|
||||
try {
|
||||
if (studioLiteP2Service != null) {
|
||||
List<String> enabledFeatures = new ArrayList<String>();
|
||||
List<String> enabledFeaturesList = studioLiteP2Service.getCurrentProjectEnabledFeatures();
|
||||
enabledFeaturesList.stream().forEach(feature -> {
|
||||
String result = feature;
|
||||
if (result.startsWith(FEATURE_PREFIX)) {
|
||||
result = result.substring(FEATURE_PREFIX.toCharArray().length);
|
||||
}
|
||||
if (result.endsWith(FEATURE_TAIL)) {
|
||||
result = result.substring(0, result.lastIndexOf(FEATURE_TAIL));
|
||||
}
|
||||
enabledFeatures.add(result);
|
||||
});
|
||||
loginEvent.setEnabledFeatures(enabledFeatures);
|
||||
}
|
||||
setUpRefProjectsStructure(loginEvent);
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
loginEvent.setStudioVersion(VersionUtils.getInternalMajorVersion());
|
||||
loginEvent.setStudioPatch(studioPatch);
|
||||
return loginEvent;
|
||||
}
|
||||
|
||||
private static void setUpRefProjectsStructure(PendoLoginProperties loginEvent) {
|
||||
ProjectManager projectManager = ProjectManager.getInstance();
|
||||
Project currentProject = projectManager.getCurrentProject();
|
||||
Map<String, Project> teclabelProjectMap = new HashMap<String, Project>();
|
||||
List<Project> allReferencedProjects = projectManager.getAllReferencedProjects();
|
||||
allReferencedProjects.forEach(refProject -> {
|
||||
String technicalLabel = refProject.getTechnicalLabel();
|
||||
if (StringUtils.isNotBlank(technicalLabel)) {
|
||||
teclabelProjectMap.put(technicalLabel, refProject);
|
||||
}
|
||||
});
|
||||
|
||||
int[] refCount = new int[] {0};
|
||||
List<String> resultList = new ArrayList<String>();
|
||||
Map<String, String> desensitiveLabelMap = new HashMap<String, String>();
|
||||
findReferencePorjectPath(currentProject, "Main", resultList, refCount, desensitiveLabelMap, teclabelProjectMap);
|
||||
loginEvent.setRefProjectList(resultList);
|
||||
loginEvent.setRefProjectCount(String.valueOf(desensitiveLabelMap.keySet().size()));
|
||||
}
|
||||
|
||||
public static void findReferencePorjectPath(Project currentProject, String path, List<String> resultList, int[] refCount,
|
||||
Map<String, String> desensitiveLabelMap, Map<String, Project> teclabelProjectMap) {
|
||||
List<ProjectReference> projectReferenceList = currentProject.getProjectReferenceList();
|
||||
for (ProjectReference projectReference : projectReferenceList) {
|
||||
String structPath = path;
|
||||
if (projectReference.getReferencedProject() == null) {
|
||||
continue;
|
||||
}
|
||||
String technicalLabel = projectReference.getReferencedProject().getTechnicalLabel();
|
||||
Project refProject = teclabelProjectMap.get(technicalLabel);
|
||||
if (StringUtils.isBlank(technicalLabel) || refProject == null) {
|
||||
continue;
|
||||
}
|
||||
String desensitiveLabel = desensitiveLabelMap.get(technicalLabel);
|
||||
if (StringUtils.isBlank(desensitiveLabel)) {
|
||||
refCount[0] = refCount[0] + 1;
|
||||
desensitiveLabel = "Ref" + refCount[0];
|
||||
desensitiveLabelMap.put(technicalLabel, desensitiveLabel);
|
||||
}
|
||||
structPath = structPath + "/" + desensitiveLabel;
|
||||
resultList.add(structPath);
|
||||
findReferencePorjectPath(refProject, structPath, resultList, refCount, desensitiveLabelMap, teclabelProjectMap);
|
||||
}
|
||||
|
||||
return studioPatch;
|
||||
}
|
||||
|
||||
public static String convertEntityJsonString(Object entity) {
|
||||
@@ -152,28 +72,4 @@ public class PendoTrackDataUtil {
|
||||
return "";
|
||||
}
|
||||
|
||||
public enum TrackEvent {
|
||||
|
||||
PROJECT_LOGIN("Project Login"),
|
||||
IMPORT_API_DEF("Import API Definition"),
|
||||
UPDATE_API_DEF("Update API Definition"),
|
||||
USE_API_DEF("Use API Definition"),
|
||||
OPEN_IN_APIDesigner("Open in API Designer"),
|
||||
OPEN_IN_APITester("Open in API Tester"),
|
||||
OPEN_API_DOCUMENTATION("Open API Documentation"),
|
||||
AUTOMAP("tMap Automap"),
|
||||
TMAP("Studio tMap");
|
||||
|
||||
private String event;
|
||||
|
||||
TrackEvent(String event) {
|
||||
this.event = event;
|
||||
}
|
||||
|
||||
public String getEvent() {
|
||||
return event;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,320 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.pendo;
|
||||
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.http.HttpEntity;
|
||||
import org.apache.http.StatusLine;
|
||||
import org.apache.http.client.entity.EntityBuilder;
|
||||
import org.apache.http.client.methods.CloseableHttpResponse;
|
||||
import org.apache.http.client.methods.HttpGet;
|
||||
import org.apache.http.client.methods.HttpPost;
|
||||
import org.apache.http.client.protocol.HttpClientContext;
|
||||
import org.apache.http.entity.ContentType;
|
||||
import org.apache.http.impl.client.DefaultHttpClient;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.apache.log4j.Level;
|
||||
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.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.network.IProxySelectorProvider;
|
||||
import org.talend.commons.utils.network.NetworkUtil;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.context.Context;
|
||||
import org.talend.core.context.RepositoryContext;
|
||||
import org.talend.core.nexus.HttpClientTransport;
|
||||
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
|
||||
import org.talend.core.pendo.properties.IPendoDataProperties;
|
||||
import org.talend.core.runtime.CoreRuntimePlugin;
|
||||
import org.talend.core.service.IRemoteService;
|
||||
import org.talend.repository.model.RepositoryConstants;
|
||||
import org.talend.utils.json.JSONObject;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoTrackSender {
|
||||
|
||||
private static final String PROP_PENDO_LOCAL_CHECK = "talend.pendo.localDebug";
|
||||
|
||||
private static final String PROP_PENDO_LOG_DATA = "talend.pendo.logRuntimeData";
|
||||
|
||||
private static final String PREFIX_API = "api";
|
||||
|
||||
private static final String PENDO_INFO = "/monitoring/pendo/info";
|
||||
|
||||
private static final String PENDO_TRACK = "/monitoring/pendo/track";
|
||||
|
||||
private static final String HEAD_AUTHORIZATION = "Authorization";
|
||||
|
||||
private static final String HEAD_CONTENT_TYPE = "Content-Type";
|
||||
|
||||
private static final String HEAD_PENDO_KEY = "x-pendo-integration-key";
|
||||
|
||||
private static PendoTrackSender instance;
|
||||
|
||||
private static String adminUrl;
|
||||
|
||||
private static String apiBaseUrl;
|
||||
|
||||
private static String pendoInfo;
|
||||
|
||||
public PendoTrackSender() {
|
||||
}
|
||||
|
||||
public static PendoTrackSender getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new PendoTrackSender();
|
||||
}
|
||||
if (StringUtils.isBlank(adminUrl)) {
|
||||
RepositoryContext repositoryContext = getRepositoryContext();
|
||||
if (repositoryContext != null) {
|
||||
adminUrl = repositoryContext.getFields().get(RepositoryConstants.REPOSITORY_URL);
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
public void sendToPendo(TrackEvent event, IPendoDataProperties properties) {
|
||||
Job job = new Job("send pendo track") {
|
||||
|
||||
@Override
|
||||
protected IStatus run(IProgressMonitor monitor) {
|
||||
try {
|
||||
if (isTrackSendAvailable()) {
|
||||
sendTrackData(event, properties);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// warning only
|
||||
ExceptionHandler.process(e, Level.WARN);
|
||||
}
|
||||
return Status.OK_STATUS;
|
||||
}
|
||||
};
|
||||
job.setUser(false);
|
||||
job.setPriority(Job.INTERACTIVE);
|
||||
job.schedule();
|
||||
}
|
||||
|
||||
public void sendTrackData(TrackEvent event, IPendoDataProperties properties) throws Exception {
|
||||
if (isPendoLocalDebug()) {
|
||||
ExceptionHandler.log(PendoTrackDataUtil.convertEntityJsonString(properties));
|
||||
return;
|
||||
}
|
||||
DefaultHttpClient client = null;
|
||||
CloseableHttpResponse response = null;
|
||||
IProxySelectorProvider proxySelectorProvider = null;
|
||||
try {
|
||||
String pendoInfo = getPendoInfo();
|
||||
if (StringUtils.isBlank(pendoInfo)) {
|
||||
throw new Exception("Pendo information is empty");
|
||||
}
|
||||
String pendoKey = getPendoKeyFromLicense();
|
||||
if (StringUtils.isBlank(pendoKey)) {
|
||||
throw new Exception("Pendo key is empty");
|
||||
}
|
||||
|
||||
client = new DefaultHttpClient();
|
||||
String url = getBaseUrl() + PENDO_TRACK;
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
httpPost.setHeader(HEAD_CONTENT_TYPE, ContentType.APPLICATION_JSON.getMimeType());
|
||||
httpPost.setHeader(HEAD_PENDO_KEY, pendoKey);
|
||||
|
||||
proxySelectorProvider = HttpClientTransport.addProxy(client, new URI(url));
|
||||
|
||||
EntityBuilder entityBuilder = EntityBuilder.create();
|
||||
String trackData = PendoTrackDataUtil.generateTrackData(pendoInfo, event, properties);
|
||||
entityBuilder.setText(trackData).setContentType(ContentType.APPLICATION_JSON);
|
||||
HttpEntity entity = entityBuilder.build();
|
||||
httpPost.setEntity(entity);
|
||||
response = client.execute(httpPost, HttpClientContext.create());
|
||||
StatusLine statusLine = response.getStatusLine();
|
||||
String responseStr = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
|
||||
if (isLogPendoData()) {
|
||||
ExceptionHandler.log(trackData);
|
||||
}
|
||||
if (HttpURLConnection.HTTP_OK != statusLine.getStatusCode()) {
|
||||
throw new Exception(statusLine.toString() + ", server message: [" + responseStr + "]");
|
||||
}
|
||||
} finally {
|
||||
HttpClientTransport.removeProxy(proxySelectorProvider);
|
||||
client.getConnectionManager().shutdown();
|
||||
if (response != null) {
|
||||
try {
|
||||
response.close();
|
||||
} catch (Throwable e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
if (client != null) {
|
||||
try {
|
||||
client.close();
|
||||
} catch (Throwable e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isTrackSendAvailable() throws Exception {
|
||||
if (isPendoLocalDebug() || checkTokenUsed(adminUrl) && NetworkUtil.isNetworkValid()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isPendoLocalDebug() {
|
||||
return Boolean.TRUE.toString().equals(System.getProperty(PROP_PENDO_LOCAL_CHECK));
|
||||
}
|
||||
|
||||
public boolean isLogPendoData() {
|
||||
return Boolean.TRUE.toString().equals(System.getProperty(PROP_PENDO_LOG_DATA));
|
||||
}
|
||||
|
||||
private String getPendoInfo() throws Exception {
|
||||
if (StringUtils.isBlank(pendoInfo)) {
|
||||
pendoInfo = getPendoInfo(getBaseUrl(), getToken());
|
||||
}
|
||||
return pendoInfo;
|
||||
}
|
||||
|
||||
private String getPendoInfo(String baseUrl, String token) throws Exception {
|
||||
DefaultHttpClient client = null;
|
||||
CloseableHttpResponse response = null;
|
||||
IProxySelectorProvider proxySelectorProvider = null;
|
||||
try {
|
||||
client = new DefaultHttpClient();
|
||||
|
||||
String url = baseUrl + PENDO_INFO;
|
||||
|
||||
HttpGet httpGet = new HttpGet(url);
|
||||
httpGet.setHeader(HEAD_AUTHORIZATION, "Bearer " + token);
|
||||
proxySelectorProvider = HttpClientTransport.addProxy(client, new URI(url));
|
||||
|
||||
response = client.execute(httpGet, HttpClientContext.create());
|
||||
StatusLine statusLine = response.getStatusLine();
|
||||
String responseStr = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
|
||||
if (HttpURLConnection.HTTP_OK != statusLine.getStatusCode()) {
|
||||
throw new Exception(statusLine.toString() + ", server message: [" + responseStr + "]");
|
||||
}
|
||||
return responseStr;
|
||||
} finally {
|
||||
HttpClientTransport.removeProxy(proxySelectorProvider);
|
||||
client.getConnectionManager().shutdown();
|
||||
if (response != null) {
|
||||
try {
|
||||
response.close();
|
||||
} catch (Throwable e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
if (client != null) {
|
||||
try {
|
||||
client.close();
|
||||
} catch (Throwable e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkTokenUsed(String adminUrl) throws Exception {
|
||||
if (StringUtils.isNotBlank(adminUrl) && GlobalServiceRegister.getDefault().isServiceRegistered(IRemoteService.class)) {
|
||||
IRemoteService service = GlobalServiceRegister.getDefault().getService(IRemoteService.class);
|
||||
return service.isTokenUsed(adminUrl);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getBaseUrl() throws Exception {
|
||||
return getBaseUrl(adminUrl, false);
|
||||
}
|
||||
|
||||
public String getBaseUrl(String adminUrl, boolean token) throws Exception {
|
||||
if (StringUtils.isNotBlank(apiBaseUrl) && !token) {
|
||||
return apiBaseUrl;
|
||||
}
|
||||
|
||||
try {
|
||||
URL url = new URL(adminUrl);
|
||||
// tmc.int.cloud.talend.com
|
||||
String authority = url.getAuthority();
|
||||
String regex = "(\\w*\\-*\\w*\\.?){2}\\.(talend.com)";
|
||||
Pattern pattern= Pattern.compile(regex);
|
||||
Matcher match = pattern.matcher(authority);
|
||||
if (match.find()) {
|
||||
// int.cloud.talend.com
|
||||
authority = match.group(0);
|
||||
URL apiURL = new URL(url.getProtocol(), PREFIX_API + "." + authority, "");
|
||||
// https://api.int.cloud.talend.com
|
||||
apiBaseUrl = apiURL.toString();
|
||||
} else {
|
||||
throw new Exception("Can't match pendo url from " + adminUrl);
|
||||
}
|
||||
} catch (MalformedURLException e) {
|
||||
throw new Exception("Invalid url " + adminUrl, e.getCause());
|
||||
}
|
||||
|
||||
return apiBaseUrl;
|
||||
}
|
||||
|
||||
private String getToken() {
|
||||
return getRepositoryContext().getClearPassword();
|
||||
}
|
||||
|
||||
public String getTmcUser(String url, String token) {
|
||||
try {
|
||||
String pendoInfo = getPendoInfo(getBaseUrl(url, true), token);
|
||||
if (StringUtils.isNotBlank(pendoInfo)) {
|
||||
JSONObject infoJson = new JSONObject(pendoInfo);
|
||||
return ((JSONObject) infoJson.get("visitor")).getString("id"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return ""; //$NON-NLS-1$
|
||||
}
|
||||
|
||||
private String getPendoKeyFromLicense() throws Exception {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRemoteService.class)) {
|
||||
IRemoteService service = GlobalServiceRegister.getDefault().getService(IRemoteService.class);
|
||||
return service.getPendoKeyFromLicense();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static RepositoryContext getRepositoryContext() {
|
||||
RepositoryContext repositoryContext = (RepositoryContext) CoreRuntimePlugin.getInstance().getContext()
|
||||
.getProperty(Context.REPOSITORY_CONTEXT_KEY);
|
||||
return repositoryContext;
|
||||
}
|
||||
|
||||
public void setAdminUrl(String adminUrl) {
|
||||
PendoTrackSender.adminUrl = adminUrl;
|
||||
}
|
||||
|
||||
public void setApiBaseUrl(String apiBaseUrl) {
|
||||
PendoTrackSender.apiBaseUrl = apiBaseUrl;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.pendo;
|
||||
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public enum TrackEvent {
|
||||
|
||||
/**
|
||||
* create by TUP-33421 update by TUP-34791, TUP-35523, TUP-36780
|
||||
*/
|
||||
PROJECT_LOGIN("Project Login"),
|
||||
|
||||
/**
|
||||
* create by TUP-33990
|
||||
*/
|
||||
IMPORT_API_DEF("Import API Definition"),
|
||||
/**
|
||||
* create by TUP-33990
|
||||
*/
|
||||
UPDATE_API_DEF("Update API Definition"),
|
||||
/**
|
||||
* create by TUP-33990
|
||||
*/
|
||||
USE_API_DEF("Use API Definition"),
|
||||
/**
|
||||
* create by TUP-33990
|
||||
*/
|
||||
OPEN_IN_APIDesigner("Open in API Designer"),
|
||||
/**
|
||||
* create by TUP-33990
|
||||
*/
|
||||
OPEN_IN_APITester("Open in API Tester"),
|
||||
/**
|
||||
* create by TUP-33990
|
||||
*/
|
||||
OPEN_API_DOCUMENTATION("Open API Documentation"),
|
||||
|
||||
/**
|
||||
* create by TUP-35644
|
||||
*/
|
||||
AUTOMAP("tMap Automap"),
|
||||
/**
|
||||
* create by TUP-35644 update by TUP-36710
|
||||
*/
|
||||
TMAP("tMap"),
|
||||
|
||||
/**
|
||||
* create by TUP-35712 update by TUP-36893
|
||||
*/
|
||||
ITEM_IMPORT("Import items"),
|
||||
/**
|
||||
* create by TUP-35712
|
||||
*/
|
||||
ITEM_SIGNATURE("Item Signature");
|
||||
|
||||
private String event;
|
||||
|
||||
TrackEvent(String event) {
|
||||
this.event = event;
|
||||
}
|
||||
|
||||
public String getEvent() {
|
||||
return event;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,8 +12,9 @@
|
||||
// ============================================================================
|
||||
package org.talend.core.pendo.mapper;
|
||||
|
||||
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
|
||||
import org.talend.core.pendo.PendoTrackSender;
|
||||
import org.talend.core.pendo.AbstractPendoTrackManager;
|
||||
import org.talend.core.pendo.TrackEvent;
|
||||
import org.talend.core.pendo.properties.IPendoDataProperties;
|
||||
import org.talend.core.pendo.properties.PendoAutoMapProperties;
|
||||
|
||||
/**
|
||||
@@ -21,7 +22,7 @@ import org.talend.core.pendo.properties.PendoAutoMapProperties;
|
||||
*
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoAutoMapManager {
|
||||
public class PendoAutoMapManager extends AbstractPendoTrackManager {
|
||||
|
||||
private int mappingChangeCount = 0;
|
||||
|
||||
@@ -45,9 +46,18 @@ public class PendoAutoMapManager {
|
||||
if (mappingChangeCount < 1) {
|
||||
return;
|
||||
}
|
||||
PendoAutoMapProperties properties = new PendoAutoMapProperties();
|
||||
properties.setAutoMappings(mappingChangeCount);
|
||||
PendoTrackSender.getInstance().sendToPendo(TrackEvent.AUTOMAP, properties);
|
||||
super.sendTrackToPendo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrackEvent getTrackEvent() {
|
||||
return TrackEvent.AUTOMAP;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPendoDataProperties collectProperties() {
|
||||
PendoAutoMapProperties properties = new PendoAutoMapProperties();
|
||||
properties.setAutoMappings(mappingChangeCount);
|
||||
return properties;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.pendo.properties;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoLoginProperties implements IPendoDataProperties {
|
||||
|
||||
@JsonProperty("studio_version")
|
||||
private String studioVersion;
|
||||
|
||||
@JsonProperty("studio_patch")
|
||||
private String studioPatch;
|
||||
|
||||
@JsonProperty("enabled_features")
|
||||
private List<String> enabledFeatures;
|
||||
|
||||
@JsonProperty("referenced_project_number")
|
||||
private String refProjectCount;
|
||||
|
||||
@JsonProperty("referenced_projects")
|
||||
private List<String> refProjectList;
|
||||
|
||||
/**
|
||||
* Getter for studio_version.
|
||||
*
|
||||
* @return the studio_version
|
||||
*/
|
||||
public String getStudioVersion() {
|
||||
return studioVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the studio_version.
|
||||
*
|
||||
* @param studio_version the studio_version to set
|
||||
*/
|
||||
public void setStudioVersion(String studioVersion) {
|
||||
this.studioVersion = studioVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for studio_patch.
|
||||
*
|
||||
* @return the studio_patch
|
||||
*/
|
||||
public String getStudioPatch() {
|
||||
return studioPatch;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the studio_patch.
|
||||
*
|
||||
* @param studio_patch the studio_patch to set
|
||||
*/
|
||||
public void setStudioPatch(String studioPatch) {
|
||||
this.studioPatch = studioPatch;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for enabled_features.
|
||||
*
|
||||
* @return the enabled_features
|
||||
*/
|
||||
public List<String> getEnabledFeatures() {
|
||||
return enabledFeatures;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the enabled_features.
|
||||
*
|
||||
* @param enabled_features the enabled_features to set
|
||||
*/
|
||||
public void setEnabledFeatures(List<String> enabledFeatures) {
|
||||
this.enabledFeatures = enabledFeatures;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for refProjectCount.
|
||||
*
|
||||
* @return the refProjectCount
|
||||
*/
|
||||
public String getRefProjectCount() {
|
||||
return refProjectCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the refProjectCount.
|
||||
*
|
||||
* @param refProjectCount the refProjectCount to set
|
||||
*/
|
||||
public void setRefProjectCount(String refProjectCount) {
|
||||
this.refProjectCount = refProjectCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for refProjectList.
|
||||
*
|
||||
* @return the refProjectList
|
||||
*/
|
||||
public List<String> getRefProjectList() {
|
||||
return refProjectList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the refProjectList.
|
||||
*
|
||||
* @param refProjectList the refProjectList to set
|
||||
*/
|
||||
public void setRefProjectList(List<String> refProjectList) {
|
||||
this.refProjectList = refProjectList;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.pendo.properties;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoSignImportProperties implements IPendoDataProperties {
|
||||
|
||||
@JsonProperty("source_version")
|
||||
private List<String> sourceVersion;
|
||||
|
||||
@JsonProperty("studio_version")
|
||||
private String studioVersion;
|
||||
|
||||
@JsonProperty("valid_items")
|
||||
private int validItems;
|
||||
|
||||
@JsonProperty("unsigned_items_from_SE")
|
||||
private String unsignSEItems;
|
||||
|
||||
@JsonProperty("unsigned_items_from_EE")
|
||||
private int unsignEEItems;
|
||||
|
||||
@JsonProperty("grace_period")
|
||||
private String gracePeriod;
|
||||
|
||||
@JsonProperty("installed_date")
|
||||
private String installDate;
|
||||
|
||||
@JsonProperty("project_creation_date")
|
||||
private String projectCreateDate;
|
||||
|
||||
@JsonProperty("valid_migration_token")
|
||||
private String validMigrationToken;
|
||||
|
||||
@JsonProperty("import_product")
|
||||
private List<String> importProduct;
|
||||
|
||||
/**
|
||||
* Getter for sourceVersion.
|
||||
* @return the sourceVersion
|
||||
*/
|
||||
public List<String> getSourceVersion() {
|
||||
return sourceVersion;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the sourceVersion.
|
||||
* @param sourceVersion the sourceVersion to set
|
||||
*/
|
||||
public void setSourceVersion(List<String> sourceVersion) {
|
||||
this.sourceVersion = sourceVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for studioVersion.
|
||||
*
|
||||
* @return the studioVersion
|
||||
*/
|
||||
public String getStudioVersion() {
|
||||
return studioVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the studioVersion.
|
||||
*
|
||||
* @param studioVersion the studioVersion to set
|
||||
*/
|
||||
public void setStudioVersion(String studioVersion) {
|
||||
this.studioVersion = studioVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for validItems.
|
||||
*
|
||||
* @return the validItems
|
||||
*/
|
||||
public int getValidItems() {
|
||||
return validItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the validItems.
|
||||
*
|
||||
* @param validItems the validItems to set
|
||||
*/
|
||||
public void setValidItems(int validItems) {
|
||||
this.validItems = validItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for unsignSEItems.
|
||||
* @return the unsignSEItems
|
||||
*/
|
||||
public String getUnsignSEItems() {
|
||||
return unsignSEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the unsignSEItems.
|
||||
* @param unsignSEItems the unsignSEItems to set
|
||||
*/
|
||||
public void setUnsignSEItems(String unsignSEItems) {
|
||||
this.unsignSEItems = unsignSEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for unsignEEItems.
|
||||
*
|
||||
* @return the unsignEEItems
|
||||
*/
|
||||
public int getUnsignEEItems() {
|
||||
return unsignEEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the unsignEEItems.
|
||||
*
|
||||
* @param unsignEEItems the unsignEEItems to set
|
||||
*/
|
||||
public void setUnsignEEItems(int unsignEEItems) {
|
||||
this.unsignEEItems = unsignEEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for gracePeriod.
|
||||
*
|
||||
* @return the gracePeriod
|
||||
*/
|
||||
public String getGracePeriod() {
|
||||
return gracePeriod;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the gracePeriod.
|
||||
*
|
||||
* @param gracePeriod the gracePeriod to set
|
||||
*/
|
||||
public void setGracePeriod(String gracePeriod) {
|
||||
this.gracePeriod = gracePeriod;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for installDate.
|
||||
*
|
||||
* @return the installDate
|
||||
*/
|
||||
public String getInstallDate() {
|
||||
return installDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the installDate.
|
||||
*
|
||||
* @param installDate the installDate to set
|
||||
*/
|
||||
public void setInstallDate(String installDate) {
|
||||
this.installDate = installDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for projectCreateDate.
|
||||
*
|
||||
* @return the projectCreateDate
|
||||
*/
|
||||
public String getProjectCreateDate() {
|
||||
return projectCreateDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the projectCreateDate.
|
||||
*
|
||||
* @param projectCreateDate the projectCreateDate to set
|
||||
*/
|
||||
public void setProjectCreateDate(String projectCreateDate) {
|
||||
this.projectCreateDate = projectCreateDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for validMigrationToken.
|
||||
*
|
||||
* @return the validMigrationToken
|
||||
*/
|
||||
public String getValidMigrationToken() {
|
||||
return validMigrationToken;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the validMigrationToken.
|
||||
*
|
||||
* @param validMigrationToken the validMigrationToken to set
|
||||
*/
|
||||
public void setValidMigrationToken(String validMigrationToken) {
|
||||
this.validMigrationToken = validMigrationToken;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Getter for importProduct.
|
||||
* @return the importProduct
|
||||
*/
|
||||
public List<String> getImportProduct() {
|
||||
return importProduct;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the importProduct.
|
||||
* @param importProduct the importProduct to set
|
||||
*/
|
||||
public void setImportProduct(List<String> importProduct) {
|
||||
this.importProduct = importProduct;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,251 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.pendo.properties;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class PendoSignLogonProperties implements IPendoDataProperties {
|
||||
|
||||
@JsonProperty("studio_version")
|
||||
private String studioVersion;
|
||||
|
||||
@JsonProperty("valid_items")
|
||||
private int validItems;
|
||||
|
||||
@JsonProperty("signature_invalid_items")
|
||||
private int invalidSignItems;
|
||||
|
||||
@JsonProperty("unsigned_items_from_SE")
|
||||
private String unsignSEItems;
|
||||
|
||||
@JsonProperty("unsigned_items_from_EE")
|
||||
private int unsignEEItems;
|
||||
|
||||
@JsonProperty("invalid_item_source_version")
|
||||
private String invalidItemSourceVersion;
|
||||
|
||||
@JsonProperty("signed_by_migration")
|
||||
private int signByMigration;
|
||||
|
||||
@JsonProperty("grace_period")
|
||||
private String gracePeriod;
|
||||
|
||||
@JsonProperty("installed_date")
|
||||
private String installDate;
|
||||
|
||||
@JsonProperty("project_creation_date")
|
||||
private String projectCreateDate;
|
||||
|
||||
@JsonProperty("valid_migration_token")
|
||||
private String validMigrationToken;
|
||||
|
||||
/**
|
||||
* Getter for studioVersion.
|
||||
*
|
||||
* @return the studioVersion
|
||||
*/
|
||||
public String getStudioVersion() {
|
||||
return studioVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the studioVersion.
|
||||
*
|
||||
* @param studioVersion the studioVersion to set
|
||||
*/
|
||||
public void setStudioVersion(String studioVersion) {
|
||||
this.studioVersion = studioVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for validItems.
|
||||
*
|
||||
* @return the validItems
|
||||
*/
|
||||
public int getValidItems() {
|
||||
return validItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the validItems.
|
||||
*
|
||||
* @param validItems the validItems to set
|
||||
*/
|
||||
public void setValidItems(int validItems) {
|
||||
this.validItems = validItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for invalidSignItems.
|
||||
*
|
||||
* @return the invalidSignItems
|
||||
*/
|
||||
public int getInvalidSignItems() {
|
||||
return invalidSignItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the invalidSignItems.
|
||||
*
|
||||
* @param invalidSignItems the invalidSignItems to set
|
||||
*/
|
||||
public void setInvalidSignItems(int invalidSignItems) {
|
||||
this.invalidSignItems = invalidSignItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for unsignSEItems.
|
||||
* @return the unsignSEItems
|
||||
*/
|
||||
public String getUnsignSEItems() {
|
||||
return unsignSEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the unsignSEItems.
|
||||
* @param unsignSEItems the unsignSEItems to set
|
||||
*/
|
||||
public void setUnsignSEItems(String unsignSEItems) {
|
||||
this.unsignSEItems = unsignSEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for unsignEEItems.
|
||||
*
|
||||
* @return the unsignEEItems
|
||||
*/
|
||||
public int getUnsignEEItems() {
|
||||
return unsignEEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the unsignEEItems.
|
||||
*
|
||||
* @param unsignEEItems the unsignEEItems to set
|
||||
*/
|
||||
public void setUnsignEEItems(int unsignEEItems) {
|
||||
this.unsignEEItems = unsignEEItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for invalidItemSourceVersion.
|
||||
*
|
||||
* @return the invalidItemSourceVersion
|
||||
*/
|
||||
public String getInvalidItemSourceVersion() {
|
||||
return invalidItemSourceVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the invalidItemSourceVersion.
|
||||
*
|
||||
* @param invalidItemSourceVersion the invalidItemSourceVersion to set
|
||||
*/
|
||||
public void setInvalidItemSourceVersion(String invalidItemSourceVersion) {
|
||||
this.invalidItemSourceVersion = invalidItemSourceVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for signByMigration.
|
||||
*
|
||||
* @return the signByMigration
|
||||
*/
|
||||
public int getSignByMigration() {
|
||||
return signByMigration;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the signByMigration.
|
||||
*
|
||||
* @param signByMigration the signByMigration to set
|
||||
*/
|
||||
public void setSignByMigration(int signByMigration) {
|
||||
this.signByMigration = signByMigration;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for gracePeriod.
|
||||
*
|
||||
* @return the gracePeriod
|
||||
*/
|
||||
public String getGracePeriod() {
|
||||
return gracePeriod;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the gracePeriod.
|
||||
*
|
||||
* @param gracePeriod the gracePeriod to set
|
||||
*/
|
||||
public void setGracePeriod(String gracePeriod) {
|
||||
this.gracePeriod = gracePeriod;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for installDate.
|
||||
*
|
||||
* @return the installDate
|
||||
*/
|
||||
public String getInstallDate() {
|
||||
return installDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the installDate.
|
||||
*
|
||||
* @param installDate the installDate to set
|
||||
*/
|
||||
public void setInstallDate(String installDate) {
|
||||
this.installDate = installDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for projectCreateDate.
|
||||
*
|
||||
* @return the projectCreateDate
|
||||
*/
|
||||
public String getProjectCreateDate() {
|
||||
return projectCreateDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the projectCreateDate.
|
||||
*
|
||||
* @param projectCreateDate the projectCreateDate to set
|
||||
*/
|
||||
public void setProjectCreateDate(String projectCreateDate) {
|
||||
this.projectCreateDate = projectCreateDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for validMigrationToken.
|
||||
*
|
||||
* @return the validMigrationToken
|
||||
*/
|
||||
public String getValidMigrationToken() {
|
||||
return validMigrationToken;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the validMigrationToken.
|
||||
*
|
||||
* @param validMigrationToken the validMigrationToken to set
|
||||
*/
|
||||
public void setValidMigrationToken(String validMigrationToken) {
|
||||
this.validMigrationToken = validMigrationToken;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -91,13 +91,13 @@ public class PendoTMapProperties implements IPendoDataProperties {
|
||||
* Number of input columns which are mapped to multiple output columns, either mapped directly or mapped through the
|
||||
* Var column
|
||||
*/
|
||||
@JsonProperty("1-to-n mapping")
|
||||
@JsonProperty("mapping_1_to_n")
|
||||
private int oneToNMappings;
|
||||
|
||||
/**
|
||||
* Number of output columns which have multiple source columns, either input columns or var columns
|
||||
*/
|
||||
@JsonProperty("n-to-1 mapping")
|
||||
@JsonProperty("mapping_n_to_1")
|
||||
private int nToOneMappings;
|
||||
|
||||
/**
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
// ============================================================================
|
||||
package org.talend.core.prefs;
|
||||
|
||||
import org.talend.commons.utils.network.ITalendNexusPrefConstants;
|
||||
|
||||
/**
|
||||
* Core preferences. Detailled comment <br/>
|
||||
*
|
||||
@@ -187,8 +185,6 @@ public interface ITalendCorePrefConstants {
|
||||
|
||||
public static final String PERFORMANCE_JAVA_PROCESS_CODE_FORMATE_TIMEOUT = "PERFORMANCE_JAVA_PROCESS_CODE_FORMATE_TIMEOUT"; //$NON-NLS-1$
|
||||
|
||||
public static final String NEXUS_TIMEOUT = ITalendNexusPrefConstants.NEXUS_TIMEOUT;
|
||||
|
||||
public static final String NEXUS_REFRESH_FREQUENCY = "NEXUS_REFRESH_FREQUENCY"; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
|
||||
@@ -449,7 +449,7 @@ repository.rulesSql=SQL
|
||||
repository.rulesParser=Parser
|
||||
repository.rulesMatcher=Match
|
||||
repository.systemIndicators=System Indicators
|
||||
repository.userDefineIndicators=User Defined Indicators
|
||||
repository.userDefineIndicators=User-defined Indicators
|
||||
repository.userDefineIndicators.lib=lib
|
||||
repository.systemIndicators.advancedStatistics=Advanced Statistics
|
||||
repository.systemIndicators.businessRules=Business Rules
|
||||
@@ -552,6 +552,8 @@ BusinessAppearanceComposite.textAlignment.vertical.centre=Centre
|
||||
ConnectionBean.Local=Local
|
||||
ConnectionBean.Remote=Remote
|
||||
ConnectionBean.DefaultConnection=Default connection
|
||||
ConnectionBean.Cloud.name=Signed in: Cloud ({0})
|
||||
ConnectionBean.CloudConnection.description=Remote connection to Cloud - Signed in: Cloud ({0})
|
||||
InegerCellEditorListener.NegativeNumberMessage=The value of {0} can't be set by negative number.
|
||||
InegerCellEditorListener.NumeralMessage=The value of {0} should be numeral.
|
||||
OpenXSDFileDialog.cancel=Cancel
|
||||
|
||||
@@ -552,6 +552,8 @@ BusinessAppearanceComposite.textAlignment.vertical.centre=Centre
|
||||
ConnectionBean.Local=Local
|
||||
ConnectionBean.Remote=Distant
|
||||
ConnectionBean.DefaultConnection=Connexion par d\u00E9faut
|
||||
ConnectionBean.Cloud.name=Connect\u00E9(e) \u00E0\u00A0: Cloud ({0})
|
||||
ConnectionBean.CloudConnection.description=Connexion distante au Cloud - Connect\u00E9(e) \u00E0\u00A0: Cloud ({0})
|
||||
InegerCellEditorListener.NegativeNumberMessage=La valeur de {0} ne peut \u00EAtre un nombre n\u00E9gatif.
|
||||
InegerCellEditorListener.NumeralMessage=La valeur de {0} doit \u00EAtre num\u00E9rique.
|
||||
OpenXSDFileDialog.cancel=Annuler
|
||||
@@ -575,7 +577,7 @@ repository.servicesPort=Port
|
||||
BinRepositoryNode.label=Corbeille
|
||||
HDFS=HDFS
|
||||
HCAT=HCAT
|
||||
AbstractRepositoryContentHandler.deleteNode.exception=\u00C9chec de la suppression des pertinences de noeud\u00A0: {0}
|
||||
AbstractRepositoryContentHandler.deleteNode.exception=\u00C9chec de la suppression des pertinences de n\u0153ud\u00A0: {0}
|
||||
HadoopCustomVersionDialog.topTitle=D\u00E9finition de la version Hadoop personnalis\u00E9e
|
||||
HadoopCustomVersionDialog.title=D\u00E9finir la distribution Hadoop personnalis\u00E9e
|
||||
HadoopCustomVersionDialog.msg=Configurer les biblioth\u00E8ques n\u00E9cessaires \u00E0 la version personnalis\u00E9e de Hadoop
|
||||
|
||||
@@ -184,7 +184,7 @@ AbstractTalendFunctionParser.checkMethod=\u30EB\u30FC\u30C1\u30F3: "{0}.{1}\\"\u
|
||||
JavaGlobalVariableProposal.Description=\u8AAC\u660E: {0}
|
||||
JavaGlobalVariableProposal.VariableName=\n\n\u5909\u6570\u540D: {1}
|
||||
JavaSimpleDateFormatProposalProvider.displaySingleQuote= ' : \u4E00\u91CD\u5F15\u7528\u7B26\u3092\u8868\u793A
|
||||
JavaSimpleDateFormatProposalProvider.quoteDisplayError=\uFF12\u3064\u306E\u30B7\u30F3\u30B0\u30EB\u30AF\u30A9\u30FC\u30C8\u3067\uFF11\u3064\u306E\u30B7\u30F3\u30B0\u30EB\u30AF\u30A9\u30FC\u30C8\u3092\u793A\u3057\u307E\u3059\u3002
|
||||
JavaSimpleDateFormatProposalProvider.quoteDisplayError=\uFF12\u3064\u306E\u4E00\u91CD\u5F15\u7528\u7B26\u3067\uFF11\u3064\u306E\u4E00\u91CD\u5F15\u7528\u7B26\u3092\u793A\u3057\u307E\u3059\u3002
|
||||
JavaTypesManager.bigDecimal=BIGDECIMAL\u306F\u6570\u5024\u3067\u3059:
|
||||
JavaTypesManager.integer=INTEGER\u306F\u6570\u5024\u3067\u3059:
|
||||
JavaTypesManager.list=LIST\u306F\u6570\u5024\u3067\u3059:
|
||||
@@ -402,7 +402,7 @@ repository.SAPIDoc=SAP iDoc
|
||||
repository.SAPTable=SAP\u30C6\u30FC\u30D6\u30EB
|
||||
repository.metadataSQLPatterns=SQL\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8
|
||||
repository.metadataSQLPatterns.alias=SQLTemplates
|
||||
repository.metadataFileDelimited=\u533A\u5207\u308A\u6587\u5B57\u4ED8\u304D\u30D5\u30A1\u30A4\u30EB
|
||||
repository.metadataFileDelimited=\u533A\u5207\u308A\u4ED8\u304D\u30D5\u30A1\u30A4\u30EB
|
||||
repository.metadataFileDelimited.alias=DELIM
|
||||
repository.metadataTable=\u30E1\u30BF\u30C7\u30FC\u30BF\u30B9\u30AD\u30FC\u30DE
|
||||
repository.metadataColumn=\u30E1\u30BF\u30C7\u30FC\u30BF\u30AB\u30E9\u30E0
|
||||
@@ -449,7 +449,7 @@ repository.rulesSql=SQL
|
||||
repository.rulesParser=\u30D1\u30FC\u30B5\u30FC
|
||||
repository.rulesMatcher=\u4E00\u81F4
|
||||
repository.systemIndicators=\u30B7\u30B9\u30C6\u30E0\u30A4\u30F3\u30C7\u30A3\u30B1\u30FC\u30BF\u30FC
|
||||
repository.userDefineIndicators=\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u30FC
|
||||
repository.userDefineIndicators=\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u306E\u30A4\u30F3\u30B8\u30B1\u30FC\u30BF\u30FC
|
||||
repository.userDefineIndicators.lib=lib
|
||||
repository.systemIndicators.advancedStatistics=\u8A73\u7D30\u7D71\u8A08
|
||||
repository.systemIndicators.businessRules=\u30D3\u30B8\u30CD\u30B9\u30EB\u30FC\u30EB
|
||||
@@ -552,6 +552,8 @@ BusinessAppearanceComposite.textAlignment.vertical.centre=\u4E2D\u5FC3
|
||||
ConnectionBean.Local=\u30ED\u30FC\u30AB\u30EB
|
||||
ConnectionBean.Remote=\u30EA\u30E2\u30FC\u30C8
|
||||
ConnectionBean.DefaultConnection=\u30C7\u30D5\u30A9\u30EB\u30C8\u63A5\u7D9A
|
||||
ConnectionBean.Cloud.name=\u30B5\u30A4\u30F3\u30A4\u30F3\u6E08\u307F: \u30AF\u30E9\u30A6\u30C9({0})
|
||||
ConnectionBean.CloudConnection.description=\u30AF\u30E9\u30A6\u30C9\u3078\u306E\u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A - \u30B5\u30A4\u30F3\u30A4\u30F3\u6E08\u307F: \u30AF\u30E9\u30A6\u30C9({0})
|
||||
InegerCellEditorListener.NegativeNumberMessage={0}\u306B\u306F\u8CA0\u306E\u5024\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
|
||||
InegerCellEditorListener.NumeralMessage={0}\u306B\u306F\u6570\u5024\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
OpenXSDFileDialog.cancel=\u30AD\u30E3\u30F3\u30BB\u30EB
|
||||
|
||||
@@ -552,6 +552,8 @@ BusinessAppearanceComposite.textAlignment.vertical.centre=\u4E2D\u592E
|
||||
ConnectionBean.Local=\u672C\u5730
|
||||
ConnectionBean.Remote=\u8FDC\u7A0B
|
||||
ConnectionBean.DefaultConnection=\u9ED8\u8BA4\u8FDE\u63A5
|
||||
ConnectionBean.Cloud.name=\u5DF2\u767B\u5F55: \u4E91\u7AEF ({0})
|
||||
ConnectionBean.CloudConnection.description=\u4E91\u7AEF\u8FDC\u7A0B\u8FDE\u63A5 - \u5DF2\u767B\u5F55: \u4E91\u7AEF ({0})
|
||||
InegerCellEditorListener.NegativeNumberMessage={0} \u7684\u503C\u4E0D\u80FD\u8BBE\u5B9A\u4E3A\u8D1F\u6570\u3002
|
||||
InegerCellEditorListener.NumeralMessage={0} \u7684\u503C\u5E94\u8BE5\u4E3A\u6570\u5B57\u3002
|
||||
OpenXSDFileDialog.cancel=\u53D6\u6D88
|
||||
|
||||
@@ -48,6 +48,10 @@ public interface TalendProcessOptionConstants {
|
||||
|
||||
public static final int GENERATE_POM_NOT_CLEAR_CACHE = 1 << 11;
|
||||
|
||||
/**
|
||||
* for DQ clean item
|
||||
*/
|
||||
public static final int GENERATE_NO_RESET_DQ = 1 << 12;
|
||||
/**
|
||||
* clean options
|
||||
*/
|
||||
|
||||
@@ -78,5 +78,10 @@ public interface IProjectSettingPreferenceConstants {
|
||||
public static final String TEMPLATE_DOCKER_PROFILE_POM = "template_docker_profile_pom_script"; //$NON-NLS-1$
|
||||
|
||||
public static final String USE_STRICT_REFERENCE_JOBLET = "use_strict_reference_joblet"; //$NON-NLS-1$
|
||||
|
||||
/*
|
||||
* Default microservices application properties
|
||||
*/
|
||||
public static final String MS_APPLICATION_PROPERTIES = "ms_application_properties";
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@ package org.talend.core.runtime.projectsetting;
|
||||
public interface IProjectSettingTemplateConstants {
|
||||
|
||||
final static String PATH_RESOURCES = "resources";
|
||||
|
||||
final static String PATH_APPLICATION_PROPERTIES = PATH_RESOURCES + '/' + "application.properties";
|
||||
|
||||
final static String PATH_RESOURCES_TEMPLATES = PATH_RESOURCES + '/' + "templates";
|
||||
|
||||
|
||||
@@ -231,6 +231,9 @@ public class ProjectPreferenceManager {
|
||||
if (isCurrentProject) {
|
||||
try {
|
||||
Project currentProject = ProjectManager.getInstance().getCurrentProject();
|
||||
if (qualifier == null) {
|
||||
qualifier = "org.talend.designer.maven";
|
||||
}
|
||||
init(ResourceUtils.getProject(currentProject), qualifier);
|
||||
} catch (PersistenceException e) {
|
||||
ExceptionHandler.process(e);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.talend.core.runtime.services;
|
||||
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.core.model.properties.Item;
|
||||
|
||||
@@ -9,4 +10,11 @@ public interface IFilterService extends IService {
|
||||
|
||||
public boolean isFilterAccepted(Item item, String filter);
|
||||
|
||||
public static IFilterService get() {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IFilterService.class)) {
|
||||
return GlobalServiceRegister.getDefault().getService(IFilterService.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.service;
|
||||
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.signon.util.TokenMode;
|
||||
import org.talend.signon.util.listener.LoginEventListener;
|
||||
|
||||
public interface ICloudSignOnService extends IService {
|
||||
|
||||
TokenMode getToken(String authCode, String codeVerifier, String dataCenter) throws Exception;
|
||||
|
||||
void startHeartBeat() throws Exception;
|
||||
|
||||
void stopHeartBeat();
|
||||
|
||||
String generateCodeVerifier();
|
||||
|
||||
String getCodeChallenge(String seed) throws Exception;
|
||||
|
||||
boolean hasValidToken() throws Exception;
|
||||
|
||||
String getTokenUser(String url, TokenMode token) throws Exception;
|
||||
|
||||
void signonCloud(LoginEventListener listener) throws Exception;
|
||||
|
||||
TokenMode getLatestToken() throws Exception;
|
||||
|
||||
public boolean refreshToken() throws Exception;
|
||||
|
||||
boolean isSignViaCloud();
|
||||
|
||||
boolean isNeedShowSSOPage();
|
||||
|
||||
public void showReloginDialog();
|
||||
|
||||
public boolean isReloginDialogRunning();
|
||||
|
||||
public void reload();
|
||||
|
||||
public static ICloudSignOnService get() {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICloudSignOnService.class)) {
|
||||
return GlobalServiceRegister.getDefault().getService(ICloudSignOnService.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -30,4 +30,6 @@ public interface IDesignerXMLMapperService extends IService {
|
||||
*/
|
||||
public boolean isVirtualComponent(final INode node);
|
||||
|
||||
public Object rebuildXmlMapData(final INode node);
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,9 @@ import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.core.nexus.ArtifactRepositoryBean;
|
||||
import org.talend.core.pendo.AbstractPendoTrackManager;
|
||||
import org.talend.core.pendo.TrackEvent;
|
||||
import org.talend.core.pendo.properties.IPendoDataProperties;
|
||||
import org.talend.utils.json.JSONException;
|
||||
import org.talend.utils.json.JSONObject;
|
||||
|
||||
@@ -35,11 +38,17 @@ public interface IRemoteService extends IService {
|
||||
LoginException, JSONException;
|
||||
|
||||
boolean isAuthorized(String value);
|
||||
|
||||
boolean isTokenUsed(String adminUrl) throws Exception;
|
||||
|
||||
String getPendoKeyFromLicense() throws Exception;
|
||||
|
||||
boolean isPendoTrackAvailable() throws Exception;
|
||||
|
||||
void sendPendoTrackData(TrackEvent event, IPendoDataProperties properties) throws Exception;
|
||||
|
||||
AbstractPendoTrackManager getPendoProjectLoginManager();
|
||||
|
||||
AbstractPendoTrackManager getPendoGenericManager(TrackEvent event, IPendoDataProperties peoperties);
|
||||
|
||||
String getTmcUser(String url, String token);
|
||||
|
||||
public boolean isCloudConnection();
|
||||
|
||||
public static IRemoteService get() {
|
||||
|
||||
@@ -128,6 +128,12 @@ public interface IStudioLiteP2Service extends IService {
|
||||
|
||||
void setupTmcUpdate(IProgressMonitor monitor, IStudioUpdateConfig updateConfig) throws Exception;
|
||||
|
||||
boolean removeM2() throws Exception;
|
||||
|
||||
void saveRemoveM2(boolean remove) throws Exception;
|
||||
|
||||
void cleanM2(IProgressMonitor monitor);
|
||||
|
||||
public static IStudioLiteP2Service get() {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IStudioLiteP2Service.class)) {
|
||||
return GlobalServiceRegister.getDefault().getService(IStudioLiteP2Service.class);
|
||||
|
||||
@@ -26,6 +26,8 @@ import org.eclipse.jface.viewers.ILabelProvider;
|
||||
import org.eclipse.ui.IEditorPart;
|
||||
import org.eclipse.ui.IEditorReference;
|
||||
import org.eclipse.ui.part.MultiPageEditorPart;
|
||||
import org.talend.analysistask.AnalysisReportRecorder;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.core.model.components.IComponent;
|
||||
import org.talend.core.model.general.ModuleNeeded;
|
||||
@@ -206,4 +208,6 @@ public interface IDesignerCoreService extends IService {
|
||||
|
||||
public IProcess getJobletProcessByItem(Item item);
|
||||
|
||||
public List<AnalysisReportRecorder> analysis(Project project) throws PersistenceException;
|
||||
|
||||
}
|
||||
|
||||
@@ -160,6 +160,8 @@ public interface IRunProcessService extends IService {
|
||||
|
||||
public void checkLastGenerationHasCompilationError(boolean updateProblemsView) throws ProcessorException;
|
||||
|
||||
public void checkLastGenerationHasCompilationError(boolean updateProblemsView, boolean isJob) throws ProcessorException;
|
||||
|
||||
/**
|
||||
* DOC ycbai Comment method "getResourceFilePath".
|
||||
*
|
||||
|
||||
@@ -380,24 +380,27 @@ public final class ProjectManager {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated unable to get project when resource is unloaded, use {@link #getProject(EObject)} instead
|
||||
*/
|
||||
public org.talend.core.model.properties.Project getProject(Project project, EObject object) {
|
||||
if (object != null) {
|
||||
if (object instanceof org.talend.core.model.properties.Project) {
|
||||
return (org.talend.core.model.properties.Project) object;
|
||||
}
|
||||
if (object instanceof Property) {
|
||||
return getProject(project, ((Property) object).getItem());
|
||||
}
|
||||
if (object instanceof Item) {
|
||||
return getProject(project, ((Item) object).getParent());
|
||||
}
|
||||
}
|
||||
|
||||
// default
|
||||
if (project != null) {
|
||||
return project.getEmfProject();
|
||||
}
|
||||
return null;
|
||||
// if (object != null) {
|
||||
// if (object instanceof org.talend.core.model.properties.Project) {
|
||||
// return (org.talend.core.model.properties.Project) object;
|
||||
// }
|
||||
// if (object instanceof Property) {
|
||||
// return getProject(project, ((Property) object).getItem());
|
||||
// }
|
||||
// if (object instanceof Item) {
|
||||
// return getProject(project, ((Item) object).getParent());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // default
|
||||
// if (project != null) {
|
||||
// return project.getEmfProject();
|
||||
// }
|
||||
return getProject(object);
|
||||
}
|
||||
|
||||
public IProject getResourceProject(org.talend.core.model.properties.Project project) {
|
||||
@@ -443,7 +446,7 @@ public final class ProjectManager {
|
||||
|
||||
public boolean isInMainProject(Project mainProject, EObject object) {
|
||||
if (object != null) {
|
||||
org.talend.core.model.properties.Project project = getProject(mainProject, object);
|
||||
org.talend.core.model.properties.Project project = getProject(object);
|
||||
if (project != null && mainProject != null) {
|
||||
return project.getTechnicalLabel().equals(mainProject.getEmfProject().getTechnicalLabel());
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.model.general.ConnectionBean;
|
||||
import org.talend.core.service.ICloudSignOnService;
|
||||
import org.talend.utils.json.JSONArray;
|
||||
import org.talend.utils.json.JSONException;
|
||||
import org.talend.utils.json.JSONObject;
|
||||
@@ -158,6 +159,8 @@ public class ConnectionUserPerReader {
|
||||
}
|
||||
if (cons == null || cons.size() == 0) {
|
||||
proper.remove("connection.users");//$NON-NLS-1$
|
||||
proper.remove("connection.define");//$NON-NLS-1$
|
||||
proper.remove("connection.lastConnection");//$NON-NLS-1$
|
||||
} else {
|
||||
JSONArray usersJsonArray = new JSONArray();
|
||||
for (ConnectionBean currentConnection : cons) {
|
||||
@@ -207,7 +210,6 @@ public class ConnectionUserPerReader {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void createPropertyFile() {
|
||||
|
||||
@@ -133,7 +133,7 @@ JavaFunctionParser.checkMethod=\u30EB\u30FC\u30C1\u30F3: "{0}.{1}"\u89E3\u6790\u
|
||||
JavaGlobalVariableProposal.Description=\u8AAC\u660E: {0}
|
||||
JavaGlobalVariableProposal.VariableName=\n\n\u5909\u6570\u540D: {1}
|
||||
JavaSimpleDateFormatProposalProvider.displaySingleQuote= ' : \u4E00\u91CD\u5F15\u7528\u7B26\u3092\u8868\u793A
|
||||
JavaSimpleDateFormatProposalProvider.quoteDisplayError=\uFF12\u3064\u306E\u30B7\u30F3\u30B0\u30EB\u30AF\u30A9\u30FC\u30C8\u3067\uFF11\u3064\u306E\u30B7\u30F3\u30B0\u30EB\u30AF\u30A9\u30FC\u30C8\u3092\u793A\u3057\u307E\u3059\u3002
|
||||
JavaSimpleDateFormatProposalProvider.quoteDisplayError=\uFF12\u3064\u306E\u4E00\u91CD\u5F15\u7528\u7B26\u3067\uFF11\u3064\u306E\u4E00\u91CD\u5F15\u7528\u7B26\u3092\u793A\u3057\u307E\u3059\u3002
|
||||
JavaTypesManager.bigDecimal=BIGDECIMAL\u306F\u6570\u5024\u3067\u3059:
|
||||
JavaTypesManager.integer=INTEGER\u306F\u6570\u5024\u3067\u3059:
|
||||
JavaTypesManager.list=LIST\u306F\u6570\u5024\u3067\u3059:
|
||||
@@ -309,7 +309,7 @@ repository.metadataSAPConnections.alias=SAP
|
||||
repository.SAPFunction=SAP\u30D5\u30A1\u30F3\u30AF\u30B7\u30E7\u30F3
|
||||
repository.metadataSQLPatterns=SQL\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8
|
||||
repository.metadataSQLPatterns.alias=SQLTemplates
|
||||
repository.metadataFileDelimited=\u533A\u5207\u308A\u6587\u5B57\u4ED8\u304D\u30D5\u30A1\u30A4\u30EB
|
||||
repository.metadataFileDelimited=\u533A\u5207\u308A\u4ED8\u304D\u30D5\u30A1\u30A4\u30EB
|
||||
repository.metadataFileDelimited.alias=DELIM
|
||||
repository.metadataFileLdif=LDIF\u30D5\u30A1\u30A4\u30EB
|
||||
repository.metadataFileLdif.alias=LDIF
|
||||
|
||||
@@ -167,7 +167,7 @@ public class ModuleListCellEditor extends DialogCellEditor {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ILibraryManagerUIService.class)) {
|
||||
ILibraryManagerUIService libUiService = (ILibraryManagerUIService) GlobalServiceRegister.getDefault().getService(
|
||||
ILibraryManagerUIService.class);
|
||||
IConfigModuleDialog dialog = libUiService.getConfigModuleDialog(cellEditorWindow.getShell(), "\"newLine\"".equals(value) ? "" : value);
|
||||
IConfigModuleDialog dialog = libUiService.getConfigModuleDialog(cellEditorWindow.getShell(), "\"newLine\"".equals(value) ? "" : value, false);
|
||||
if (dialog.open() == IDialogConstants.OK_ID) {
|
||||
String selecteModule = dialog.getMavenURI();
|
||||
if (selecteModule != null && (value == null || !value.equals(selecteModule))) {
|
||||
|
||||
@@ -33,7 +33,7 @@ public class TalendDataCollectorPreferenceInitializer extends AbstractPreference
|
||||
IPreferenceStore preferenceStore = CoreUIPlugin.getDefault().getPreferenceStore();
|
||||
preferenceStore.setDefault(ITalendCorePrefConstants.DATA_COLLECTOR_ENABLED, true);
|
||||
preferenceStore.setDefault(ITalendCorePrefConstants.DATA_COLLECTOR_UPLOAD_PERIOD, 5);
|
||||
if(IRemoteService.get().isCloudConnection()) {
|
||||
if(IRemoteService.get() != null && IRemoteService.get().isCloudConnection()) {
|
||||
preferenceStore.setValue(ITalendCorePrefConstants.DATA_COLLECTOR_ENABLED, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class TalendDataCollectorPreferencePage extends FieldEditorPreferencePage
|
||||
|
||||
@Override
|
||||
protected void createFieldEditors() {
|
||||
if(!IRemoteService.get().isCloudConnection()) {
|
||||
if(!(IRemoteService.get() != null && IRemoteService.get().isCloudConnection())) {
|
||||
addField(new BooleanFieldEditor(ITalendCorePrefConstants.DATA_COLLECTOR_ENABLED,
|
||||
Messages.getString("TalendDataCollectorPreferencePage_EnableCapture"), getFieldEditorParent())); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package org.talend.core.ui.services;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.viewers.ISelection;
|
||||
@@ -9,6 +11,7 @@ import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.ui.properties.tab.IDynamicProperty;
|
||||
|
||||
@@ -28,6 +31,16 @@ public interface IGitUIProviderService extends IService {
|
||||
public void openPushFailedDialog(Object pushResult);
|
||||
|
||||
boolean migrateOption(IProgressMonitor monitor, String newVersion, boolean hasUpdate) throws Exception;
|
||||
|
||||
boolean openSwitchGitModeDialog();
|
||||
|
||||
boolean canSwitchGitMode();
|
||||
|
||||
boolean canShowSwitchGitModePopup();
|
||||
|
||||
void showSwithGitModePopup();
|
||||
|
||||
Map<Project, List<Project>> getInvalidReferencedProjects();
|
||||
|
||||
public static IGitUIProviderService get() {
|
||||
GlobalServiceRegister register = GlobalServiceRegister.getDefault();
|
||||
|
||||
@@ -78,5 +78,12 @@
|
||||
serviceId="ICoreService">
|
||||
</Service>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.talend.core.runtime.service">
|
||||
<Service
|
||||
class="org.talend.core.services.NotificationService"
|
||||
serviceId="INotificationService">
|
||||
</Service>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
||||
@@ -115,7 +115,7 @@ GlobalServiceRegister.ServiceNotRegistered=\u30B5\u30FC\u30D3\u30B9{0}\u304C\u76
|
||||
GroupByContextAction.groupContext=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D4\u30F3\u30B0
|
||||
GroupByVariableAction.groupVariable=\u5909\u6570\u3054\u3068\u306B\u30B0\u30EB\u30FC\u30D4\u30F3\u30B0
|
||||
JavaSimpleDateFormatProposalProvider.displaySingleQuote= ' : \u4E00\u91CD\u5F15\u7528\u7B26\u3092\u8868\u793A
|
||||
JavaSimpleDateFormatProposalProvider.quoteDisplayError=\uFF12\u3064\u306E\u30B7\u30F3\u30B0\u30EB\u30AF\u30A9\u30FC\u30C8\u3067\uFF11\u3064\u306E\u30B7\u30F3\u30B0\u30EB\u30AF\u30A9\u30FC\u30C8\u3092\u793A\u3057\u307E\u3059\u3002
|
||||
JavaSimpleDateFormatProposalProvider.quoteDisplayError=\uFF12\u3064\u306E\u4E00\u91CD\u5F15\u7528\u7B26\u3067\uFF11\u3064\u306E\u4E00\u91CD\u5F15\u7528\u7B26\u3092\u793A\u3057\u307E\u3059\u3002
|
||||
JavaTypesManager.bigDecimal=BIGDECIMAL\u306F\u6570\u5024\u3067\u3059:
|
||||
JavaTypesManager.integer=INTEGER\u306F\u6570\u5024\u3067\u3059:
|
||||
JavaTypesManager.list=LIST\u306F\u6570\u5024\u3067\u3059:
|
||||
|
||||
@@ -42,6 +42,7 @@ import org.talend.core.model.metadata.builder.ConvertionHelper;
|
||||
import org.talend.core.model.metadata.builder.connection.MetadataTable;
|
||||
import org.talend.core.model.process.ElementParameterParser;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.model.relationship.RelationshipItemBuilder;
|
||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.model.repository.RepositoryManager;
|
||||
@@ -56,6 +57,7 @@ import org.talend.core.model.utils.TalendTextUtils;
|
||||
import org.talend.core.prefs.PreferenceManipulator;
|
||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||
import org.talend.core.runtime.process.ITalendProcessJavaProject;
|
||||
import org.talend.core.services.ICoreTisService;
|
||||
import org.talend.core.services.IJobCheckService;
|
||||
import org.talend.core.utils.KeywordsValidator;
|
||||
import org.talend.designer.codegen.ICodeGeneratorService;
|
||||
@@ -400,4 +402,31 @@ public class CoreService implements ICoreService {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getSignatureVerifyResult(Property property, IPath resourcePath, boolean considerGP) throws Exception {
|
||||
ICoreTisService coreTisService = ICoreTisService.get();
|
||||
if (coreTisService != null) {
|
||||
return coreTisService.getSignatureVerifyResult(property, resourcePath, considerGP);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLicenseCustomer() {
|
||||
ICoreTisService coreTisService = ICoreTisService.get();
|
||||
if (coreTisService != null) {
|
||||
return coreTisService.getLicenseCustomer();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInValidGP() {
|
||||
ICoreTisService coreTisService = ICoreTisService.get();
|
||||
if (coreTisService != null) {
|
||||
return coreTisService.isInValidGP();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.model.components.conversions.IComponentConversion;
|
||||
import org.talend.core.model.components.conversions.RenameComponentConversion;
|
||||
import org.talend.core.model.components.conversions.DefaultRenameComponentConversion;
|
||||
import org.talend.core.model.components.filters.IComponentFilter;
|
||||
import org.talend.core.model.components.filters.NameComponentFilter;
|
||||
import org.talend.core.model.properties.Item;
|
||||
@@ -56,6 +57,20 @@ public class ModifyComponentsAction {
|
||||
throws PersistenceException {
|
||||
searchAndModify(item, item.getProcess(), filter, conversions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename component name
|
||||
* @param item job item
|
||||
* @param processType Process type
|
||||
* @param oldName old base name, for tck component, name does not include prefix "t", while for non tck components, name includes prefix "t".
|
||||
* @param newName new base name, for tck component, name does not include prefix "t", while for non tck components, name includes prefix "t".
|
||||
* @return
|
||||
* @throws PersistenceException
|
||||
*/
|
||||
public static boolean searchAndRenameComponent(Item item, ProcessType processType, String oldName, String newName) throws PersistenceException {
|
||||
return searchAndModify(item, processType, new NameComponentFilter(oldName), Arrays.<IComponentConversion> asList(new DefaultRenameComponentConversion(oldName, newName)));
|
||||
|
||||
}
|
||||
|
||||
public static boolean searchAndModify(Item item, ProcessType processType, IComponentFilter filter,
|
||||
List<IComponentConversion> conversions) throws PersistenceException {
|
||||
|
||||
@@ -0,0 +1,118 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.model.components.conversions;
|
||||
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.talend.commons.runtime.model.components.IComponentConstants;
|
||||
import org.talend.core.model.components.ComponentUtilities;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ConnectionType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.MetadataType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.SubjobType;
|
||||
|
||||
/**
|
||||
* @author bhe created on Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
public class DefaultRenameComponentConversion implements IComponentConversion {
|
||||
|
||||
private String newName;
|
||||
|
||||
private String oldName;
|
||||
|
||||
/**
|
||||
* Rename component name
|
||||
*
|
||||
* @param oldName old base name of the component, e.g. NetSuiteV2019Input
|
||||
* @param newName new base name of the component, e.g. NetSuiteNewInput
|
||||
*/
|
||||
public DefaultRenameComponentConversion(String oldName, String newName) {
|
||||
super();
|
||||
this.newName = newName;
|
||||
this.oldName = oldName;
|
||||
}
|
||||
|
||||
public void transform(NodeType node) {
|
||||
node.setComponentName(newName);
|
||||
ProcessType item = (ProcessType) node.eContainer();
|
||||
String oldNodeUniqueName = ComponentUtilities.getNodeUniqueName(node);
|
||||
ComponentUtilities.setNodeUniqueName(node, oldNodeUniqueName.replaceAll(oldName, newName));
|
||||
replaceAllInAllNodesParameterValue(item, this.oldName, this.newName);
|
||||
}
|
||||
|
||||
protected static void replaceAllInAllNodesParameterValue(ProcessType item, String oldName, String newName) {
|
||||
for (Object o : item.getNode()) {
|
||||
NodeType nt = (NodeType) o;
|
||||
ComponentUtilities.replaceInNodeParameterValue(nt, oldName, newName);
|
||||
EList metaList = nt.getMetadata();
|
||||
if (metaList != null) {
|
||||
if (!metaList.isEmpty()) {
|
||||
for (Object obj : metaList) {
|
||||
MetadataType meta = (MetadataType) obj;
|
||||
if (meta.getName().contains(oldName)) {
|
||||
meta.setName(meta.getName().replaceAll(oldName, newName));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (Object o : item.getConnection()) {
|
||||
ConnectionType currentConnection = (ConnectionType) o;
|
||||
if (currentConnection.getSource().contains(oldName)) {
|
||||
currentConnection.setSource(currentConnection.getSource().replaceAll(oldName, newName));
|
||||
}
|
||||
if (currentConnection.getTarget().contains(oldName)) {
|
||||
currentConnection.setTarget(currentConnection.getTarget().replaceAll(oldName, newName));
|
||||
}
|
||||
if (currentConnection.getMetaname().contains(oldName)) {
|
||||
currentConnection.setMetaname(currentConnection.getMetaname().replaceAll(oldName, newName));
|
||||
}
|
||||
|
||||
if ("RUN_IF".equals(currentConnection.getConnectorName())) {
|
||||
for (Object obj : currentConnection.getElementParameter()) {
|
||||
ElementParameterType type = (ElementParameterType) obj;
|
||||
if ("CONDITION".equals(type.getName())) {
|
||||
if (type.getValue() != null && type.getValue().contains(oldName)) {
|
||||
String replaceAll = type.getValue().replaceAll(oldName, newName);
|
||||
type.setValue(replaceAll);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (Object o : item.getSubjob()) {
|
||||
SubjobType sj = (SubjobType) o;
|
||||
for (Object obj : sj.getElementParameter()) {
|
||||
ElementParameterType p = (ElementParameterType) obj;
|
||||
if (p.getName().equals(IComponentConstants.UNIQUE_NAME)) {
|
||||
if (p.getValue() != null && p.getValue().contains(oldName)) {
|
||||
String replaceAll = p.getValue().replaceAll(oldName, newName);
|
||||
p.setValue(replaceAll);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getNewName() {
|
||||
return this.newName;
|
||||
}
|
||||
|
||||
public void setNewName(String newName) {
|
||||
this.newName = newName;
|
||||
}
|
||||
}
|
||||
@@ -1,86 +1,103 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.prefs;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.talend.commons.i18n.MessagesCore;
|
||||
|
||||
/**
|
||||
* Use to retrieve general application parameters.<br/>
|
||||
*
|
||||
* $Id: Messages.java 1 2006-09-29 17:06:40 +0000 (ven., 29 sept. 2006) nrousseau $
|
||||
*
|
||||
*/
|
||||
public class GeneralParametersProvider extends MessagesCore {
|
||||
|
||||
private static final String BUNDLE_NAME = "parameters"; //$NON-NLS-1$
|
||||
|
||||
private static final String PLUGIN_ID = "org.talend.core"; //$NON-NLS-1$
|
||||
|
||||
private static ResourceBundle resourceBundle;
|
||||
|
||||
private static ResourceBundle getBundle() {
|
||||
if (resourceBundle == null) {
|
||||
try {
|
||||
resourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
|
||||
} catch (Exception e) {
|
||||
// Nothing to do (return null)
|
||||
}
|
||||
}
|
||||
return resourceBundle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value corresponding to the specified key.
|
||||
*/
|
||||
public static String getString(GeneralParameters key) {
|
||||
return getString(key.getParamName(), PLUGIN_ID, getBundle());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a sorted string array containing values corresponding to the specified key.
|
||||
*/
|
||||
public static String[] getStrings(GeneralParameters key) {
|
||||
String value = getString(key);
|
||||
String[] toReturn = value.split(","); //$NON-NLS-1$
|
||||
Arrays.sort(toReturn);
|
||||
return toReturn;
|
||||
}
|
||||
|
||||
/**
|
||||
* DOC smallet GeneralParametersProvider class global comment. Detailled comment <br/>
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
public enum GeneralParameters {
|
||||
AUTHORIZED_LANGUAGE("param.authorizedlanguage"), //$NON-NLS-1$
|
||||
DEFAULT_PERL_INTERPRETER_WIN32("param.defaultPerlInterpreterPath.win32"), //$NON-NLS-1$
|
||||
DEFAULT_PERL_INTERPRETER_LINUX("param.defaultPerlInterpreterPath.linux"), //$NON-NLS-1$
|
||||
DEFAULT_PERL_INTERPRETER_EMBEDDED_SUFFIX_WIN32("param.defaultPerlInterpreterEmbeddedSuffix.win32"), //$NON-NLS-1$
|
||||
DEFAULT_JAVA_INTERPRETER_SUFFIX_WIN32("param.defaultJavaInterpreterSuffix.win32"), //$NON-NLS-1$
|
||||
DEFAULT_JAVA_INTERPRETER_SUFFIX_LINUX("param.defaultJavaInterpreterSuffix.linux"), //$NON-NLS-1$
|
||||
PROJECTS_EXCLUDED_FROM_EXPORT("param.projectsExcludedFromExport"); //$NON-NLS-1$
|
||||
|
||||
private String paramName;
|
||||
|
||||
GeneralParameters(String paramName) {
|
||||
this.paramName = paramName;
|
||||
}
|
||||
|
||||
public String getParamName() {
|
||||
return this.paramName;
|
||||
}
|
||||
}
|
||||
}
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.prefs;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.talend.commons.i18n.MessagesCore;
|
||||
import org.talend.core.CorePlugin;
|
||||
|
||||
/**
|
||||
* Use to retrieve general application parameters.<br/>
|
||||
*
|
||||
* $Id: Messages.java 1 2006-09-29 17:06:40 +0000 (ven., 29 sept. 2006) nrousseau $
|
||||
*
|
||||
*/
|
||||
public class GeneralParametersProvider extends MessagesCore {
|
||||
|
||||
private static final String BUNDLE_NAME = "parameters"; //$NON-NLS-1$
|
||||
|
||||
private static final String PLUGIN_ID = "org.talend.core"; //$NON-NLS-1$
|
||||
|
||||
private static ResourceBundle resourceBundle;
|
||||
|
||||
private static ResourceBundle getBundle() {
|
||||
if (resourceBundle == null) {
|
||||
try {
|
||||
resourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
|
||||
} catch (Exception e) {
|
||||
// Nothing to do (return null)
|
||||
}
|
||||
}
|
||||
return resourceBundle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the value corresponding to the specified key.
|
||||
*/
|
||||
public static String getString(GeneralParameters key) {
|
||||
return getString(key.getParamName(), PLUGIN_ID, getBundle());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a sorted string array containing values corresponding to the specified key.
|
||||
*/
|
||||
public static String[] getStrings(GeneralParameters key) {
|
||||
String value = getString(key);
|
||||
String[] toReturn = value.split(","); //$NON-NLS-1$
|
||||
Arrays.sort(toReturn);
|
||||
return toReturn;
|
||||
}
|
||||
|
||||
public static String getOnLineHelpLanguageSetting() {
|
||||
String language = CorePlugin.getDefault().getPluginPreferences().getString(ITalendCorePrefConstants.LANGUAGE_SELECTOR);
|
||||
if (StringUtils.isBlank(language)) {
|
||||
language = Locale.getDefault().getLanguage();
|
||||
}
|
||||
if (Locale.FRENCH.getLanguage().equals(language)) {
|
||||
return "fr";
|
||||
}
|
||||
if (Locale.JAPAN.getLanguage().equals(language)) {
|
||||
return "ja";
|
||||
}
|
||||
return "en"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
|
||||
/**
|
||||
* DOC smallet GeneralParametersProvider class global comment. Detailled comment <br/>
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
public enum GeneralParameters {
|
||||
AUTHORIZED_LANGUAGE("param.authorizedlanguage"), //$NON-NLS-1$
|
||||
DEFAULT_PERL_INTERPRETER_WIN32("param.defaultPerlInterpreterPath.win32"), //$NON-NLS-1$
|
||||
DEFAULT_PERL_INTERPRETER_LINUX("param.defaultPerlInterpreterPath.linux"), //$NON-NLS-1$
|
||||
DEFAULT_PERL_INTERPRETER_EMBEDDED_SUFFIX_WIN32("param.defaultPerlInterpreterEmbeddedSuffix.win32"), //$NON-NLS-1$
|
||||
DEFAULT_JAVA_INTERPRETER_SUFFIX_WIN32("param.defaultJavaInterpreterSuffix.win32"), //$NON-NLS-1$
|
||||
DEFAULT_JAVA_INTERPRETER_SUFFIX_LINUX("param.defaultJavaInterpreterSuffix.linux"), //$NON-NLS-1$
|
||||
PROJECTS_EXCLUDED_FROM_EXPORT("param.projectsExcludedFromExport"); //$NON-NLS-1$
|
||||
|
||||
private String paramName;
|
||||
|
||||
GeneralParameters(String paramName) {
|
||||
this.paramName = paramName;
|
||||
}
|
||||
|
||||
public String getParamName() {
|
||||
return this.paramName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
import org.osgi.service.prefs.BackingStoreException;
|
||||
@@ -84,9 +85,25 @@ public interface ICoreTisService extends IService {
|
||||
|
||||
public void afterImport (Property property) throws PersistenceException;
|
||||
|
||||
Integer getSignatureVerifyResult(Property property, IPath resourcePath, boolean considerGP) throws Exception;
|
||||
|
||||
String getLicenseCustomer();
|
||||
|
||||
void storeLicenseAndUpdateConfig(String licenseString) throws IOException;
|
||||
|
||||
boolean isInValidGP();
|
||||
|
||||
boolean hasNewPatchInPatchesFolder();
|
||||
|
||||
boolean isDefaultLicenseAndProjectType();
|
||||
|
||||
String getLicenseProductName(String licenseString) throws Exception;
|
||||
|
||||
String getLicenseProductEdition(String licenseString) throws Exception;
|
||||
|
||||
boolean isLicenseExpired(String licenseString) throws Exception;
|
||||
|
||||
boolean isLicenseVersionCorrect(String licenseString) throws Exception;
|
||||
|
||||
void syncProjectUpdateSettingsFromServer(IProgressMonitor monitor, Project proj) throws Exception;
|
||||
|
||||
|
||||
@@ -56,6 +56,29 @@ public interface IGITProviderService extends IService {
|
||||
void createOrUpdateGitIgnoreFile(IProject eclipseProject) throws CoreException;
|
||||
|
||||
String getDefaultBranch(Project project);
|
||||
|
||||
/**
|
||||
* Whether git mode is standard mode
|
||||
* @return
|
||||
*/
|
||||
boolean isStandardMode();
|
||||
|
||||
/**
|
||||
* Set git mode
|
||||
* @param standardMode
|
||||
*/
|
||||
void setStandardMode(boolean standardMode);
|
||||
|
||||
/**
|
||||
* Get clean git repository url
|
||||
* @param project project
|
||||
* @return
|
||||
*/
|
||||
String getCleanGitRepositoryUrl(org.talend.core.model.properties.Project project);
|
||||
|
||||
boolean canShowSwitchGitModePopup();
|
||||
|
||||
void showSwithGitModePopup();
|
||||
|
||||
public static IGITProviderService get() {
|
||||
GlobalServiceRegister register = GlobalServiceRegister.getDefault();
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.services;
|
||||
|
||||
import org.eclipse.jface.window.WindowManager;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
|
||||
/**
|
||||
* @author bhe created on Oct 27, 2022
|
||||
*
|
||||
*/
|
||||
public interface INotificationService extends IService {
|
||||
|
||||
WindowManager getNotificationWindowManager();
|
||||
|
||||
public static INotificationService get() {
|
||||
GlobalServiceRegister register = GlobalServiceRegister.getDefault();
|
||||
if (!register.isServiceRegistered(INotificationService.class)) {
|
||||
return null;
|
||||
}
|
||||
return register.getService(INotificationService.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 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.core.services;
|
||||
|
||||
import org.eclipse.jface.window.WindowManager;
|
||||
|
||||
/**
|
||||
* @author bhe created on Oct 28, 2022
|
||||
*
|
||||
*/
|
||||
public class NotificationService implements INotificationService {
|
||||
|
||||
private WindowManager manager = new WindowManager();
|
||||
|
||||
@Override
|
||||
public WindowManager getNotificationWindowManager() {
|
||||
return manager;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -278,6 +278,19 @@ public class ProcessorUtilities {
|
||||
needExportItemsForDQ = false;
|
||||
}
|
||||
|
||||
public static void resetExportConfig(boolean noResetDq) {
|
||||
interpreter = null;
|
||||
codeLocation = null;
|
||||
libraryPath = null;
|
||||
exportConfig = false;
|
||||
exportAsOSGI = false;
|
||||
exportTimeStamp = null;
|
||||
exportJobAsMicroService = false;
|
||||
if (!noResetDq) {
|
||||
needExportItemsForDQ = false;
|
||||
}
|
||||
}
|
||||
|
||||
public static String getInterpreter() {
|
||||
return interpreter;
|
||||
}
|
||||
@@ -806,7 +819,8 @@ public class ProcessorUtilities {
|
||||
// TDI-36930, just after compile, need check the compile errors first.
|
||||
// only check current build
|
||||
if (isMainJob) {
|
||||
CorePlugin.getDefault().getRunProcessService().checkLastGenerationHasCompilationError(true);
|
||||
CorePlugin.getDefault().getRunProcessService().checkLastGenerationHasCompilationError(true,
|
||||
!ComponentCategory.CATEGORY_4_CAMEL.getName().equals(currentProcess.getComponentsType()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ _UI_TypeAlias_type=Type Alias
|
||||
_UI_Union_type=Union
|
||||
_UI_UnionMember_type=Membre de l'union
|
||||
_UI_ExpressionNode_type=N\u0153ud d'expression
|
||||
_UI_ConstantNode_type=Noeud constant
|
||||
_UI_ConstantNode_type=N\u0153ud constant
|
||||
_UI_ElementNode_type=N\u0153ud d'\u00E9l\u00E9ment
|
||||
_UI_FeatureNode_type=N\u0153ud de fonctionnalit\u00E9
|
||||
_UI_UniqueKey_type=Cl\u00E9 unique
|
||||
|
||||
@@ -788,7 +788,7 @@ _UI_Term_concept_feature=\u30B3\u30F3\u30BB\u30D7\u30C8
|
||||
_UI_Term_relatedTerm_feature=\u95A2\u9023\u7528\u8A9E
|
||||
_UI_Term_term_feature=\u7528\u8A9E
|
||||
_UI_Term_preferredTerm_feature=\u597D\u307E\u3057\u3044Term
|
||||
_UI_Term_synonym_feature=\u540C\u7FA9\u8A9E
|
||||
_UI_Term_synonym_feature=\u30B7\u30CE\u30CB\u30E0
|
||||
_UI_Term_widerTerm_feature=\u5E45\u5E83\u3044Term
|
||||
_UI_Term_narrowerTerm_feature=Narrower Term
|
||||
_UI_WarehouseProcess_staticDefinition_feature=\u9759\u7684\u5B9A\u7FA9
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
<artifactId>org.talend.designer.maven.repo.tck</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<properties>
|
||||
<jackson.version>2.13.2</jackson.version>
|
||||
<jackson-databind.version>2.13.2.2</jackson-databind.version>
|
||||
<jackson.version>2.13.4</jackson.version>
|
||||
<jackson-databind.version>2.13.4.2</jackson-databind.version>
|
||||
<slf4j.version>1.7.32</slf4j.version>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</properties>
|
||||
|
||||
@@ -1,480 +1,479 @@
|
||||
<?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>
|
||||
<cxf.version>3.5.1</cxf.version>
|
||||
<geronimo.version>1.0.2</geronimo.version>
|
||||
<jcache.version>1.0.5</jcache.version>
|
||||
<jcache_spec.version>1.0-alpha-1</jcache_spec.version>
|
||||
<johnzon.version>1.2.16</johnzon.version>
|
||||
<meecrowave.version>1.2.13</meecrowave.version>
|
||||
<microprofile.version>1.2.1</microprofile.version>
|
||||
<owb.version>2.0.26</owb.version>
|
||||
<slf4j.version>1.7.33</slf4j.version>
|
||||
<tomcat.version>9.0.62</tomcat.version>
|
||||
<xbean.version>4.20</xbean.version>
|
||||
<reload4j.version>1.2.19</reload4j.version>
|
||||
<log4j2.version>2.17.2</log4j2.version>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</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.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j-impl</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jul</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jcl</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-1.2-api</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-to-slf4j</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-web</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-core</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-integration-cdi</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-rs-client</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-security</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-transports-http</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo</groupId>
|
||||
<artifactId>geronimo-jcache-simple</artifactId>
|
||||
<version>${jcache.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo</groupId>
|
||||
<artifactId>geronimo-opentracing-common</artifactId>
|
||||
<version>${geronimo.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo</groupId>
|
||||
<artifactId>geronimo-opentracing</artifactId>
|
||||
<version>${geronimo.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-jcache_1.0_spec</artifactId>
|
||||
<version>${jcache_spec.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-core</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-jaxrs</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-jsonb</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-mapper</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.meecrowave</groupId>
|
||||
<artifactId>meecrowave-core</artifactId>
|
||||
<version>${meecrowave.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-el22</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-impl</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-se</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-spi</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-web</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-catalina</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-coyote</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-jaspic-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-jni</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-juli</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-servlet-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-util-scan</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-util</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-websocket-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-websocket</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-asm9-shaded</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-finder-shaded</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-finder</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-reflect</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.microprofile.opentracing</groupId>
|
||||
<artifactId>microprofile-opentracing-api</artifactId>
|
||||
<version>${microprofile.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-api</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-design-extension</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-di</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-impl</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-manager</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server-api</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server-extension-api</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server-model</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-spi</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>container-core</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>slf4j-standard</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>vault-client</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>${slf4j.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>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.reload4j</groupId>
|
||||
<artifactId>reload4j</artifactId>
|
||||
<version>${reload4j.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>
|
||||
<?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>
|
||||
<cxf.version>3.5.2</cxf.version>
|
||||
<geronimo.version>1.0.2</geronimo.version>
|
||||
<jcache.version>1.0.5</jcache.version>
|
||||
<jcache_spec.version>1.0-alpha-1</jcache_spec.version>
|
||||
<johnzon.version>1.2.19</johnzon.version>
|
||||
<meecrowave.version>1.2.14</meecrowave.version>
|
||||
<microprofile.version>1.2.1</microprofile.version>
|
||||
<owb.version>2.0.27</owb.version>
|
||||
<slf4j.version>1.7.34</slf4j.version>
|
||||
<tomcat.version>9.0.63</tomcat.version>
|
||||
<xbean.version>4.20</xbean.version>
|
||||
<reload4j.version>1.2.22</reload4j.version>
|
||||
<log4j2.version>2.17.2</log4j2.version>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</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.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j-impl</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jul</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-jcl</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-1.2-api</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-to-slf4j</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-web</artifactId>
|
||||
<version>${log4j2.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-core</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-integration-cdi</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-rs-client</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-security</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.cxf</groupId>
|
||||
<artifactId>cxf-rt-transports-http</artifactId>
|
||||
<version>${cxf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo</groupId>
|
||||
<artifactId>geronimo-jcache-simple</artifactId>
|
||||
<version>${jcache.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo</groupId>
|
||||
<artifactId>geronimo-opentracing-common</artifactId>
|
||||
<version>${geronimo.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo</groupId>
|
||||
<artifactId>geronimo-opentracing</artifactId>
|
||||
<version>${geronimo.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.geronimo.specs</groupId>
|
||||
<artifactId>geronimo-jcache_1.0_spec</artifactId>
|
||||
<version>${jcache_spec.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-core</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-jaxrs</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-jsonb</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.johnzon</groupId>
|
||||
<artifactId>johnzon-mapper</artifactId>
|
||||
<version>${johnzon.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.meecrowave</groupId>
|
||||
<artifactId>meecrowave-core</artifactId>
|
||||
<version>${meecrowave.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-el22</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-impl</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-se</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-spi</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.openwebbeans</groupId>
|
||||
<artifactId>openwebbeans-web</artifactId>
|
||||
<version>${owb.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-catalina</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-coyote</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-jaspic-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-jni</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-juli</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-servlet-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-util-scan</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-util</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-websocket-api</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.tomcat</groupId>
|
||||
<artifactId>tomcat-websocket</artifactId>
|
||||
<version>${tomcat.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-asm9-shaded</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-finder-shaded</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-finder</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.xbean</groupId>
|
||||
<artifactId>xbean-reflect</artifactId>
|
||||
<version>${xbean.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.microprofile.opentracing</groupId>
|
||||
<artifactId>microprofile-opentracing-api</artifactId>
|
||||
<version>${microprofile.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-api</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-design-extension</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-di</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-impl</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-runtime-manager</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server-api</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server-extension-api</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-server-model</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>component-spi</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>container-core</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>slf4j-standard</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.sdk.component</groupId>
|
||||
<artifactId>vault-client</artifactId>
|
||||
<version>${component-runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>${slf4j.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>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.reload4j</groupId>
|
||||
<artifactId>reload4j</artifactId>
|
||||
<version>${reload4j.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>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-text</artifactId>
|
||||
<version>1.10.0</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>
|
||||
|
||||
@@ -113,12 +113,12 @@
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk15on</artifactId>
|
||||
<version>1.68</version>
|
||||
<version>1.70</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.12.0</version>
|
||||
<version>2.13.4.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
|
||||
@@ -84,12 +84,12 @@
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk15on</artifactId>
|
||||
<version>1.68</version>
|
||||
<version>1.70</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
<version>2.12.0</version>
|
||||
<version>2.13.4.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.thoughtworks.xstream</groupId>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user