Compare commits

..

9 Commits

Author SHA1 Message Date
kjwang
c57d0ba772 TUP-36748 Studio send request to wrong data center when token invalid (#5633)
* TUP-36748 Studio send request to wrong data center when token invalid
https://jira.talendforge.org/browse/TUP-36748

* TUP-36748 Studio send request to wrong data center when token invalid
https://jira.talendforge.org/browse/TUP-36748
2022-09-23 19:37:13 +08:00
kjwang
b390f938c8 Fix TUP-36740 When open tmc login page, we should encode all the (#5631)
parameters in URL
https://jira.talendforge.org/browse/TUP-36740
2022-09-22 20:32:39 +08:00
Samuel ANTOINE
c9d5fda28b feat(TBD-13810): add dynamic schema on tFileInputDelimited (release (#5622)
feat(TBD-13810): add dynamic schema on tFileInputDelimited
2022-09-22 11:34:19 +02:00
sbliu
4a04edee4a feat(TUP-36340) fix problem that still show missing orai18n jar . (#5615)
fix problem that after select 'Support NLS' checkbox and press finish button show missing orai18n jar .
2022-09-21 17:12:01 +08:00
kjwang
2047bf8b13 Fix TUP-36723 can not list project when use old way to fetch from token (#5613)
Fix TUP-36723 can not list project when use old way to fetch from token
https://jira.talendforge.org/browse/TUP-36723
2022-09-21 17:03:28 +08:00
kjwang
96fc7eb574 kjwang/Fix TUP-36721 Only display SSO page for Talend Studio (#5611)
kjwang/Fix TUP-36721 Only display SSO page for Talend Studio
https://jira.talendforge.org/browse/TUP-36721
2022-09-21 14:57:17 +08:00
kjwang
7d361371d2 Fix: TUP-36714 Improve the code for SSO feature (#5608)
* Fix: TUP-36714 Improve the code for SSO feature
https://jira.talendforge.org/browse/TUP-36714
2022-09-20 18:15:31 +08:00
zshen-talend
4e0527d80c fix(TDQ-19700):snowflake type don't should show on the combo list of DB wizard (#5606) 2022-09-19 17:56:43 +08:00
kjwang
e0eb2d5356 TUP-32606 Support SSO on Studio
TUP-32606 Support SSO on Studio
https://jira.talendforge.org/browse/TUP-32606
2022-09-16 15:37:54 +08:00
1454 changed files with 306796 additions and 12770 deletions

View File

@@ -56,12 +56,5 @@
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>

View File

@@ -5,6 +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.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"/>

View File

@@ -9,7 +9,4 @@
</parent>
<artifactId>org.talend.utils.feature</artifactId>
<packaging>eclipse-feature</packaging>
<properties>
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
</properties>
</project>

View File

@@ -4,6 +4,4 @@ bin.includes = META-INF/,\
plugin.xml,\
icons/,\
icons1/,\
.,\
resources/
.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

View File

@@ -1,17 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.e4.ui.css.swt.theme">
<stylesheet
uri="resources/theme/light_preferencestyle.css">
<themeid
refid="org.talend.themes.css.talend.default"></themeid>
</stylesheet>
<stylesheet
uri="resources/theme/dark_preferencestyle.css">
<themeid
refid="org.eclipse.e4.ui.css.theme.e4_dark"></themeid>
</stylesheet>
</extension>
</plugin>

View File

@@ -1,8 +0,0 @@
/* ############################## Eclipse UI properties ############################## */
IEclipsePreferences#org-talend-common-ui-runtime:org-talend-common-ui-runtime { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'table.background=#org-eclipse-ui-workbench-DARK_BACKGROUND'
'table.foreground=#org-eclipse-ui-workbench-DARK_FOREGROUND'
}

View File

@@ -1,8 +0,0 @@
/* ############################## Eclipse UI properties ############################## */
IEclipsePreferences#org-talend-common-ui-runtime:org-talend-common-ui-runtime { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'table.background=COLOR-LIST-BACKGROUND'
'table.foreground=COLOR_LIST_FOREGROUND'
}

View File

@@ -12,22 +12,14 @@
// ============================================================================
package org.talend.commons.ui.runtime;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ColorConstants {
static final String BUNDLE_ID_COMMON_UI_RUNTIME = "org.talend.common.ui.runtime";
static final String KEY_TABLE_BACKGROUND = "table.background";
static final String KEY_TABLE_FOREGROUND = "table.foreground";
static final Color WHITE_COLOR = new Color(null, 255, 255, 255);
static final Color GREY_COLOR = new Color(null, 215, 215, 215);
@@ -37,8 +29,6 @@ public interface ColorConstants {
static final Color YELLOW_COLOR = new Color(null, 255, 173, 37);// 254, 182, 84
static final Color RED_COLOR = new Color(null, new RGB(204, 87, 89));// 255
static final Color ERROR_FONT_COLOR = new Color(null, new RGB(255, 0, 0));// 255
static final Color VERTICAL_SEPERATOR_LINE_COLOR = new Color(null, 162, 179, 195);
@@ -55,19 +45,4 @@ public interface ColorConstants {
static final Color SUCCEED_COLOR = new Color(null, 221, 242, 217);
static Color getTableBackgroundColor() {
return ITalendThemeService.getColor(ColorConstants.BUNDLE_ID_COMMON_UI_RUNTIME, ColorConstants.KEY_TABLE_BACKGROUND)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
}
static Color getTableForegroundColor() {
return ITalendThemeService.getColor(ColorConstants.BUNDLE_ID_COMMON_UI_RUNTIME, ColorConstants.KEY_TABLE_FOREGROUND)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND));
}
static Color getTableReadOnlyForegroundColor() {
return ITalendThemeService.getColor("CONTEXT_TABLE_READONLY_FOREGROUND")
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
}
}

View File

@@ -23,8 +23,6 @@ import org.talend.commons.ui.runtime.exception.ExceptionServiceImpl;
public class CommonUIPlugin implements BundleActivator {
public static String BUNDLE_ID = "org.talend.common.ui.runtime";
private static Boolean fullyHeadless = null;
/*

View File

@@ -1,154 +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.commons.ui.runtime;
import java.util.Optional;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.graphics.Color;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;
import org.talend.commons.exception.ExceptionHandler;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ITalendThemeService {
public static String DEFAULT_PREFERENCE_ID = "org.eclipse.ui.workbench";
public static String THEME_PREFERENCE_ID = "org.eclipse.e4.ui.css.swt.theme";
/**
* Get color from instance scope preference of default bundleId, which managed by theme; the standard way eclipse
* uses
*
* @param prop
* @return the Color, <font color="red">please <b>DON'T</b> dispose it, it is managed by JFaceResources</font>
*/
static Optional<Color> getColor(String prop) {
return getColor(DEFAULT_PREFERENCE_ID, prop);
}
/**
* Get color from instance scope preference of bundleId, which managed by theme; the standard way eclipse uses
*
* @param bundleId the instance scope preference which stores the prop
* @param prop
* @return the Color, <font color="red">please <b>DON'T</b> dispose it, it is managed by JFaceResources</font>
*/
static Optional<Color> getColor(String bundleId, String prop) {
ITalendThemeService theme = get();
if (theme != null) {
return Optional.ofNullable(theme.getColorForTheme(bundleId, prop));
}
return Optional.ofNullable(null);
}
Color getColorForTheme(String bundleId, String prop);
/**
* Get property from instance scope preference of default bundleId, which managed by theme; the standard way eclipse
* uses
*
* @param key
* @return
*/
static Optional<String> getProperty(String key) {
return getProperty(DEFAULT_PREFERENCE_ID, key);
}
/**
* Get property from instance scope preference of bundleId, which managed by theme; the standard way eclipse uses
*
* @param bundleId the instance scope preference which stores the key
* @param key
* @return
*/
static Optional<String> getProperty(String bundleId, String key) {
ITalendThemeService theme = get();
String value = null;
if (theme != null) {
value = theme.getPropertyForTheme(bundleId, key);
}
if (StringUtils.isBlank(value)) {
return Optional.ofNullable(null);
} else {
return Optional.ofNullable(value);
}
}
String getPropertyForTheme(String bundleId, String key);
static void addPropertyChangeListener(IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.addPropertyChangeListenerFor(DEFAULT_PREFERENCE_ID, listener);
}
}
static void addPropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.addPropertyChangeListenerFor(bundleId, listener);
}
}
void addPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
static boolean containsPropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
return theme.containsPropertyChangeListenerFor(bundleId, listener);
}
return false;
}
boolean containsPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
static void removePropertyChangeListener(IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.removePropertyChangeListenerFor(DEFAULT_PREFERENCE_ID, listener);
}
}
static void removePropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.removePropertyChangeListenerFor(bundleId, listener);
}
}
void removePropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
IPreferenceStore getThemePreferenceStore();
static ITalendThemeService get() {
try {
BundleContext bc = FrameworkUtil.getBundle(ITalendThemeService.class).getBundleContext();
ServiceReference<ITalendThemeService> serviceReference = bc.getServiceReference(ITalendThemeService.class);
if (serviceReference == null) {
return null;
}
return bc.getService(serviceReference);
} catch (Exception e) {
ExceptionHandler.process(e);
}
return null;
}
}

View File

