Compare commits
72 Commits
release/8.
...
release/8.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68ae91573d | ||
|
|
a9f5e42f6d | ||
|
|
e4250d1120 | ||
|
|
7225c51654 | ||
|
|
11bf826613 | ||
|
|
2039df6058 | ||
|
|
59147d2bf3 | ||
|
|
a272ce7fe3 | ||
|
|
d32d4c1c2c | ||
|
|
51ca13e2ee | ||
|
|
3d697f472c | ||
|
|
0dcd60f44b | ||
|
|
8f59c857d8 | ||
|
|
442631c61b | ||
|
|
31303fa608 | ||
|
|
fea26cbefa | ||
|
|
21254ffaca | ||
|
|
caa4b51cc4 | ||
|
|
b2fdccc3e7 | ||
|
|
da208c72f6 | ||
|
|
bd6a271805 | ||
|
|
cd5af34395 | ||
|
|
ba71689fac | ||
|
|
f6a123ad2b | ||
|
|
14d9caec2e | ||
|
|
96f177cb95 | ||
|
|
4a34141e6f | ||
|
|
9bf06c26bb | ||
|
|
51010064c7 | ||
|
|
d0a5c76459 | ||
|
|
4b308e1d34 | ||
|
|
b39332b706 | ||
|
|
556ab359d9 | ||
|
|
55f8537c15 | ||
|
|
98f0a248dc | ||
|
|
360c36b6bb | ||
|
|
c5e48b7e97 | ||
|
|
8b3040a4f6 | ||
|
|
fac09dcc63 | ||
|
|
f97757fa8e | ||
|
|
3a557a7658 | ||
|
|
00a777d477 | ||
|
|
eb661b81c5 | ||
|
|
557afc2b02 | ||
|
|
965a4d5a3b | ||
|
|
bde2e73cfa | ||
|
|
421dde4b8e | ||
|
|
037502c43c | ||
|
|
12345b5216 | ||
|
|
850a8cbdf6 | ||
|
|
fe6ed85b34 | ||
|
|
46a2aac8c1 | ||
|
|
424266a771 | ||
|
|
d2751b3e59 | ||
|
|
90aeb07148 | ||
|
|
ef76386e26 | ||
|
|
a76d9081dc | ||
|
|
6d10555da1 | ||
|
|
6aec89ed62 | ||
|
|
4d5c0aba06 | ||
|
|
156a67b79a | ||
|
|
0de0c82b35 | ||
|
|
83d720a6df | ||
|
|
bba3a2a7ff | ||
|
|
33e9a9bf7c | ||
|
|
865d4317ea | ||
|
|
8949a8291a | ||
|
|
620a43e169 | ||
|
|
6143714a75 | ||
|
|
613ec4e1ae | ||
|
|
c2f33ca3c7 | ||
|
|
ee7e8a0a32 |
@@ -9,4 +9,7 @@
|
||||
</parent>
|
||||
<artifactId>org.talend.utils.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
<properties>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</properties>
|
||||
</project>
|
||||
|
||||
@@ -4,4 +4,6 @@ bin.includes = META-INF/,\
|
||||
plugin.xml,\
|
||||
icons/,\
|
||||
icons1/,\
|
||||
.
|
||||
.,\
|
||||
resources/
|
||||
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
<?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>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
/* ############################## 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'
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
/* ############################## 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'
|
||||
}
|
||||
@@ -12,14 +12,22 @@
|
||||
// ============================================================================
|
||||
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);
|
||||
@@ -45,4 +53,14 @@ 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(WHITE_COLOR);
|
||||
}
|
||||
|
||||
static Color getTableForegroundColor() {
|
||||
return ITalendThemeService.getColor(ColorConstants.BUNDLE_ID_COMMON_UI_RUNTIME, ColorConstants.KEY_TABLE_FOREGROUND)
|
||||
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ 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;
|
||||
|
||||
/*
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.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";
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -57,6 +57,8 @@ 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;
|
||||
@@ -291,7 +293,8 @@ public class TableViewerCreatorNotModifiable<B> {
|
||||
public TableViewerCreatorNotModifiable(Composite compositeParent) {
|
||||
super();
|
||||
this.compositeParent = compositeParent;
|
||||
this.emptyZoneColor = compositeParent.getDisplay().getSystemColor(SWT.COLOR_WHITE);
|
||||
this.emptyZoneColor = ITalendThemeService.getColor("org.talend.commons.ui.BgColorForEmptyArea")
|
||||
.orElse(compositeParent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
|
||||
|
||||
}
|
||||
|
||||
@@ -669,8 +672,22 @@ public class TableViewerCreatorNotModifiable<B> {
|
||||
table.addListener(SWTFacade.Paint, paintListener);
|
||||
}
|
||||
|
||||
setBackgroundColor(backgroundColor != null ? backgroundColor : table.getDisplay().getSystemColor(SWT.COLOR_WHITE));
|
||||
setForegroundColor(foregroundColor != null ? foregroundColor : table.getDisplay().getSystemColor(SWT.COLOR_BLACK));
|
||||
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);
|
||||
|
||||
if (useCustomItemColoring) {
|
||||
setUseCustomItemColoring(true);
|
||||
|
||||
@@ -12,9 +12,14 @@
|
||||
// ============================================================================
|
||||
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;
|
||||
|
||||
/**
|
||||
@@ -102,4 +107,16 @@ 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -283,6 +283,7 @@
|
||||
<KEYWORD1>smallint</KEYWORD1>
|
||||
<KEYWORD1>smallmoney</KEYWORD1>
|
||||
<KEYWORD1>text</KEYWORD1>
|
||||
<KEYWORD1>TIME</KEYWORD1>
|
||||
<KEYWORD1>timestamp</KEYWORD1>
|
||||
<KEYWORD1>tinyint</KEYWORD1>
|
||||
<KEYWORD1>uniqueidentifier</KEYWORD1>
|
||||
|
||||
@@ -120,7 +120,7 @@ public class NetworkUtil {
|
||||
if (StringUtils.isNotBlank(customUrl)) {
|
||||
return customUrl;
|
||||
} else {
|
||||
return "https://talend-update.talend.com/nexus/content/repositories/libraries/";
|
||||
return "https://talend-update.talend.com/nexus/content/groups/studio-libraries/";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -20,12 +20,14 @@ 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;
|
||||
@@ -156,6 +158,7 @@ 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;
|
||||
@@ -166,6 +169,7 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
|
||||
};
|
||||
final ILineSelectionListener afterLineSelectionListener = new ILineSelectionListener() {
|
||||
|
||||
@Override
|
||||
public void handle(LineSelectionEvent e) {
|
||||
executeSelectionEvent = true;
|
||||
}
|
||||
@@ -175,6 +179,7 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
|
||||
|
||||
DisposeListener disposeListener = new DisposeListener() {
|
||||
|
||||
@Override
|
||||
public void widgetDisposed(DisposeEvent e) {
|
||||
selectionHelper.removeBeforeSelectionListener(beforeLineSelectionListener);
|
||||
selectionHelper.removeAfterSelectionListener(afterLineSelectionListener);
|
||||
@@ -185,6 +190,7 @@ 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
|
||||
@@ -251,7 +257,9 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
|
||||
newTableViewerCreator.setLazyLoad(TableViewerCreator.getRecommandLazyLoad());
|
||||
newTableViewerCreator.setFirstVisibleColumnIsSelection(false);
|
||||
newTableViewerCreator.setCheckboxInFirstColumn(false);
|
||||
newTableViewerCreator.setBgColorForEmptyArea(getParentComposite().getDisplay().getSystemColor(SWT.COLOR_WHITE));
|
||||
Color bgColorForEmptyArea = ITalendThemeService.getColor("org.talend.commons.ui.BgColorForEmptyArea")
|
||||
.orElse(getParentComposite().getDisplay().getSystemColor(SWT.COLOR_WHITE));
|
||||
newTableViewerCreator.setBgColorForEmptyArea(bgColorForEmptyArea);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -271,6 +279,7 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
|
||||
|
||||
getExtendedTableModel().addBeforeOperationListListener(1, new IListenableListListener() {
|
||||
|
||||
@Override
|
||||
public void handleEvent(ListenableListEvent event) {
|
||||
handleBeforeListenableListOperationEvent(event);
|
||||
}
|
||||
@@ -279,6 +288,7 @@ public abstract class AbstractExtendedTableViewer<B> extends AbstractExtendedCon
|
||||
|
||||
getExtendedTableModel().addAfterOperationListListener(1, new IListenableListListener() {
|
||||
|
||||
@Override
|
||||
public void handleEvent(ListenableListEvent event) {
|
||||
handleAfterListenableListOperationEvent(event);
|
||||
}
|
||||
@@ -287,6 +297,7 @@ 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();
|
||||
@@ -368,6 +379,7 @@ 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();
|
||||
}
|
||||
|
||||
@@ -285,6 +285,30 @@
|
||||
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"
|
||||
|
||||
@@ -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=\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.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.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
|
||||
|
||||
@@ -67,6 +67,7 @@ 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;
|
||||
@@ -260,6 +261,7 @@ 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) {
|
||||
|
||||
@@ -153,6 +153,7 @@ 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;
|
||||
@@ -2379,11 +2380,22 @@ 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) {
|
||||
try {
|
||||
logOffProject();
|
||||
} catch (Exception e1) {
|
||||
ExceptionHandler.process(e1);
|
||||
if (!LoginException.RESTART.equals(e.getKey())) {
|
||||
try {
|
||||
logOffProject();
|
||||
} catch (Exception e1) {
|
||||
ExceptionHandler.process(e1);
|
||||
}
|
||||
}
|
||||
throw e;
|
||||
} catch (PersistenceException e) {
|
||||
@@ -2561,7 +2573,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
|
||||
|
||||
public void logOffProject() {
|
||||
// getRepositoryContext().setProject(null);
|
||||
repositoryFactoryFromProvider.logOffProject();
|
||||
if (!CommonsPlugin.isHeadless()) {
|
||||
ProjectRepositoryNode root = ProjectRepositoryNode.getInstance();
|
||||
if (root != null) {
|
||||
@@ -2617,6 +2628,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
|
||||
|
||||
ReferenceProjectProvider.clearTacReferenceList();
|
||||
ReferenceProjectProblemManager.getInstance().clearAll();
|
||||
repositoryFactoryFromProvider.logOffProject();
|
||||
fullLogonFinished = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,8 @@ 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)) {
|
||||
|
||||
@@ -17,14 +17,20 @@ 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;
|
||||
@@ -77,13 +83,19 @@ import org.talend.utils.string.DigestUtil;
|
||||
*/
|
||||
public class RepositoryLabelProvider extends LabelProvider implements IColorProvider, IFontProvider {
|
||||
|
||||
private static final Color STABLE_SECONDARY_ENTRY_COLOR = new Color(null, 100, 100, 100);
|
||||
private static final String MERGED_PREFERENCED_ITEMS = "org.talend.core.repository.REPO_MERGED_REFERENCED_ITEMS_COLOR";
|
||||
|
||||
private static final Color STABLE_PRIMARY_ENTRY_COLOR = new Color(null, 0, 0, 0);
|
||||
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);
|
||||
|
||||
protected static final Color INACTIVE_ENTRY_COLOR = new Color(null, 200, 200, 200);
|
||||
|
||||
private static final Color LOCKED_ENTRY = new Color(null, 200, 0, 0);
|
||||
private static final Color LOCKED_ENTRY_COLOR = new Color(null, 200, 0, 0);
|
||||
|
||||
private static final Color MERGED_REFERENCED_ITEMS_COLOR = new Color(null, 120, 120, 120);
|
||||
|
||||
@@ -100,6 +112,18 @@ 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());
|
||||
@@ -482,23 +506,13 @@ 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:
|
||||
if (node.getContentType() == ERepositoryObjectType.PROCESS) {
|
||||
return STABLE_PRIMARY_ENTRY_COLOR;
|
||||
}
|
||||
return STABLE_SECONDARY_ENTRY_COLOR;
|
||||
return getStableSecondaryEntryColor();
|
||||
default:
|
||||
ERepositoryStatus repositoryStatus = node.getObject().getRepositoryStatus();
|
||||
if (repositoryStatus == ERepositoryStatus.LOCK_BY_OTHER) {
|
||||
return LOCKED_ENTRY;
|
||||
return getLockedEntryColor();
|
||||
} else {
|
||||
if (PluginChecker.isRefProjectLoaded()) {
|
||||
IReferencedProjectService service = (IReferencedProjectService) GlobalServiceRegister.getDefault()
|
||||
@@ -510,7 +524,7 @@ public class RepositoryLabelProvider extends LabelProvider implements IColorProv
|
||||
.getCurrentProject().getEmfProject();
|
||||
String projectLabel = object.getProjectLabel();
|
||||
if (!mainProject.getLabel().equals(projectLabel)) {
|
||||
return MERGED_REFERENCED_ITEMS_COLOR;
|
||||
return getMergedReferencedItemsColor();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -536,4 +550,43 @@ 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -21,7 +21,8 @@ bin.includes = META-INF/,\
|
||||
plugin_ja.properties,\
|
||||
plugin_ru.properties,\
|
||||
plugin_swtbot.properties,\
|
||||
plugin_zh_CN.properties
|
||||
plugin_zh_CN.properties,\
|
||||
resources/
|
||||
src.includes = META-INF/,\
|
||||
mappingMetadataTypes.xml,\
|
||||
mappings/,\
|
||||
|
||||
216
main/plugins/org.talend.core.runtime/mappings/mapping_Ingres.xml
Normal file
216
main/plugins/org.talend.core.runtime/mappings/mapping_Ingres.xml
Normal file
@@ -0,0 +1,216 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,211 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
# 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
|
||||
@@ -58,6 +58,10 @@ 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$
|
||||
|
||||
@@ -16,6 +16,7 @@ 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;
|
||||
|
||||
@@ -157,7 +158,7 @@ public interface ILibraryManagerService extends IService {
|
||||
|
||||
public void clearCache(boolean cleanIndex);
|
||||
|
||||
public void deployLibsFromCustomComponents();
|
||||
public void deployLibsFromCustomComponents(File componentFolder, List<ModuleNeeded> modulesNeeded);
|
||||
|
||||
@Deprecated
|
||||
public Set<String> list(boolean withComponent, IProgressMonitor... monitorWrap);
|
||||
|
||||
@@ -34,6 +34,9 @@ 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$
|
||||
|
||||
@@ -347,8 +347,7 @@ public enum EDatabaseTypeName {
|
||||
isSupport = isSupportODBC;
|
||||
} else if (EDatabaseTypeName.SAS == this) {
|
||||
isSupport = false;
|
||||
} else if (EDatabaseTypeName.INGRES == this || EDatabaseTypeName.INTERBASE == this || EDatabaseTypeName.VECTORWISE == this
|
||||
|| EDatabaseTypeName.PARACCEL == this) {
|
||||
} else if (EDatabaseTypeName.INTERBASE == this || EDatabaseTypeName.PARACCEL == this) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -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.3.jar" }),
|
||||
DRIVER_V2("Driver v2", new String[] { "redshift-jdbc42-2.1.0.10.jar" }),
|
||||
DRIVER_V1("Driver v1", new String[] { "redshift-jdbc42-no-awssdk-1.2.55.1083.jar" });
|
||||
|
||||
private String displayName;
|
||||
|
||||
@@ -112,6 +112,13 @@ 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$
|
||||
@@ -421,6 +428,8 @@ public enum EDatabaseConnTemplate {
|
||||
case PSQL:
|
||||
case PLUSPSQL:
|
||||
case GREENPLUM:
|
||||
case INGRES:
|
||||
case VECTORWISE:
|
||||
case FIREBIRD:
|
||||
case JAVADB_EMBEDED:
|
||||
case JAVADB_JCCJDBC:
|
||||
@@ -447,6 +456,8 @@ public enum EDatabaseConnTemplate {
|
||||
case SYBASEASE_16_SA:
|
||||
case IBMDB2:
|
||||
case IBMDB2_ZOS:
|
||||
case INGRES:
|
||||
case VECTORWISE:
|
||||
case MSSQL:
|
||||
case INFORMIX:
|
||||
case TERADATA:
|
||||
|
||||
@@ -27,25 +27,20 @@ import org.talend.core.database.conn.DatabaseConnConstants;
|
||||
public enum EDatabaseVersion4Drivers {
|
||||
// access
|
||||
ACCESS_JDBC(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, new String[] {
|
||||
"jackcess-2.1.0.jar", "ucanaccess-2.0.9.5.jar", "commons-lang-2.6.jar", "commons-logging-1.1.1.jar", "hsqldb.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
"jackcess-encrypt-2.1.0.jar", "bcprov-jdk15on-1.51.jar", "talend-ucanaccess-utils-1.0.0.jar" })),
|
||||
"jackcess-2.1.12.jar", "ucanaccess-2.0.9.5.jar", "commons-lang-2.6.jar", "commons-logging-1.1.3.jar", "hsqldb.jar", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
"jackcess-encrypt-2.1.4.jar", "bcprov-jdk15on-1.70.jar", "talend-ucanaccess-utils-1.0.0.jar" })),
|
||||
ACCESS_2003(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, "Access 2003", "Access_2003")), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
ACCESS_2007(new DbVersion4Drivers(EDatabaseTypeName.ACCESS, "Access 2007", "Access_2007")), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
// oracle
|
||||
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", "ORACLE_12", "ojdbc7.jar")),
|
||||
EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM }, "Oracle 12 (Deprecated)", "ORACLE_12",
|
||||
"ojdbc7.jar")),
|
||||
ORACLE_11(new DbVersion4DriversForOracle11(new EDatabaseTypeName[] { EDatabaseTypeName.ORACLEFORSID,
|
||||
EDatabaseTypeName.ORACLESN, EDatabaseTypeName.ORACLE_OCI, EDatabaseTypeName.ORACLE_CUSTOM },
|
||||
"Oracle 11", "ORACLE_11", new String[] { DbVersion4DriversForOracle11.DRIVER_1_5, //$NON-NLS-1$ //$NON-NLS-2$
|
||||
"Oracle 11 (Deprecated)", "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$
|
||||
@@ -60,7 +55,7 @@ public enum EDatabaseVersion4Drivers {
|
||||
|
||||
//
|
||||
JAVADB_EMBEDED(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_EMBEDED, "derby.jar")), //$NON-NLS-1$
|
||||
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlitejdbc-v056.jar")), //$NON-NLS-1$
|
||||
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlite-jdbc-3.40.0.0.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$
|
||||
@@ -83,7 +78,7 @@ 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.29.jar", "slf4j-log4j12-1.7.29.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
|
||||
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.7.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.7.jar", "asm-9.1.jar",
|
||||
@@ -113,6 +108,8 @@ 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",
|
||||
|
||||
@@ -293,7 +293,8 @@ public final class MetadataToolHelper {
|
||||
boolean isKeyword = KeywordsValidator.isKeyword(originalColumnName);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int[] charBit = new int[columnName.length()];
|
||||
// keep charBit length align with the length of originalColumnName (StringBuilder)
|
||||
int[] charBit = new int[originalColumnName.length()];
|
||||
if (!isKeyword) {
|
||||
boolean isAllowSpecific = isAllowSpecificCharacters();
|
||||
|
||||
|
||||
@@ -19,7 +19,8 @@ public class SparkBatchMetadataTalendTypeFilter extends SparkMetadataTalendTypeF
|
||||
"tJDBCInput",
|
||||
"tJDBCOutput",
|
||||
"tLogRow",
|
||||
"tMongoDBInput",
|
||||
"tAvroInput",
|
||||
"tMongoDBInput",
|
||||
"tMongoDBOutput",
|
||||
"tSqlRow"
|
||||
);
|
||||
|
||||
@@ -433,6 +433,16 @@ 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());
|
||||
|
||||
@@ -1115,7 +1115,9 @@ public class RepositoryToComponentProperty {
|
||||
|| EDatabaseConnTemplate.SAPHana.getDBDisplayName().equals(databaseType)
|
||||
|| EDatabaseConnTemplate.MSSQL.getDBDisplayName().equals(databaseType)) {
|
||||
if (dbVersionString != null) {
|
||||
driverValue = dbVersionString.toUpperCase();
|
||||
if (EDatabaseVersion4Drivers.getDbVersionName(databaseType, dbVersionString) != null) {
|
||||
driverValue = dbVersionString.toUpperCase();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isContextMode(connection, dbVersionString)) {
|
||||
|
||||
@@ -18,6 +18,7 @@ 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;
|
||||
@@ -509,7 +510,7 @@ public abstract class AbstractNode implements INode {
|
||||
}
|
||||
for (String key : childParameters.keySet()) {
|
||||
IElementParameter param = childParameters.get(key);
|
||||
if (param.getName().equals(name)) {
|
||||
if (StringUtils.equals(name, param.getName())) {
|
||||
return param;
|
||||
}
|
||||
}
|
||||
@@ -676,7 +677,8 @@ public abstract class AbstractNode implements INode {
|
||||
return null;
|
||||
}
|
||||
for (IMetadataTable table : metadataList) {
|
||||
if (table.getAttachedConnector().equals(connector)) {
|
||||
String attachedConnector = table.getAttachedConnector();
|
||||
if (attachedConnector != null && attachedConnector.equals(connector)) {
|
||||
return table;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ public enum EParameterFieldType {
|
||||
SCHEMA_XPATH_QUERYS,
|
||||
QUERYSTORE_TYPE,
|
||||
GUESS_SCHEMA,
|
||||
DYNAMIC_GUESS_SCHEMA,
|
||||
PROPERTY_TYPE,
|
||||
EXTERNAL,
|
||||
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 = "libraries";//$NON-NLS-1$
|
||||
public static final String TALEND_LIB_REPOSITORY = "studio-libraries";//$NON-NLS-1$
|
||||
|
||||
private static TalendLibsServerManager manager = null;
|
||||
|
||||
|
||||
@@ -203,4 +203,12 @@ public interface ITalendCorePrefConstants {
|
||||
|
||||
public static final boolean NEXUS_SHARE_LIBS_DEFAULT = false;
|
||||
|
||||
public static final String PERSPECTIVE_PERSIST_SCOPE = "PERSPECTIVE_PERSIST_SCOPE"; //$NON-NLS-1$
|
||||
|
||||
public static final String PERSPECTIVE_PERSIST_SCOPE_PROJECT_AND_BRANCH = "PROJECT_AND_BRANCH"; //$NON-NLS-1$
|
||||
|
||||
public static final String PERSPECTIVE_PERSIST_SCOPE_STUDIO = "STUDIO"; //$NON-NLS-1$
|
||||
|
||||
public static final String PERSPECTIVE_PERSIST_SCOPE_DEFAULT = PERSPECTIVE_PERSIST_SCOPE_PROJECT_AND_BRANCH;
|
||||
|
||||
}
|
||||
|
||||
@@ -655,4 +655,9 @@ ItemAnalysisReportManager.Warning.message=Can't run a new analysis now. Wait for
|
||||
AnalysisReportAccessDialog.shellTitle=Project analysis
|
||||
AnalysisReportAccessDialog.generateSuccess=Project analysis completed successfully.
|
||||
AnalysisReportAccessDialog.completeReportAvailable=Check the report
|
||||
AnalysisReportAccessDialog.accessReport=here
|
||||
AnalysisReportAccessDialog.accessReport=here
|
||||
AbstractPomTemplateProjectSettingPage.defaultTabLabel=Default
|
||||
AbstractPomTemplateProjectSettingPage.customTabLabel=Custom
|
||||
AbstractPomTemplateProjectSettingPage.previewButton=Preview
|
||||
AbstractPomTemplateProjectSettingPage.previewButtonTip=Preview the complete customized project POM settings.
|
||||
AbstractPomTemplateProjectSettingPage.learnMoreLink=Learn more
|
||||
@@ -281,7 +281,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=\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.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.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
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.runtime.projectsetting;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.custom.CTabFolder;
|
||||
import org.eclipse.swt.custom.CTabItem;
|
||||
import org.eclipse.swt.custom.StyledText;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.program.Program;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.ui.forms.events.HyperlinkAdapter;
|
||||
import org.eclipse.ui.forms.events.HyperlinkEvent;
|
||||
import org.eclipse.ui.forms.widgets.Hyperlink;
|
||||
import org.talend.core.runtime.CoreRuntimePlugin;
|
||||
import org.talend.core.runtime.i18n.Messages;
|
||||
import org.talend.repository.model.IProxyRepositoryFactory;
|
||||
|
||||
public abstract class AbstractPomTemplateProjectSettingPage extends AbstractProjectSettingPage {
|
||||
|
||||
private static final Color COLOR_LINK = new Color(null, 0, 0, 255);
|
||||
|
||||
protected StyledText defaultText;
|
||||
|
||||
protected StyledText customText;
|
||||
|
||||
private boolean isDefaultPresentedForScriptTxt = false;
|
||||
|
||||
private boolean readonly;
|
||||
|
||||
public AbstractPomTemplateProjectSettingPage() {
|
||||
super();
|
||||
IProxyRepositoryFactory factory = CoreRuntimePlugin.getInstance().getProxyRepositoryFactory();
|
||||
readonly = factory.isUserReadOnlyOnCurrentProject();
|
||||
}
|
||||
|
||||
protected boolean isReadonly() {
|
||||
return readonly;
|
||||
}
|
||||
|
||||
public void setReadonly(boolean readonly) {
|
||||
this.readonly = readonly;
|
||||
}
|
||||
|
||||
protected abstract String getPreferenceKey();
|
||||
|
||||
protected StyledText getScriptTxt() {
|
||||
return customText;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Control createContents(Composite p) {
|
||||
Composite parent = (Composite) super.createContents(p);
|
||||
|
||||
Composite noteComposite = new Composite(parent, SWT.NONE);
|
||||
noteComposite.setLayout(new GridLayout(2, false));
|
||||
|
||||
Label scriptLabel = new Label(noteComposite, SWT.NONE);
|
||||
String headerMessages = getHeaderMessage();
|
||||
scriptLabel.setText(headerMessages);
|
||||
|
||||
Hyperlink link = new Hyperlink(noteComposite, SWT.NONE);
|
||||
link.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.learnMoreLink")); //$NON-NLS-1$
|
||||
link.setUnderlined(true);
|
||||
link.setForeground(COLOR_LINK);
|
||||
link.addHyperlinkListener(new HyperlinkAdapter() {
|
||||
|
||||
@Override
|
||||
public void linkActivated(HyperlinkEvent e) {
|
||||
Program.launch(getMoreInfoUrl());
|
||||
}
|
||||
});
|
||||
|
||||
CTabFolder tabFolder = new CTabFolder(parent, SWT.BORDER);
|
||||
// tabFolder.setTabPosition(SWT.BOTTOM);
|
||||
tabFolder.setSimple(false);
|
||||
|
||||
GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
|
||||
tabFolder.setLayoutData(data);
|
||||
data.heightHint = 280;
|
||||
data.minimumHeight = 280;
|
||||
data.widthHint = 500;
|
||||
data.minimumWidth = 500;
|
||||
|
||||
CTabItem defaultTabItem = new CTabItem(tabFolder, SWT.NULL);
|
||||
defaultTabItem.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.defaultTabLabel")); //$NON-NLS-1$
|
||||
CTabItem customTabItem = new CTabItem(tabFolder, SWT.NULL);
|
||||
customTabItem.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.customTabLabel")); //$NON-NLS-1$
|
||||
|
||||
tabFolder.setSelection(defaultTabItem);
|
||||
|
||||
int style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL;
|
||||
defaultText = new StyledText(tabFolder, style);
|
||||
defaultText.setText(getDefaultText());
|
||||
defaultText.setBackground(new Color(null, 233, 233, 233));
|
||||
defaultText.setEditable(false);
|
||||
defaultTabItem.setControl(defaultText);
|
||||
|
||||
customText = new StyledText(tabFolder, style);
|
||||
customText.setText(getCustomText());
|
||||
customText.setEditable(!isReadonly());
|
||||
customTabItem.setControl(customText);
|
||||
customText.addModifyListener(new ModifyListener() {
|
||||
|
||||
@Override
|
||||
public void modifyText(ModifyEvent e) {
|
||||
isDefaultPresentedForScriptTxt = false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Button preview = new Button(parent, SWT.NONE);
|
||||
preview.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.previewButton")); //$NON-NLS-1$
|
||||
preview.setToolTipText(Messages.getString("AbstractPomTemplateProjectSettingPage.previewButtonTip")); //$NON-NLS-1$
|
||||
preview.addSelectionListener(new SelectionAdapter() {
|
||||
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
checkModel(true);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return parent;
|
||||
}
|
||||
|
||||
protected abstract String getHeaderMessage();
|
||||
|
||||
protected abstract String getDefaultText();
|
||||
|
||||
protected String getCustomText() {
|
||||
return getPreferenceStore().getString(getPreferenceKey());
|
||||
}
|
||||
|
||||
protected abstract boolean checkModel(boolean preview);
|
||||
|
||||
protected abstract String getMoreInfoUrl();
|
||||
|
||||
@Override
|
||||
protected void performDefaults() {
|
||||
super.performDefaults();
|
||||
if (customText != null && !customText.isDisposed()) {
|
||||
isDefaultPresentedForScriptTxt = true;
|
||||
customText.setText(getPreferenceStore().getDefaultString(getPreferenceKey()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performOk() {
|
||||
boolean ok = super.performOk();
|
||||
if (customText != null && !customText.isDisposed()) {
|
||||
if (isDefaultPresentedForScriptTxt) {
|
||||
getPreferenceStore().setToDefault(getPreferenceKey());
|
||||
return ok;
|
||||
}
|
||||
if (!checkModel(false)) {
|
||||
return false;
|
||||
}
|
||||
getPreferenceStore().setValue(getPreferenceKey(), customText.getText());
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -60,6 +60,8 @@ public interface IProjectSettingTemplateConstants {
|
||||
|
||||
final static String PROJECT_TEMPLATE_FILE_NAME = "pom_project_template.xml";
|
||||
|
||||
final static String PROJECT_CUSTOM_TEMPLATE_FILE_NAME = "pom_project_custom_template.xml";
|
||||
|
||||
final static String MAVEN_USER_SETTING_TEMPLATE_FILE_NAME = "maven_user_settings.xml";
|
||||
|
||||
/*
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.runtime.projectsetting;
|
||||
|
||||
import org.eclipse.jface.dialogs.Dialog;
|
||||
import org.eclipse.jface.dialogs.IDialogConstants;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.custom.StyledText;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
|
||||
public class PomPreviewDialog extends Dialog {
|
||||
|
||||
private String title;
|
||||
|
||||
private String content;
|
||||
|
||||
public PomPreviewDialog(Shell parentShell, String title, String content) {
|
||||
super(parentShell);
|
||||
this.title = title;
|
||||
this.content = content;
|
||||
setShellStyle(getShellStyle() | SWT.RESIZE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureShell(Shell newShell) {
|
||||
super.configureShell(newShell);
|
||||
newShell.setText(title);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Control createDialogArea(Composite parent) {
|
||||
Composite composite = (Composite) super.createDialogArea(parent);
|
||||
GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
|
||||
data.heightHint = 280;
|
||||
data.minimumHeight = 1000;
|
||||
data.widthHint = 500;
|
||||
data.minimumWidth = 1100;
|
||||
composite.setLayoutData(data);
|
||||
|
||||
StyledText text = new StyledText(composite, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
|
||||
text.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
|
||||
text.setText(content);
|
||||
text.setEditable(false);
|
||||
|
||||
return composite;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createButtonsForButtonBar(Composite parent) {
|
||||
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,234 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.runtime.util;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.talend.commons.CommonsPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.generation.JavaUtils;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.process.EParameterFieldType;
|
||||
import org.talend.core.model.process.IProcess;
|
||||
import org.talend.core.model.process.JobInfo;
|
||||
import org.talend.core.model.properties.JobletProcessItem;
|
||||
import org.talend.core.model.properties.ProcessItem;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.runtime.CoreRuntimePlugin;
|
||||
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
import org.talend.designer.runprocess.IProcessor;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
public class ModuleAccessHelper {
|
||||
|
||||
private static final String FORMAT_ADD_OPPENS = "--add-opens=@=ALL-UNNAMED"; //$NON-NLS-1$
|
||||
|
||||
private static final String CLASS_PREVIEW_PROCESS = "org.talend.designer.component.preview.shadow.PreviewComponentDataProcess"; //$NON-NLS-1$
|
||||
|
||||
private static final String CLASS_GUESS_SCHEMA_PROCESS = "org.talend.designer.core.ui.editor.properties.controllers.AbstractGuessSchemaProcess"; //$NON-NLS-1$
|
||||
|
||||
private static Properties PROPS;
|
||||
|
||||
public static Properties getProperties() {
|
||||
if (PROPS == null) {
|
||||
PROPS = new Properties();
|
||||
try (InputStream input = getConfigFileURL().openStream()) {
|
||||
PROPS.load(input);
|
||||
} catch (IOException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
Optional.ofNullable(System.getProperty("internal.custom.modules")).filter(StringUtils::isNotBlank)
|
||||
.ifPresent(modules -> put("GLOBAL", modules));
|
||||
|
||||
List<Project> allProjects = new ArrayList<>();
|
||||
allProjects.add(ProjectManager.getInstance().getCurrentProject());
|
||||
allProjects.addAll(ProjectManager.getInstance().getAllReferencedProjects(true));
|
||||
for (Project ref : allProjects) {
|
||||
ProjectPreferenceManager prefManager = new ProjectPreferenceManager(ref, CoreRuntimePlugin.PLUGIN_ID, false);
|
||||
String settings = prefManager.getValue(JavaUtils.CUSTOM_ACCESS_SETTINGS);
|
||||
if (StringUtils.isNotBlank(settings)) {
|
||||
Properties customProps = new Properties();
|
||||
try {
|
||||
customProps.load(new ByteArrayInputStream(settings.getBytes()));
|
||||
customProps.entrySet().stream().filter(en -> StringUtils.isNotBlank((String) en.getValue()))
|
||||
.forEach(en -> put((String) en.getKey(), (String) en.getValue()));
|
||||
|
||||
} catch (IOException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return PROPS;
|
||||
}
|
||||
|
||||
private static void put(String key, String value) {
|
||||
PROPS.put(key, PROPS.containsKey(key) ? PROPS.getProperty(key) + "," + value : value);
|
||||
}
|
||||
|
||||
public static URL getConfigFileURL() {
|
||||
return Platform.getBundle(CoreRuntimePlugin.PLUGIN_ID).getEntry("resources/module_access.properties"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
private static boolean containsKey(String key) {
|
||||
return getProperties().containsKey(key);
|
||||
}
|
||||
|
||||
private static Set<String> getModules(String key) {
|
||||
String modules = getProperties().getProperty(key);
|
||||
if (modules != null) {
|
||||
return Stream.of(modules.split(",")).map(module -> FORMAT_ADD_OPPENS.replace("@", module.trim())) //$NON-NLS-1$ //$NON-NLS-2$
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
private static boolean allowJavaInternalAcess(Property property) {
|
||||
String allow = System.getProperty(JavaUtils.ALLOW_JAVA_INTERNAL_ACCESS);
|
||||
if (allow != null) {
|
||||
return Boolean.valueOf(allow);
|
||||
}
|
||||
if (CommonsPlugin.isJUnitTest() || CommonsPlugin.isJunitWorking()) {
|
||||
return true;
|
||||
}
|
||||
Project project;
|
||||
if (property != null) {
|
||||
project = ProjectManager.getInstance()
|
||||
.getProjectFromProjectTechLabel(ProjectManager.getInstance().getProject(property).getTechnicalLabel());
|
||||
} else {
|
||||
project = ProjectManager.getInstance().getCurrentProject();
|
||||
}
|
||||
ProjectPreferenceManager preferenceManager = new ProjectPreferenceManager(project, CoreRuntimePlugin.PLUGIN_ID, false);
|
||||
return preferenceManager.getBoolean(JavaUtils.ALLOW_JAVA_INTERNAL_ACCESS);
|
||||
}
|
||||
|
||||
public static Set<String> getModuleAccessVMArgsForProcessor(IProcessor processor) {
|
||||
Property property = processor.getProperty();
|
||||
if (property == null) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
if (!allowJavaInternalAcess(property)) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
if (isPreviewProcess(processor)) {
|
||||
// add all for preview process
|
||||
return getProperties().entrySet().stream().filter(en -> StringUtils.isNotBlank((String) en.getValue()))
|
||||
.flatMap(en -> getModules((String) en.getKey()).stream()).collect(Collectors.toSet());
|
||||
|
||||
}
|
||||
ProcessItem mainJobItem = (ProcessItem) property.getItem();
|
||||
Set<JobInfo> allJobInfos = new HashSet<>();
|
||||
allJobInfos.add(new JobInfo(mainJobItem, mainJobItem.getProcess().getDefaultContext()));
|
||||
allJobInfos.addAll(processor.getBuildChildrenJobsAndJoblets());
|
||||
return ModuleAccessHelper.getModuleAccessVMArgs(property, allJobInfos);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Set<String> getModuleAccessVMArgs(Property property, Set<JobInfo> allJobInfos) {
|
||||
if (property == null || property.getItem() == null || !allowJavaInternalAcess(property)) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
Set<String> vmArgs = new HashSet<>();
|
||||
boolean hasTck = false;
|
||||
for (JobInfo info : allJobInfos) {
|
||||
EList<NodeType> nodes = null;
|
||||
EList<ElementParameterType> parameters = null;
|
||||
if (info.getJobletProperty() != null) {
|
||||
JobletProcessItem item = (JobletProcessItem) info.getJobletProperty().getItem();
|
||||
if (item.getJobletProcess() != null) {
|
||||
nodes = item.getJobletProcess().getNode();
|
||||
if (item.getJobletProcess().getParameters() != null) {
|
||||
parameters = item.getJobletProcess().getParameters().getElementParameter();
|
||||
}
|
||||
}
|
||||
} else if (info.getProcessItem() != null && info.getProcessItem().getProcess() != null) {
|
||||
nodes = info.getProcessItem().getProcess().getNode();
|
||||
if (info.getProcessItem().getProcess().getParameters() != null) {
|
||||
parameters = info.getProcessItem().getProcess().getParameters().getElementParameter();
|
||||
}
|
||||
}
|
||||
if (nodes != null) {
|
||||
nodes.stream().filter(node -> containsKey(node.getComponentName()))
|
||||
.forEach(node -> vmArgs.addAll(getModules(node.getComponentName())));
|
||||
}
|
||||
if (parameters != null) {
|
||||
// FIXME currently it depends on spark version, refine the condition if needed
|
||||
Optional<ElementParameterType> optional = parameters.stream()
|
||||
.filter(p -> "SUPPORTED_SPARK_VERSION".equals(p.getName()) && containsKey(p.getValue())).findFirst();
|
||||
if (optional.isPresent()) {
|
||||
vmArgs.addAll(getModules(optional.get().getValue()));
|
||||
}
|
||||
}
|
||||
if (!hasTck) {
|
||||
hasTck = nodes.stream()
|
||||
.anyMatch(node -> node.getElementParameter().stream()
|
||||
.anyMatch(p -> ((ElementParameterType) p).getField() != null
|
||||
&& EParameterFieldType.TECHNICAL.getName().equals(((ElementParameterType) p).getField())
|
||||
&& ((ElementParameterType) p).getName().equals("TACOKIT_COMPONENT_ID")));
|
||||
}
|
||||
}
|
||||
if (hasTck) {
|
||||
vmArgs.addAll(getModules("TCK_COMMON_ARGS"));
|
||||
}
|
||||
|
||||
if (getProperties().containsKey("GLOBAL")) {
|
||||
vmArgs.addAll(getModules("GLOBAL"));
|
||||
}
|
||||
|
||||
return vmArgs;
|
||||
}
|
||||
|
||||
public static void reset() {
|
||||
PROPS = null;
|
||||
}
|
||||
|
||||
private static boolean isPreviewProcess(IProcessor processor) {
|
||||
IProcess process = processor.getProcess();
|
||||
if (process == null) {
|
||||
return false;
|
||||
}
|
||||
Property property = processor.getProperty();
|
||||
if ("ID".equals(property.getId()) && "Mock_job_for_Guess_schema".equals(property.getLabel())) {
|
||||
return true;
|
||||
}
|
||||
Class<?> clazz = process.getClass();
|
||||
// preview process
|
||||
if (CLASS_PREVIEW_PROCESS.equals(clazz.getName()) || CLASS_PREVIEW_PROCESS.equals(clazz.getSuperclass().getName())) {
|
||||
return true;
|
||||
}
|
||||
// guess schema process
|
||||
if (CLASS_GUESS_SCHEMA_PROCESS.equals(clazz.getSuperclass().getName())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.core.service;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.talend.commons.CommonsPlugin;
|
||||
import org.talend.core.IService;
|
||||
|
||||
/**
|
||||
* @author bhe created on Jan 19, 2023
|
||||
*
|
||||
*/
|
||||
public interface IComponentJsonformGeneratorService extends IService {
|
||||
|
||||
/**
|
||||
* System property to enable whether to generate jsonform or not, not enabled by default
|
||||
*/
|
||||
public static final String JSONFORM_GENERATE_PROP = "jsonform.generate";
|
||||
|
||||
public static final String JSONFORM_GENERATE_FOLDER_PROP = "jsonform.generate.dir";
|
||||
|
||||
public static final String JSONFORM_GENERATE_FOLDER_NAME_PROP = "jsonforms";
|
||||
|
||||
/**
|
||||
* Generate jsonform json files for all of components
|
||||
*
|
||||
* <pre>
|
||||
* Folder structure
|
||||
*
|
||||
* targetFolder
|
||||
* --Category
|
||||
* ----tRowgenerator.json
|
||||
* ----tLogRow.json
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @param targetFolder all of jsonform jsons will be saved into the targetFolder
|
||||
*/
|
||||
void generate(File targetFolder);
|
||||
|
||||
/**
|
||||
* If enabled by -Djsonform.generate or by running junit, then generate jsonform for components, otherwise will not generate.
|
||||
*
|
||||
* @return enabled or not
|
||||
*/
|
||||
public static boolean isEnabled() {
|
||||
return Boolean.getBoolean(JSONFORM_GENERATE_PROP) || CommonsPlugin.isJUnitTest() || CommonsPlugin.isJunitWorking();
|
||||
}
|
||||
|
||||
public static String getDirectoryFromProperty() {
|
||||
return System.getProperty(JSONFORM_GENERATE_FOLDER_PROP);
|
||||
}
|
||||
}
|
||||
@@ -75,4 +75,6 @@ public interface IESBMicroService extends IService {
|
||||
* @return
|
||||
*/
|
||||
IBuildJobHandler createBuildJobHandler(ProcessItem itemToExport, String version, String context, Map exportChoiceMap);
|
||||
|
||||
public List<String> getExternalizedDependencies();
|
||||
}
|
||||
|
||||
@@ -81,6 +81,8 @@ public interface ITestContainerProviderService extends IService {
|
||||
|
||||
public List<ProcessItem> getAllTestContainers(ProcessItem item);
|
||||
|
||||
public List<ProcessItem> getAllTestContainers(ProcessItem item, boolean latest, boolean excludeDeleted);
|
||||
|
||||
public void copyDataSetFiles(IProcess process, IPath srcPath);
|
||||
|
||||
public String getTestDataValue(IProcess process, String instance, String testData);
|
||||
|
||||
@@ -438,6 +438,8 @@ public final class TalendQuoteUtils {
|
||||
return QUOTATION_MARK;
|
||||
case IBMDB2:
|
||||
return QUOTATION_MARK;
|
||||
case INGRES:
|
||||
return QUOTATION_MARK;
|
||||
case MSODBC:
|
||||
return QUOTATION_MARK;
|
||||
case MSSQL:
|
||||
|
||||
@@ -208,7 +208,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
|
||||
PropertiesWizardPage.Description=\u8AAC\u660E
|
||||
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u306E\u7A7A\u767D\u306F\u907F\u3051\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u306E\u7A7A\u767D\u306F\u907F\u3051\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.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.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
|
||||
|
||||
@@ -82,6 +82,7 @@ import org.eclipse.nebula.widgets.nattable.viewport.ViewportLayer;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.MouseEvent;
|
||||
import org.eclipse.swt.events.MouseListener;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.graphics.Font;
|
||||
import org.eclipse.swt.graphics.GC;
|
||||
import org.eclipse.swt.graphics.Point;
|
||||
@@ -89,6 +90,7 @@ import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.commons.ui.runtime.ColorConstants;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.model.process.IContext;
|
||||
import org.talend.core.model.process.IContextManager;
|
||||
@@ -306,14 +308,15 @@ public class ContextTreeTable {
|
||||
|
||||
attachCheckColumnTip(natTable);
|
||||
|
||||
final Color backgroundColor = ColorConstants.getTableBackgroundColor();
|
||||
// global settings only effect on body and default region, so should set other regions' color separately.
|
||||
natTable.setBackground(GUIHelper.COLOR_WHITE);
|
||||
natTable.setBackground(backgroundColor);
|
||||
natTable.addConfiguration(new AbstractRegistryConfiguration() {
|
||||
|
||||
@Override
|
||||
public void configureRegistry(IConfigRegistry configRegistry) {
|
||||
Style cellStyle = new Style();
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR, GUIHelper.COLOR_WHITE);
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR, backgroundColor);
|
||||
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_STYLE, cellStyle, DisplayMode.NORMAL,
|
||||
GridRegion.COLUMN_HEADER);
|
||||
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_STYLE, cellStyle, DisplayMode.NORMAL,
|
||||
@@ -550,8 +553,8 @@ public class ContextTreeTable {
|
||||
private void addCustomSelectionBehaviour(SelectionLayer layer) {
|
||||
// need control the selection style when select the rows.
|
||||
DefaultSelectionStyleConfiguration selectStyleConfig = new DefaultSelectionStyleConfiguration();
|
||||
selectStyleConfig.selectedHeaderBgColor = GUIHelper.COLOR_WIDGET_BACKGROUND;
|
||||
selectStyleConfig.selectedHeaderFgColor = GUIHelper.COLOR_BLACK;
|
||||
selectStyleConfig.selectedHeaderBgColor = ColorConstants.getTableBackgroundColor();
|
||||
selectStyleConfig.selectedHeaderFgColor = ColorConstants.getTableForegroundColor();
|
||||
selectStyleConfig.selectedHeaderFont = GUIHelper.DEFAULT_FONT;
|
||||
layer.addConfiguration(selectStyleConfig);
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.talend.commons.ui.runtime.ColorConstants;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.commons.ui.runtime.swt.calendar.SWTCalendarWithTime;
|
||||
import org.talend.commons.ui.swt.proposal.ContentProposalAdapterExtended;
|
||||
@@ -61,7 +62,7 @@ public class PatternCalendar extends SWTCalendarWithTime {
|
||||
gridLayout.marginHeight = 5;
|
||||
composite.setLayout(gridLayout);
|
||||
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||
composite.setBackground(getDisplay().getSystemColor(SWT.COLOR_WHITE));
|
||||
composite.setBackground(ColorConstants.getTableBackgroundColor());
|
||||
|
||||
Label patternLabel = new Label(composite, SWT.NONE);
|
||||
patternLabel.setText(Messages.getString("PatternCalendar.pattern")); //$NON-NLS-1$
|
||||
@@ -71,6 +72,7 @@ public class PatternCalendar extends SWTCalendarWithTime {
|
||||
patternText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
patternText.addModifyListener(new ModifyListener() {
|
||||
|
||||
@Override
|
||||
public void modifyText(ModifyEvent e) {
|
||||
onPatternChange();
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ import org.eclipse.nebula.widgets.nattable.util.GUIHelper;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.graphics.GC;
|
||||
import org.eclipse.swt.graphics.Rectangle;
|
||||
import org.talend.commons.ui.runtime.ColorConstants;
|
||||
import org.talend.core.PluginChecker;
|
||||
import org.talend.core.model.metadata.types.ContextParameterJavaTypeManager;
|
||||
import org.talend.core.model.metadata.types.JavaTypesManager;
|
||||
@@ -115,7 +116,7 @@ public class ContextNatTableConfiguration extends AbstractRegistryConfiguration
|
||||
private void registerStyleRules(IConfigRegistry configRegistry) {
|
||||
// register the default cell fg/bg colour for the natTable
|
||||
Style cellStyleDefault = new Style();
|
||||
cellStyleDefault.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR, GUIHelper.COLOR_WHITE);
|
||||
cellStyleDefault.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR, ColorConstants.getTableBackgroundColor());
|
||||
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_STYLE, cellStyleDefault, DisplayMode.NORMAL,
|
||||
ContextTableConstants.COLUMN_TYPE_PROPERTY);
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.eclipse.nebula.widgets.nattable.style.VerticalAlignmentEnum;
|
||||
import org.eclipse.nebula.widgets.nattable.util.GUIHelper;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.graphics.Font;
|
||||
import org.talend.commons.ui.runtime.ColorConstants;
|
||||
|
||||
/**
|
||||
* created by ldong on Aug 26, 2014 Detailled comment
|
||||
@@ -34,12 +35,6 @@ import org.eclipse.swt.graphics.Font;
|
||||
*/
|
||||
public class ContextNatTableStyleConfiguration extends AbstractRegistryConfiguration {
|
||||
|
||||
public Color bgColor = GUIHelper.COLOR_WHITE;
|
||||
|
||||
public Color fgColor = GUIHelper.COLOR_BLACK;
|
||||
|
||||
public Color gradientBgColor = GUIHelper.COLOR_WHITE;
|
||||
|
||||
public Color gradientFgColor = GUIHelper.getColor(136, 212, 215);
|
||||
|
||||
public Font font = GUIHelper.DEFAULT_FONT;
|
||||
@@ -67,9 +62,9 @@ public class ContextNatTableStyleConfiguration extends AbstractRegistryConfigura
|
||||
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_PAINTER, cellPainter);
|
||||
|
||||
Style cellStyle = new Style();
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR, bgColor);
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.FOREGROUND_COLOR, fgColor);
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.GRADIENT_BACKGROUND_COLOR, gradientBgColor);
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR, ColorConstants.getTableBackgroundColor());
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.FOREGROUND_COLOR, ColorConstants.getTableForegroundColor());
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.GRADIENT_BACKGROUND_COLOR, ColorConstants.getTableBackgroundColor());
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.GRADIENT_FOREGROUND_COLOR, gradientFgColor);
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.FONT, font);
|
||||
cellStyle.setAttributeValue(CellStyleAttributes.HORIZONTAL_ALIGNMENT, hAlign);
|
||||
@@ -79,5 +74,7 @@ public class ContextNatTableStyleConfiguration extends AbstractRegistryConfigura
|
||||
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_STYLE, cellStyle);
|
||||
|
||||
configRegistry.registerConfigAttribute(CellConfigAttributes.DISPLAY_CONVERTER, new DefaultDisplayConverter());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import org.eclipse.swt.widgets.ToolBar;
|
||||
import org.eclipse.swt.widgets.ToolItem;
|
||||
import org.eclipse.ui.forms.IFormColors;
|
||||
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
|
||||
import org.talend.commons.ui.runtime.ITalendThemeService;
|
||||
import org.talend.commons.ui.runtime.image.EImage;
|
||||
import org.talend.commons.ui.runtime.image.ImageProvider;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
@@ -173,10 +174,10 @@ public class TalendTabbedPropertyTitle extends Composite implements ITalendTabbe
|
||||
helpComp.setVisible(false);
|
||||
|
||||
if (colorHelper.getTitleBackground() == null) {
|
||||
label.setBackground(new Color[] { factory.getColors().getColor(IFormColors.H_GRADIENT_END),
|
||||
factory.getColors().getColor(IFormColors.H_GRADIENT_START) }, new int[] { 100 }, true);
|
||||
titleLabelComp.setBackground(factory.getColors().getColor(IFormColors.H_GRADIENT_START));
|
||||
helpComp.setBackground(factory.getColors().getColor(IFormColors.H_GRADIENT_START));
|
||||
label.setBackground(new Color[] { getStartColor(),
|
||||
getEndColor() }, new int[] { 100 }, true);
|
||||
titleLabelComp.setBackground(getEndColor());
|
||||
helpComp.setBackground(getEndColor());
|
||||
} else {
|
||||
label.setBackground(colorHelper.getTitleBackground());
|
||||
titleLabelComp.setBackground(colorHelper.getTitleBackground());
|
||||
@@ -184,23 +185,33 @@ public class TalendTabbedPropertyTitle extends Composite implements ITalendTabbe
|
||||
}
|
||||
}
|
||||
|
||||
private Color getStartColor() {
|
||||
return ITalendThemeService.getColor("org.talend.core.repository.TAB_START_COLOR")
|
||||
.orElse(factory.getColors().getColor(IFormColors.H_GRADIENT_END));
|
||||
}
|
||||
|
||||
private Color getEndColor() {
|
||||
return ITalendThemeService.getColor("org.talend.core.repository.TAB_END_COLOR")
|
||||
.orElse(factory.getColors().getColor(IFormColors.H_GRADIENT_START));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param e
|
||||
*/
|
||||
protected void drawTitleBackground(PaintEvent e) {
|
||||
Rectangle bounds = getClientArea();
|
||||
if (colorHelper.getTitleBackground() == null) {
|
||||
label.setBackground(new Color[] { factory.getColors().getColor(IFormColors.H_GRADIENT_END),
|
||||
factory.getColors().getColor(IFormColors.H_GRADIENT_START) }, new int[] { 100 }, true);
|
||||
titleLabelComp.setBackground(factory.getColors().getColor(IFormColors.H_GRADIENT_START));
|
||||
helpComp.setBackground(factory.getColors().getColor(IFormColors.H_GRADIENT_START));
|
||||
label.setBackground(new Color[] { getStartColor(),
|
||||
getEndColor() }, new int[] { 100 }, true);
|
||||
titleLabelComp.setBackground(getEndColor());
|
||||
helpComp.setBackground(getEndColor());
|
||||
} else {
|
||||
label.setBackground(colorHelper.getTitleBackground());
|
||||
titleLabelComp.setBackground(colorHelper.getTitleBackground());
|
||||
helpComp.setBackground(colorHelper.getTitleBackground());
|
||||
}
|
||||
Color bg = factory.getColors().getColor(IFormColors.H_GRADIENT_END);
|
||||
Color gbg = factory.getColors().getColor(IFormColors.H_GRADIENT_START);
|
||||
Color bg = getStartColor();
|
||||
Color gbg = getEndColor();
|
||||
GC gc = e.gc;
|
||||
gc.setForeground(bg);
|
||||
gc.setBackground(gbg);
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package org.talend.core.ui.services;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.codec.binary.StringUtils;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.viewers.ISelection;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
@@ -11,7 +15,6 @@ import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.repository.IRepositoryViewObject;
|
||||
import org.talend.core.ui.properties.tab.IDynamicProperty;
|
||||
|
||||
@@ -40,7 +43,7 @@ public interface IGitUIProviderService extends IService {
|
||||
|
||||
void showSwithGitModePopup();
|
||||
|
||||
Map<Project, List<Project>> getInvalidReferencedProjects();
|
||||
List<ProjectBranchNode> getInvalidProjectBranchNodes();
|
||||
|
||||
public static IGitUIProviderService get() {
|
||||
GlobalServiceRegister register = GlobalServiceRegister.getDefault();
|
||||
@@ -50,4 +53,80 @@ public interface IGitUIProviderService extends IService {
|
||||
return register.getService(IGitUIProviderService.class);
|
||||
}
|
||||
|
||||
public static class ProjectBranchNode {
|
||||
|
||||
private String branch;
|
||||
|
||||
private String techLabel;
|
||||
|
||||
private ProjectBranchNode parent;
|
||||
|
||||
private Set<ProjectBranchNode> children = new HashSet<ProjectBranchNode>();
|
||||
|
||||
public ProjectBranchNode(String techLabel, String branch) {
|
||||
this.branch = branch;
|
||||
this.techLabel = techLabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the branch
|
||||
*/
|
||||
public String getBranch() {
|
||||
return branch;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the techLabel
|
||||
*/
|
||||
public String getTechLabel() {
|
||||
return techLabel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the parent
|
||||
*/
|
||||
public ProjectBranchNode getParent() {
|
||||
return parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the children
|
||||
*/
|
||||
public Collection<ProjectBranchNode> getChildren() {
|
||||
return Collections.unmodifiableCollection(children);
|
||||
}
|
||||
|
||||
public void addChild(ProjectBranchNode c) {
|
||||
c.parent = this;
|
||||
this.children.add(c);
|
||||
}
|
||||
|
||||
public boolean hasChildren() {
|
||||
return !this.children.isEmpty();
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
hash = hash * 31 + this.techLabel.hashCode();
|
||||
hash = hash * 31 + this.branch.hashCode();
|
||||
return hash;
|
||||
}
|
||||
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!(o instanceof ProjectBranchNode)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
ProjectBranchNode thatObj = (ProjectBranchNode) o;
|
||||
if (!StringUtils.equals(techLabel, thatObj.getTechLabel())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return StringUtils.equals(this.branch, thatObj.getBranch());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ public final class GenerateQueryFactory {
|
||||
case IBMDB2ZOS:
|
||||
case MYSQL:
|
||||
case AMAZON_AURORA:
|
||||
case INGRES:
|
||||
return new NonDatabaseDefaultQueryGenerator(dbType);
|
||||
case ORACLE_OCI:
|
||||
case ORACLEFORSID:
|
||||
|
||||
@@ -99,6 +99,8 @@ public class CorePreferenceInitializer extends AbstractPreferenceInitializer {
|
||||
CorePlugin.getDefault().getPreferenceStore()
|
||||
.setDefault(ITalendCorePrefConstants.FORBIDDEN_MAPPING_LENGTH_PREC_LOGIC, false);
|
||||
|
||||
CorePlugin.getDefault().getPreferenceStore().setDefault(ITalendCorePrefConstants.PERSPECTIVE_PERSIST_SCOPE,
|
||||
ITalendCorePrefConstants.PERSPECTIVE_PERSIST_SCOPE_DEFAULT);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.commons.exception.SystemException;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.core.model.general.ConnectionBean;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.process.INode;
|
||||
import org.talend.core.model.properties.Property;
|
||||
@@ -108,6 +109,8 @@ public interface ICoreTisService extends IService {
|
||||
void syncProjectUpdateSettingsFromServer(IProgressMonitor monitor, Project proj) throws Exception;
|
||||
|
||||
void refreshPatchesFolderCache();
|
||||
|
||||
boolean hasValidToken(ConnectionBean conn) throws Exception;
|
||||
|
||||
static ICoreTisService get() {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreTisService.class)) {
|
||||
|
||||
@@ -69,6 +69,8 @@ public interface IGITProviderService extends IService {
|
||||
*/
|
||||
void setStandardMode(boolean standardMode);
|
||||
|
||||
String getProjectLocationKey(Project project) throws PersistenceException;
|
||||
|
||||
/**
|
||||
* Get clean git repository url
|
||||
* @param project project
|
||||
|
||||
@@ -15,7 +15,7 @@ _UI_DataType_type=\u6570\u636E\u7C7B\u578B
|
||||
_UI_Package_type=\u5305
|
||||
_UI_Subsystem_type=\u5B50\u7CFB\u7EDF
|
||||
_UI_Model_type=\u6A21\u578B
|
||||
_UI_Feature_type=\u529F\u80FD
|
||||
_UI_Feature_type=\u7279\u6027
|
||||
_UI_StructuralFeature_type=\u7ED3\u6784\u7279\u5F81
|
||||
_UI_Constraint_type=\u7EA6\u675F
|
||||
_UI_Dependency_type=\u4F9D\u8D56\u5173\u7CFB
|
||||
@@ -27,7 +27,7 @@ _UI_MultiplicityRange_type=\u591A\u91CD\u6027\u8303\u56F4
|
||||
_UI_Stereotype_type=\u6784\u9020\u578B
|
||||
_UI_TaggedValue_type=\u6807\u8BB0\u503C
|
||||
_UI_Argument_type=\u53C2\u6570
|
||||
_UI_BehavioralFeature_type=\u529F\u80FD
|
||||
_UI_BehavioralFeature_type=\u7279\u6027
|
||||
_UI_CallAction_type=\u8C03\u7528\u64CD\u4F5C
|
||||
_UI_Event_type=\u4E8B\u4EF6
|
||||
_UI_Interface_type=\u754C\u9762
|
||||
@@ -344,7 +344,7 @@ _UI_ModelElement_changeRequest_feature=\u66F4\u6539\u8BF7\u6C42
|
||||
_UI_ModelElement_dasdlProperty_feature=Dasdl \u5C5E\u6027
|
||||
_UI_Namespace_ownedElement_feature=\u62E5\u6709\u7684\u5143\u7D20
|
||||
_UI_Classifier_isAbstract_feature=\u662F\u62BD\u8C61\u7684
|
||||
_UI_Classifier_feature_feature=\u529F\u80FD
|
||||
_UI_Classifier_feature_feature=\u7279\u6027
|
||||
_UI_Classifier_structuralFeature_feature=\u7ED3\u6784\u7279\u5F81
|
||||
_UI_Classifier_parameter_feature=\u53C2\u6570
|
||||
_UI_Classifier_generalization_feature=\u6982\u62EC
|
||||
@@ -425,7 +425,7 @@ _UI_Instance_valueSlot_feature=\u503C\u69FD
|
||||
_UI_Instance_classifier_feature=\u5206\u7C7B\u5668
|
||||
_UI_Slot_value_feature=\u503C
|
||||
_UI_Slot_object_feature=\u5BF9\u8C61
|
||||
_UI_Slot_feature_feature=\u529F\u80FD
|
||||
_UI_Slot_feature_feature=\u7279\u6027
|
||||
_UI_DataValue_value_feature=\u503C
|
||||
_UI_Object_slot_feature=\u69FD
|
||||
_UI_ResponsibleParty_responsibility_feature=\u8D23\u4EFB
|
||||
@@ -470,19 +470,19 @@ _UI_ExpressionNode_type_feature=\u7C7B\u578B
|
||||
_UI_ExpressionNode_featureNode_feature=\u7279\u5F81\u8282\u70B9
|
||||
_UI_ConstantNode_value_feature=\u503C
|
||||
_UI_ElementNode_modelElement_feature=\u6A21\u578B\u5143\u7D20
|
||||
_UI_FeatureNode_feature_feature=\u529F\u80FD
|
||||
_UI_FeatureNode_feature_feature=\u7279\u6027
|
||||
_UI_FeatureNode_argument_feature=\u53C2\u6570
|
||||
_UI_UniqueKey_feature_feature=\u529F\u80FD
|
||||
_UI_UniqueKey_feature_feature=\u7279\u6027
|
||||
_UI_UniqueKey_keyRelationship_feature=\u952E\u5173\u7CFB
|
||||
_UI_Index_isPartitioning_feature=\u4E3A\u5206\u533A
|
||||
_UI_Index_isSorted_feature=\u4E3A\u6392\u5E8F\u7684
|
||||
_UI_Index_isUnique_feature=\u4E3A\u552F\u4E00\u7684
|
||||
_UI_Index_indexedFeature_feature=\u7D22\u5F15\u529F\u80FD
|
||||
_UI_Index_spannedClass_feature=\u8DE8\u7C7B
|
||||
_UI_KeyRelationship_feature_feature=\u529F\u80FD
|
||||
_UI_KeyRelationship_feature_feature=\u7279\u6027
|
||||
_UI_KeyRelationship_uniqueKey_feature=\u552F\u4E00\u952E
|
||||
_UI_IndexedFeature_isAscending_feature=\u4E3A\u5347\u5E8F
|
||||
_UI_IndexedFeature_feature_feature=\u529F\u80FD
|
||||
_UI_IndexedFeature_feature_feature=\u7279\u6027
|
||||
_UI_IndexedFeature_index_feature=\u7D22\u5F15
|
||||
_UI_Site_containingSite_feature=\u5305\u542B\u7F51\u7AD9
|
||||
_UI_Site_containedSite_feature=\u5305\u542B\u7F51\u7AD9
|
||||
@@ -647,7 +647,7 @@ _UI_ClassifierFeatureMap_functionDescription_feature=\u529F\u80FD\u63CF\u8FF0
|
||||
_UI_ClassifierFeatureMap_classifierToFeature_feature=\u5206\u7C7B\u5668\u529F\u80FD
|
||||
_UI_ClassifierFeatureMap_classifierMap_feature=\u5206\u7C7B\u5668\u6620\u5C04
|
||||
_UI_ClassifierFeatureMap_classifier_feature=\u5206\u7C7B\u5668
|
||||
_UI_ClassifierFeatureMap_feature_feature=\u529F\u80FD
|
||||
_UI_ClassifierFeatureMap_feature_feature=\u7279\u6027
|
||||
_UI_ContentMap_cubeDeployment_feature=\u591A\u7EF4\u6570\u636E\u96C6\u90E8\u7F72
|
||||
_UI_Cube_isVirtual_feature=\u4E3A\u865A\u62DF\u7684
|
||||
_UI_Cube_cubeDimensionAssociation_feature=\u591A\u7EF4\u6570\u636E\u96C6\u7EF4\u5EA6\u5173\u8054
|
||||
|
||||
@@ -43,3 +43,4 @@ Export-Package: org.talend.designer.maven.aether,
|
||||
org.talend.designer.maven.aether.selector,
|
||||
org.talend.designer.maven.aether.util
|
||||
Bundle-Vendor: .Talend SA.
|
||||
|
||||
|
||||
@@ -12,9 +12,20 @@
|
||||
<properties>
|
||||
<maven.resolver.version>1.3.1</maven.resolver.version>
|
||||
<wagon.version>3.4.3</wagon.version>
|
||||
<slf4j.version>1.7.34</slf4j.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.resolver</groupId>
|
||||
<artifactId>maven-resolver-api</artifactId>
|
||||
@@ -72,7 +83,7 @@
|
||||
<dependency>
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>1.14.2</version>
|
||||
<version>1.15.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
|
||||
@@ -46,6 +46,8 @@ import org.talend.designer.maven.aether.util.TalendAetherProxySelector;
|
||||
*/
|
||||
public class RepositorySystemFactory {
|
||||
|
||||
private static Boolean ignoreArtifactDescriptorRepositories;
|
||||
|
||||
private static Map<LocalRepository, DefaultRepositorySystemSession> sessions = new HashMap<LocalRepository, DefaultRepositorySystemSession>();
|
||||
|
||||
private static DefaultRepositorySystemSession newRepositorySystemSession(String localRepositoryPath)
|
||||
@@ -61,6 +63,8 @@ public class RepositorySystemFactory {
|
||||
repositorySystemSession.setTransferListener(new ChainedTransferListener());
|
||||
repositorySystemSession.setRepositoryListener(new ChainedRepositoryListener());
|
||||
repositorySystemSession.setProxySelector(new TalendAetherProxySelector());
|
||||
repositorySystemSession.setIgnoreArtifactDescriptorRepositories(
|
||||
RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
|
||||
sessions.put(localRepo, repositorySystemSession);
|
||||
}
|
||||
|
||||
@@ -157,4 +161,13 @@ public class RepositorySystemFactory {
|
||||
doDeploy(content, pomFile, localRepository, repositoryId, repositoryUrl, userName, password, groupId, artifactId,
|
||||
classifier, extension, version);
|
||||
}
|
||||
|
||||
public static boolean isIgnoreArtifactDescriptorRepositories() {
|
||||
if (ignoreArtifactDescriptorRepositories == null) {
|
||||
ignoreArtifactDescriptorRepositories = Boolean.valueOf(
|
||||
System.getProperty("talend.studio.aether.ignoreArtifactDescriptorRepositories", Boolean.TRUE.toString()));
|
||||
}
|
||||
return ignoreArtifactDescriptorRepositories;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.designer.maven.aether.DummyDynamicMonitor;
|
||||
import org.talend.designer.maven.aether.IDynamicMonitor;
|
||||
import org.talend.designer.maven.aether.RepositorySystemFactory;
|
||||
import org.talend.designer.maven.aether.node.DependencyNode;
|
||||
import org.talend.designer.maven.aether.node.ExclusionNode;
|
||||
import org.talend.designer.maven.aether.selector.DynamicDependencySelector;
|
||||
@@ -513,6 +514,7 @@ public class DynamicDistributionAetherUtils {
|
||||
LocalRepository localRepo = new LocalRepository(repositoryPath);
|
||||
session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));
|
||||
session.setProxySelector(new TalendAetherProxySelector());
|
||||
session.setIgnoreArtifactDescriptorRepositories(RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
|
||||
|
||||
updateDependencySelector(session, monitor);
|
||||
|
||||
|
||||
@@ -34,7 +34,6 @@ import org.codehaus.plexus.PlexusContainerException;
|
||||
import org.eclipse.aether.DefaultRepositorySystemSession;
|
||||
import org.eclipse.aether.RepositorySystem;
|
||||
import org.eclipse.aether.RepositorySystemSession;
|
||||
import org.eclipse.aether.artifact.Artifact;
|
||||
import org.eclipse.aether.artifact.DefaultArtifact;
|
||||
import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
|
||||
import org.eclipse.aether.impl.DefaultServiceLocator;
|
||||
@@ -60,6 +59,7 @@ import org.talend.core.nexus.ArtifactRepositoryBean;
|
||||
import org.talend.core.nexus.NexusConstants;
|
||||
import org.talend.core.nexus.TalendLibsServerManager;
|
||||
import org.talend.core.runtime.maven.MavenArtifact;
|
||||
import org.talend.designer.maven.aether.RepositorySystemFactory;
|
||||
|
||||
public class MavenLibraryResolverProvider {
|
||||
|
||||
@@ -292,6 +292,7 @@ public class MavenLibraryResolverProvider {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
session.setProxySelector(new TalendAetherProxySelector());
|
||||
session.setIgnoreArtifactDescriptorRepositories(RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
|
||||
|
||||
return session;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<properties>
|
||||
<jackson.version>2.13.4</jackson.version>
|
||||
<jackson-databind.version>2.13.4.2</jackson-databind.version>
|
||||
<slf4j.version>1.7.32</slf4j.version>
|
||||
<slf4j.version>1.7.34</slf4j.version>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</properties>
|
||||
<repositories>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<properties>
|
||||
<tcomp.version>${component-runtime.version}</tcomp.version>
|
||||
<cxf.version>3.5.2</cxf.version>
|
||||
<cxf.version>3.5.5</cxf.version>
|
||||
<geronimo.version>1.0.2</geronimo.version>
|
||||
<jcache.version>1.0.5</jcache.version>
|
||||
<jcache_spec.version>1.0-alpha-1</jcache_spec.version>
|
||||
@@ -20,10 +20,10 @@
|
||||
<microprofile.version>1.2.1</microprofile.version>
|
||||
<owb.version>2.0.27</owb.version>
|
||||
<slf4j.version>1.7.34</slf4j.version>
|
||||
<tomcat.version>9.0.63</tomcat.version>
|
||||
<tomcat.version>9.0.68</tomcat.version>
|
||||
<xbean.version>4.20</xbean.version>
|
||||
<reload4j.version>1.2.22</reload4j.version>
|
||||
<log4j2.version>2.17.2</log4j2.version>
|
||||
<log4j2.version>2.18.0</log4j2.version>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</properties>
|
||||
<repositories>
|
||||
@@ -370,14 +370,8 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<artifactId>slf4j-reload4j</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ch.qos.reload4j</groupId>
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.12</version>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
<artifactId>karaf-maven-plugin-4-2-10-tos</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-jdk14</artifactId>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.karaf.tooling</groupId>
|
||||
<artifactId>karaf-maven-plugin</artifactId>
|
||||
@@ -52,7 +57,7 @@
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
<version>1.7.29</version>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.shared</groupId>
|
||||
@@ -169,7 +174,7 @@
|
||||
<dependency>
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>1.14.2</version>
|
||||
<version>1.15.3</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
|
||||
@@ -17,6 +17,11 @@
|
||||
</properties>
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
|
||||
@@ -134,6 +134,17 @@
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.20</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.sonatype.plexus</groupId>
|
||||
<artifactId>plexus-cipher</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-cipher</artifactId>
|
||||
<version>1.8</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
|
||||
@@ -56,8 +56,8 @@
|
||||
<version>17</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<!-- It fixes provided dependency scope to compile, because maven-dependency-plugin is setup to include
|
||||
only compile and runtime scopes, but provided is also required. It's not possible to setup plugin to
|
||||
<!-- It fixes provided dependency scope to compile, because maven-dependency-plugin is setup to include
|
||||
only compile and runtime scopes, but provided is also required. It's not possible to setup plugin to
|
||||
include all: compile, runtime and provided dependencies -->
|
||||
<dependency>
|
||||
<groupId>biz.aQute.bnd</groupId>
|
||||
@@ -76,7 +76,7 @@
|
||||
</dependencyManagement>
|
||||
|
||||
<dependencies>
|
||||
<!-- Dependencies in provided scope should be explicitly added as dependency in this module,
|
||||
<!-- Dependencies in provided scope should be explicitly added as dependency in this module,
|
||||
because provided scope is not transitive -->
|
||||
<dependency>
|
||||
<groupId>org.osgi</groupId>
|
||||
@@ -97,7 +97,7 @@
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.12</version>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
|
||||
@@ -11,6 +11,11 @@
|
||||
<packaging>pom</packaging>
|
||||
<dependencies>
|
||||
<!--add log4j dependency https://jira.talendforge.org/browse/TUP-29704 -->
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-slf4j-impl</artifactId>
|
||||
|
||||
@@ -65,6 +65,11 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-core</artifactId>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.32</version>
|
||||
<version>1.7.34</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<tcomp.version>1.50.1</tcomp.version>
|
||||
<tcomp.version>1.53.0</tcomp.version>
|
||||
<slf4j.version>1.7.34</slf4j.version>
|
||||
<reload4j.version>1.2.22</reload4j.version>
|
||||
</properties>
|
||||
@@ -99,7 +99,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<artifactId>slf4j-reload4j</artifactId>
|
||||
<version>${slf4j.version}</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
|
||||
@@ -35,7 +35,189 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!--crypto-utils 7.0.5 dependencies begin -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>2.7.3</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.datastax.oss</groupId>
|
||||
<artifactId>java-driver-bom</artifactId>
|
||||
<version>4.14.1</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.groovy</groupId>
|
||||
<artifactId>groovy-bom</artifactId>
|
||||
<version>3.0.12</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson</groupId>
|
||||
<artifactId>jackson-bom</artifactId>
|
||||
<version>2.13.3</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jersey</groupId>
|
||||
<artifactId>jersey-bom</artifactId>
|
||||
<version>2.35</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-bom</artifactId>
|
||||
<version>9.4.48.v20220622</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-bom</artifactId>
|
||||
<version>1.6.21</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlinx</groupId>
|
||||
<artifactId>kotlinx-coroutines-bom</artifactId>
|
||||
<version>1.6.4</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-bom</artifactId>
|
||||
<version>2.17.2</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.micrometer</groupId>
|
||||
<artifactId>micrometer-bom</artifactId>
|
||||
<version>1.9.3</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.netty</groupId>
|
||||
<artifactId>netty-bom</artifactId>
|
||||
<version>4.1.79.Final</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc-bom</artifactId>
|
||||
<version>21.5.0.0</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.prometheus</groupId>
|
||||
<artifactId>simpleclient_bom</artifactId>
|
||||
<version>0.15.0</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.querydsl</groupId>
|
||||
<artifactId>querydsl-bom</artifactId>
|
||||
<version>5.0.0</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.r2dbc</groupId>
|
||||
<artifactId>r2dbc-bom</artifactId>
|
||||
<version>Borca-SR1</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.projectreactor</groupId>
|
||||
<artifactId>reactor-bom</artifactId>
|
||||
<version>2020.0.22</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.rsocket</groupId>
|
||||
<artifactId>rsocket-bom</artifactId>
|
||||
<version>1.1.2</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-bom</artifactId>
|
||||
<version>2021.2.2</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-framework-bom</artifactId>
|
||||
<version>5.3.22</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.integration</groupId>
|
||||
<artifactId>spring-integration-bom</artifactId>
|
||||
<version>5.5.14</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.security</groupId>
|
||||
<artifactId>spring-security-bom</artifactId>
|
||||
<version>5.7.3</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.session</groupId>
|
||||
<artifactId>spring-session-bom</artifactId>
|
||||
<version>2021.2.0</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard.metrics</groupId>
|
||||
<artifactId>metrics-bom</artifactId>
|
||||
<version>4.2.11</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.dropwizard.metrics</groupId>
|
||||
<artifactId>metrics-parent</artifactId>
|
||||
<version>4.2.11</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.infinispan</groupId>
|
||||
<artifactId>infinispan-bom</artifactId>
|
||||
<version>13.0.10.Final</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.infinispan</groupId>
|
||||
<artifactId>infinispan-build-configuration-parent</artifactId>
|
||||
<version>13.0.10.Final</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jboss</groupId>
|
||||
<artifactId>jboss-parent</artifactId>
|
||||
<version>36</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-bom</artifactId>
|
||||
<version>4.5.1</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp-bom</artifactId>
|
||||
<version>4.9.3</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.rest-assured</groupId>
|
||||
<artifactId>rest-assured-bom</artifactId>
|
||||
<version>4.5.1</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<!--crypto-utils 7.0.5 dependencies end -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-configuration2</artifactId>
|
||||
<version>2.8.0</version>
|
||||
@@ -120,6 +302,36 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-invoker-plugin</artifactId>
|
||||
<version>2.0.1-TALEND</version>
|
||||
<configuration>
|
||||
<localRepositoryPath>${basedir}/../tmp/repository</localRepositoryPath>
|
||||
<skipTestScopeForExtraArtifacts>true</skipTestScopeForExtraArtifacts>
|
||||
<onlyResolveDependencies>true</onlyResolveDependencies>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generate-components-maven-repo</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>install</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<extraArtifacts>
|
||||
<extraArtifact>org.junit:junit-bom:5.7.1:pom</extraArtifact>
|
||||
<extraArtifact>org.junit:junit-bom:5.8.2:pom</extraArtifact>
|
||||
<extraArtifact>org.junit:junit-bom:5.9.1:pom</extraArtifact>
|
||||
<extraArtifact>com.fasterxml.jackson:jackson-bom:2.13.3:pom</extraArtifact>
|
||||
</extraArtifacts>
|
||||
<pomIncludes>
|
||||
<pomInclude>*/*.pom</pomInclude>
|
||||
</pomIncludes>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
||||
@@ -94,6 +94,15 @@
|
||||
name="RemoveConfigMavenRepository"
|
||||
version="6.0.2">
|
||||
</projecttask>
|
||||
<projecttask
|
||||
beforeLogon="true"
|
||||
breaks="8.0.0"
|
||||
class="org.talend.designer.maven.ui.setting.migration.ProjectPomTemplateMigrationTask"
|
||||
description="Migrate custom project pom template"
|
||||
id="org.talend.designer.maven.ui.setting.migration.ProjectPomTemplateMigrationTask"
|
||||
name="ProjectPomTemplateMigrationTask"
|
||||
version="8.0.1">
|
||||
</projecttask>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
||||
@@ -11,6 +11,11 @@ ProjectPomProjectSettingPage_FilterPomLabel=Filter to use to generate poms:
|
||||
ProjectPomProjectSettingPage_FilterErrorMessage=Filter is invalid.
|
||||
ProjectPomProjectSettingPage.syncAllPomsButtonText=Force full re-synchronize POMs
|
||||
ProjectPomProjectSettingPage.syncBuildTypesButtonText=Force full re-synchronize build types
|
||||
ProjectPomProjectSettingPage.validateTitle=Customization result
|
||||
ProjectPomProjectSettingPage.warningTip=The following default settings will be overwritten.\n
|
||||
ProjectPomProjectSettingPage.errorTip=The following default settings can't be overwritten.\n
|
||||
ProjectPomProjectSettingPage.headerMessage=Customize the project POM settings by adding your custom settings on the Custom tab.
|
||||
ProjectPomProjectSettingPage.preview=Preview
|
||||
AbstractPersistentProjectSettingPage.syncAllPoms=Do you want to update all poms? \n This operation might take long time depends on your project size.
|
||||
MavenProjectSettingPage.filterExampleMessage=Filter examples:\nlabel=myJob \t\t\t\t=> Generate only the job named "myJob"\n!(label=myJob) \t\t\t\t=> Generate any job except the one named "myJob"\n(path=folder1/folder2) \t\t\t=> Generate any job in the folder "folder1/folder2"\n(path=folder1/folder2)or(label=myJob)\t=> Generate any job in the folder "folder1/folder2" or named "myJob"\n(label=myJob)and(version=0.2)\t\t=> Generate only the job named "myJob" with version 0.2\n!((label=myJob)and(version=0.1))\t\t=> Generate every jobs except the "myJob" version 0.1
|
||||
MavenProjectSettingPage.refModuleText=Set reference project modules in profile
|
||||
|
||||
@@ -10,6 +10,7 @@ ProjectPomProjectSettingPage_ConfirmMessage=Cela appliquera et mettra \u00E0 jou
|
||||
ProjectPomProjectSettingPage_FilterPomLabel=Filtrer pour utiliser la g\u00E9n\u00E9ration des POM :
|
||||
ProjectPomProjectSettingPage_FilterErrorMessage=Le filtre n'est pas valide.
|
||||
ProjectPomProjectSettingPage.syncAllPomsButtonText=Forcer la resynchronisation compl\u00E8te des POM
|
||||
ProjectPomProjectSettingPage.syncBuildTypesButtonText=Forcer la resynchronisation compl\u00E8te des types de build
|
||||
AbstractPersistentProjectSettingPage.syncAllPoms=Mettre \u00E0 jour tous les POM ? \n Cette op\u00E9ration peut prendre un moment, selon la taille de votre projet.
|
||||
MavenProjectSettingPage.filterExampleMessage=Exemples de filtres\u00A0:\nlibell\u00E9=monJob \t\t\t\t=> G\u00E9n\u00E9rer uniquement le Job nomm\u00E9 "monJob"\n!(libell\u00E9=monJob) \t\t\t\t=> G\u00E9n\u00E9rer tous les Jobs sauf celui nomm\u00E9 "monJob"\n(path=folder1/folder2) \t\t\t=> G\u00E9n\u00E9rer tous Jobs dans le dossier "dossier1/dossier2"\n(chemin=dossier1/dossier2)ou(libell\u00E9=monJob)\t=> G\u00E9n\u00E9rer tous Jobs dans le dossier "dossier1/dossier2" ou nomm\u00E9 "monJob"\n(libell\u00E9=monJob)et(version=0.2)\t\t=> G\u00E9n\u00E9rer uniquement le Job nomm\u00E9 "monJob" avec une version 0.2\n!((libell\u00E9=monJob)et(version=0.1))\t\t=> G\u00E9n\u00E9rer tous les Jobs sauf "monJob" version 0.1
|
||||
MavenProjectSettingPage.refModuleText=Configurer les modules du projet de r\u00E9f\u00E9rence dans le profil
|
||||
@@ -17,3 +18,4 @@ MavenProjectSettingPage.excludeDeletedItems=Exclure les \u00E9l\u00E9ments suppr
|
||||
MavenProjectSettingPage.syncAllPomsWarning=Cliquez sur Forcer la nouvelle synchronisation compl\u00E8te des POM pour appliquer les nouveaux param\u00E8tres.
|
||||
MavenProjectSettingPage.skipFolders=Ignorer les dossiers
|
||||
BuildProjectSettingPage.allowRecursiveJobsJoblets=Autorise les Jobs et Joblets r\u00E9cursifs (non support\u00E9 - pour des raisons de compatibilit\u00E9)
|
||||
BuildProjectSettingPage.allowRecursiveJobs=Autoriser les Jobs r\u00E9cursifs (non recommand\u00E9)
|
||||
|
||||
@@ -10,6 +10,7 @@ ProjectPomProjectSettingPage_ConfirmMessage=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8
|
||||
ProjectPomProjectSettingPage_FilterPomLabel=POM\u306E\u751F\u6210\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30A3\u30EB\u30BF\u30FC:
|
||||
ProjectPomProjectSettingPage_FilterErrorMessage=\u30D5\u30A3\u30EB\u30BF\u30FC\u304C\u7121\u52B9\u3067\u3059\u3002
|
||||
ProjectPomProjectSettingPage.syncAllPomsButtonText=\u5B8C\u5168\u306A\u518D\u540C\u671FPOM\u3092\u5F37\u5236
|
||||
ProjectPomProjectSettingPage.syncBuildTypesButtonText=\u5B8C\u5168\u306A\u518D\u540C\u671F\u30D3\u30EB\u30C9\u30BF\u30A4\u30D7\u3092\u5F37\u5236
|
||||
AbstractPersistentProjectSettingPage.syncAllPoms=POM\u3092\u3059\u3079\u3066\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u304B? \n \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30A4\u30BA\u306B\u3088\u3063\u3066\u306F\u3053\u306E\u64CD\u4F5C\u3067\u9577\u3044\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002
|
||||
MavenProjectSettingPage.filterExampleMessage=\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u4F8B:\nlabel=myJob \t\t\t\t=> "myJob"\u3068\u3044\u3046\u540D\u524D\u306E\u30B8\u30E7\u30D6\u3060\u3051\u3092\u751F\u6210\n!(label=myJob) \t\t\t\t=> "myJob"\u3068\u3044\u3046\u540D\u524D\u4EE5\u5916\u306E\u30B8\u30E7\u30D6\u3092\u3059\u3079\u3066\u751F\u6210\n(path=folder1/folder2) \t\t\t=> "folder1/folder2"\u3068\u3044\u3046\u30D5\u30A3\u30EB\u30C0\u30FC\u306B\u3042\u308B\u30B8\u30E7\u30D6\u3092\u3059\u3079\u3066\u751F\u6210\n(path=folder1/folder2)or(label=myJob)\t=> "folder1/folder2"\u3068\u3044\u3046\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u3042\u308B\u3059\u3079\u3066\u306E\u30B8\u30E7\u30D6\u3001\u307E\u305F\u306F"myJob"\u3068\u3044\u3046\u540D\u524D\u306E\u30B8\u30E7\u30D6\u3092\u751F\u6210\n(label=myJob)and(version=0.2)\t\t=> \u30D0\u30FC\u30B8\u30E7\u30F30.2\u3067"myJob"\u3068\u3044\u3046\u540D\u524D\u306E\u30B8\u30E7\u30D6\u306E\u307F\u751F\u6210\n!((label=myJob)and(version=0.1))\t\t=> \u30D0\u30FC\u30B8\u30E7\u30F30.1\u3067"myJob"\u3068\u3044\u3046\u540D\u524D\u4EE5\u5916\u306E\u30B8\u30E7\u30D6\u3092\u3059\u3079\u3066\u751F\u6210
|
||||
MavenProjectSettingPage.refModuleText=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3067\u53C2\u7167\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u8A2D\u5B9A
|
||||
@@ -17,3 +18,4 @@ MavenProjectSettingPage.excludeDeletedItems=\u524A\u9664\u3055\u308C\u305F\u30A2
|
||||
MavenProjectSettingPage.syncAllPomsWarning=[\u5B8C\u5168\u306A\u518D\u540C\u671FPOM\u3092\u5F37\u5236]\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3001\u65B0\u3057\u3044\u8A2D\u5B9A\u3092\u9069\u7528\u3057\u307E\u3059\u3002
|
||||
MavenProjectSettingPage.skipFolders=\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u30B9\u30AD\u30C3\u30D7
|
||||
BuildProjectSettingPage.allowRecursiveJobsJoblets=\u518D\u5E30\u7684\u30B8\u30E7\u30D6\u3068\u30B8\u30E7\u30D6\u30EC\u30C3\u30C8\u3092\u8A31\u53EF(\u30B5\u30DD\u30FC\u30C8\u306A\u3057 - \u4E92\u63DB\u6027\u306E\u76EE\u7684\u306E\u307F)
|
||||
BuildProjectSettingPage.allowRecursiveJobs=\u518D\u5E30\u7684\u30B8\u30E7\u30D6\u3092\u8A31\u53EF(\u975E\u63A8\u5968)
|
||||
|
||||
@@ -10,6 +10,7 @@ ProjectPomProjectSettingPage_ConfirmMessage=\u5C06\u7ACB\u5373\u4E3A\u5DE5\u7A0B
|
||||
ProjectPomProjectSettingPage_FilterPomLabel=\u7528\u4E8E\u751F\u6210 pom \u7684\u7B5B\u9009\u5668:
|
||||
ProjectPomProjectSettingPage_FilterErrorMessage=\u7B5B\u9009\u5668\u65E0\u6548\u3002
|
||||
ProjectPomProjectSettingPage.syncAllPomsButtonText=\u5F3A\u5236\u5B8C\u5168\u91CD\u65B0\u540C\u6B65 POM
|
||||
ProjectPomProjectSettingPage.syncBuildTypesButtonText=\u5F3A\u5236\u91CD\u65B0\u540C\u6B65\u6784\u5EFA\u7C7B\u578B
|
||||
AbstractPersistentProjectSettingPage.syncAllPoms=\u662F\u5426\u66F4\u65B0\u6240\u6709 POM \u6587\u4EF6? \n \u6B64\u64CD\u4F5C\u53EF\u80FD\u9700\u8981\u5F88\u957F\u65F6\u95F4\uFF0C\u5177\u4F53\u53D6\u51B3\u4E8E\u60A8\u7684\u5DE5\u7A0B\u5927\u5C0F\u3002
|
||||
MavenProjectSettingPage.filterExampleMessage=\u7B5B\u9009\u5668\u793A\u4F8B\uFF1A\nlabel=myJob \t\t\t\t=> \u4EC5\u751F\u6210\u540D\u4E3A "myJob" \u7684\u4F5C\u4E1A\n!(label=myJob) \t\t\t\t=> \u751F\u6210\u540D\u4E3A "myJob" \u9664\u5916\u7684\u4EFB\u610F\u4F5C\u4E1A\n(path=folder1/folder2) \t\t\t=> \u751F\u6210\u6587\u4EF6\u5939 "folder1/folder2" \u4E2D\u4EFB\u610F\u4F5C\u4E1A\n(path=folder1/folder2)or(label=myJob)\t=> \u751F\u6210\u6587\u4EF6\u5939 "folder1/folder2" \u4E2D\u7684\u4EFB\u610F\u4F5C\u4E1A\u6216\u4EFB\u610F\u540D\u4E3A "myJob" \u7684\u4F5C\u4E1A\n(label=myJob)and(version=0.2)\t\t=> \u4EC5\u751F\u6210\u7248\u672C 0.2 \u4E14\u540D\u4E3A "myJob" \u7684\u4F5C\u4E1A\n!((label=myJob)and(version=0.1))\t\t=> \u751F\u6210\u4EFB\u610F\u540D\u79F0\u4E0D\u4E3A "myJob" \u4E14\u7248\u672C\u4E0D\u4E3A 0.1 \u7684\u4F5C\u4E1A
|
||||
MavenProjectSettingPage.refModuleText=\u5728\u914D\u7F6E\u6587\u4EF6\u4E2D\u8BBE\u7F6E\u5F15\u7528\u5DE5\u7A0B\u6A21\u5757
|
||||
@@ -17,3 +18,4 @@ MavenProjectSettingPage.excludeDeletedItems=\u6392\u9664\u5DF2\u5220\u9664\u9879
|
||||
MavenProjectSettingPage.syncAllPomsWarning=\u5355\u51FB \u201C\u5F3A\u5236\u5B8C\u5168\u91CD\u65B0\u540C\u6B65 POM\u201D \u6309\u94AE\u4EE5\u5E94\u7528\u65B0\u7684\u8BBE\u7F6E\u3002
|
||||
MavenProjectSettingPage.skipFolders=\u8DF3\u8FC7\u6587\u4EF6\u5939
|
||||
BuildProjectSettingPage.allowRecursiveJobsJoblets=\u5141\u8BB8\u9012\u5F52\u4F5C\u4E1A\u548C\u5C0F\u4F5C\u4E1A (\u4E0D\u652F\u6301 - \u4EC5\u7528\u4E8E\u517C\u5BB9\u6027)
|
||||
BuildProjectSettingPage.allowRecursiveJobs=\u5141\u8BB8\u9012\u5F52\u4F5C\u4E1A (\u4E0D\u63A8\u8350)
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.ui.setting.migration;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.migration.AbstractProjectMigrationTask;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.tools.MergeModelTool;
|
||||
import org.talend.designer.maven.ui.DesignerMavenUiPlugin;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
public class ProjectPomTemplateMigrationTask extends AbstractProjectMigrationTask {
|
||||
|
||||
@Override
|
||||
public Date getOrder() {
|
||||
GregorianCalendar gc = new GregorianCalendar(2023, 1, 9, 12, 0, 0);
|
||||
return gc.getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionResult execute(Project project) {
|
||||
try {
|
||||
Map<String, Object> parameters = new HashMap<String, Object>();
|
||||
parameters.put(MavenTemplateManager.KEY_PROJECT_NAME,
|
||||
ProjectManager.getInstance().getCurrentProject().getTechnicalLabel());
|
||||
Model defaultModel = MavenTemplateManager.getDefaultProjectModel(parameters);
|
||||
Model customModel = MavenTemplateManager.getCustomProjectModel(parameters);
|
||||
Model model = new MergeModelTool().migrateCustomModel(defaultModel, customModel);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
String content = out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
if (content != null) {
|
||||
ProjectPreferenceManager prefManager = DesignerMavenUiPlugin.getDefault().getProjectPreferenceManager();
|
||||
prefManager.setValue(IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, content);
|
||||
prefManager.save();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
return ExecutionResult.FAILURE;
|
||||
}
|
||||
return ExecutionResult.SUCCESS_NO_ALERT;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,25 +12,19 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.ui.setting.project.initializer;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Profile;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.PluginChecker;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingTemplateConstants;
|
||||
import org.talend.designer.maven.DesignerMavenPlugin;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.template.AbstractMavenTemplateManager;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.tools.extension.PomExtensionRegistry;
|
||||
import org.talend.designer.maven.ui.DesignerMavenUiPlugin;
|
||||
import org.talend.designer.maven.utils.PomUtil;
|
||||
|
||||
@@ -51,7 +45,7 @@ public class MavenScriptsProjectSettingInitializer extends AbstractProjectPrefer
|
||||
try {
|
||||
setDefault(preferenceStore, IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, DesignerMavenPlugin.PLUGIN_ID,
|
||||
IProjectSettingTemplateConstants.PATH_GENERAL + '/'
|
||||
+ IProjectSettingTemplateConstants.PROJECT_TEMPLATE_FILE_NAME);
|
||||
+ IProjectSettingTemplateConstants.PROJECT_CUSTOM_TEMPLATE_FILE_NAME);
|
||||
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
@@ -67,7 +61,6 @@ public class MavenScriptsProjectSettingInitializer extends AbstractProjectPrefer
|
||||
if (templateManager != null) {
|
||||
InputStream stream = templateManager.readBundleStream(bundleTemplatePath);
|
||||
Model model = MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
PomExtensionRegistry.getInstance().updatePomTemplate(model);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
PomUtil.sortModules(model);
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
@@ -76,31 +69,6 @@ public class MavenScriptsProjectSettingInitializer extends AbstractProjectPrefer
|
||||
preferenceStore.setDefault(key, content);
|
||||
}
|
||||
}
|
||||
// if license change to NON-TP, check to remove docker profile
|
||||
if (!PluginChecker.isDockerPluginLoaded()) {
|
||||
String content = preferenceStore.getString(key);
|
||||
if (!StringUtils.isBlank(content)) {
|
||||
InputStream stream = new ByteArrayInputStream(content.getBytes(TalendMavenConstants.DEFAULT_ENCODING));
|
||||
Model model = MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
Iterator<Profile> iterator = model.getProfiles().iterator();
|
||||
boolean isModified = false;
|
||||
while(iterator.hasNext()) {
|
||||
Profile profile = iterator.next();
|
||||
if ("docker".equals(profile.getId())) { //$NON-NLS-1$
|
||||
iterator.remove();
|
||||
isModified = true;
|
||||
}
|
||||
}
|
||||
if (isModified) {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
content = out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
if (content != null) {
|
||||
preferenceStore.setValue(key, content);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
@@ -12,27 +12,39 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.ui.setting.project.page;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.runtime.process.ITalendProcessJavaProject;
|
||||
import org.talend.core.runtime.projectsetting.AbstractPomTemplateProjectSettingPage;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.designer.maven.tools.ProjectPomManager;
|
||||
import org.talend.core.runtime.projectsetting.PomPreviewDialog;
|
||||
import org.talend.designer.maven.model.MergedModel;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.tools.AggregatorPomsHelper;
|
||||
import org.talend.designer.maven.tools.MergeModelTool;
|
||||
import org.talend.designer.maven.ui.DesignerMavenUiPlugin;
|
||||
import org.talend.designer.maven.ui.i18n.Messages;
|
||||
import org.talend.designer.runprocess.IRunProcessService;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
/**
|
||||
* DOC ggu class global comment. Detailled comment
|
||||
*/
|
||||
public class ProjectPomProjectSettingPage extends AbstractPersistentProjectSettingPage {
|
||||
public class ProjectPomProjectSettingPage extends AbstractPomTemplateProjectSettingPage {
|
||||
|
||||
private String oldScriptContent;
|
||||
|
||||
public ProjectPomProjectSettingPage() {
|
||||
super();
|
||||
this.oldScriptContent = this.getScriptContent();
|
||||
this.oldScriptContent = getCustomText();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -45,42 +57,122 @@ public class ProjectPomProjectSettingPage extends AbstractPersistentProjectSetti
|
||||
return IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.talend.repository.preference.AbstractScriptPreferencePage#getHeadTitle()
|
||||
*/
|
||||
@Override
|
||||
protected String getHeadTitle() {
|
||||
return Messages.getString("ProjectPomProjectSettingPage_Titile"); //$NON-NLS-1$
|
||||
protected String getHeaderMessage() {
|
||||
return Messages.getString("ProjectPomProjectSettingPage.headerMessage"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultText() {
|
||||
Map<String, Object> parameters = new HashMap<String, Object>();
|
||||
parameters.put(MavenTemplateManager.KEY_PROJECT_NAME,
|
||||
ProjectManager.getInstance().getCurrentProject().getTechnicalLabel());
|
||||
Model model = MavenTemplateManager.getDefaultProjectModel(parameters);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
try {
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
return out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return "Error loading default project pom template!"; //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getMoreInfoUrl() {
|
||||
return "https://document-link.us.cloud.talend.com/ts_ug_customize_project_pom_settings?version=80&lang=en&env=prd"; //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean checkModel(boolean preview) {
|
||||
if (customText == null || customText.isDisposed()) {
|
||||
return false;
|
||||
}
|
||||
Model model = null;
|
||||
try {
|
||||
Model defaultModel = MavenPlugin.getMavenModelManager()
|
||||
.readMavenModel(new ByteArrayInputStream(defaultText.getText().getBytes()));
|
||||
Model customModel = MavenPlugin.getMavenModelManager()
|
||||
.readMavenModel(new ByteArrayInputStream(customText.getText().getBytes()));
|
||||
MergedModel mergedModel = new MergeModelTool().mergeModel(defaultModel, customModel);
|
||||
model = mergedModel.getModel();
|
||||
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
if (model != null) {
|
||||
String propertiesInfo = mergedModel.getIllegalPropertiesInfo();
|
||||
if (propertiesInfo != null) {
|
||||
// validated with warning
|
||||
msgBuilder.append(Messages.getString("ProjectPomProjectSettingPage.warningTip")); //$NON-NLS-1$
|
||||
msgBuilder.append(propertiesInfo);
|
||||
MessageDialog.openWarning(getShell(), Messages.getString("ProjectPomProjectSettingPage.validateTitle"), //$NON-NLS-1$
|
||||
msgBuilder.toString());
|
||||
}
|
||||
} else {
|
||||
msgBuilder.append(Messages.getString("ProjectPomProjectSettingPage.errorTip")); //$NON-NLS-1$
|
||||
String pluginManagementInfo = mergedModel.getIllegalPluginManagementInfo();
|
||||
if (pluginManagementInfo != null) {
|
||||
msgBuilder.append(pluginManagementInfo);
|
||||
}
|
||||
String pluginsInfo = mergedModel.getIllegalPluginsInfo();
|
||||
if (pluginsInfo != null) {
|
||||
msgBuilder.append(pluginsInfo);
|
||||
}
|
||||
String profilesInfo = mergedModel.getIllegalProfilesInfo();
|
||||
if (profilesInfo != null) {
|
||||
msgBuilder.append(profilesInfo);
|
||||
}
|
||||
MessageDialog.openError(getShell(), Messages.getString("ProjectPomProjectSettingPage.validateTitle"), //$NON-NLS-1$
|
||||
msgBuilder.toString());
|
||||
}
|
||||
|
||||
if (model == null) {
|
||||
return false;
|
||||
}
|
||||
if (preview) {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
String content = out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
new PomPreviewDialog(getShell(), Messages.getString("ProjectPomProjectSettingPage.preview"), content).open(); //$NON-NLS-1$
|
||||
}
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
MessageDialog.openError(getShell(), Messages.getString("ProjectPomProjectSettingPage.validateTitle"), //$NON-NLS-1$
|
||||
e.getCause() == null ? e.getMessage() : e.getCause().getMessage());
|
||||
ExceptionHandler.process(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void performApply() {
|
||||
super.performApply();
|
||||
// reset from modification
|
||||
this.oldScriptContent = this.getScriptContent();
|
||||
if (performOk()) {
|
||||
// reset from modification
|
||||
this.oldScriptContent = getCustomText();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performOk() {
|
||||
boolean performOk = super.performOk();
|
||||
|
||||
String newContent = this.getScriptContent();
|
||||
if (!newContent.equals(oldScriptContent)) { // not same
|
||||
MessageDialog.openWarning(this.getShell(), Messages.getString("ProjectPomProjectSettingPage_ConfirmTitle"), //$NON-NLS-1$
|
||||
Messages.getString("ProjectPomProjectSettingPage_ConfirmMessage")); //$NON-NLS-1$
|
||||
|
||||
// Update project pom file.
|
||||
ProjectPomManager projectPomManager = new ProjectPomManager();
|
||||
boolean ok = super.performOk();
|
||||
if (ok && getScriptTxt() != null && !getScriptTxt().isDisposed()) {
|
||||
try {
|
||||
projectPomManager.updateFromTemplate(null);
|
||||
if (MessageDialog.openQuestion(getShell(), "Question", //$NON-NLS-1$
|
||||
Messages.getString("AbstractPersistentProjectSettingPage.syncAllPoms"))) { //$NON-NLS-1$
|
||||
new AggregatorPomsHelper().syncAllPoms();
|
||||
} else {
|
||||
String newContent = getCustomText();
|
||||
if (!newContent.equals(oldScriptContent)) { // not same
|
||||
MessageDialog.openWarning(this.getShell(),
|
||||
Messages.getString("ProjectPomProjectSettingPage_ConfirmTitle"), //$NON-NLS-1$
|
||||
Messages.getString("ProjectPomProjectSettingPage_ConfirmMessage")); //$NON-NLS-1$
|
||||
new AggregatorPomsHelper().createRootPom(new NullProgressMonitor());
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
|
||||
return performOk;
|
||||
return ok;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>@ProjectGroupId@</groupId>
|
||||
<artifactId>@ProjectArtifactId@</artifactId>
|
||||
<version>@ProjectVersion@</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>@ProjectName@ Codes Master</name>
|
||||
<url>http://www.talend.org/</url>
|
||||
</project>
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
<properties>
|
||||
<encoding>UTF-8</encoding>
|
||||
<slf4j-api.version>1.7.34</slf4j-api.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
@@ -218,6 +219,22 @@
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.20</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.sonatype.plexus</groupId>
|
||||
<artifactId>plexus-sec-dispatcher</artifactId>
|
||||
<version>1.3</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.sonatype.plexus</groupId>
|
||||
<artifactId>plexus-cipher</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-cipher</artifactId>
|
||||
<version>1.8</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-utils</artifactId>
|
||||
@@ -233,6 +250,21 @@
|
||||
<artifactId>maven-settings</artifactId>
|
||||
<version>3.8.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>${slf4j-api.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-jdk14</artifactId>
|
||||
<version>${slf4j-api.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
<version>${slf4j-api.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
<plugin>
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.migration.common;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.core.model.repository.ERepositoryObjectType;
|
||||
import org.talend.core.ui.ITestContainerCoreService;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class ItemReportRecorder {
|
||||
|
||||
protected Item item;
|
||||
|
||||
protected String detailMessage;
|
||||
|
||||
public String getItemType() {
|
||||
String type = "";
|
||||
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
|
||||
if (itemType != null) {
|
||||
if (ERepositoryObjectType.getAllTypesOfTestContainer().contains(itemType)) {
|
||||
Item parentJobItem = getTestCaseParentJobItem(item);
|
||||
if (parentJobItem != null) {
|
||||
ERepositoryObjectType parentJobType = ERepositoryObjectType.getItemType(parentJobItem);
|
||||
if (parentJobType != null) {
|
||||
String parentTypePath = getCompleteObjectTypePath(parentJobType);
|
||||
if (StringUtils.isNotBlank(parentTypePath)) {
|
||||
type = parentTypePath + "/";
|
||||
}
|
||||
}
|
||||
}
|
||||
type += itemType;
|
||||
} else {
|
||||
type = getCompleteObjectTypePath(itemType);
|
||||
}
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
public String getItemPath() {
|
||||
String path = "";
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
|
||||
|
||||
if (ERepositoryObjectType.getAllTypesOfTestContainer().contains(itemType)) {
|
||||
StringBuffer testcaseBuffer = new StringBuffer();
|
||||
Item parentJobItem = getTestCaseParentJobItem(item);
|
||||
if (parentJobItem != null) {
|
||||
if (parentJobItem.getState() != null && StringUtils.isNotBlank(parentJobItem.getState().getPath())) {
|
||||
testcaseBuffer.append(parentJobItem.getState().getPath()).append("/");
|
||||
}
|
||||
testcaseBuffer.append(parentJobItem.getProperty() != null ? parentJobItem.getProperty().getLabel() : "");
|
||||
if (StringUtils.isNotBlank(testcaseBuffer.toString())) {
|
||||
buffer.append(testcaseBuffer.toString()).append("/");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (item.getState() != null && StringUtils.isNotBlank(item.getState().getPath())) {
|
||||
buffer.append(item.getState().getPath()).append("/");
|
||||
}
|
||||
}
|
||||
|
||||
Property property = item.getProperty();
|
||||
if (property != null) {
|
||||
buffer.append(property.getLabel() + "_" + property.getVersion());
|
||||
}
|
||||
path = buffer.toString();
|
||||
return path;
|
||||
}
|
||||
|
||||
private Item getTestCaseParentJobItem(Item testcaseItem) {
|
||||
Item parentJobItem = null;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerCoreService.class)) {
|
||||
ITestContainerCoreService testcaseService = GlobalServiceRegister.getDefault()
|
||||
.getService(ITestContainerCoreService.class);
|
||||
if (testcaseService != null) {
|
||||
try {
|
||||
parentJobItem = testcaseService.getParentJobItem(item);
|
||||
} catch (PersistenceException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return parentJobItem;
|
||||
}
|
||||
|
||||
private String getCompleteObjectTypePath(ERepositoryObjectType itemType) {
|
||||
ERepositoryObjectType rootItemType = itemType;
|
||||
if (ERepositoryObjectType.JDBC != null && ERepositoryObjectType.JDBC.equals(rootItemType)) {
|
||||
rootItemType = ERepositoryObjectType.METADATA_CONNECTIONS;
|
||||
}
|
||||
List<String> typeLabels = new ArrayList<String>();
|
||||
findOutCompleteTypePath(rootItemType, typeLabels);
|
||||
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;
|
||||
}
|
||||
|
||||
public void setItem(Item item) {
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
public String getDetailMessage() {
|
||||
return detailMessage;
|
||||
}
|
||||
|
||||
public void setDetailMessage(String detailMessage) {
|
||||
this.detailMessage = detailMessage;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.migration.common;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.talend.core.utils.TalendQuoteUtils;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class ItemsReportUtil {
|
||||
|
||||
|
||||
public static boolean generateReportFile(File reportFile, String header, List<String> records) throws Exception {
|
||||
boolean generateDone = false;
|
||||
BufferedWriter printWriter = null;
|
||||
try {
|
||||
File parentFolder = new Path(reportFile.getAbsolutePath()).removeLastSegments(1).toFile();
|
||||
// File parentFolder = new File(parentPath);
|
||||
if (!parentFolder.exists()) {
|
||||
parentFolder.mkdirs();
|
||||
}
|
||||
if (!reportFile.exists()) {
|
||||
reportFile.createNewFile();
|
||||
}
|
||||
FileOutputStream fos = new FileOutputStream(reportFile);
|
||||
fos.write(new byte[] { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF });
|
||||
OutputStreamWriter outputWriter = new OutputStreamWriter(fos, "UTF-8");
|
||||
printWriter = new BufferedWriter(outputWriter);
|
||||
printWriter.write(header);
|
||||
printWriter.newLine();
|
||||
for (String recordStr : records) {
|
||||
printWriter.write(recordStr);
|
||||
printWriter.newLine();
|
||||
}
|
||||
printWriter.flush();
|
||||
generateDone = true;
|
||||
} finally {
|
||||
if (printWriter != null) {
|
||||
printWriter.close();
|
||||
}
|
||||
}
|
||||
return generateDone;
|
||||
}
|
||||
|
||||
public static String handleColumnQuotes(String text) {
|
||||
String quoteMark = TalendQuoteUtils.QUOTATION_MARK;
|
||||
text = StringUtils.isBlank(text) ? "" : text;
|
||||
if (text.contains(quoteMark)) {
|
||||
// replace to double quote surround
|
||||
text = text.replace(quoteMark, quoteMark + quoteMark);
|
||||
}
|
||||
return quoteMark + text + quoteMark;
|
||||
}
|
||||
|
||||
public static String getCurrentTimeString() {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
String time = dateFormat.format(new Date());
|
||||
return time;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,177 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.migration.common;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.core.runtime.preferences.ConfigurationScope;
|
||||
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
|
||||
import org.eclipse.core.runtime.preferences.IScopeContext;
|
||||
import org.osgi.service.prefs.BackingStoreException;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.PluginChecker;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.properties.Property;
|
||||
import org.talend.migration.IProjectMigrationTask;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class MigrationReportHelper {
|
||||
|
||||
private static final String COMMA = ",";
|
||||
|
||||
private static final String PLUGIN_ID = "org.talend.designer.maven";
|
||||
|
||||
private static final String DO_NOT_SHOW_PREF_KEY = "talend.migrationReportDialog.doNotShowAgain";
|
||||
|
||||
private static final String MIGRATION_REPORT_HEAD = "Task name,Task description,Item type,Path to migrated item,Migration details";
|
||||
|
||||
private static final MigrationReportHelper instance = new MigrationReportHelper();
|
||||
|
||||
public static MigrationReportHelper getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
private String reportGeneratedPath = "";
|
||||
|
||||
private Set<String> taskItemRecords = new HashSet<String>();
|
||||
|
||||
private List<MigrationReportRecorder> migrationReportRecorders = new ArrayList<MigrationReportRecorder>();
|
||||
|
||||
public void generateMigrationReport(String projectTecName) {
|
||||
if (migrationReportRecorders == null || migrationReportRecorders.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!PluginChecker.isTIS()) {
|
||||
clearRecorders();
|
||||
return;
|
||||
}
|
||||
|
||||
File exportFolder = null;
|
||||
File reportFile = null;
|
||||
try {
|
||||
String currentTime = getCurrentTime();
|
||||
String filePath = getReportExportFolder(currentTime) + "/" + getReportFileName(currentTime, projectTecName);
|
||||
reportGeneratedPath = filePath;
|
||||
reportFile = new File(filePath);
|
||||
List<String> recordLines = new ArrayList<String>();
|
||||
for (MigrationReportRecorder record : migrationReportRecorders) {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getTaskClassName())).append(COMMA);
|
||||
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getTaskDescription())).append(COMMA);
|
||||
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getItemType())).append(COMMA);
|
||||
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getItemPath())).append(COMMA);
|
||||
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getDetailMessage()));
|
||||
recordLines.add(buffer.toString());
|
||||
}
|
||||
ItemsReportUtil.generateReportFile(reportFile, MIGRATION_REPORT_HEAD, recordLines);
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
if (reportFile != null && reportFile.exists()) {
|
||||
reportFile.delete();
|
||||
}
|
||||
if (exportFolder != null && exportFolder.exists()) {
|
||||
exportFolder.delete();
|
||||
}
|
||||
} finally {
|
||||
migrationReportRecorders.clear();
|
||||
taskItemRecords.clear();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public boolean isRequireDefaultRecord(IProjectMigrationTask task, Item item) {
|
||||
boolean require = true;
|
||||
if (task.getOrder() != null) {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(task.getOrder());
|
||||
int year = calendar.get(Calendar.YEAR);
|
||||
if (year <= 2016) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (item.getProperty() != null) {
|
||||
Property property = item.getProperty();
|
||||
String key = task.getId() + "_" + property.getId() + "_" + property.getVersion();
|
||||
if (taskItemRecords.contains(key)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return require;
|
||||
}
|
||||
|
||||
private String getCurrentTime() {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
String time = dateFormat.format(new Date());
|
||||
return time;
|
||||
}
|
||||
|
||||
private String getReportExportFolder(String time) {
|
||||
String folderName = "migrationReport" + "_" + time;
|
||||
String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + "/report/" + folderName;
|
||||
return path;
|
||||
}
|
||||
|
||||
private String getReportFileName(String time, String projectTecName) {
|
||||
String fileName = time + "_" + projectTecName + "_" + "Migration" + "_" + "Report.csv";
|
||||
return fileName;
|
||||
}
|
||||
|
||||
public static void storeDoNotShowAgainPref(boolean selected) {
|
||||
IScopeContext scopeContext = ConfigurationScope.INSTANCE;
|
||||
IEclipsePreferences pref = scopeContext.getNode(PLUGIN_ID);
|
||||
pref.putBoolean(DO_NOT_SHOW_PREF_KEY, selected);
|
||||
try {
|
||||
pref.flush();
|
||||
} catch (BackingStoreException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isReportDialogDisable() {
|
||||
IScopeContext scopeContext = ConfigurationScope.INSTANCE;
|
||||
IEclipsePreferences pref = scopeContext.getNode(PLUGIN_ID);
|
||||
return pref.getBoolean(DO_NOT_SHOW_PREF_KEY, false);
|
||||
}
|
||||
|
||||
public void addRecorder(MigrationReportRecorder recorder) {
|
||||
if (recorder != null) {
|
||||
migrationReportRecorders.add(recorder);
|
||||
if (recorder.getItem() != null && recorder.getItem().getProperty() != null) {
|
||||
Property property = recorder.getItem().getProperty();
|
||||
taskItemRecords.add(recorder.getTask().getId() + "_" + property.getId() + "_" + property.getVersion());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void clearRecorders() {
|
||||
reportGeneratedPath = "";
|
||||
migrationReportRecorders.clear();
|
||||
taskItemRecords.clear();
|
||||
}
|
||||
|
||||
public String getReportGeneratedPath() {
|
||||
return reportGeneratedPath;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,197 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.migration.common;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.talend.core.model.components.ComponentUtilities;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.utils.TalendQuoteUtils;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
import org.talend.migration.IProjectMigrationTask;
|
||||
|
||||
/**
|
||||
* DOC jding class global comment. Detailled comment
|
||||
*/
|
||||
public class MigrationReportRecorder extends ItemReportRecorder {
|
||||
|
||||
private IProjectMigrationTask task;
|
||||
|
||||
private MigrationOperationType operationType;
|
||||
|
||||
private NodeType node;
|
||||
|
||||
private String paramName;
|
||||
|
||||
private String oldValue;
|
||||
|
||||
private String newValue;
|
||||
|
||||
public enum MigrationOperationType {
|
||||
ADD,
|
||||
MODIFY,
|
||||
DELETE
|
||||
}
|
||||
|
||||
public MigrationReportRecorder(IProjectMigrationTask task, Item item) {
|
||||
super();
|
||||
this.task = task;
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
public MigrationReportRecorder(IProjectMigrationTask task, MigrationOperationType operationType, Item item, NodeType node,
|
||||
String paramName, String oldValue, String newValue) {
|
||||
super();
|
||||
this.task = task;
|
||||
this.operationType = operationType;
|
||||
this.item = item;
|
||||
this.node = node;
|
||||
this.paramName = paramName;
|
||||
this.oldValue = oldValue;
|
||||
this.newValue = newValue;
|
||||
}
|
||||
|
||||
public MigrationReportRecorder(IProjectMigrationTask task, Item item, String detailMessage) {
|
||||
super();
|
||||
this.task = task;
|
||||
this.item = item;
|
||||
this.detailMessage = detailMessage;
|
||||
}
|
||||
|
||||
public String getTaskClassName() {
|
||||
return task.getClass().getSimpleName();
|
||||
}
|
||||
|
||||
public String getTaskDescription() {
|
||||
String description = "";
|
||||
if (StringUtils.isNotBlank(task.getDescription())) {
|
||||
description = task.getDescription();
|
||||
}
|
||||
return description;
|
||||
}
|
||||
|
||||
public String getDetailMessage() {
|
||||
String details = detailMessage;
|
||||
if (StringUtils.isNotBlank(detailMessage)) {
|
||||
return details;
|
||||
}
|
||||
|
||||
if (operationType == null || StringUtils.isBlank(paramName)) {
|
||||
details = getTaskClassName() + " task is applied";
|
||||
return details;
|
||||
}
|
||||
|
||||
StringBuffer detailBuffer = new StringBuffer();
|
||||
if (node != null) {
|
||||
// migration for node, e.g. tRESTClient component "tRESTClient_2":
|
||||
detailBuffer.append(node.getComponentName()).append(" component ");
|
||||
ElementParameterType uniqueName = ComponentUtilities.getNodeProperty(node, "UNIQUE_NAME");
|
||||
detailBuffer.append(TalendQuoteUtils.addQuotes(uniqueName.getValue())).append(":");
|
||||
} else {
|
||||
// migration for item, e.g. context item "testContext":
|
||||
detailBuffer.append(getItemType() + " item ")
|
||||
.append(TalendQuoteUtils.addQuotes(item.getProperty().getLabel())).append(":");
|
||||
}
|
||||
|
||||
detailBuffer.append(paramName).append(" was ");
|
||||
switch (operationType) {
|
||||
case ADD:
|
||||
detailBuffer.append("added");
|
||||
if (StringUtils.isNotBlank(newValue)) {
|
||||
detailBuffer.append(" with ").append(newValue);
|
||||
}
|
||||
break;
|
||||
case MODIFY:
|
||||
detailBuffer.append("changed");
|
||||
if (StringUtils.isNotBlank(oldValue)) {
|
||||
detailBuffer.append(" from ").append(oldValue);
|
||||
}
|
||||
if (StringUtils.isNotBlank(newValue)) {
|
||||
detailBuffer.append(" to ").append(newValue);
|
||||
}
|
||||
break;
|
||||
case DELETE:
|
||||
detailBuffer.append("deleted");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
details = detailBuffer.toString();
|
||||
|
||||
return details;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for task.
|
||||
*
|
||||
* @return the task
|
||||
*/
|
||||
public IProjectMigrationTask getTask() {
|
||||
return task;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the task.
|
||||
*
|
||||
* @param task the task to set
|
||||
*/
|
||||
public void setTask(IProjectMigrationTask task) {
|
||||
this.task = task;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the operationType.
|
||||
*
|
||||
* @param operationType the operationType to set
|
||||
*/
|
||||
public void setOperationType(MigrationOperationType operationType) {
|
||||
this.operationType = operationType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the node.
|
||||
*
|
||||
* @param node the node to set
|
||||
*/
|
||||
public void setNode(NodeType node) {
|
||||
this.node = node;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the paramName.
|
||||
*
|
||||
* @param paramName the paramName to set
|
||||
*/
|
||||
public void setParamName(String paramName) {
|
||||
this.paramName = paramName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the oldValue.
|
||||
*
|
||||
* @param oldValue the oldValue to set
|
||||
*/
|
||||
public void setOldValue(String oldValue) {
|
||||
this.oldValue = oldValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the newValue.
|
||||
*
|
||||
* @param newValue the newValue to set
|
||||
*/
|
||||
public void setNewValue(String newValue) {
|
||||
this.newValue = newValue;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,8 +18,8 @@ import org.talend.core.repository.utils.ConvertJobsUtil;
|
||||
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.ProcessType;
|
||||
import org.talend.designer.maven.migration.common.MigrationReportHelper;
|
||||
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
|
||||
import org.talend.migration.MigrationReportHelper;
|
||||
import org.talend.migration.MigrationReportRecorder;
|
||||
import org.talend.repository.model.IProxyRepositoryFactory;
|
||||
import org.talend.repository.model.IRepositoryService;
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ import org.talend.core.model.properties.Item;
|
||||
import org.talend.core.model.properties.ProcessItem;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
||||
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
|
||||
import org.talend.designer.runprocess.ItemCacheManager;
|
||||
import org.talend.migration.MigrationReportRecorder;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
/*
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.talend.core.model.components.filters.NameComponentFilter;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
||||
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
|
||||
import org.talend.migration.MigrationReportRecorder;
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
|
||||
@@ -17,8 +17,8 @@ import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||
import org.talend.core.runtime.process.TalendProcessArgumentConstant;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
||||
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
|
||||
import org.talend.designer.runprocess.ItemCacheManager;
|
||||
import org.talend.migration.MigrationReportRecorder;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
/*
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.talend.core.model.components.filters.NameComponentFilter;
|
||||
import org.talend.core.model.properties.Item;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
|
||||
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
|
||||
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
|
||||
import org.talend.migration.MigrationReportRecorder;
|
||||
|
||||
/*
|
||||
* Data service SOAP = Job with "tESBProviderRequest"
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.designer.maven.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Plugin;
|
||||
import org.apache.maven.model.Profile;
|
||||
|
||||
public class MergedModel {
|
||||
|
||||
private Model model;
|
||||
|
||||
private List<String> illegalProperties = new ArrayList<>();
|
||||
|
||||
private List<Profile> illegalProfiles = new ArrayList<>();
|
||||
|
||||
private List<Plugin> illegalPluginManagement = new ArrayList<>();
|
||||
|
||||
private List<Plugin> illegalPlugins = new ArrayList<>();
|
||||
|
||||
public Model getModel() {
|
||||
return model;
|
||||
}
|
||||
|
||||
public void setModel(Model model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public List<String> getIllegalProperties() {
|
||||
return illegalProperties;
|
||||
}
|
||||
|
||||
public List<Profile> getIllegalProfiles() {
|
||||
return illegalProfiles;
|
||||
}
|
||||
|
||||
public List<Plugin> getIllegalPluginManagement() {
|
||||
return illegalPluginManagement;
|
||||
}
|
||||
|
||||
public List<Plugin> getIllegalPlugins() {
|
||||
return illegalPlugins;
|
||||
}
|
||||
|
||||
public String getIllegalPropertiesInfo() {
|
||||
if (!illegalProperties.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("Properties:\n");
|
||||
illegalProperties.forEach(property -> msgBuilder.append(" ").append(property).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getIllegalPluginManagementInfo() {
|
||||
if (!illegalPluginManagement.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("PluginManagement:\n");
|
||||
illegalPluginManagement.forEach(plugin -> msgBuilder.append(" ").append(plugin.getKey()).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getIllegalPluginsInfo() {
|
||||
if (!illegalPlugins.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("Plugins:\n"); //$NON-NLS-1$
|
||||
illegalPlugins.forEach(plugin -> msgBuilder.append(" ").append(plugin.getKey()).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getIllegalProfilesInfo() {
|
||||
if (!illegalProfiles.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("Profiles:\n");
|
||||
illegalProfiles.forEach(profile -> msgBuilder.append(" ").append(profile.getId()).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -38,8 +38,10 @@ import org.talend.core.model.routines.CodesJarInfo;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingTemplateConstants;
|
||||
import org.talend.designer.maven.DesignerMavenPlugin;
|
||||
import org.talend.designer.maven.model.MergedModel;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.setting.project.IProjectSettingManagerProvider;
|
||||
import org.talend.designer.maven.tools.MergeModelTool;
|
||||
import org.talend.designer.maven.tools.extension.PomExtensionRegistry;
|
||||
import org.talend.designer.maven.utils.PomIdsHelper;
|
||||
import org.talend.designer.maven.utils.PomUtil;
|
||||
@@ -211,49 +213,67 @@ public class MavenTemplateManager {
|
||||
}
|
||||
}
|
||||
|
||||
public static Model getCodeProjectTemplateModel() {
|
||||
return getCodeProjectTemplateModel(null); // by default will be current project.
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to load the project template from bundle, if load failed, use default instead.
|
||||
*/
|
||||
public static Model getCodeProjectTemplateModel(Map<String, Object> parameters) {
|
||||
final String projectTechName = PomUtil.getProjectNameFromTemplateParameter(parameters);
|
||||
Model defaultModel = getDefaultCodeProjectTemplateModel(projectTechName);
|
||||
Model basicModel = getBasicProjectPomTemplateModel(parameters);
|
||||
Model defaultModel = getDefaultProjectModel(parameters);
|
||||
if (defaultModel == null) {
|
||||
defaultModel = basicModel;
|
||||
}
|
||||
Model customModel = getCustomProjectModel(parameters);
|
||||
MergedModel mergedModel = new MergeModelTool().mergeModel(defaultModel, customModel);
|
||||
Model model = mergedModel.getModel();
|
||||
if (model != null) {
|
||||
Map<ETalendMavenVariables, String> variablesValuesMap = new HashMap<>();
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectGroupId, basicModel.getGroupId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectArtifactId, basicModel.getArtifactId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectVersion, basicModel.getVersion());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectName, PomUtil.getProjectNameFromTemplateParameter(parameters));
|
||||
|
||||
model.setGroupId(ETalendMavenVariables.replaceVariables(model.getGroupId(), variablesValuesMap));
|
||||
model.setArtifactId(ETalendMavenVariables.replaceVariables(model.getArtifactId(), variablesValuesMap));
|
||||
model.setVersion(ETalendMavenVariables.replaceVariables(model.getVersion(), variablesValuesMap));
|
||||
model.setName(ETalendMavenVariables.replaceVariables(model.getName(), variablesValuesMap));
|
||||
|
||||
setJavaVersionForModel(model, variablesValuesMap);
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static Model getDefaultProjectModel(Map<String, Object> parameters) {
|
||||
try {
|
||||
InputStream stream = MavenTemplateManager.getTemplateStream(null,
|
||||
IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, DesignerMavenPlugin.PLUGIN_ID,
|
||||
InputStream stream = MavenTemplateManager.getTemplateStream(null, null, DesignerMavenPlugin.PLUGIN_ID,
|
||||
IProjectSettingTemplateConstants.PATH_GENERAL + '/'
|
||||
+ IProjectSettingTemplateConstants.PROJECT_TEMPLATE_FILE_NAME, parameters);
|
||||
+ IProjectSettingTemplateConstants.PROJECT_TEMPLATE_FILE_NAME,
|
||||
parameters);
|
||||
if (stream != null) {
|
||||
Model model = MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
|
||||
Map<ETalendMavenVariables, String> variablesValuesMap = new HashMap<ETalendMavenVariables, String>();
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectGroupId, defaultModel.getGroupId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectArtifactId, defaultModel.getArtifactId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectVersion, defaultModel.getVersion());
|
||||
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectName, projectTechName);
|
||||
|
||||
model.setGroupId(ETalendMavenVariables.replaceVariables(model.getGroupId(), variablesValuesMap));
|
||||
model.setArtifactId(ETalendMavenVariables.replaceVariables(model.getArtifactId(), variablesValuesMap));
|
||||
model.setVersion(ETalendMavenVariables.replaceVariables(model.getVersion(), variablesValuesMap));
|
||||
model.setName(ETalendMavenVariables.replaceVariables(model.getName(), variablesValuesMap));
|
||||
|
||||
setJavaVersionForModel(model, variablesValuesMap);
|
||||
|
||||
PomExtensionRegistry.getInstance().updateProjectPom(model);
|
||||
|
||||
PomExtensionRegistry.getInstance().updatePomTemplate(model);
|
||||
Properties properties = model.getProperties();
|
||||
properties.put("talend.project.name", projectTechName); //$NON-NLS-1$
|
||||
|
||||
properties.put("talend.project.name", PomUtil.getProjectNameFromTemplateParameter(parameters)); //$NON-NLS-1$
|
||||
return model;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// ExceptionHandler.process(e);
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return defaultModel; // if error, try to use default model
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Model getCustomProjectModel(Map<String, Object> parameters) {
|
||||
try {
|
||||
InputStream stream = MavenTemplateManager.getTemplateStream(null,
|
||||
IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, null, null, parameters);
|
||||
if (stream != null) {
|
||||
return MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static void setJavaVersionForModel(Model model, Map<ETalendMavenVariables, String> variablesValuesMap) {
|
||||
@@ -275,7 +295,8 @@ public class MavenTemplateManager {
|
||||
}
|
||||
}
|
||||
|
||||
private static Model getDefaultCodeProjectTemplateModel(String projectTechName) {
|
||||
private static Model getBasicProjectPomTemplateModel(Map<String, Object> parameters) {
|
||||
String projectTechName = PomUtil.getProjectNameFromTemplateParameter(parameters);
|
||||
Model templateCodeProjectMOdel = new Model();
|
||||
templateCodeProjectMOdel.setGroupId(PomIdsHelper.getProjectGroupId(projectTechName));
|
||||
templateCodeProjectMOdel.setArtifactId(PomIdsHelper.getProjectArtifactId());
|
||||
|
||||
@@ -668,7 +668,10 @@ public class AggregatorPomsHelper {
|
||||
Set<JobInfo> allJobInfos = ProcessorUtilities.getChildrenJobInfo(item, false, true);
|
||||
allJobInfos.add(new JobInfo(item, item.getProcess().getDefaultContext()));
|
||||
return allJobInfos.stream();
|
||||
}).map(info -> info.getJobletProperty() != null ? info.getJobletProperty().getItem() : info.getProcessItem())
|
||||
}).filter(info -> !info.isTestContainer() && ProjectManager.getInstance()
|
||||
.isInCurrentMainProject(info.getJobletProperty() != null ? info.getJobletProperty() : info.getProcessItem()))
|
||||
.distinct()
|
||||
.map(info -> info.getJobletProperty() != null ? info.getJobletProperty().getItem() : info.getProcessItem())
|
||||
.collect(Collectors.toSet());
|
||||
} else {
|
||||
allItems = objects.stream().map(object -> object.getProperty().getItem()).collect(Collectors.toSet());
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.talend.designer.maven.tools;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
import org.eclipse.core.resources.IWorkspace;
|
||||
import org.eclipse.core.resources.IWorkspaceRunnable;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
@@ -15,14 +16,13 @@ import org.eclipse.swt.widgets.Display;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.repository.model.ProxyRepositoryFactory;
|
||||
import org.talend.designer.maven.migration.common.MigrationReportHelper;
|
||||
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForDIJobMigrationTask;
|
||||
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForDsRestMigrationTask;
|
||||
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForRoutesMigrationTask;
|
||||
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForSOAPServiceJobMigrationTask;
|
||||
import org.talend.designer.maven.migration.tasks.ICorrectBuildTypeMigrationTask;
|
||||
import org.talend.migration.IMigrationTask;
|
||||
import org.talend.migration.IProjectMigrationTask;
|
||||
import org.talend.migration.MigrationReportHelper;
|
||||
import org.talend.repository.ProjectManager;
|
||||
import org.talend.repository.RepositoryWorkUnit;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user