@@ -72,27 +72,12 @@ 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, boolean wrapMessage) {
public static void showMessage(Throwable ex, Shell shell) {
if (ex.equals(lastShowedAction)) {
return;
}
@@ -100,14 +85,10 @@ public final class MessageBoxExceptionHandler {
// TODO smallet use ErrorDialogWidthDetailArea ?
String title = Messages.getString("commons.error"); //$NON-NLS-1$
String excepMsg = ex.getMessage();
String msg = Messages.getString("exception.errorOccured", ex.getMessage()); //$NON-NLS-1$
//add for tup-19726/19790, as for exception detailMessage will show more details on log area.
if(ex.getCause()!=null) {
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$
msg = Messages.getString("exception.errorOccured", ex.getCause().getMessage()); //$NON-NLS-1$
}
Priority priority = CommonExceptionHandler.getPriority(ex);

View File

@@ -114,7 +114,6 @@ 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

View File

@@ -114,7 +114,6 @@ 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

View File

@@ -96,7 +96,7 @@ ProposalUtils.CtrlProposal.ErrorMsg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u5236\u
RemovePushButton.RemoveButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
ResetDBTypesButton.ResetDBTypesButton.Tip=DB\u30BF\u30A4\u30D7\u3092\u30EA\u30BB\u30C3\u30C8
Rule.rule=\u30EB\u30FC\u30EB[{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SaveAsGenericSchemaPushButton.saveAsSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SelectContextVariablesPushButton.Label=\u30B3\u30F3\u30C6\u30AF\u30B9\u30C8\u5909\u6570\u3092\u9078\u629E
SWTCalendarWithTime.contentEvening=\u5915\u65B9
SWTCalendarWithTime.contentHr=\u6642:
@@ -114,7 +114,6 @@ 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

View File

@@ -114,7 +114,6 @@ 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

View File

@@ -40,8 +40,8 @@ public enum EImage implements IImage {
READ_ICON("/icons/read_obj.gif"), //$NON-NLS-1$
QUESTION_ICON("/icons/question.gif"), //$NON-NLS-1$
HELP_ICON("/icons/help.png"), //$NON-NLS-1$
MOREINFO_ICON("/icons/moreInfo.png"), //$NON-NLS-1$
CREATE_CONNECTION_ICON("/icons/connection.gif"), //$NON-NLS-1$

View File

@@ -16,14 +16,8 @@ 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;
@@ -164,35 +158,8 @@ public class ImageUtils {
return imageDes;
}
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) {//
}
}
};
};
private static Map<byte[], ImageDataProvider> imageFromDataCachedImages = new HashMap<byte[], ImageDataProvider>();
static {
clearImageFromDataCachedImages.setDaemon(true);
clearImageFromDataCachedImages.start();
}
/**
* By default, keep in memory the .
*
@@ -202,17 +169,12 @@ public class ImageUtils {
*/
public static ImageDescriptor createImageFromData(byte[] data, boolean... keepInMemory) {
if (data != null) {
ImageDataProvider imageProvider = null;
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
if(findKey.isPresent()) {
imageProvider = imageFromDataCachedImages.get(findKey.get());
}
ImageDataProvider imageProvider = imageFromDataCachedImages.get(data);
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);
}
@@ -221,9 +183,8 @@ public class ImageUtils {
public static void disposeImages(byte[] data) {
if (data != null) {
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
if(findKey.isPresent()) {
imageFromDataCachedImages.remove(findKey.get());
if (imageFromDataCachedImages.get(data) != null) {
imageFromDataCachedImages.remove(data);
}
}
}

View File

@@ -57,8 +57,6 @@ import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
import org.talend.commons.ui.runtime.ColorConstants;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.proposal.IShowInvisibleCellEditorMethods;
import org.talend.commons.ui.runtime.swt.tableviewer.behavior.DefaultHeaderColumnSelectionListener;
@@ -293,8 +291,7 @@ public class TableViewerCreatorNotModifiable<B> {
public TableViewerCreatorNotModifiable(Composite compositeParent) {
super();
this.compositeParent = compositeParent;
this.emptyZoneColor = ITalendThemeService.getColor("org.talend.commons.ui.BgColorForEmptyArea")
.orElse(compositeParent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
this.emptyZoneColor = compositeParent.getDisplay().getSystemColor(SWT.COLOR_WHITE);
}
@@ -672,22 +669,8 @@ public class TableViewerCreatorNotModifiable<B> {
table.addListener(SWTFacade.Paint, paintListener);
}
Color prefBackgroundColor = backgroundColor;
if (prefBackgroundColor == null) {
prefBackgroundColor = ColorConstants.getTableBackgroundColor();
if (prefBackgroundColor == null) {
prefBackgroundColor = table.getDisplay().getSystemColor(SWT.COLOR_WHITE);
}
}
Color prefForegroundColor = foregroundColor;
if (prefForegroundColor == null) {
prefForegroundColor = ColorConstants.getTableForegroundColor();
if (prefForegroundColor == null) {
prefForegroundColor = table.getDisplay().getSystemColor(SWT.COLOR_BLACK);
}
}
setBackgroundColor(prefBackgroundColor);
setForegroundColor(prefForegroundColor);
setBackgroundColor(backgroundColor != null ? backgroundColor : table.getDisplay().getSystemColor(SWT.COLOR_WHITE));
setForegroundColor(foregroundColor != null ? foregroundColor : table.getDisplay().getSystemColor(SWT.COLOR_BLACK));
if (useCustomItemColoring) {
setUseCustomItemColoring(true);

View File

@@ -12,14 +12,9 @@
// ============================================================================
package org.talend.commons.ui.runtime.utils;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.DataFormatException;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.resource.StringConverter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Device;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
/**
@@ -107,16 +102,4 @@ public class TalendColorPalette {
public static final java.awt.Color TERTIARY_ORANGE_AWT = new java.awt.Color(244, 175, 128);
public static final java.awt.Color TERTIARY_YELLOW_AWT = new java.awt.Color(255, 217, 143);
public static Color convertToColor(String rgbStr) throws DataFormatException {
ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
Color color = colorRegistry.get(rgbStr);
if (color != null) {
return color;
}
RGB rgb = StringConverter.asRGB(rgbStr);
colorRegistry.put(rgbStr, rgb);
return colorRegistry.get(rgbStr);
}
}

View File

@@ -24,7 +24,6 @@ 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;
@@ -170,52 +169,8 @@ 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;
}
}

View File

@@ -283,7 +283,6 @@
<KEYWORD1>smallint</KEYWORD1>
<KEYWORD1>smallmoney</KEYWORD1>
<KEYWORD1>text</KEYWORD1>
<KEYWORD1>TIME</KEYWORD1>
<KEYWORD1>timestamp</KEYWORD1>
<KEYWORD1>tinyint</KEYWORD1>
<KEYWORD1>uniqueidentifier</KEYWORD1>

View File

@@ -92,12 +92,12 @@
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.22</version>
<version>1.2.19</version>
</dependency>
</dependencies>

View File

@@ -36,11 +36,6 @@ public final class CommonExceptionHandler {
Priority priority = getPriority(ex);
process(ex, priority);
}
public static void process(Throwable ex, String msg) {
Priority priority = getPriority(ex);
process(ex, msg, priority);
}
public static void process(Throwable ex, Priority priority) {
String message = ex.getMessage();
@@ -48,13 +43,6 @@ public final class CommonExceptionHandler {
log.log(priority, message, ex);
}
public static void process(Throwable ex, String msg, Priority priority) {
String message = ex.getMessage() + ": " + msg;
log.log(priority, message, ex);
}
public static void log(String message) {
log.log(Level.INFO, message);

View File

@@ -1,85 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2023 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.runtime.model.emf;
import java.util.Iterator;
import java.util.Map;
import java.util.StringJoiner;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.xmi.XMLHelper;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.ecore.xmi.XMLSave;
import org.eclipse.emf.ecore.xmi.impl.XMISaveImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLString;
/**
* DOC jding class global comment. Detailled comment
*/
public class CustomXMIResource extends TalendXMIResource {
public static final String ENCODING = "UTF-8"; //$NON-NLS-1$
CustomXMISave xmiSave;
public CustomXMIResource() {
super();
}
public CustomXMIResource(URI uri) {
super(uri);
}
@Override
protected void init() {
super.init();
encoding = ENCODING;
}
@Override
protected XMLSave createXMLSave() {
xmiSave = new CustomXMISave(createXMLHelper());
return xmiSave;
}
public String getResourceContent(Map<?, ?> options) {
if (xmiSave == null) {
createXMLSave();
}
return xmiSave.getXMLContent(this, options);
}
}
class CustomXMISave extends XMISaveImpl {
public CustomXMISave(XMLHelper helper) {
super(helper);
}
public String getXMLContent(XMLResource resource, Map<?, ?> options) {
StringJoiner strJoin = new StringJoiner("");
super.init(resource, options);
super.traverse(resource.getContents());
XMLString xmlString = this.doc;
Iterator<String> iterator = xmlString.stringIterator();
while (iterator.hasNext()) {
String string = (String) iterator.next();
if (string != null) {
strJoin.add(string);
}
}
return strJoin.toString();
}
}

View File

@@ -16,7 +16,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -264,12 +263,4 @@ public class EmfHelper {
return result;
}
public static String getEmfModelContent(EObject model) throws Exception {
String content = "";
CustomXMIResource xmiResource = new CustomXMIResource();
xmiResource.getContents().add(model);
content = xmiResource.getResourceContent(Collections.EMPTY_MAP);
return content;
}
}

View File

@@ -145,30 +145,7 @@ public class DB2ForZosDataBaseMetadata extends PackageFakeDatabaseMetadata {
*/
@Override
public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException {
ResultSet rs = super.getPrimaryKeys(catalog, schema, table);
if (rs == null) {
rs = new DB2ForZosResultSet();
}
return rs;
}
/*
* (non-Javadoc)
*
* @see org.talend.commons.utils.database.FakeDatabaseMetaData#getExportedKeys(java.lang.String, java.lang.String,
* java.lang.String)
*/
@Override
public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException {
ResultSet rs = super.getExportedKeys(catalog, schema, table);
if (rs == null) {
if (this.metaData != null) {
rs = this.metaData.getExportedKeys(catalog, schema, table);
} else {
rs = new DB2ForZosResultSet();
}
}
return rs;
return new DB2ForZosResultSet();
}
/*
@@ -197,6 +174,17 @@ public class DB2ForZosDataBaseMetadata extends PackageFakeDatabaseMetadata {
return tableResultSet;
}
/*
* (non-Javadoc)
*
* @see org.talend.commons.utils.database.FakeDatabaseMetaData#getExportedKeys(java.lang.String, java.lang.String,
* java.lang.String)
*/
@Override
public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException {
return new DB2ForZosResultSet();
}
/*
* (non-Javadoc)
*

View File

@@ -33,7 +33,6 @@ import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.talend.commons.exception.CommonExceptionHandler;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.runtime.utils.io.FileCopyUtils;
@@ -109,7 +108,6 @@ public class NetworkUtil {
return true;
}
} catch (Exception e) {
CommonExceptionHandler.process(e, getCheckUrl());
return false;
} finally {
conn.disconnect();
@@ -122,7 +120,7 @@ public class NetworkUtil {
if (StringUtils.isNotBlank(customUrl)) {
return customUrl;
} else {
return "https://talend-update.talend.com/nexus/content/groups/studio-libraries/";
return "https://talend-update.talend.com/nexus/content/repositories/libraries/";
}
}
@@ -146,7 +144,6 @@ public class NetworkUtil {
conn.setRequestMethod("HEAD"); //$NON-NLS-1$
conn.getResponseMessage();
} catch (Exception e) {
CommonExceptionHandler.process(e, urlString);
// if not reachable , will throw exception(time out/unknown host) .So if catched exception, make it a
// invalid server
return false;

View File

@@ -92,7 +92,7 @@ ProposalUtils.CtrlProposal.ErrorMsg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u5236\u
RemovePushButton.RemoveButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
ResetDBTypesButton.ResetDBTypesButton.Tip=DB\u30BF\u30A4\u30D7\u3092\u30EA\u30BB\u30C3\u30C8
Rule.rule=\u30EB\u30FC\u30EB[{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SaveAsGenericSchemaPushButton.saveAsSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SelectContextVariablesPushButton.Label=\u30B3\u30F3\u30C6\u30AF\u30B9\u30C8\u5909\u6570\u3092\u9078\u629E
SWTCalendarWithTime.contentEvening=\u5915\u65B9
SWTCalendarWithTime.contentHr=\u6642:

View File

@@ -18,12 +18,12 @@ import java.util.Iterator;
import java.util.Map;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
import org.eclipse.jface.resource.StringConverter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
/**
@@ -33,7 +33,7 @@ import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
*
*/
public class ColorManager {
public static final RGB DEFAULT_STRING_COLOR = new RGB(0, 0, 0);
public static final RGB DEFAULT_KEYWORD1_COLOR = new RGB(50, 32, 160);
@@ -106,19 +106,15 @@ public class ColorManager {
}
public Color getColor(String colorName) {
Color prefColor = getThemeColor(colorName);
if (colorMap.containsKey(colorName) && (colorMap.get(colorName)).equals(prefColor)) {
return colorMap.get(colorName);
RGB prefColor = PreferenceConverter.getColor(store, colorName);
Color color = null;
if (colorMap.containsKey(colorName) && (colorMap.get(colorName)).getRGB().equals(prefColor)) {
color = (Color) colorMap.get(colorName);
} else {
colorMap.put(colorName, prefColor);
color = new Color(Display.getDefault(), prefColor);
colorMap.put(colorName, color);
}
return prefColor;
}
private static Color getThemeColor(String colorName) {
Color c = ITalendThemeService.getColor(colorName)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
return c;
return color;
}
public void dispose() {
@@ -168,20 +164,20 @@ public class ColorManager {
}
public static void initDefaultColors(IPreferenceStore store) {
store.setDefault(NULL_COLOR, StringConverter.asString(getThemeColor(NULL_COLOR).getRGB()));
store.setDefault(COMMENT1_COLOR, StringConverter.asString(getThemeColor(COMMENT1_COLOR).getRGB()));
store.setDefault(COMMENT2_COLOR, StringConverter.asString(getThemeColor(COMMENT2_COLOR).getRGB()));
store.setDefault(LITERAL1_COLOR, StringConverter.asString(getThemeColor(LITERAL1_COLOR).getRGB()));
store.setDefault(LITERAL2_COLOR, StringConverter.asString(getThemeColor(LITERAL2_COLOR).getRGB()));
store.setDefault(LABEL_COLOR, StringConverter.asString(getThemeColor(LABEL_COLOR).getRGB()));
store.setDefault(KEYWORD1_COLOR, StringConverter.asString(getThemeColor(KEYWORD1_COLOR).getRGB()));
store.setDefault(KEYWORD2_COLOR, StringConverter.asString(getThemeColor(KEYWORD2_COLOR).getRGB()));
store.setDefault(KEYWORD3_COLOR, StringConverter.asString(getThemeColor(KEYWORD3_COLOR).getRGB()));
store.setDefault(FUNCTION_COLOR, StringConverter.asString(getThemeColor(FUNCTION_COLOR).getRGB()));
store.setDefault(MARKUP_COLOR, StringConverter.asString(getThemeColor(MARKUP_COLOR).getRGB()));
store.setDefault(OPERATOR_COLOR, StringConverter.asString(getThemeColor(OPERATOR_COLOR).getRGB()));
store.setDefault(DIGIT_COLOR, StringConverter.asString(getThemeColor(DIGIT_COLOR).getRGB()));
store.setDefault(INVALID_COLOR, StringConverter.asString(getThemeColor(INVALID_COLOR).getRGB()));
store.setDefault(NULL_COLOR, StringConverter.asString(DEFAULT_STRING_COLOR));
store.setDefault(COMMENT1_COLOR, StringConverter.asString(DEFAULT_COMMENT1_COLOR));
store.setDefault(COMMENT2_COLOR, StringConverter.asString(DEFAULT_COMMENT2_COLOR));
store.setDefault(LITERAL1_COLOR, StringConverter.asString(DEFAULT_LITERAL1_COLOR));
store.setDefault(LITERAL2_COLOR, StringConverter.asString(DEFAULT_LITERAL2_COLOR));
store.setDefault(LABEL_COLOR, StringConverter.asString(DEFAULT_LABEL_COLOR));
store.setDefault(KEYWORD1_COLOR, StringConverter.asString(DEFAULT_KEYWORD1_COLOR));
store.setDefault(KEYWORD2_COLOR, StringConverter.asString(DEFAULT_KEYWORD2_COLOR));
store.setDefault(KEYWORD3_COLOR, StringConverter.asString(DEFAULT_KEYWORD3_COLOR));
store.setDefault(FUNCTION_COLOR, StringConverter.asString(DEFAULT_FUNCTION_COLOR));
store.setDefault(MARKUP_COLOR, StringConverter.asString(DEFAULT_MARKUP_COLOR));
store.setDefault(OPERATOR_COLOR, StringConverter.asString(DEFAULT_OPERATOR_COLOR));
store.setDefault(DIGIT_COLOR, StringConverter.asString(DEFAULT_DIGIT_COLOR));
store.setDefault(INVALID_COLOR, StringConverter.asString(DEFAULT_INVALID_COLOR));
String bold = BOLD_SUFFIX;
store.setDefault(COMMENT1_COLOR + bold, false);

View File

@@ -1,384 +1,368 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.colorstyledtext;
import java.util.ArrayList;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ExtendedModifyEvent;
import org.eclipse.swt.custom.ExtendedModifyListener;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.runtime.xml.XmlUtil;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Mode;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Modes;
import org.talend.commons.ui.swt.colorstyledtext.rules.CToken;
import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
import org.talend.commons.utils.threading.ExecutionLimiter;
/**
* This component is an adaptation of a Color Editor for a StyledText.
*
* The original editor can be found on http://www.gstaff.org/colorEditor/ <br/>
*
* <b>How to use it, example :</b> <br/>
* ColorStyledText text = new ColorStyledText(parent, SWT.H_SCROLL | SWT.V_SCROLL,
* CorePlugin.getDefault().getPreferenceStore(), ECodeLanguage.PERL.getName());</i> <br/>
* <br/>
*
* $Id: ColorStyledText.java 7183 2007-11-23 11:03:36Z amaumont $
*
*/
public class ColorStyledText extends StyledText {
public static final String PREFERENCE_COLOR_FOREGROUND= "ColorStyledText.Color.Foreground"; //$NON-NLS-1$
public static final String PREFERENCE_COLOR_BACKGROUND= "ColorStyledText.Color.Background"; //$NON-NLS-1$
public static final String PREFERENCE_COLOR_SELECTION_FOREGROUND= "ColorStyledText.Color.SelectionForeground"; //$NON-NLS-1$
public static final String PREFERENCE_COLOR_SELECTION_BACKGROUND= "ColorStyledText.Color.SelectionBackground"; //$NON-NLS-1$
private final static int MAXIMUM_CHARACTERS_BEFORE_USE_TIMER = 1000;
private final ColorManager colorManager;
private final ColoringScanner scanner;
private final String languageMode;
private final MenuItem pasteItem;
private boolean coloring = true;
private UndoRedoManager undoRedoManager;
public ColorStyledText(Composite parent, int style, IPreferenceStore store, String languageMode) {
super(parent, style);
this.languageMode = languageMode;
this.colorManager = new ColorManager(store);
/*
* set the Shortcuts of the undo/redo
*/
this.setKeyBinding('Z' | SWT.CTRL, ActionCode.UNDO);
this.setKeyBinding('Y' | SWT.CTRL, ActionCode.REDO);
UndoRedoManager undoManager = new UndoRedoManager(50);
undoManager.connect(this);
this.setUndoManager(undoManager);
ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
Menu popupMenu = new Menu(this);
MenuItem redoItem = new MenuItem(popupMenu, SWT.PUSH);
redoItem.setText(Messages.getString("ColorStyledText.RedoItem.Text")); //$NON-NLS-1$
redoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
redo();
}
});
MenuItem undoItem = new MenuItem(popupMenu, SWT.PUSH);
undoItem.setText(Messages.getString("ColorStyledText.UndoItem.Text")); //$NON-NLS-1$
undoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
undo();
}
});
Image image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
MenuItem copyItem = new MenuItem(popupMenu, SWT.PUSH);
copyItem.setText(Messages.getString("ColorStyledText.CopyItem.Text")); //$NON-NLS-1$
copyItem.setImage(image);
copyItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
copy();
}
});
image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
pasteItem = new MenuItem(popupMenu, SWT.PUSH);
pasteItem.setText(Messages.getString("ColorStyledText.PasteItem.Text")); //$NON-NLS-1$
pasteItem.setData(this);
pasteItem.setImage(image);
pasteItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
paste();
}
});
pasteItem.setEnabled(getEditable());
this.setMenu(popupMenu);
MenuItem selectAllItem = new MenuItem(popupMenu, SWT.PUSH);
selectAllItem.setText(Messages.getString("ColorStyledText.SelectAllItem.Text")); //$NON-NLS-1$
selectAllItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
selectAll();
}
});
this.setMenu(popupMenu);
Listener selectAllListener = new Listener() {
public void handleEvent(Event event) {
if (event.character == '\u0001') { // CTRL + A
selectAll();
}
}
};
addListener(SWT.KeyDown, selectAllListener);
Mode mode = Modes.getMode(languageMode + XmlUtil.FILE_XML_SUFFIX);
scanner = new ColoringScanner(mode, colorManager);
addExtendedModifyListener(modifyListener);
initColorSetting();
}
protected void initColorSetting() {
this.setForeground(ITalendThemeService.getColor(PREFERENCE_COLOR_FOREGROUND).orElse(null));
this.setBackground(ITalendThemeService.getColor(PREFERENCE_COLOR_BACKGROUND).orElse(null));
this.setSelectionBackground(ITalendThemeService.getColor(PREFERENCE_COLOR_SELECTION_BACKGROUND).orElse(null));
this.setSelectionForeground(ITalendThemeService.getColor(PREFERENCE_COLOR_SELECTION_FOREGROUND).orElse(null));
}
/**
* DOC qli Comment method "invokeAction".
*
* @param action
*
* */
public void invokeAction(int action) {
super.invokeAction(action);
switch (action) {
case ActionCode.UNDO:
undo(); // ctrl+Z
break;
case ActionCode.REDO:
redo(); // ctrl+Y
break;
}
}
/**
* Getter for undoRedoManager.
*
* @return the undoRedoManager
*/
public UndoRedoManager getUndoManager() {
return this.undoRedoManager;
}
/**
* Sets the undoRedoManager.
*
* @param undoRedoManager the undoRedoManager to set
*/
public void setUndoManager(UndoRedoManager undoRedoManager) {
this.undoRedoManager = undoRedoManager;
}
public static class ActionCode {
public static final int UNDO = Integer.MAX_VALUE;
public static final int REDO = UNDO - 1;
}
private void undo() {
if (undoRedoManager != null) {
undoRedoManager.undo();
}
}
private void redo() {
if (undoRedoManager != null) {
undoRedoManager.redo();
}
}
protected void colorize(final ColoringScanner scanner) {
final ArrayList<StyleRange> styles = new ArrayList<StyleRange>();
if (this.coloring) {
IToken token;
if (this.isDisposed()) {
return;
}
scanner.parse(this.getText().replaceAll("\"", " ").replaceAll("'", " ")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
do {
token = scanner.nextToken();
if (!token.isEOF()) {
if (token instanceof CToken) {
CToken ctoken = (CToken) token;
StyleRange styleRange;
styleRange = new StyleRange();
styleRange.start = scanner.getTokenOffset();
styleRange.length = scanner.getTokenLength();
if (ctoken.getType() == null) {
styleRange.fontStyle = colorManager.getStyleFor(ctoken.getColor());
styleRange.foreground = colorManager.getColor(ctoken.getColor());
} else {
styleRange.fontStyle = colorManager.getStyleForType(ctoken.getColor());
styleRange.foreground = colorManager.getColorForType(ctoken.getColor());
}
styles.add(styleRange);
}
}
} while (!token.isEOF());
setStyles(styles);
} else {
StyleRange styleRange = new StyleRange();
styles.add(styleRange);
styleRange.start = 0;
styleRange.length = this.getText().getBytes().length;
styleRange.foreground = null;
setStyles(styles);
}
}
public void setStyles(final ArrayList<StyleRange> styles) {
if (ColorStyledText.this.isDisposed()) {
return;
}
int countChars = getCharCount();
for (int i = 0; i < styles.size(); i++) {
StyleRange styleRange = styles.get(i);
// System.out.println("styleRange.start=" + styleRange.start);
// System.out.println("styleRange.length=" + styleRange.length);
if (!(0 <= styleRange.start && styleRange.start + styleRange.length <= countChars)) {
continue;
}
setStyleRange(styleRange);
}
}
ExtendedModifyListener modifyListener = new ExtendedModifyListener() {
public void modifyText(ExtendedModifyEvent event) {
if (ColorStyledText.this.getCharCount() > MAXIMUM_CHARACTERS_BEFORE_USE_TIMER) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
} else {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
public ColorManager getColorManager() {
return this.colorManager;
}
public String getLanguageMode() {
return this.languageMode;
}
public ColoringScanner getScanner() {
return this.scanner;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.custom.StyledText#setEditable(boolean)
*/
@Override
public void setEditable(boolean editable) {
super.setEditable(editable);
if (pasteItem != null) {
pasteItem.setEnabled(editable);
}
}
/**
* Getter for coloring.
*
* @return the coloring
*/
public boolean isColoring() {
return this.coloring;
}
/**
* Sets the coloring.
*
* @param coloring the coloring to set
*/
public void setColoring(boolean coloring) {
boolean wasDifferent = this.coloring != coloring;
this.coloring = coloring;
if (!coloring) {
removeExtendedModifyListener(modifyListener);
} else if (wasDifferent) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
addExtendedModifyListener(modifyListener);
}
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.widgets.Widget#dispose()
*/
@Override
public void dispose() {
super.dispose();
colorManager.dispose();
}
private final ExecutionLimiter colorizeLimiter = new ExecutionLimiter(1000, true) {
@Override
public void execute(final boolean isFinalExecution, Object data) {
if (!isDisposed()) {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
}
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.colorstyledtext;
import java.util.ArrayList;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ExtendedModifyEvent;
import org.eclipse.swt.custom.ExtendedModifyListener;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.talend.commons.runtime.xml.XmlUtil;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Mode;
import org.talend.commons.ui.swt.colorstyledtext.jedit.Modes;
import org.talend.commons.ui.swt.colorstyledtext.rules.CToken;
import org.talend.commons.ui.swt.colorstyledtext.scanner.ColoringScanner;
import org.talend.commons.utils.threading.ExecutionLimiter;
/**
* This component is an adaptation of a Color Editor for a StyledText.
*
* The original editor can be found on http://www.gstaff.org/colorEditor/ <br/>
*
* <b>How to use it, example :</b> <br/>
* ColorStyledText text = new ColorStyledText(parent, SWT.H_SCROLL | SWT.V_SCROLL,
* CorePlugin.getDefault().getPreferenceStore(), ECodeLanguage.PERL.getName());</i> <br/>
* <br/>
*
* $Id: ColorStyledText.java 7183 2007-11-23 11:03:36Z amaumont $
*
*/
public class ColorStyledText extends StyledText {
private final static int MAXIMUM_CHARACTERS_BEFORE_USE_TIMER = 1000;
private final ColorManager colorManager;
private final ColoringScanner scanner;
private final String languageMode;
private final MenuItem pasteItem;
private boolean coloring = true;
private UndoRedoManager undoRedoManager;
public ColorStyledText(Composite parent, int style, IPreferenceStore store, String languageMode) {
super(parent, style);
this.languageMode = languageMode;
this.colorManager = new ColorManager(store);
/*
* set the Shortcuts of the undo/redo
*/
this.setKeyBinding('Z' | SWT.CTRL, ActionCode.UNDO);
this.setKeyBinding('Y' | SWT.CTRL, ActionCode.REDO);
UndoRedoManager undoManager = new UndoRedoManager(50);
undoManager.connect(this);
this.setUndoManager(undoManager);
ISharedImages sharedImages = PlatformUI.getWorkbench().getSharedImages();
Menu popupMenu = new Menu(this);
MenuItem redoItem = new MenuItem(popupMenu, SWT.PUSH);
redoItem.setText(Messages.getString("ColorStyledText.RedoItem.Text")); //$NON-NLS-1$
redoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
redo();
}
});
MenuItem undoItem = new MenuItem(popupMenu, SWT.PUSH);
undoItem.setText(Messages.getString("ColorStyledText.UndoItem.Text")); //$NON-NLS-1$
undoItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
undo();
}
});
Image image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
MenuItem copyItem = new MenuItem(popupMenu, SWT.PUSH);
copyItem.setText(Messages.getString("ColorStyledText.CopyItem.Text")); //$NON-NLS-1$
copyItem.setImage(image);
copyItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
copy();
}
});
image = ImageProvider.getImage(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
pasteItem = new MenuItem(popupMenu, SWT.PUSH);
pasteItem.setText(Messages.getString("ColorStyledText.PasteItem.Text")); //$NON-NLS-1$
pasteItem.setData(this);
pasteItem.setImage(image);
pasteItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
paste();
}
});
pasteItem.setEnabled(getEditable());
this.setMenu(popupMenu);
MenuItem selectAllItem = new MenuItem(popupMenu, SWT.PUSH);
selectAllItem.setText(Messages.getString("ColorStyledText.SelectAllItem.Text")); //$NON-NLS-1$
selectAllItem.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
selectAll();
}
});
this.setMenu(popupMenu);
Listener selectAllListener = new Listener() {
public void handleEvent(Event event) {
if (event.character == '\u0001') { // CTRL + A
selectAll();
}
}
};
addListener(SWT.KeyDown, selectAllListener);
Mode mode = Modes.getMode(languageMode + XmlUtil.FILE_XML_SUFFIX);
scanner = new ColoringScanner(mode, colorManager);
addExtendedModifyListener(modifyListener);
}
/**
* DOC qli Comment method "invokeAction".
*
* @param action
*
* */
public void invokeAction(int action) {
super.invokeAction(action);
switch (action) {
case ActionCode.UNDO:
undo(); // ctrl+Z
break;
case ActionCode.REDO:
redo(); // ctrl+Y
break;
}
}
/**
* Getter for undoRedoManager.
*
* @return the undoRedoManager
*/
public UndoRedoManager getUndoManager() {
return this.undoRedoManager;
}
/**
* Sets the undoRedoManager.
*
* @param undoRedoManager the undoRedoManager to set
*/
public void setUndoManager(UndoRedoManager undoRedoManager) {
this.undoRedoManager = undoRedoManager;
}
public static class ActionCode {
public static final int UNDO = Integer.MAX_VALUE;
public static final int REDO = UNDO - 1;
}
private void undo() {
if (undoRedoManager != null) {
undoRedoManager.undo();
}
}
private void redo() {
if (undoRedoManager != null) {
undoRedoManager.redo();
}
}
protected void colorize(final ColoringScanner scanner) {
final ArrayList<StyleRange> styles = new ArrayList<StyleRange>();
if (this.coloring) {
IToken token;
if (this.isDisposed()) {
return;
}
scanner.parse(this.getText().replaceAll("\"", " ").replaceAll("'", " ")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
do {
token = scanner.nextToken();
if (!token.isEOF()) {
if (token instanceof CToken) {
CToken ctoken = (CToken) token;
StyleRange styleRange;
styleRange = new StyleRange();
styleRange.start = scanner.getTokenOffset();
styleRange.length = scanner.getTokenLength();
if (ctoken.getType() == null) {
styleRange.fontStyle = colorManager.getStyleFor(ctoken.getColor());
styleRange.foreground = colorManager.getColor(ctoken.getColor());
} else {
styleRange.fontStyle = colorManager.getStyleForType(ctoken.getColor());
styleRange.foreground = colorManager.getColorForType(ctoken.getColor());
}
styles.add(styleRange);
}
}
} while (!token.isEOF());
setStyles(styles);
} else {
StyleRange styleRange = new StyleRange();
styles.add(styleRange);
styleRange.start = 0;
styleRange.length = this.getText().getBytes().length;
styleRange.foreground = null;
setStyles(styles);
}
}
public void setStyles(final ArrayList<StyleRange> styles) {
if (ColorStyledText.this.isDisposed()) {
return;
}
int countChars = getCharCount();
for (int i = 0; i < styles.size(); i++) {
StyleRange styleRange = styles.get(i);
// System.out.println("styleRange.start=" + styleRange.start);
// System.out.println("styleRange.length=" + styleRange.length);
if (!(0 <= styleRange.start && styleRange.start + styleRange.length <= countChars)) {
continue;
}
setStyleRange(styleRange);
}
}
ExtendedModifyListener modifyListener = new ExtendedModifyListener() {
public void modifyText(ExtendedModifyEvent event) {
if (ColorStyledText.this.getCharCount() > MAXIMUM_CHARACTERS_BEFORE_USE_TIMER) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
} else {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
public ColorManager getColorManager() {
return this.colorManager;
}
public String getLanguageMode() {
return this.languageMode;
}
public ColoringScanner getScanner() {
return this.scanner;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.custom.StyledText#setEditable(boolean)
*/
@Override
public void setEditable(boolean editable) {
super.setEditable(editable);
if (pasteItem != null) {
pasteItem.setEnabled(editable);
}
}
/**
* Getter for coloring.
*
* @return the coloring
*/
public boolean isColoring() {
return this.coloring;
}
/**
* Sets the coloring.
*
* @param coloring the coloring to set
*/
public void setColoring(boolean coloring) {
boolean wasDifferent = this.coloring != coloring;
this.coloring = coloring;
if (!coloring) {
removeExtendedModifyListener(modifyListener);
} else if (wasDifferent) {
colorizeLimiter.resetTimer();
colorizeLimiter.startIfExecutable(true, null);
addExtendedModifyListener(modifyListener);
}
}
/*
* (non-Javadoc)
*
* @see org.eclipse.swt.widgets.Widget#dispose()
*/
@Override
public void dispose() {
super.dispose();
colorManager.dispose();
}
private final ExecutionLimiter colorizeLimiter = new ExecutionLimiter(1000, true) {
@Override
public void execute(final boolean isFinalExecution, Object data) {
if (!isDisposed()) {
getDisplay().asyncExec(new Runnable() {
public void run() {
colorize(scanner);
}
});
}
}
};
}

View File

@@ -12,8 +12,6 @@
// ============================================================================
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;
@@ -31,7 +29,5 @@ public interface IConfigModuleDialog {
public String getMavenURI();
public int open();
public Map<String, String> getModulesMVNUrls();
}

View File

@@ -20,14 +20,12 @@ import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Table;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable.LAYOUT_MODE;
import org.talend.commons.ui.runtime.swt.tableviewer.selection.ILineSelectionListener;
import org.talend.commons.ui.runtime.swt.tableviewer.selection.LineSelectionEvent;
@@ -158,7 +156,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
final Table table = getTableViewerCreator().getTable();
final ILineSelectionListener beforeLineSelectionListener = new ILineSelectionListener() {
@Override
public void handle(LineSelectionEvent e) {
if (e.selectionByMethod && !selectionHelper.isMouseSelectionning() && !forceExecuteSelectionEvent) {
executeSelectionEvent = false;
@@ -169,7 +166,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
};
final ILineSelectionListener afterLineSelectionListener = new ILineSelectionListener() {
@Override
public void handle(LineSelectionEvent e) {
executeSelectionEvent = true;
}
@@ -179,7 +175,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
DisposeListener disposeListener = new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
selectionHelper.removeBeforeSelectionListener(beforeLineSelectionListener);
selectionHelper.removeAfterSelectionListener(afterLineSelectionListener);
@@ -190,7 +185,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
table.addListener(SWT.KeyUp, new Listener() {
@Override
public void handleEvent(Event event) {
if (event.character == '\u0001') { // CTRL + A
@@ -257,9 +251,7 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
newTableViewerCreator.setLazyLoad(TableViewerCreator.getRecommandLazyLoad());
newTableViewerCreator.setFirstVisibleColumnIsSelection(false);
newTableViewerCreator.setCheckboxInFirstColumn(false);
Color bgColorForEmptyArea = ITalendThemeService.getColor("org.talend.commons.ui.BgColorForEmptyArea")
.orElse(getParentComposite().getDisplay().getSystemColor(SWT.COLOR_WHITE));
newTableViewerCreator.setBgColorForEmptyArea(bgColorForEmptyArea);
newTableViewerCreator.setBgColorForEmptyArea(getParentComposite().getDisplay().getSystemColor(SWT.COLOR_WHITE));
}
/**
@@ -279,7 +271,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
getExtendedTableModel().addBeforeOperationListListener(1, new IListenableListListener() {
@Override
public void handleEvent(ListenableListEvent event) {
handleBeforeListenableListOperationEvent(event);
}
@@ -288,7 +279,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
getExtendedTableModel().addAfterOperationListListener(1, new IListenableListListener() {
@Override
public void handleEvent(ListenableListEvent event) {
handleAfterListenableListOperationEvent(event);
}
@@ -297,7 +287,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
getExtendedTableModel().addAfterOperationListListener(100, new IListenableListListener<B>() {
@Override
public void handleEvent(ListenableListEvent<B> event) {
if (tableViewerCreator.getTable() != null && !tableViewerCreator.getTable().isDisposed()) {
// tableViewerCreator.getTable().forceFocus();
@@ -379,7 +368,6 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
tableViewerCreator.setInputList(getBeansList());
new AsynchronousThreading(100, true, tableViewerCreator.getTable().getDisplay(), new Runnable() {
@Override
public void run() {
tableViewerCreator.layout();
}

View File

@@ -16,10 +16,8 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ICellEditorListener;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Text;
import org.talend.commons.ui.runtime.ColorConstants;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.data.ModifiedObjectInfo;
import org.talend.commons.ui.runtime.thread.AsynchronousThreading;
@@ -41,8 +39,6 @@ public abstract class DialogErrorForCellEditorListener implements ICellEditorLis
protected TableViewerCreatorColumn column;
protected TableViewerCreator tableViewerCreator;
private Color tableBackground = ColorConstants.getTableBackgroundColor();
/**
* DOC amaumont CellEditorListener constructor comment.
@@ -93,7 +89,7 @@ public abstract class DialogErrorForCellEditorListener implements ICellEditorLis
final String errorMessage = validateValue(newValue, beanPosition);
if (errorMessage == null) {
newValidValueTyped(beanPosition, lastValidValue, newValue, state);
text.setBackground(tableBackground);
text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_WHITE));
lastValidValue = newValue;
} else {
text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_RED));

View File

@@ -31,7 +31,6 @@ import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
import org.talend.commons.ui.gmf.util.DisplayUtils;
import org.talend.commons.ui.runtime.ITalendThemeService;
/**
* Figure managing some simple HTML styles. <br/>
@@ -78,8 +77,6 @@ public class SimpleHtmlFigure extends Figure {
private static Font boldFont = null;
private static Font boldItalicFont = null;
private static final Color DEFAULT_LABEL_COLOR = ITalendThemeService.getColor("NODE_FIGURE_LABEL_FORCEGROUND").orElse(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
/**
* Constructs a new SimpleHtmlFigure.
@@ -265,8 +262,6 @@ public class SimpleHtmlFigure extends Figure {
label.setFont(fontToUse);
if (colorStack.size() > 0) {
label.setForegroundColor(colorStack.get(colorStack.size() - 1));
} else {
label.setForegroundColor(DEFAULT_LABEL_COLOR); // Set label default foreground color
}
horizContainer.add(label);
}

View File

@@ -285,30 +285,6 @@
type="INFORMIX">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="INGRES"
withSchema="true"
input="tIngresInput"
output="tIngresOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="INGRES">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="VECTORWISE"
withSchema="true"
input="tVectorWiseInput"
output="tVectorWiseOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="VECTORWISE">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="JAVADB"
withSchema="true"

View File

@@ -19,8 +19,6 @@ 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$
@@ -114,4 +112,5 @@ public interface FileConstants {
String TALEND_FOLDER_NAME = "TALEND-INF"; //$NON-NLS-1$
String MAVEN_FOLDER_NAME = "MAVEN-INF";
}

View File

@@ -175,7 +175,6 @@ ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI Content Extractor
ProjectRepositoryNode.sapCDSView=SAP CDS View
RepositoryDropAdapter_copyingItems=Copying items...
RepositoryDropAdapter_errorMsg=This directory contains the locked item,it can not be moved now
RepositoryDropAdapter_lockedByOthers=This item is locked by other users, it can not be moved now.
@@ -205,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=Action not available
ConvertJobsUtil.warning.title=Warning
ConvertJobsUtil.warning.message=The target framework is not fully supported for this release.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Create stats log and implicit parameters
WizardPageAPIDefinition_operationIdMissing=API is missing operationIds. operationIds are used to initialize tRESTRequest/cRest output flows. See tRESTRequest/cRest online help.

View File

@@ -204,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=Action non disponible
ConvertJobsUtil.warning.title=Avertissement
ConvertJobsUtil.warning.message=Le framework cible n'est pas totalement support\u00E9 dans cette version.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Cr\u00E9er des logs de stat et des param\u00E8tres implicites.
WizardPageAPIDefinition_operationIdMissing=Des operationIds manquent dans l'API. Ces operationIds sont utilis\u00E9s pour initialiser les flux de sortie du tRESTRequest/cRest. Consultez l'aide en ligne des composants tRESTRequest/cRest.

View File

@@ -56,7 +56,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.Name=\u540D\u524D
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002
@@ -156,7 +156,7 @@ ProjectRepositoryNode.invalidItem=\u7121\u52B9\u306A\u30A2\u30A4\u30C6\u30E0
ProjectRepositoryNode.columns=\u30AB\u30E9\u30E0
ProjectRepositoryNode.validationRules=\u691C\u8A3C\u30EB\u30FC\u30EB
ProjectRepositoryNode.cdcFoundation=CDC Foundation
ProjectRepositoryNode.genericSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.genericSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.queries=\u30AF\u30A8\u30EA\u30FC
ProjectRepositoryNode.synonymSchemas=\u30B7\u30CE\u30CB\u30E0\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.calculationViewSchemas=\u8A08\u7B97\u30D3\u30E5\u30FC\u30B9\u30AD\u30FC\u30DE
@@ -204,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=\u4F7F\u7528\u3067\u304D\u306A\u3044
ConvertJobsUtil.warning.title=\u8B66\u544A
ConvertJobsUtil.warning.message=\u3053\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u306F\u3001\u30BF\u30FC\u30B2\u30C3\u30C8\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u304C\u5B8C\u5168\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=\u7D71\u8A08\u30ED\u30B0\u3068\u6697\u9ED9\u7684\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u4F5C\u6210
WizardPageAPIDefinition_operationIdMissing=API\u3067operationIds\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002operationIds\u306F\u3001tRESTRequest/cRest\u51FA\u529B\u30D5\u30ED\u30FC\u3092\u521D\u671F\u5316\u3059\u308B\u305F\u3081\u306B\u4F7F\u308F\u308C\u307E\u3059\u3002tRESTRequest/cRest\u306E\u30AA\u30F3\u30E9\u30A4\u30F3\u30D8\u30EB\u30D7\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002

View File

@@ -204,4 +204,3 @@ RenameFolderAction.warning.cannotFind.title=\u64CD\u4F5C\u4E0D\u53EF\u7528
ConvertJobsUtil.warning.title=\u8B66\u544A
ConvertJobsUtil.warning.message=\u6B64\u7248\u672C\u4E0D\u5B8C\u5168\u652F\u6301\u76EE\u6807\u6846\u67B6.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=\u521B\u5EFA\u7EDF\u8BA1\u65E5\u5FD7\u548C\u9690\u5F0F\u53C2\u6570
WizardPageAPIDefinition_operationIdMissing=API \u7F3A\u5931 operationId \u53C2\u6570\uFF0C\u8FD9\u4E9B operationId \u53C2\u6570\u7528\u6765\u521D\u59CB\u5316 tRESTRequest \u6216 cRest \u8F93\u51FA\u6D41\u3002\u8BF7\u53C2\u89C1 tRESTRequest \u6216 cRest \u5728\u7EBF\u5E2E\u52A9\u6587\u6863\u3002

View File

@@ -67,7 +67,6 @@ import org.talend.core.model.repository.Folder;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.LockInfo;
import org.talend.core.model.repository.RepositoryViewObject;
import org.talend.core.model.routines.RoutinesUtil;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.utils.XmiResourceManager;
import org.talend.core.runtime.CoreRuntimePlugin;
@@ -261,7 +260,6 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
if (type == ERepositoryObjectType.METADATA_CON_TABLE) {
return false;
}
boolean isAllowMultipleName = (type == ERepositoryObjectType.SQLPATTERNS || type == ERepositoryObjectType.METADATA_FILE_XML);
String path = "";
if (item.getState() != null) {

View File

@@ -27,6 +27,10 @@ import java.util.Set;
import org.apache.commons.lang.StringUtils;
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.core.ICoreService;
import org.talend.core.PluginChecker;
@@ -35,22 +39,22 @@ 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.PendoTrackDataUtil.TrackEvent;
import org.talend.core.pendo.PendoTrackSender;
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 {
public class PendoItemSignatureManager {
private PendoSignLogonProperties itemSignProperties = new PendoSignLogonProperties();
private static PendoItemSignatureManager manager;
@@ -59,7 +63,7 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
static {
manager = new PendoItemSignatureManager();
try {
isTrackAvailable = PluginChecker.isTIS() && PendoDataTrackFactory.getInstance().isTrackSendAvailable();
isTrackAvailable = PluginChecker.isTIS() && PendoTrackSender.getInstance().isTrackSendAvailable();
} catch (Exception e) {
ExceptionHandler.process(e, Level.WARN);
}
@@ -83,12 +87,11 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
}
}
public IPendoDataProperties collectProperties() {
public void collectProperties() {
ICoreService coreService = ICoreService.get();
if (coreService == null || !isTrackAvailable) {
return null;
return;
}
PendoSignLogonProperties itemSignProperties = new PendoSignLogonProperties();
try {
itemSignProperties.setSignByMigration(signByLoginMigrationItems.size());
@@ -185,7 +188,6 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
} catch (Exception e) {
ExceptionHandler.process(e, Level.WARN);
}
return itemSignProperties;
}
@@ -256,12 +258,23 @@ public class PendoItemSignatureManager extends AbstractPendoTrackManager {
if (!isTrackAvailable) {
return;
}
super.sendTrackToPendo();
}
Job job = new Job("send pendo track") {
@Override
public TrackEvent getTrackEvent() {
return TrackEvent.ITEM_SIGNATURE;
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
collectProperties();
PendoTrackSender.getInstance().sendTrackData(TrackEvent.ITEM_SIGNATURE, itemSignProperties);
} catch (Exception e) {
// warning only
ExceptionHandler.process(e, Level.WARN);
}
return Status.OK_STATUS;
}
};
job.setUser(false);
job.setPriority(Job.INTERACTIVE);
job.schedule();
}
}

View File

@@ -102,7 +102,6 @@ import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.helper.SAPBWTableHelper;
import org.talend.cwm.helper.SubItemHelper;
import org.talend.cwm.helper.TableHelper;
import org.talend.cwm.helper.TaggedValueHelper;
import org.talend.designer.core.IDesignerCoreService;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.BinRepositoryNode;
@@ -1752,9 +1751,6 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
// 10. BW Business Content Extractor:
createSAPContentExtractorNodes(repObj, metadataConnection, node, validationRules);
// 11. CDS views:
createSAPCDSViewNodes(repObj, metadataConnection, node, validationRules);
} else if (metadataConnection instanceof SalesforceSchemaConnection) {
createSalesforceModuleNodes(repObj, metadataConnection, node, validationRules);
} else {
@@ -1788,9 +1784,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
for (MetadataTable tablesWithOrder : tablesWithOrders) {
EMap<String, String> properties = tablesWithOrder.getAdditionalProperties();
String partitionKey = properties.get(EProperties.CONTENT_TYPE.name());
String cdsType = TaggedValueHelper.getValueString(EProperties.CONTENT_TYPE.name(), tablesWithOrder);
if (!ERepositoryObjectType.METADATA_SAP_CONTENT_EXTRACTOR.name().equals(partitionKey)
&& !ERepositoryObjectType.METADATA_SAP_CDS_VIEW.name().equals(cdsType)) {
if (!ERepositoryObjectType.METADATA_SAP_CONTENT_EXTRACTOR.name().equals(partitionKey)) {
tables.add(tablesWithOrder);
}
}
@@ -1973,32 +1967,6 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
createTables(tableContainer, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSAPCDSViewNodes(IRepositoryViewObject repObj, Connection metadataConnection, RepositoryNode node,
List<IRepositoryViewObject> validationRules) {
StableRepositoryNode tableContainer = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.sapCDSView"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
tableContainer.setChildrenObjectType(ERepositoryObjectType.METADATA_CON_TABLE);
tableContainer.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_CDS_VIEW);
IRepositoryNode cacheNode = nodeCache.getCache(tableContainer);
if (cacheNode != null && cacheNode instanceof StableRepositoryNode) {
tableContainer = (StableRepositoryNode) cacheNode;
tableContainer.getChildren().clear();
} else {
nodeCache.addCache(tableContainer, true);
}
node.getChildren().add(tableContainer);
List<MetadataTable> tablesWithOrders = ConnectionHelper.getTablesWithOrders(metadataConnection);
EList<MetadataTable> tables = new BasicEList<>();
for (MetadataTable tablesWithOrder : tablesWithOrders) {
String cdsType = TaggedValueHelper.getValueString(EProperties.CONTENT_TYPE.name(), tablesWithOrder);
if (ERepositoryObjectType.METADATA_SAP_CDS_VIEW.name().equals(cdsType)) {
tables.add(tablesWithOrder);
}
}
createTables(tableContainer, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSalesforceModuleNodes(IRepositoryViewObject rebObj, Connection metadataConnection,
RepositoryNode connectionNode, List<IRepositoryViewObject> validationRules) {
EList modules = ((SalesforceSchemaConnection) metadataConnection).getModules();

View File

@@ -54,7 +54,9 @@ import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.osgi.internal.serviceregistry.ServiceReferenceImpl;
import org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.navigator.CommonNavigator;
import org.eclipse.ui.navigator.CommonViewer;
@@ -151,7 +153,6 @@ import org.talend.core.runtime.services.IMavenUIService;
import org.talend.core.runtime.util.ItemDateParser;
import org.talend.core.runtime.util.JavaHomeUtil;
import org.talend.core.runtime.util.SharedStudioUtils;
import org.talend.core.service.IComponentJsonformGeneratorService;
import org.talend.core.service.ICoreUIService;
import org.talend.core.service.IDetectCVEService;
import org.talend.core.utils.CodesJarResourceCache;
@@ -238,14 +239,14 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
return singleton;
}
public ICoreService getCoreService() {
private ICoreService getCoreService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreService.class)) {
return GlobalServiceRegister.getDefault().getService(ICoreService.class);
}
return null;
}
public IRunProcessService getRunProcessService() {
private IRunProcessService getRunProcessService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRunProcessService.class)) {
return GlobalServiceRegister.getDefault().getService(IRunProcessService.class);
}
@@ -350,7 +351,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
* @param project
* @throws LoginException
*/
public void checkProjectCompatibility(Project project) throws LoginException {
private void checkProjectCompatibility(Project project) throws LoginException {
IMigrationToolService migrationToolService = GlobalServiceRegister.getDefault().getService(
IMigrationToolService.class);
// update migration system.
@@ -445,10 +446,12 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
if (currentShell == null) {
currentShell = DisplayUtils.getDefaultShell(false);
}
if (MessageDialog.openQuestion(currentShell,
Messages.getString("ProxyRepositoryFactory.JobNameErroe"), //$NON-NLS-1$
Messages.getString("ProxyRepositoryFactory.Label") + " " + name + " " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Messages.getString("ProxyRepositoryFactory.ReplaceJob"))) { //$NON-NLS-1$
MessageBox box = new MessageBox(currentShell, SWT.ICON_WARNING | SWT.OK | SWT.CANCEL);
box.setText(Messages.getString("ProxyRepositoryFactory.JobNameErroe")); //$NON-NLS-1$
box.setMessage(Messages.getString("ProxyRepositoryFactory.Label") + " " + name + " " + Messages.getString("ProxyRepositoryFactory.ReplaceJob")); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
if (box.open() == SWT.OK) {
ok[0] = true;
}
}
@@ -1845,7 +1848,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
* @param project
* @throws PersistenceException
*/
public void emptyTempFolder(Project project) throws PersistenceException {
private void emptyTempFolder(Project project) throws PersistenceException {
try {
String str = SharedStudioUtils.getTempFolderPath().toPortableString();
FilesUtils.deleteFolder(new File(str), false);
@@ -2376,22 +2379,11 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
String str[] = new String[] { getRepositoryContext().getUser() + "", projectManager.getCurrentProject() + "" }; //$NON-NLS-1$ //$NON-NLS-2$
log.info(Messages.getString("ProxyRepositoryFactory.log.loggedOn", str)); //$NON-NLS-1$
// no performance impact for studio or commandline
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentJsonformGeneratorService.class)) {
IComponentJsonformGeneratorService jsonformSvc = GlobalServiceRegister.getDefault().getService(IComponentJsonformGeneratorService.class);
if (jsonformSvc != null && IComponentJsonformGeneratorService.isEnabled()) {
jsonformSvc.generate(null);
}
}
} catch (LoginException e) {
if (!LoginException.RESTART.equals(e.getKey())) {
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
throw e;
} catch (PersistenceException e) {
@@ -2524,7 +2516,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
}
public void checkReferenceProjectsProblems(Project project) throws BusinessException, PersistenceException {
private void checkReferenceProjectsProblems(Project project) throws BusinessException, PersistenceException {
if (ReferenceProjectProblemManager.getInstance().getAllInvalidProjectReferenceSet().size() > 0) {
StringBuffer sb = new StringBuffer();
for (String technicalLabel : ReferenceProjectProblemManager.getInstance().getAllInvalidProjectReferenceSet()) {
@@ -2569,6 +2561,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
public void logOffProject() {
// getRepositoryContext().setProject(null);
repositoryFactoryFromProvider.logOffProject();
if (!CommonsPlugin.isHeadless()) {
ProjectRepositoryNode root = ProjectRepositoryNode.getInstance();
if (root != null) {
@@ -2624,7 +2617,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
ReferenceProjectProvider.clearTacReferenceList();
ReferenceProjectProblemManager.getInstance().clearAll();
repositoryFactoryFromProvider.logOffProject();
fullLogonFinished = false;
}
@@ -3022,11 +3014,4 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
this.repositoryFactoryFromProvider.saveProject(project);
}
public void setCancelled(boolean cancelled) {
this.isCancelled = cancelled;
}
public boolean isCancelled() {
return this.isCancelled;
}
}

View File

@@ -52,8 +52,6 @@ public interface IGitInfoService extends IService {
public Map<String, String> getGitInfo(Property property) throws Exception;
public boolean isPushedToRemote(Property property) throws Exception;
public String getProjectBranch(Project project)throws Exception;
public static IGitInfoService get() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGitInfoService.class)) {

View File

@@ -17,20 +17,14 @@ import java.util.Map;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.IFontProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.talend.commons.runtime.model.repository.ECDCStatus;
import org.talend.commons.runtime.model.repository.ERepositoryStatus;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.IImage;
@@ -83,19 +77,13 @@ import org.talend.utils.string.DigestUtil;
*/
public class RepositoryLabelProvider extends LabelProvider implements IColorProvider, IFontProvider {
private static final String MERGED_PREFERENCED_ITEMS = "org.talend.core.repository.REPO_MERGED_REFERENCED_ITEMS_COLOR";
private static final String LOCKED_ENTRY = "org.talend.core.repository.REPO_LOCKED_ENTRY";
private static final String STABLE_PRIMARY_ENTRY = "org.talend.core.repository.REPO_STABLE_PRIMARY_ENTRY_COLOR";
private static final String STABLE_SECONDARY_ENTRY = "org.talend.core.repository.REPO_STABLE_SECONDARY_ENTRY_COLOR";
private static final Color STABLE_SECONDARY_ENTRY_COLOR = new Color(null, 100, 100, 100);
private static final Color STABLE_PRIMARY_ENTRY_COLOR = new Color(null, 0, 0, 0);
protected static final Color INACTIVE_ENTRY_COLOR = new Color(null, 200, 200, 200);
private static final Color LOCKED_ENTRY_COLOR = new Color(null, 200, 0, 0);
private static final Color LOCKED_ENTRY = new Color(null, 200, 0, 0);
private static final Color MERGED_REFERENCED_ITEMS_COLOR = new Color(null, 120, 120, 120);
@@ -112,18 +100,6 @@ public class RepositoryLabelProvider extends LabelProvider implements IColorProv
return view;
}
private Color getStableSecondaryEntryColor() {
return ITalendThemeService.getColor(STABLE_SECONDARY_ENTRY).orElse(STABLE_SECONDARY_ENTRY_COLOR);
}
private Color getLockedEntryColor() {
return ITalendThemeService.getColor(LOCKED_ENTRY).orElse(LOCKED_ENTRY_COLOR);
}
private Color getMergedReferencedItemsColor() {
return ITalendThemeService.getColor(MERGED_PREFERENCED_ITEMS).orElse(MERGED_REFERENCED_ITEMS_COLOR);
}
public String getText(IRepositoryViewObject object) {
StringBuffer string = new StringBuffer();
string.append(object.getLabel());
@@ -506,13 +482,23 @@ public class RepositoryLabelProvider extends LabelProvider implements IColorProv
RepositoryNode node = (RepositoryNode) element;
switch (node.getType()) {
case REFERENCED_PROJECT:
return STABLE_PRIMARY_ENTRY_COLOR;
case STABLE_SYSTEM_FOLDER:
if (node.getLabel().equals(ERepositoryObjectType.SNIPPETS.toString())) {
return INACTIVE_ENTRY_COLOR;
}
if (node.getContentType() == ERepositoryObjectType.METADATA) {
return STABLE_PRIMARY_ENTRY_COLOR;
}
case SYSTEM_FOLDER:
return getStableSecondaryEntryColor();
if (node.getContentType() == ERepositoryObjectType.PROCESS) {
return STABLE_PRIMARY_ENTRY_COLOR;
}
return STABLE_SECONDARY_ENTRY_COLOR;
default:
ERepositoryStatus repositoryStatus = node.getObject().getRepositoryStatus();
if (repositoryStatus == ERepositoryStatus.LOCK_BY_OTHER) {
return getLockedEntryColor();
return LOCKED_ENTRY;
} else {
if (PluginChecker.isRefProjectLoaded()) {
IReferencedProjectService service = (IReferencedProjectService) GlobalServiceRegister.getDefault()
@@ -524,7 +510,7 @@ public class RepositoryLabelProvider extends LabelProvider implements IColorProv
.getCurrentProject().getEmfProject();
String projectLabel = object.getProjectLabel();
if (!mainProject.getLabel().equals(projectLabel)) {
return getMergedReferencedItemsColor();
return MERGED_REFERENCED_ITEMS_COLOR;
}
}
}
@@ -550,43 +536,4 @@ public class RepositoryLabelProvider extends LabelProvider implements IColorProv
refreshProperty = refresh;
}
public static IPropertyChangeListener createPropertyChangeListener(TreeViewer treeViewer) {
return new IPropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) {
String property = event.getProperty();
if (property == null) {
return;
}
boolean changed = false;
switch (property) {
case RepositoryLabelProvider.STABLE_PRIMARY_ENTRY:
// case RepositoryLabelProvider.INACTIVE_ENTRY:
// case RepositoryLabelProvider.LOCKED_ENTRY:
// case RepositoryLabelProvider.MERGED_PREFERENCED_ITEMS:
// case RepositoryLabelProvider.STABLE_SECONDARY_ENTRY:
changed = true;
break;
default:
break;
}
if (changed) {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
if (treeViewer != null) {
Control control = treeViewer.getControl();
if (!control.isDisposed()) {
treeViewer.refresh();
}
}
}
});
}
}
};
}
}

View File

@@ -40,7 +40,6 @@ import org.talend.core.model.utils.CloneConnectionUtils;
import org.talend.core.model.utils.ContextParameterUtils;
import org.talend.core.utils.TalendQuoteUtils;
import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.helper.StudioEncryptionHelper;
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
import org.talend.model.bridge.ReponsitoryContextBridge;
@@ -68,7 +67,6 @@ public class StandaloneConnectionContextUtils {
String server = getOriginalValue(contextProperties, dbConn.getServerName());
String username = getOriginalValue(contextProperties, dbConn.getUsername());
String password = getOriginalValue(contextProperties, dbConn.getRawPassword());
String originEncryptedPassword = getOriginalValue(contextProperties, dbConn.getPassword());
String port = getOriginalValue(contextProperties, dbConn.getPort());
String sidOrDatabase = getOriginalValue(contextProperties, dbConn.getSID());
String datasource = getOriginalValue(contextProperties, dbConn.getDatasourceName());
@@ -89,8 +87,6 @@ public class StandaloneConnectionContextUtils {
cloneConn.setDatasourceName(datasource);
cloneConn.setDBRootPath(dbRootPath);
cloneConn.setFileFieldName(filePath);
//To avoid encrypt the same value
cloneConn.setPassword(originEncryptedPassword);
cloneConn.setRawPassword(password); // the password is raw.
cloneConn.setPort(port);
cloneConn.setUiSchema(schemaOracle);

View File

@@ -48,8 +48,6 @@ import org.talend.commons.runtime.model.emf.provider.EmfResourcesFactoryReader;
*/
public class TalendResourceSet extends ResourceSetImpl {
private boolean showLog;
public TalendResourceSet() {
super();
@@ -60,14 +58,6 @@ 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)
*
@@ -93,13 +83,7 @@ public class TalendResourceSet extends ResourceSetImpl {
Resource resource = map.get(uri);
if (resource != null) {
if (loadOnDemand && !resource.isLoaded()) {
try {
demandLoadHelper(resource);
} catch (Exception e) {
if (showLog) {
throw new RuntimeException(e);
}
}
demandLoadHelper(resource);
}
return resource;
}
@@ -115,13 +99,7 @@ public class TalendResourceSet extends ResourceSetImpl {
}
if (theURIConverter.normalize(resource.getURI()).equals(normalizedURI)) {
if (loadOnDemand && !resource.isLoaded()) {
try {
demandLoadHelper(resource);
} catch (Exception e) {
if (showLog) {
throw new RuntimeException(e);
}
}
demandLoadHelper(resource);
}
if (map != null) {
@@ -147,13 +125,7 @@ public class TalendResourceSet extends ResourceSetImpl {
+ "'; a registered resource factory is needed");
}
try {
demandLoadHelper(resource);
} catch (Exception e) {
if (showLog) {
throw new RuntimeException(e);
}
}
demandLoadHelper(resource);
if (map != null) {
map.put(uri, resource);

View File

@@ -390,10 +390,6 @@ 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;
}
@@ -406,23 +402,13 @@ public class XmiResourceManager {
} else {
itemResourceURI = getItemResourceURI(getItemURI(item));
}
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);
Resource 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);
}
return itemResource;
}
@@ -642,7 +628,7 @@ public class XmiResourceManager {
boolean isTestContainer = false;
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerProviderService.class)) {
ITestContainerProviderService testContainerService = GlobalServiceRegister
ITestContainerProviderService testContainerService = (ITestContainerProviderService) GlobalServiceRegister
.getDefault().getService(ITestContainerProviderService.class);
if (testContainerService != null) {
isTestContainer = testContainerService.isTestContainerItem(property.getItem());

View File

@@ -139,5 +139,3 @@ Bundle-ClassPath: .,
lib/delight-rhino-sandbox-0.0.15.jar,
lib/rhino-1.7.13.jar
Eclipse-RegisterBuddy: org.talend.testutils
Import-Package: org.eclipse.equinox.p2.repository,
org.eclipse.equinox.security.storage

View File

@@ -21,8 +21,7 @@ bin.includes = META-INF/,\
plugin_ja.properties,\
plugin_ru.properties,\
plugin_swtbot.properties,\
plugin_zh_CN.properties,\
resources/
plugin_zh_CN.properties
src.includes = META-INF/,\
mappingMetadataTypes.xml,\
mappings/,\

View File

@@ -1,216 +0,0 @@
<?xml version="1.0"?>
<mapping>
<dbms product="INGRES" id="ingres_id" label="Mapping Ingres"
default="true">
<dbTypes>
<dbType type="ANSIDATE" ignoreLen="true" ignorePre="true" />
<dbType type="BOOLEAN" ignoreLen="true" ignorePre="true" />
<dbType type="BIGINT" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE VARYING" ignoreLen="true" ignorePre="true" />
<dbType type="C" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" ignorePre="true" />
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" />
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER" ignoreLen="true" ignorePre="true" />
<dbType type="INGRESDATE" ignoreLen="true" ignorePre="true" />
<dbType type="INTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="LONG NVARCHAR" ignorePre="true" />
<dbType type="LONG VARCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="NCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="NVARCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="OBJECT_KEY" ignoreLen="true" ignorePre="true"/>
<dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TINYINT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
<dbType type="TABLE_KEY" ignoreLen="true" ignorePre="true" />
<dbType type="VARCHAR" default="true" defaultLength="1200" ignorePre="true"/>
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
<dbType type="BOOLEAN" default="true" />
</talendType>
<talendType type="id_Byte">
<dbType type="BYTE" default="true" />
<dbType type="BYTE VARYING" />
</talendType>
<talendType type="id_byte[]">
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="VARCHAR"/>
<dbType type="C"/>
<dbType type="TEXT"/>
<dbType type="LONG VARCHAR"/>
<dbType type="NCHAR"/>
<dbType type="NVARCHAR"/>
<dbType type="LONG NVARCHAR"/>
</talendType>
<talendType type="id_Date">
<dbType type="DATE" default="true" />
<dbType type="ANSIDATE" />
<dbType type="INGRESDATE" />
<dbType type="TIME" />
<dbType type="TIMESTAMP" />
<dbType type="INTERVAL"/>
</talendType>
<talendType type="id_BigDecimal">
<dbType type="DECIMAL" default="true" />
<dbType type="FLOAT4" />
<dbType type="FLOAT"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Double">
<dbType type="FLOAT" default="true" />
<dbType type="FLOAT4" />
<dbType type="DECIMAL"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT4" default="true" />
<dbType type="FLOAT"/>
<dbType type="DECIMAL" />
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Integer">
<dbType type="INTEGER" default="true" />
<dbType type="BIGINT" />
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Long">
<dbType type="BIGINT" default="true" />
<dbType type="INTEGER"/>
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Object">
<dbType type="MONEY" default="true"/>
<dbType type="OBJECT_KEY" />
<dbType type="TABLE_KEY" />
</talendType>
<talendType type="id_Short">
<dbType type="SMALLINT" default="true" />
<dbType type="INTEGER" />
<dbType type="BIGINT"/>
<dbType type="TINYINT" />
</talendType>
<talendType type="id_String">
<dbType type="VARCHAR" default="true" />
<dbType type="LONG VARCHAR" />
<dbType type="NCHAR"/>
<dbType type="NVARCHAR" />
<dbType type="LONG NVARCHAR" />
<dbType type="TEXT" />
<dbType type="C"/>
<dbType type="CHAR"/>
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="ANSIDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="BOOLEAN">
<talendType type="id_Boolean" default="true" />
</dbType>
<dbType type="BIGINT">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BYTE">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="BYTE VARYING">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="C">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="CHAR">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Float"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="DATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="FLOAT">
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT4">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="INTEGER">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>
<dbType type="INGRESDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="INTERVAL">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="LONG NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONG VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MONEY">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="NCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="OBJECT_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMALLINT">
<talendType type="id_Short" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Long"/>
</dbType>
<dbType type="TEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Short"/>
<talendType type="id_Long" />
</dbType>
<dbType type="TIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TABLE_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

@@ -1,211 +0,0 @@
<?xml version="1.0"?>
<mapping>
<dbms product="VECTORWISE" id="vectorwise_id" label="Mapping VectorWise"
default="true">
<dbTypes>
<dbType type="ANSIDATE" ignoreLen="true" ignorePre="true" />
<dbType type="BIGINT" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE" ignoreLen="true" ignorePre="true" />
<dbType type="BYTE VARYING" ignoreLen="true" ignorePre="true" />
<dbType type="C" ignoreLen="true" ignorePre="true" />
<dbType type="CHAR" ignorePre="true" />
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" />
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT" ignoreLen="true" ignorePre="true" />
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
<dbType type="INTEGER" ignoreLen="true" ignorePre="true" />
<dbType type="INGRESDATE" ignoreLen="true" ignorePre="true" />
<dbType type="INTERVAL" ignoreLen="true" ignorePre="true" />
<dbType type="LONG NVARCHAR" ignorePre="true" />
<dbType type="LONG VARCHAR" ignoreLen="true" ignorePre="true" />
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
<dbType type="NCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="NVARCHAR" ignorePre="true" defaultLength="10"/>
<dbType type="OBJECT_KEY" ignoreLen="true" ignorePre="true"/>
<dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
<dbType type="TINYINT" ignoreLen="true" ignorePre="true" />
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
<dbType type="TABLE_KEY" ignoreLen="true" ignorePre="true" />
<dbType type="VARCHAR" default="true" defaultLength="1200" ignorePre="true"/>
</dbTypes>
<language name="java">
<talendToDbTypes><!-- Adviced mappings -->
<talendType type="id_List"/>
<talendType type="id_Boolean">
</talendType>
<talendType type="id_Byte">
<dbType type="BYTE" default="true" />
<dbType type="BYTE VARYING" />
</talendType>
<talendType type="id_byte[]">
</talendType>
<talendType type="id_Character">
<dbType type="CHAR" default="true" />
<dbType type="VARCHAR"/>
<dbType type="C"/>
<dbType type="TEXT"/>
<dbType type="LONG VARCHAR"/>
<dbType type="NCHAR"/>
<dbType type="NVARCHAR"/>
<dbType type="LONG NVARCHAR"/>
</talendType>
<talendType type="id_Date">
<dbType type="ANSIDATE" default="true"/>
<dbType type="DATE"/>
<dbType type="INGRESDATE" />
<dbType type="TIME" />
<dbType type="TIMESTAMP" />
<dbType type="INTERVAL"/>
</talendType>
<talendType type="id_BigDecimal">
<dbType type="DECIMAL" default="true" />
<dbType type="FLOAT4" />
<dbType type="FLOAT"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Double">
<dbType type="FLOAT" default="true" />
<dbType type="FLOAT4" />
<dbType type="DECIMAL"/>
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Float">
<dbType type="FLOAT4" default="true" />
<dbType type="FLOAT"/>
<dbType type="DECIMAL" />
<dbType type="MONEY"/>
</talendType>
<talendType type="id_Integer">
<dbType type="INTEGER" default="true" />
<dbType type="BIGINT" />
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Long">
<dbType type="BIGINT" default="true" />
<dbType type="INTEGER"/>
<dbType type="SMALLINT"/>
<dbType type="TINYINT"/>
</talendType>
<talendType type="id_Object">
<dbType type="MONEY" default="true"/>
<dbType type="OBJECT_KEY" />
<dbType type="TABLE_KEY" />
</talendType>
<talendType type="id_Short">
<dbType type="SMALLINT" default="true" />
<dbType type="INTEGER" />
<dbType type="BIGINT"/>
<dbType type="TINYINT" />
</talendType>
<talendType type="id_String">
<dbType type="VARCHAR" default="true" />
<dbType type="LONG VARCHAR" />
<dbType type="NCHAR"/>
<dbType type="NVARCHAR" />
<dbType type="LONG NVARCHAR" />
<dbType type="TEXT" />
<dbType type="C"/>
<dbType type="CHAR"/>
</talendType>
</talendToDbTypes>
<dbToTalendTypes>
<dbType type="ANSIDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="BIGINT">
<talendType type="id_Long" default="true" />
</dbType>
<dbType type="BYTE">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="BYTE VARYING">
<talendType type="id_Byte" default="true" />
</dbType>
<dbType type="C">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="CHAR">
<talendType type="id_String" default="true" />
<talendType type="id_Character"/>
</dbType>
<dbType type="DECIMAL">
<talendType type="id_Float"/>
<talendType type="id_BigDecimal" default="true"/>
</dbType>
<dbType type="DATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="FLOAT">
<talendType type="id_Double" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="FLOAT4">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="INTEGER">
<talendType type="id_Integer" default="true" />
<talendType type="id_Long"/>
<talendType type="id_Short"/>
</dbType>
<dbType type="INGRESDATE">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="INTERVAL">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="LONG NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="LONG VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="MONEY">
<talendType type="id_Float" default="true" />
<talendType type="id_BigDecimal"/>
</dbType>
<dbType type="NCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="NVARCHAR">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="OBJECT_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="SMALLINT">
<talendType type="id_Short" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Long"/>
</dbType>
<dbType type="TEXT">
<talendType type="id_String" default="true" />
</dbType>
<dbType type="TINYINT">
<talendType type="id_Byte" default="true" />
<talendType type="id_Integer" />
<talendType type="id_Short"/>
<talendType type="id_Long" />
</dbType>
<dbType type="TIME">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TIMESTAMP">
<talendType type="id_Date" default="true" />
</dbType>
<dbType type="TABLE_KEY">
<talendType type="id_Object" default="true" />
</dbType>
<dbType type="VARCHAR">
<talendType type="id_String" default="true" />
</dbType>
</dbToTalendTypes>
</language>
</dbms>
</mapping>

View File

@@ -1,59 +0,0 @@
# Component
tSnowflakeConnection=java.base/java.nio
tSnowflakeClose=java.base/java.nio
tSnowflakeCommit=java.base/java.nio
tSnowflakeInput=java.base/java.nio
tSnowflakeOutput=java.base/java.nio
tSnowflakeOutputBulk=java.base/java.nio
tSnowflakeOutputBulkExec=java.base/java.nio
tSnowflakeRow=java.base/java.nio
tSnowflakeBulkExec=java.base/java.nio
tSnowflakeRollback=java.base/java.nio
tCouchbaseInput=java.base/java.lang.invoke
tCouchbaseOutput=java.base/java.lang.invoke
tCouchbaseDCPInput=java.base/java.lang.invoke
tCouchbaseDCPOutput=java.base/java.lang.invoke
tWriteJSONField=java.xml/com.sun.org.apache.xerces.internal.parsers,java.xml/com.sun.org.apache.xerces.internal.util
tFTPClose=java.base/sun.security.ssl,java.base/sun.security.util
tFTPConnection=java.base/sun.security.ssl,java.base/sun.security.util
tFTPDelete=java.base/sun.security.ssl,java.base/sun.security.util
tFTPFileExist=java.base/sun.security.ssl,java.base/sun.security.util
tFTPFileList=java.base/sun.security.ssl,java.base/sun.security.util
tFTPFileProperties=java.base/sun.security.ssl,java.base/sun.security.util
tFTPGet=java.base/sun.security.ssl,java.base/sun.security.util
tFTPPut=java.base/sun.security.ssl,java.base/sun.security.util
tFTPRename=java.base/sun.security.ssl,java.base/sun.security.util
tFTPTruncate=java.base/sun.security.ssl,java.base/sun.security.util
tNeo4jBatchOutput=java.base/java.lang,java.base/sun.nio.ch
tNeo4jBatchOutputRelationship=java.base/java.lang,java.base/sun.nio.ch
tNeo4jBatchSchema=java.base/java.lang,java.base/sun.nio.ch
tNeo4jClose=java.base/java.lang,java.base/sun.nio.ch
tNeo4jConnection=java.base/java.lang,java.base/sun.nio.ch
tNeo4jImportTool=java.base/java.lang,java.base/sun.nio.ch
tNeo4jInput=java.base/java.lang,java.base/sun.nio.ch
tNeo4jRow=java.base/java.lang,java.base/sun.nio.ch
tMongoDBOutput=java.xml/com.sun.org.apache.xerces.internal.parsers,java.xml/com.sun.org.apache.xerces.internal.util
tCosmosDBOutput=java.xml/com.sun.org.apache.xerces.internal.parsers,java.xml/com.sun.org.apache.xerces.internal.util
tMatchGroup=java.base/java.io
tRuleSurvivorship=java.base/java.lang
tRecordMatching=java.base/java.io
tDqReportRun=java.base/java.lang,java.base/java.nio
tWebService=java.base/java.lang
tWebServiceInput=java.base/java.lang
# TCK framework
TCK_COMMON_ARGS=java.base/java.io,java.base/java.lang.invoke,java.base/java.lang.reflect,java.base/java.lang,java.base/java.net,java.base/java.nio,java.base/java.util,java.base/sun.nio.ch
# BigData distribution
SPARK_3_3_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_2_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_1_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_2_4_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar

View File

@@ -33,13 +33,6 @@ 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();
}

View File

@@ -1,43 +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.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;
}
}

View File

@@ -20,7 +20,6 @@ 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;
@@ -51,9 +50,7 @@ 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;
@@ -76,7 +73,7 @@ public class ItemAnalysisReportManager {
private AtomicBoolean inGenerating = new AtomicBoolean(false);
public List<AnalysisReportRecorder> executeAnalysisTask(Project project) {
IRepositoryService service = GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
IRepositoryService service = (IRepositoryService) GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
IProxyRepositoryFactory repFactory = service.getProxyRepositoryFactory();
List<AnalysisReportRecorder> analysisResultList = new ArrayList<AnalysisReportRecorder>();
List<IItemAnalysisTask> analysisTasks = ItemAnalysisTaskRegistryReader.getInstance().getItemAnalysisTasks();
@@ -108,16 +105,6 @@ 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);
}
@@ -203,42 +190,6 @@ 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 {

View File

@@ -32,10 +32,6 @@ 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;
}
@@ -85,17 +81,4 @@ 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;
}
}

View File

@@ -12,8 +12,10 @@
// ============================================================================
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;
@@ -21,6 +23,7 @@ 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
@@ -31,15 +34,8 @@ 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)) {
@@ -47,7 +43,7 @@ public class ItemReportRecorder {
if (parentJobItem != null) {
ERepositoryObjectType parentJobType = ERepositoryObjectType.getItemType(parentJobItem);
if (parentJobType != null) {
String parentTypePath = ItemAnalysisReportManager.getInstance().getCompleteObjectTypePath(parentJobType);
String parentTypePath = getCompleteObjectTypePath(parentJobType);
if (StringUtils.isNotBlank(parentTypePath)) {
type = parentTypePath + "/";
}
@@ -55,7 +51,7 @@ public class ItemReportRecorder {
}
type += itemType;
} else {
type = ItemAnalysisReportManager.getInstance().getCompleteObjectTypePath(itemType);
type = getCompleteObjectTypePath(itemType);
}
}
return type;
@@ -63,9 +59,6 @@ public class ItemReportRecorder {
public String getItemPath() {
String path = "";
if (this.currentItemPath != null) {
return this.currentItemPath;
}
StringBuffer buffer = new StringBuffer();
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
@@ -111,6 +104,42 @@ 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;
}
@@ -119,22 +148,6 @@ 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;
}

View File

@@ -58,10 +58,6 @@ public final class JavaUtils {
public static final List<String> AVAILABLE_VERSIONS = Arrays.asList(JavaCore.VERSION_1_8 );
public static final String ALLOW_JAVA_INTERNAL_ACCESS = "allow.java.internal.access"; //$NON-NLS-1$
public static final String CUSTOM_ACCESS_SETTINGS = "custom.access.settings"; //$NON-NLS-1$
public static final String PROCESSOR_TYPE = "javaProcessor"; //$NON-NLS-1$
public static final String PATH_SEPARATOR = "/"; //$NON-NLS-1$

View File

@@ -16,7 +16,6 @@ import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -158,7 +157,7 @@ public interface ILibraryManagerService extends IService {
public void clearCache(boolean cleanIndex);
public void deployLibsFromCustomComponents(File componentFolder, List<ModuleNeeded> modulesNeeded);
public void deployLibsFromCustomComponents();
@Deprecated
public Set<String> list(boolean withComponent, IProgressMonitor... monitorWrap);

View File

@@ -53,5 +53,5 @@ public interface ILibraryManagerUIService extends IService {
public boolean confirmDialog(String originalJarFileName);
public IConfigModuleDialog getConfigModuleDialog(Shell parentShell, String initValue, boolean allowDetectDependencies);
public IConfigModuleDialog getConfigModuleDialog(Shell parentShell, String initValue);
}

View File

@@ -34,9 +34,6 @@ public enum EDatabase4DriverClassName {
INFORMIX(EDatabaseTypeName.INFORMIX, "com.informix.jdbc.IfxDriver"), //$NON-NLS-1$
INGRES(EDatabaseTypeName.INGRES, "com.ingres.jdbc.IngresDriver"),
VECTORWISE(EDatabaseTypeName.VECTORWISE, "com.ingres.jdbc.IngresDriver"),
JAVADB_DERBYCLIENT(EDatabaseTypeName.JAVADB_DERBYCLIENT, "org.apache.derby.jdbc.ClientDriver"), //$NON-NLS-1$
JAVADB_EMBEDED(EDatabaseTypeName.JAVADB_EMBEDED, "org.apache.derby.jdbc.EmbeddedDriver"), //$NON-NLS-1$
JAVADB_JCCJDBC(EDatabaseTypeName.JAVADB_JCCJDBC, "com.ibm.db2.jcc.DB2Driver"), //$NON-NLS-1$
@@ -52,7 +49,6 @@ public enum EDatabase4DriverClassName {
MYSQL8(EDatabaseTypeName.MYSQL, "com.mysql.cj.jdbc.Driver"), //$NON-NLS-1$
MARIADB(EDatabaseTypeName.MYSQL, "org.mariadb.jdbc.Driver"), //$NON-NLS-1$
AMAZON_AURORA(EDatabaseTypeName.AMAZON_AURORA, "org.gjt.mm.mysql.Driver"), //$NON-NLS-1$
AMAZON_AURORA_3(EDatabaseTypeName.AMAZON_AURORA, "com.mysql.cj.jdbc.Driver"), //$NON-NLS-1$
NETEZZA(EDatabaseTypeName.NETEZZA, "org.netezza.Driver"), //$NON-NLS-1$
ORACLEFORSID(EDatabaseTypeName.ORACLEFORSID, "oracle.jdbc.OracleDriver", "oracle.jdbc.driver.OracleDriver"), //$NON-NLS-1$ //$NON-NLS-2$

View File

@@ -347,7 +347,8 @@ public enum EDatabaseTypeName {
isSupport = isSupportODBC;
} else if (EDatabaseTypeName.SAS == this) {
isSupport = false;
} else if (EDatabaseTypeName.INTERBASE == this || EDatabaseTypeName.PARACCEL == this) {
} else if (EDatabaseTypeName.INGRES == this || EDatabaseTypeName.INTERBASE == this || EDatabaseTypeName.VECTORWISE == this
|| EDatabaseTypeName.PARACCEL == this) {
return false;
}

View File

@@ -24,7 +24,7 @@ import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
*/
public enum ERedshiftDriver {
DRIVER_V2("Driver v2", new String[] { "redshift-jdbc42-2.1.0.10.jar" }),
DRIVER_V2("Driver v2", new String[] { "redshift-jdbc42-2.1.0.3.jar" }),
DRIVER_V1("Driver v1", new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar" });
private String displayName;

View File

@@ -252,8 +252,6 @@ public class ConnParameterKeys {
public static final String CONN_PARA_KEY_EXECUTOR_MEMORY = "CONN_PARA_KEY_EXECUTOR_MEMORY"; //$NON-NLS-1$
public static final String CONN_PARA_KEY_EXECUTOR_CORES = "CONN_PARA_KEY_EXECUTOR_CORES";
public static final String CONN_PARA_KEY_TUNING_PROPERTIES = "CONN_PARA_KEY_TUNING_PROPERTIES"; //$NON-NLS-1$
/******************************************/
@@ -368,57 +366,7 @@ public class ConnParameterKeys {
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";
/**kubernetes*/
public static final String CONN_PARA_KEY_K8S_SUBMIT_MODE="CONN_PARA_KEY_K8S_SUBMIT_MODE";
public static final String CONN_PARA_KEY_K8S_MASTER="CONN_PARA_KEY_K8S_MASTER";
public static final String CONN_PARA_KEY_K8S_INSTANCES="CONN_PARA_KEY_K8S_INSTANCES";
public static final String CONN_PARA_KEY_K8S_REGISTRYSECRET_CHECK="CONN_PARA_KEY_K8S_REGISTRYSECRET_CHECK";
public static final String CONN_PARA_KEY_K8S_REGISTRYSECRET="CONN_PARA_KEY_K8S_REGISTRYSECRET";
public static final String CONN_PARA_KEY_K8S_IMAGE="CONN_PARA_KEY_K8S_IMAGE";
public static final String CONN_PARA_KEY_K8S_NAMESPACE="CONN_PARA_KEY_K8S_NAMESPACE";
public static final String CONN_PARA_KEY_K8S_SERVICEACCOUNT="CONN_PARA_KEY_K8S_SERVICEACCOUNT";
public static final String CONN_PARA_KEY_K8S_DISTUPLOAD="CONN_PARA_KEY_K8S_DISTUPLOAD";
public static final String CONN_PARA_KEY_K8S_S3BUCKET="CONN_PARA_KEY_K8S_S3BUCKET";
public static final String CONN_PARA_KEY_K8S_S3FOLDER="CONN_PARA_KEY_K8S_S3FOLDER";
public static final String CONN_PARA_KEY_K8S_S3CREDENTIALS="CONN_PARA_KEY_K8S_S3CREDENTIALS";
public static final String CONN_PARA_KEY_K8S_S3ACCESSKEY="CONN_PARA_KEY_K8S_S3ACCESSKEY";
public static final String CONN_PARA_KEY_K8S_S3SECRETKEY="CONN_PARA_KEY_K8S_S3SECRETKEY";
public static final String CONN_PARA_KEY_K8S_BLOBACCOUNT="CONN_PARA_KEY_K8S_BLOBACCOUNT";
public static final String CONN_PARA_KEY_K8S_BLOBCONTAINER="CONN_PARA_KEY_K8S_BLOBCONTAINER";
public static final String CONN_PARA_KEY_K8S_BLOBSECRETKEY="CONN_PARA_KEY_K8S_BLOBSECRETKEY";
public static final String CONN_PARA_KEY_K8S_AZUREACCOUNT="CONN_PARA_KEY_K8S_AZUREACCOUNT";
public static final String CONN_PARA_KEY_K8S_AZURECREDENTIALS="CONN_PARA_KEY_K8S_AZURECREDENTIALS";
public static final String CONN_PARA_KEY_K8S_AZURECONTAINER="CONN_PARA_KEY_K8S_AZURECONTAINER";
public static final String CONN_PARA_KEY_K8S_AZURESECRETKEY="CONN_PARA_KEY_K8S_AZURESECRETKEY";
public static final String CONN_PARA_KEY_K8S_AZUREAADKEY="CONN_PARA_KEY_K8S_AZUREAADKEY";
public static final String CONN_PARA_KEY_K8S_AZUREAADCLIENTID="CONN_PARA_KEY_K8S_AZUREAADCLIENTID";
public static final String CONN_PARA_KEY_K8S_AZUREAADDIRECTORYID="CONN_PARA_KEY_K8S_AZUREAADDIRECTORYID";
/**
* Override hadoop configuration
*/
@@ -439,8 +387,6 @@ 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";

View File

@@ -112,13 +112,6 @@ public enum EDatabaseConnTemplate {
SQLITE(new DbConnStr(EDatabaseTypeName.SQLITE, //
"jdbc:sqlite:/<filename>")), //$NON-NLS-1$
INGRES(new DbConnStr(EDatabaseTypeName.INGRES, //
"jdbc:ingres://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
"II7")), //$NON-NLS-1$
VECTORWISE(new DbConnStr(EDatabaseTypeName.VECTORWISE, //
"jdbc:ingres://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
"II7")),
FIREBIRD(new DbConnStr(EDatabaseTypeName.FIREBIRD, //
"jdbc:firebirdsql:<host>/<port>:<filename>?<property>", //$NON-NLS-1$
"3050")), //$NON-NLS-1$
@@ -428,8 +421,6 @@ public enum EDatabaseConnTemplate {
case PSQL:
case PLUSPSQL:
case GREENPLUM:
case INGRES:
case VECTORWISE:
case FIREBIRD:
case JAVADB_EMBEDED:
case JAVADB_JCCJDBC:
@@ -456,8 +447,6 @@ public enum EDatabaseConnTemplate {
case SYBASEASE_16_SA:
case IBMDB2:
case IBMDB2_ZOS:
case INGRES:
case VECTORWISE:
case MSSQL:
case INFORMIX:
case TERADATA:

View File

@@ -27,20 +27,25 @@ import org.talend.core.database.conn.DatabaseConnConstants;
public enum EDatabaseVersion4Drivers {
// access
ACCESS_JDBC(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, new String[] {
"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" })),
"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" })),
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
ORACLE_18(new DbVersion4Drivers(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID, EDatabaseTypeName.ORACLESN,
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 18 and above", "ORACLE_18", "ojdbc8-19.3.0.0.jar")),
ORACLE_12(new DbVersion4Drivers(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID, EDatabaseTypeName.ORACLESN,
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 12 (Deprecated)", "ORACLE_12",
"ojdbc7.jar")),
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 12", "ORACLE_12", "ojdbc7.jar")),
ORACLE_11(new DbVersion4DriversForOracle11(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID,
EDatabaseTypeName.ORACLESN, EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM },
"Oracle 11 (Deprecated)", "ORACLE_11", new String[] { DbVersion4DriversForOracle11.DRIVER_1_5, //$NON-NLS-1$ //$NON-NLS-2$
"Oracle 11", "ORACLE_11", new String[] { DbVersion4DriversForOracle11.DRIVER_1_5, //$NON-NLS-1$ //$NON-NLS-2$
DbVersion4DriversForOracle11.DRIVER_1_6 })),
ORACLE_10(new DbVersion4Drivers(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID, EDatabaseTypeName.ORACLESN,
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 10", "ORACLE_10", "ojdbc14.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
ORACLE_9(new DbVersion4Drivers(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID, EDatabaseTypeName.ORACLESN,
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 9", "ORACLE_9", "ojdbc14-9i.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
ORACLE_8(new DbVersion4Drivers(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID, EDatabaseTypeName.ORACLESN,
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 8", "ORACLE_8", "ojdbc12.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// AS400
AS400_V7R1_V7R3(new DbVersion4Drivers(EDatabaseTypeName.AS400, "V7R1 to V7R3", "AS400_V7R1_V7R3", "jt400-9.8.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
AS400_V6R1_V7R2(new DbVersion4Drivers(EDatabaseTypeName.AS400, "V6R1 to V7R2", "AS400_V6R1_V7R2", "jt400_V6R1.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -55,7 +60,7 @@ public enum EDatabaseVersion4Drivers {
//
JAVADB_EMBEDED(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_EMBEDED, "derby.jar")), //$NON-NLS-1$
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlite-jdbc-3.40.0.0.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$
@@ -64,12 +69,12 @@ public enum EDatabaseVersion4Drivers {
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.22.jar" })), //$NON-NLS-1$ //$NON-NLS-2$
"sas.intrnet.javatools.jar", "sas.svc.connection.jar", "reload4j-1.2.19.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.22.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.19.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-j-8.0.33.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
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$
MYSQL_5(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MySQL 5", "MYSQL_5", "mysql-connector-java-5.1.49.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MARIADB(new DbVersion4Drivers(EDatabaseTypeName.MYSQL, "MariaDB", "MARIADB", "mariadb-java-client-2.5.3.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// add for 9594
@@ -78,10 +83,10 @@ public enum EDatabaseVersion4Drivers {
"Microsoft SQL Server 2012", "Microsoft SQL Server 2012", "jtds-1.3.1-patch-20190523.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MSSQL_PROP(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
"Microsoft", "MSSQL_PROP", //$NON-NLS-1$ //$NON-NLS-2$
new String[] { "mssql-jdbc.jar", "slf4j-api-1.7.34.jar", "slf4j-reload4j-1.7.34.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
"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.9.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.9.jar", "asm-9.5.jar",
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",
"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" })),
VERTICA_9(new DbVersion4Drivers(EDatabaseTypeName.VERTICA, "VERTICA 9.X", "VERTICA_9_0", "vertica-jdbc-9.3.1-0.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -108,8 +113,6 @@ public enum EDatabaseVersion4Drivers {
EXASOL(new DbVersion4Drivers(EDatabaseTypeName.EXASOL, "exajdbc-6.0.9302.jar")), //$NON-NLS-1$
MAXDB(new DbVersion4Drivers(EDatabaseTypeName.MAXDB, "sapdbc.jar")), //$NON-NLS-1$
INGRES(new DbVersion4Drivers(EDatabaseTypeName.INGRES, "iijdbc-10.2-4.1.10.jar")),
VECTORWISE(new DbVersion4Drivers(EDatabaseTypeName.VECTORWISE, "iijdbc-10.2-4.1.10.jar")),
// HIVE(new DbVersion4Drivers(EDatabaseTypeName.HIVE, "STANDALONE", "STANDALONE", new String[] {
// "hive-jdbc-0.8.1.jar",
// "hive-metastore-0.8.1.jar", "hive-exec-0.8.1.jar", "hive-service-0.8.1.jar", "libfb303_new.jar",
@@ -150,16 +153,12 @@ 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", "jackson-core-2.13.4.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"jackson-databind-2.13.4.2.jar", "jackson-annotations-2.13.4.jar", "httpcore-4.4.13.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
"httpclient-4.5.13.jar", "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$//$NON-NLS-4$
"aws-java-sdk-redshift-internal-1.12.x.jar", "aws-java-sdk-core-1.12.315.jar", //$NON-NLS-1$ //$NON-NLS-2$
"aws-java-sdk-sts-1.12.315.jar", "aws-java-sdk-redshift-1.12.315.jar", "jmespath-java-1.12.315.jar" })), //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
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$
"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$
AMAZON_AURORA(new DbVersion4Drivers(EDatabaseTypeName.AMAZON_AURORA, "MySQL 5", "MYSQL_5", //$NON-NLS-1$
"mysql-connector-java-5.1.49.jar")),
AMAZON_AURORA_3(new DbVersion4Drivers(EDatabaseTypeName.AMAZON_AURORA, "MySQL 8", "MYSQL_8", //$NON-NLS-1$
"mysql-connector-j-8.0.33.jar"));
AMAZON_AURORA(new DbVersion4Drivers(EDatabaseTypeName.AMAZON_AURORA, "mysql-connector-java-5.1.49.jar")); //$NON-NLS-1$
private DbVersion4Drivers dbVersionBean;

View File

@@ -15,10 +15,8 @@ package org.talend.core.hadoop;
import java.util.Collection;
import java.util.HashSet;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.EMap;
import org.talend.commons.exception.CommonExceptionHandler;
import org.talend.commons.exception.ExceptionHandler;
@@ -27,9 +25,6 @@ import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.Property;
import org.talend.core.runtime.hd.IDynamicDistributionManager;
import org.talend.core.runtime.i18n.Messages;
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.core.model.utils.emf.talendfile.TalendFileFactory;
/**
* created by cmeng on Jul 20, 2015 Detailled comment
@@ -150,58 +145,4 @@ public class BigDataBasicUtil {
return null;
}
public static String getDistributionByVersion(String version) {
if (StringUtils.isEmpty(version))
return null;
if (version.startsWith("EMR")) {
return "AMAZON_EMR";
} else if (version.equals("SYNAPSE")) {
return "AZURE_SYNAPSE";
} else if (version.contains("CDH") || version.contains("CDP")) {
return "CLOUDERA";
} else if (version.startsWith("Databricks")) {
return "DATABRICKS";
} else if (version.contains("HDP")) {
return "HORTONWORKS";
} else if (version.startsWith("MICROSOFT_HD_INSIGHT")) {
return "MICROSOFT_HD_INSIGHT";
} else if (version.startsWith("SPARK")) {
return "SPARK";
}
return null;
}
public static void setDistribution(NodeType node, String dbVersionName) {
if (node == null || dbVersionName == null) {
return;
}
EList<ElementParameterType> elementParameters = node.getElementParameter();
String distribution = null;
String dbVersion = null;
// Iterate over the item elementParameters in order to find the "DISTRIBUTION" and "SPARK_VERSION"
// parameters values.
for (int i = 0; i < elementParameters.size(); i++) {
ElementParameterType param = elementParameters.get(i);
if (dbVersionName.equals(param.getName())) {
dbVersion = param.getValue();
break;
}
}
try {
ElementParameterType property = TalendFileFactory.eINSTANCE.createElementParameterType();
distribution = BigDataBasicUtil.getDistributionByVersion(dbVersion);
if (distribution != null) {
property.setName("DISTRIBUTION"); //$NON-NLS-1$
property.setField("CLOSED_LIST"); //$NON-NLS-1$
property.setValue(distribution);
elementParameters.add(property);
} else {
ExceptionHandler.log("no matched distribution for version " + dbVersion);//$NON-NLS-1$
}
} catch (Exception e) {
ExceptionHandler.log(e.getMessage());
}
}
}

View File

@@ -38,10 +38,7 @@ 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);
}

View File

@@ -28,10 +28,6 @@ public class HadoopConstants {
public static final String SPARK_MODE_YARN_CLUSTER = "YARN_CLUSTER";
public static final String SPARK_MODE_DATAPROC = "DATAPROC";
public static final String SPARK_MODE_SYNAPSE = "SYNAPSE";
public static final String SPARK_MODE_HDI = "HDI";
public static final String FRAMEWORK = "FRAMEWORK";

View File

@@ -22,6 +22,4 @@ 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$
}

View File

@@ -142,8 +142,6 @@ public enum EHadoopProperties {
SPARK_EXECUTOR_MEMORY,
SPARK_EXECUTOR_CORES,
DATABRICKS_ENDPOINT,
DATABRICKS_CLOUD_PROVIDER,
@@ -155,52 +153,6 @@ public enum EHadoopProperties {
DATABRICKS_TOKEN,
DATABRICKS_DBFS_DEP_FOLDER,
K8S_SUBMIT_MODE,
K8S_MASTER,
K8S_INSTANCES,
K8S_REGISTRYSECRET,
K8S_IMAGE,
K8S_NAMESPACE,
K8S_SERVICEACCOUNT,
K8S_DISTUPLOAD,
K8S_S3BUCKET,
K8S_S3FOLDER,
K8S_S3CREDENTIALS,
K8S_S3ACCESSKEY,
K8S_S3SECRETKEY,
K8S_BLOBACCOUNT,
K8S_BLOBCONTAINER,
K8S_BLOBSECRETKEY,
K8S_AZUREACCOUNT,
K8S_AZURECREDENTIALS,
K8S_AZURECONTAINER,
K8S_AZURESECRETKEY,
K8S_AZUREAADKEY,
K8S_AZUREAADCLIENTID,
K8S_AZUREAADDIRECTORYID,
DATABRICKS_NODE_TYPE,

View File

@@ -222,32 +222,6 @@ 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) {
@@ -872,7 +846,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, contextParameterType.getName());
paramLink.getId(), item instanceof ContextItem);
if (repoContextParam != null
&& !StringUtils.equals(repoContextParam.getName(), contextParameterType.getName())) {
renamedMap.put(repoContextParam.getName(), contextParameterType.getName());
@@ -941,7 +915,7 @@ public class ContextUtils {
if (item != null) {
ContextType contextType = ContextUtils.getContextTypeByName(item, context.getName());
ContextParameterType repoParameterType = ContextUtils.getContextParameterTypeById(contextType,
parameterLink.getId(), item instanceof ContextItem, parameterType.getName());
parameterLink.getId(), item instanceof ContextItem);
if (repoParameterType != null
&& !StringUtils.equals(repoParameterType.getName(), parameterType.getName())) {
renamedMap.put(repoParameterType.getName(), parameterType.getName());
@@ -984,14 +958,6 @@ public class ContextUtils {
}
public boolean remove(Item item, String param) {
Set<String> params = map.get(item);
if (params != null && params.contains(param)) {
return params.remove(param);
}
return false;
}
public boolean isEmpty() {
return map.isEmpty();
}
@@ -1009,7 +975,7 @@ public class ContextUtils {
ContextParameterType contextParameterType = null;
if (paramLink != null && paramLink.getId() != null && contextType != null) {
contextParameterType = getContextParameterTypeById(contextType, paramLink.getId(),
contextItem instanceof ContextItem, paramName);
contextItem instanceof ContextItem);
}
if (contextParameterType != null) {// Compare use UUID
if (!StringUtils.equals(contextParameterType.getName(), paramName)) {

View File

@@ -33,7 +33,6 @@ import org.talend.core.model.properties.ContextItem;
import org.talend.core.model.properties.Item;
import org.talend.core.model.utils.ContextParameterUtils;
import org.talend.cwm.helper.ResourceHelper;
import org.talend.cwm.helper.StudioEncryptionHelper;
import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.ContextType;
import org.talend.designer.core.model.utils.emf.talendfile.TalendFileFactory;
@@ -336,8 +335,6 @@ public class JobContextManager implements IContextManager {
} else {
contextParam.setType(MetadataTalendType.getDefaultTalendType());
}
//To avoid encrypt the same value}
contextParam.setOriginEncryptedValue(contextParamType.getValue());
contextParam.setValue(contextParamType.getRawValue());
contextParam.setPromptNeeded(contextParamType.isPromptNeeded());
@@ -563,10 +560,7 @@ public class JobContextManager implements IContextManager {
contextParamType.setName(contextParam.getName());
contextParamType.setPrompt(contextParam.getPrompt());
contextParamType.setType(contextParam.getType());
//To avoid encrypt the same value
contextParamType.setValue(contextParam.getOriginEncryptedValue());
contextParamType.setRawValue(contextParam.getValue());
contextParam.setOriginEncryptedValue(contextParamType.getValue()); // For origin encrypted value is null or encryption key upgrade
contextParamType.setPromptNeeded(contextParam.isPromptNeeded());
contextParamType.setComment(contextParam.getComment());
if (!contextParam.isBuiltIn()) {

View File

@@ -46,9 +46,6 @@ public class JobContextParameter implements IContextParameter, Cloneable {
String[] valueList;
String internalId;
/*This value may dirty, only use to cache encrypted value*/
String originEncryptedValue;
/**
* change to save id always for bug 13184.
@@ -304,15 +301,6 @@ public class JobContextParameter implements IContextParameter, Cloneable {
this.source = source;
}
public String getOriginEncryptedValue() {
return originEncryptedValue;
}
public void setOriginEncryptedValue(String originEncryptedValue) {
this.originEncryptedValue = originEncryptedValue;
}
/*
* (non-Javadoc)
*

View File

@@ -20,9 +20,8 @@ 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.PendoDataTrackFactory;
import org.talend.core.pendo.PendoTrackSender;
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;
@@ -218,13 +217,9 @@ public class ConnectionBean implements Cloneable {
} 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 (Exception e) {
} catch (JSONException e) {
ExceptionHandler.process(e);
}
return "";
@@ -254,7 +249,7 @@ public class ConnectionBean implements Cloneable {
String user = conDetails.getString(USER);
if (isToken()) {
String url = getDynamicFields().get(RepositoryConstants.REPOSITORY_URL);
user = PendoDataTrackFactory.getInstance().getTmcUser(url, getPassword());
user = PendoTrackSender.getInstance().getTmcUser(url, getPassword());
if (StringUtils.isNotBlank(user)) {
setUser(user);
}

View File

@@ -293,8 +293,7 @@ public final class MetadataToolHelper {
boolean isKeyword = KeywordsValidator.isKeyword(originalColumnName);
StringBuilder sb = new StringBuilder();
// keep charBit length align with the length of originalColumnName (StringBuilder)
int[] charBit = new int[originalColumnName.length()];
int[] charBit = new int[columnName.length()];
if (!isKeyword) {
boolean isAllowSpecific = isAllowSpecificCharacters();

View File

@@ -13,16 +13,13 @@ public class SparkBatchMetadataTalendTypeFilter extends SparkMetadataTalendTypeF
public static List<String> dynamicTypeCompatibleComponents = Arrays.asList(
"tDeltaLakeInput",
"tDeltaLakeOutput",
"tFileInputDelimited",
"tFileInputParquet",
"tFileOutputParquet",
"tJDBCInput",
"tJDBCOutput",
"tLogRow",
"tAvroInput",
"tMongoDBInput",
"tMongoDBOutput",
"tSqlRow"
"tSqlRow",
"tFileInputDelimited"
);
public SparkBatchMetadataTalendTypeFilter(INode node) {

View File

@@ -433,16 +433,6 @@ public class ComponentToRepositoryProperty {
connection.setDatabaseType(EDatabaseTypeName.IBMDB2.getDisplayName());
connection.setProductId(EDatabaseTypeName.IBMDB2.getProduct());
}
// Ingres
else if (EDatabaseTypeName.INGRES.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.INGRES.getDisplayName());
connection.setProductId(EDatabaseTypeName.INGRES.getProduct());
}
// VECTORWISE
else if (EDatabaseTypeName.VECTORWISE.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.VECTORWISE.getDisplayName());
connection.setProductId(EDatabaseTypeName.VECTORWISE.getProduct());
}
// Sqlite
else if (EDatabaseTypeName.SQLITE.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
connection.setDatabaseType(EDatabaseTypeName.SQLITE.getDisplayName());

View File

@@ -1091,10 +1091,6 @@ public class RepositoryToComponentProperty {
if (dbVersionString != null) {
return dbVersionString.toUpperCase();
}
} else if (EDatabaseConnTemplate.AMAZON_AURORA.getDBDisplayName().equals(databaseType)) {
if (dbVersionString != null) {
return dbVersionString.toUpperCase();
}
} else if (EDatabaseTypeName.HIVE.getDisplayName().equals(databaseType)) {
return connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_HIVE_VERSION);
} else if (EDatabaseTypeName.HBASE.getDisplayName().equals(databaseType)) {
@@ -1119,9 +1115,7 @@ public class RepositoryToComponentProperty {
|| EDatabaseConnTemplate.SAPHana.getDBDisplayName().equals(databaseType)
|| EDatabaseConnTemplate.MSSQL.getDBDisplayName().equals(databaseType)) {
if (dbVersionString != null) {
if (EDatabaseVersion4Drivers.getDbVersionName(databaseType, dbVersionString) != null) {
driverValue = dbVersionString.toUpperCase();
}
driverValue = dbVersionString.toUpperCase();
}
}
if (isContextMode(connection, dbVersionString)) {

View File

@@ -18,7 +18,6 @@ import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import org.apache.commons.codec.binary.StringUtils;
import org.talend.components.api.properties.ComponentProperties;
import org.talend.core.model.components.IComponent;
import org.talend.core.model.components.IMultipleComponentManager;
@@ -510,7 +509,7 @@ public abstract class AbstractNode implements INode {
}
for (String key : childParameters.keySet()) {
IElementParameter param = childParameters.get(key);
if (StringUtils.equals(name, param.getName())) {
if (param.getName().equals(name)) {
return param;
}
}
@@ -677,8 +676,7 @@ public abstract class AbstractNode implements INode {
return null;
}
for (IMetadataTable table : metadataList) {
String attachedConnector = table.getAttachedConnector();
if (attachedConnector != null && attachedConnector.equals(connector)) {
if (table.getAttachedConnector().equals(connector)) {
return table;
}
}

View File

@@ -38,7 +38,6 @@ public enum EParameterFieldType {
SCHEMA_XPATH_QUERYS,
QUERYSTORE_TYPE,
GUESS_SCHEMA,
DYNAMIC_GUESS_SCHEMA,
PROPERTY_TYPE,
EXTERNAL,
FILE,

View File

@@ -75,9 +75,4 @@ public interface IContextParameter {
public String getInternalId();
public void setInternalId(String internalId);
/*This value may dirty, only use to cache encrypted value*/
public String getOriginEncryptedValue();
public void setOriginEncryptedValue(String originEncryptedValue);
}

View File

@@ -234,9 +234,4 @@ public interface IElementParameter {
public void setSerialized(boolean isSerialized);
public boolean isSelectedFromItemValue();
/*This value may dirty, only use to cache encrypted value*/
public String getOrignEncryptedValue();
public void setOrignEncryptedValue(String value);
}

View File

@@ -71,9 +71,6 @@ public interface IProcess2 extends IRepositoryObject, IProcess {
@Override
void setActivate(boolean b);
public boolean isRefactoringToJoblet();
public void refactoringToJoblet(boolean isRefactoring);
/**
* DOC qzhang Comment method "checkStartNodes".
*/

View File

@@ -368,9 +368,6 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
"repository.metadataCalculationView", "METADATA_CON_CALCULATION_VIEW", 106, true, true, new String[] { PROD_DI },
new String[] {}, false);
public final static ERepositoryObjectType METADATA_SAP_CDS_VIEW = new ERepositoryObjectType("repository.SAPTable", //$NON-NLS-1$
"METADATA_SAP_CDS_VIEW", 107, true, true, new String[] { PROD_DI }, new String[] {}, false);
private String label;
private String alias;
@@ -1480,8 +1477,12 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
return allTypes;
}
public static List<ERepositoryObjectType> getAllBigDataTypesOfJoblet(){
public static List<ERepositoryObjectType> getAllTypesOfJoblet() {
List<ERepositoryObjectType> allTypes = new ArrayList<ERepositoryObjectType>();
if (ERepositoryObjectType.JOBLET != null) {
allTypes.add(ERepositoryObjectType.JOBLET);
}
if (ERepositoryObjectType.SPARK_JOBLET != null) {
allTypes.add(ERepositoryObjectType.SPARK_JOBLET);
}
@@ -1491,15 +1492,6 @@ public class ERepositoryObjectType extends DynaEnum<ERepositoryObjectType> {
return allTypes;
}
public static List<ERepositoryObjectType> getAllTypesOfJoblet() {
List<ERepositoryObjectType> allTypes = new ArrayList<ERepositoryObjectType>();
allTypes.addAll(getAllBigDataTypesOfJoblet());
if (ERepositoryObjectType.JOBLET != null) {
allTypes.add(ERepositoryObjectType.JOBLET);
}
return allTypes;
}
public static List<ERepositoryObjectType> getAllTypesOfTestContainer() {
List<ERepositoryObjectType> allTypes = new ArrayList<ERepositoryObjectType>();

View File

@@ -359,9 +359,7 @@ public abstract class RepositoryUpdateManager {
List<UpdateResult> checkedResults = null;
if (parameter == null) { // update all job
// TUP-36519: comment out the filter for only opening job
// checkedResults = filterSpecialCheckedResult(results);
checkedResults = results;
checkedResults = filterSpecialCheckedResult(results);
} else { // filter
checkedResults = filterCheckedResult(results);
}

View File

@@ -79,8 +79,4 @@ public final class TalendPropertiesUtil {
public static String getProductApp() {
return System.getProperty(PROD_APP);
}
public static boolean isEnabledUseShortJobletName() {
return isEnabled("talend.job.build.useShortJobletName"); //$NON-NLS-1$
}
}

View File

@@ -85,7 +85,7 @@ public class TalendLibsServerManager {
public static final String TALEND_LIB_PASSWORD = "";//$NON-NLS-1$
public static final String TALEND_LIB_REPOSITORY = "studio-libraries";//$NON-NLS-1$
public static final String TALEND_LIB_REPOSITORY = "libraries";//$NON-NLS-1$
private static TalendLibsServerManager manager = null;

View File

@@ -1,73 +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;
import org.talend.core.pendo.properties.IPendoDataProperties;
import org.talend.core.service.ICoreTisRuntimeService;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoDataTrackFactory {
private static PendoDataTrackFactory instance;
private static ICoreTisRuntimeService coreRuntimeService;
static {
instance = new PendoDataTrackFactory();
coreRuntimeService = ICoreTisRuntimeService.get();
}
private PendoDataTrackFactory() {
}
public static PendoDataTrackFactory getInstance() {
return instance;
}
public boolean isTrackSendAvailable() throws Exception {
if (coreRuntimeService != null) {
return coreRuntimeService.isPendoTrackAvailable();
}
return false;
}
public void sendTrackData(TrackEvent event, IPendoDataProperties properties) throws Exception {
if (coreRuntimeService != null) {
coreRuntimeService.sendPendoTrackData(event, properties);
}
}
public void sendProjectLoginTrack() {
if (coreRuntimeService != null) {
AbstractPendoTrackManager pendoProjectLoginManager = coreRuntimeService.getPendoProjectLoginManager();
pendoProjectLoginManager.sendTrackToPendo();
}
}
public void sendGenericTrack(TrackEvent event, IPendoDataProperties properties) {
if (coreRuntimeService != null) {
AbstractPendoTrackManager genericManager = coreRuntimeService.getPendoGenericManager(event, properties);
genericManager.sendTrackToPendo();
}
}
public String getTmcUser(String url, String token) {
if (coreRuntimeService != null) {
return coreRuntimeService.getTmcUser(url, token);
}
return "";
}
}

View File

@@ -12,12 +12,23 @@
// ============================================================================
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.ICloudSignOnService;
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;
@@ -50,6 +61,39 @@ public class PendoTrackDataUtil {
return content;
}
public static IPendoDataProperties getLoginEventProperties() {
String studioPatch = getLatestPatchInstalledVersion();
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);
loginEvent.setIsOneClickLogin(Boolean.FALSE.toString());
if (ICloudSignOnService.get() != null && ICloudSignOnService.get().isSignViaCloud()) {
loginEvent.setIsOneClickLogin(Boolean.TRUE.toString());
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
loginEvent.setStudioVersion(VersionUtils.getInternalMajorVersion());
loginEvent.setStudioPatch(studioPatch);
return loginEvent;
}
public static String getLatestPatchInstalledVersion() {
String studioPatch = "";
IInstalledPatchService installedPatchService = IInstalledPatchService.get();
@@ -59,6 +103,52 @@ public class PendoTrackDataUtil {
return studioPatch;
}
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);
}
}
public static String convertEntityJsonString(Object entity) {
ObjectMapper mapper = new ObjectMapper();
try {
@@ -72,4 +162,30 @@ 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("tMap"),
ITEM_IMPORT("Import items"),
ITEM_SIGNATURE("Item Signature");
private String event;
TrackEvent(String event) {
this.event = event;
}
public String getEvent() {
return event;
}
}
}

View File

@@ -0,0 +1,325 @@
// ============================================================================
//
// 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 {
public static final String PROP_PENDO_LOCAL_CHECK = "talend.pendo.localDebug";
public 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;
private PendoTrackSender() {
}
static {
instance = new PendoTrackSender();
RepositoryContext repositoryContext = getRepositoryContext();
if (repositoryContext != null) {
adminUrl = repositoryContext.getFields().get(RepositoryConstants.REPOSITORY_URL);
}
}
public static PendoTrackSender getInstance() {
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(event.getEvent() + ":" + 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;
}
}

View File

@@ -1,79 +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;
/**
* 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;
}
}

View File

@@ -10,7 +10,7 @@
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo;
package org.talend.core.pendo.mapper;
import org.apache.log4j.Level;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -18,24 +18,16 @@ 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.properties.IPendoDataProperties;
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
import org.talend.core.pendo.PendoTrackSender;
import org.talend.core.pendo.properties.PendoTMapProperties;
/**
* DOC jding class global comment. Detailled comment
*/
public abstract class AbstractPendoTrackManager {
public abstract class AbstractPendoTMapManager {
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);
}
protected abstract PendoTMapProperties calculateProperties();
public void sendTrackToPendo() {
Job job = new Job("send pendo track") {
@@ -43,9 +35,9 @@ public abstract class AbstractPendoTrackManager {
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
if (isTrackSendAvailable()) {
IPendoDataProperties properties = collectProperties();
sendTrackData(getTrackEvent(), properties);
if (PendoTrackSender.getInstance().isTrackSendAvailable()) {
PendoTMapProperties properties = calculateProperties();
PendoTrackSender.getInstance().sendTrackData(TrackEvent.TMAP, properties);
}
} catch (Exception e) {
// warning only

View File

@@ -12,9 +12,8 @@
// ============================================================================
package org.talend.core.pendo.mapper;
import org.talend.core.pendo.AbstractPendoTrackManager;
import org.talend.core.pendo.TrackEvent;
import org.talend.core.pendo.properties.IPendoDataProperties;
import org.talend.core.pendo.PendoTrackDataUtil.TrackEvent;
import org.talend.core.pendo.PendoTrackSender;
import org.talend.core.pendo.properties.PendoAutoMapProperties;
/**
@@ -22,7 +21,7 @@ import org.talend.core.pendo.properties.PendoAutoMapProperties;
*
* DOC jding class global comment. Detailled comment
*/
public class PendoAutoMapManager extends AbstractPendoTrackManager {
public class PendoAutoMapManager {
private int mappingChangeCount = 0;
@@ -46,18 +45,9 @@ public class PendoAutoMapManager extends AbstractPendoTrackManager {
if (mappingChangeCount < 1) {
return;
}
super.sendTrackToPendo();
}
@Override
public TrackEvent getTrackEvent() {
return TrackEvent.AUTOMAP;
}
@Override
public IPendoDataProperties collectProperties() {
PendoAutoMapProperties properties = new PendoAutoMapProperties();
properties.setAutoMappings(mappingChangeCount);
return properties;
PendoTrackSender.getInstance().sendToPendo(TrackEvent.AUTOMAP, properties);
}
}

View File

@@ -0,0 +1,150 @@
// ============================================================================
//
// 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;
@JsonProperty("one_click_login")
private String isOneClickLogin;
/**
* 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;
}
/**
* Getter for isOneClickLogin.
*
* @return the isOneClickLogin
*/
public String getIsOneClickLogin() {
return isOneClickLogin;
}
/**
* Sets the isOneClickLogin.
*
* @param isOneClickLogin the isOneClickLogin to set
*/
public void setIsOneClickLogin(String isOneClickLogin) {
this.isOneClickLogin = isOneClickLogin;
}
}

View File

@@ -48,8 +48,6 @@ public class PendoSignImportProperties implements IPendoDataProperties {
@JsonProperty("valid_migration_token")
private String validMigrationToken;
@JsonProperty("import_product")
private List<String> importProduct;
/**
* Getter for sourceVersion.
@@ -210,23 +208,4 @@ public class PendoSignImportProperties implements IPendoDataProperties {
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;
}
}

View File

@@ -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("mapping_1_to_n")
@JsonProperty("1-to-n mapping")
private int oneToNMappings;
/**
* Number of output columns which have multiple source columns, either input columns or var columns
*/
@JsonProperty("mapping_n_to_1")
@JsonProperty("n-to-1 mapping")
private int nToOneMappings;
/**

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