Compare commits

...

26 Commits

Author SHA1 Message Date
bhe-talendbj
caa4b51cc4 chore(TUP-37660): upgrade sqlite-jdbc (#5899) 2023-01-18 14:37:10 +08:00
bhe-talendbj
b2fdccc3e7 chore: fix junit exe resolve (#5936)
* chore: fix exe resolve

* chore: revert unnecessay changes

* chore: remove exe dependency test
2023-01-17 17:55:34 +08:00
jiezhang-tlnd
da208c72f6 force update time stamp (#5934) 2023-01-17 16:11:39 +08:00
bhe-talendbj
bd6a271805 bugfix(TUP-37425): Performance: Not Responding while Retrieving schema and the database contains many tables (#5864)
* fix(TUP-37425): retrieve table comment once

* fix(TUP-37425): add busy indicator

* fix(TUP-37425): fix UI responsiveness
2023-01-16 19:26:43 +08:00
Zhiwei Xue
cd5af34395 fix(TUP-37751):Data view/Guess schema fail if set java interpreter to (#5924)
jdk 8
2023-01-11 21:15:09 +08:00
bhe-talendbj
ba71689fac feat(TUP-37030): Research: Enable signing GIT commits from GPG (#5767)
* feat(TUP-37030): enable git preference page

* feat(TUP-37030): enable egit preference page for standard mode
2023-01-11 10:29:30 +08:00
hzhao
f6a123ad2b feat(TUP-37472): Oracle version cleanup (#5895)
* feat(TUP-37472): Oracle version cleanup

* feat(TUP-37472): Oracle version cleanup

* feat(TUP-37472): Oracle version cleanup

* feat(TUP-37472): Oracle version cleanup
2023-01-11 10:10:58 +08:00
sbliu
14d9caec2e feat(TUP-36197) Remove git branch name in project setting (#5898)
* feat(TUP-36197) retrieve branch name for build/publish job

* set branch value from null to empty
2023-01-10 15:26:20 +08:00
hzhao
96f177cb95 chore(TUP-35265): upgrade 'crypto-utils' jar in low level (#5647)
* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level

* chore(TUP-35265): upgrade 'crypto-utils' jar in low level
2023-01-10 14:42:34 +08:00
kjwang
4a34141e6f TUP-30674 Support rename on custom jar and inner code. (#5831)
TUP-30674 Support rename on custom jar and inner code.
https://jira.talendforge.org/browse/TUP-30674
2023-01-10 11:51:31 +08:00
Wei Hua
9bf06c26bb APPINT-35260 CVE-2022-36033, jsoup:1.14.2 (#5892) 2023-01-09 18:15:17 +08:00
Jane Ding
51010064c7 fix(TUP-37012):Help Pane: Online Tools menu: (#5858)
* fix(TUP-37012):Help Pane: Online Tools menu:
Bugtracker/sources/exchange/forum menus
https://jira.talendforge.org/browse/TUP-37012

* fix(TUP-37012):Help Pane: Online Tools menu:
Bugtracker/sources/exchange/forum menus
https://jira.talendforge.org/browse/TUP-37012

* fix(TUP-37012):Help Pane: Online Tools menu:
Bugtracker/sources/exchange/forum menus
https://jira.talendforge.org/browse/TUP-37012
2023-01-09 10:36:43 +08:00
Zhiwei Xue
d0a5c76459 feat(TUP-36692):Modify Studio launcher ini for more --add-opens when apply monthly update (#5824)
* feat(TUP-36692):Modify Studio launcher ini for more --add-opens when
apply monthly update

* Revert "feat(TUP-36692):Modify Studio launcher ini for more --add-opens when apply monthly update"

This reverts commit 7ce834063440af5b87c9a35f1ecfbbdc67413829.

* feat(TUP-36692): include p2.inf for patch only
2023-01-06 16:25:16 +08:00
Emmanuel GALLOIS
4b308e1d34 feat(TCOMP-2235): bump cxf to 3.5.5 2023-01-05 12:02:14 +01:00
Emmanuel GALLOIS
b39332b706 feat(TCOMP-2235): bump component-runtime to 1.52.1 (#5908) 2023-01-05 11:58:17 +01:00
hcyi
556ab359d9 fix(TUP-37587):CVE : upgrade redshift-jdbc42 to 2.1.0.10 or latest (#5886) 2023-01-05 11:25:54 +08:00
jiezhang-tlnd
55f8537c15 chore(TUP-37524)CVE-2022-46364,org.apache.cxf:cxf-core:3.4.4,3.5.2 (#5878) 2023-01-04 16:36:08 +08:00
jiezhang-tlnd
98f0a248dc chore(TUP-37124)CVE-2022-36033,org.jsoup:jsoup:1.14.2 (#5793)
* chore(TUP-37124)CVE-2022-36033,org.jsoup:jsoup:1.14.2

* change verison to 1.15.3
2022-12-30 14:41:42 +08:00
Jane Ding
360c36b6bb fix(TUP-37467):[8.0.1&7.3.1] custom component are no more build as (#5876)
* fix(TUP-37467):[8.0.1&7.3.1] custom component are no more build as
snapshot but releases since june/july patch
https://jira.talendforge.org/browse/TUP-37467

* fix(TUP-37467):[8.0.1&7.3.1] custom component are no more build as
snapshot but releases since june/july patch
https://jira.talendforge.org/browse/TUP-37467

* fix(TUP-37467):[8.0.1&7.3.1] custom component are no more build as
snapshot but releases since june/july patch
https://jira.talendforge.org/browse/TUP-37467

* fix(TUP-37467):[8.0.1&7.3.1] custom component are no more build as
snapshot but releases since june/july patch
https://jira.talendforge.org/browse/TUP-37467
2022-12-28 17:41:01 +08:00
kjwang
c5e48b7e97 feat: TUP-37444 DI Repository view improvements (#5881) (#5897)
* feat: TUP-37444 DI Repository view improvements
https://jira.talendforge.org/browse/TUP-37444
2022-12-27 10:24:43 +08:00
Chao MENG
8b3040a4f6 feat(TUP-37052): dark theme support (#5849)
feat(TUP-37052): dark theme support
https://jira.talendforge.org/browse/TUP-37052
2022-12-26 15:27:53 +08:00
Jane Ding
fac09dcc63 Revert "fix(TUP-37227):Issue building when items names too long (#5828)" (#5889)
This reverts commit 00a777d477.
2022-12-23 11:43:18 +08:00
pyzhou
f97757fa8e fix(TDI-49103):bump up tck 1.52.0 (#5884) 2022-12-22 10:30:14 +08:00
wchen-talend
3a557a7658 feat(TUP-36415): fix tuj (#5879) 2022-12-20 09:58:37 +08:00
Jane Ding
00a777d477 fix(TUP-37227):Issue building when items names too long (#5828)
* fix(TUP-37227):Issue building when items names too long
https://jira.talendforge.org/browse/TUP-37227

* fix(TUP-37227):Issue building when items names too long
https://jira.talendforge.org/browse/TUP-37227
2022-12-19 12:02:00 +08:00
jiezhang-tlnd
eb661b81c5 80 loc ja jp 2022 12 15 08 15 (#5875)
* Add localized files (#5873)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

* Add localized files (#5874)

Co-authored-by: jenkins-git <jenkins-git@talend.com>

Co-authored-by: tsasada-talend <51699524+tsasada-talend@users.noreply.github.com>
Co-authored-by: jenkins-git <jenkins-git@talend.com>
Co-authored-by: Alexiane Yvonet <ayvonet@talend.com>
2022-12-16 11:35:38 +08:00
86 changed files with 3069 additions and 499 deletions

View File

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

View File

@@ -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>

View File

@@ -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'
}

View File

@@ -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'
}

View File

@@ -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));
}
}

View File

@@ -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;
/*

View File

@@ -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;
}
}

View File

@@ -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);

View File

@@ -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);
}
}

View File

@@ -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();
}

View File

@@ -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) {

View File

@@ -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)) {

View File

@@ -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();
}
}
}
});
}
}
};
}
}

View File

@@ -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);

View File

@@ -24,7 +24,7 @@ import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
*/
public enum ERedshiftDriver {
DRIVER_V2("Driver v2", new String[] { "redshift-jdbc42-2.1.0.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;

View File

@@ -35,17 +35,12 @@ public enum EDatabaseVersion4Drivers {
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$

View File

@@ -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)) {

View File

@@ -116,7 +116,7 @@ public class ModuleAccessHelper {
if (allow != null) {
return Boolean.valueOf(allow);
}
if (CommonsPlugin.isTUJTest() || CommonsPlugin.isJUnitTest() || CommonsPlugin.isJunitWorking()) {
if (CommonsPlugin.isJUnitTest() || CommonsPlugin.isJunitWorking()) {
return true;
}
Project project;
@@ -135,15 +135,15 @@ public class ModuleAccessHelper {
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());
}
if (!allowJavaInternalAcess(property)) {
return Collections.emptySet();
}
ProcessItem mainJobItem = (ProcessItem) property.getItem();
Set<JobInfo> allJobInfos = new HashSet<>();
allJobInfos.add(new JobInfo(mainJobItem, mainJobItem.getProcess().getDefaultContext()));

View File

@@ -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);
}

View File

@@ -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();
}

View File

@@ -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);

View File

@@ -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());
}
}

View File

@@ -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);

View File

@@ -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.

View File

@@ -83,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>

View File

@@ -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>

View File

@@ -174,7 +174,7 @@
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.14.2</version>
<version>1.15.3</version>
</dependency>
</dependencies>
<build>

View File

@@ -11,7 +11,7 @@
<packaging>pom</packaging>
<properties>
<tcomp.version>1.51.2</tcomp.version>
<tcomp.version>1.52.1</tcomp.version>
<slf4j.version>1.7.34</slf4j.version>
<reload4j.version>1.2.22</reload4j.version>
</properties>

View File

@@ -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>

View File

@@ -76,7 +76,6 @@ import org.talend.core.runtime.process.TalendProcessArgumentConstant;
import org.talend.core.runtime.process.TalendProcessOptionConstants;
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
import org.talend.core.runtime.projectsetting.IProjectSettingTemplateConstants;
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
import org.talend.core.runtime.util.ModuleAccessHelper;
import org.talend.core.services.IGITProviderService;
import org.talend.core.ui.ITestContainerProviderService;
@@ -93,7 +92,6 @@ import org.talend.designer.runprocess.IProcessor;
import org.talend.designer.runprocess.IRunProcessService;
import org.talend.designer.runprocess.ProcessorUtilities;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.RepositoryConstants;
import org.talend.utils.io.FilesUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -290,18 +288,19 @@ public class CreateMavenJobPom extends AbstractMavenProcessorPom {
org.talend.core.model.general.Project currentProject = ProjectManager.getInstance()
.getProjectFromProjectTechLabel(project.getTechnicalLabel());
String branchName = ProjectManager.getInstance().getMainProjectBranch(project);
try {
if (branchName == null) {
ProjectPreferenceManager preferenceManager =
new ProjectPreferenceManager(currentProject, "org.talend.repository", false);
branchName = preferenceManager.getValue(RepositoryConstants.PROJECT_BRANCH_ID);
if(branchName == null) {
try {
branchName = IGitInfoService.get().getProjectBranch(currentProject);
} catch (Exception e) {
ExceptionHandler.process(e);
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
if (null != branchName && branchName.startsWith("branches/")) {
branchName = branchName.substring(9);
if (null != branchName) {
properties.setProperty("talend.project.branch.name", branchName);
if(branchName.startsWith("branches/")) {
branchName = branchName.substring(9);
properties.setProperty("talend.project.branch.name", branchName);
}
}
try {
@@ -616,10 +615,13 @@ public class CreateMavenJobPom extends AbstractMavenProcessorPom {
}
String mainProjectBranch = ProjectManager.getInstance().getMainProjectBranch(project);
if (mainProjectBranch == null) {
ProjectPreferenceManager preferenceManager =
new ProjectPreferenceManager(project, "org.talend.repository", false);
mainProjectBranch = preferenceManager.getValue(RepositoryConstants.PROJECT_BRANCH_ID);
if (mainProjectBranch == null) {
try {
mainProjectBranch = IGitInfoService.get().getProjectBranch(project);
} catch (Exception e) {
ExceptionHandler.process(e);
}
if(mainProjectBranch == null) {
mainProjectBranch = "";
}
}

View File

@@ -5,4 +5,5 @@ bin.includes = META-INF/,\
plugin.xml,\
community_tools.xml,\
inlinehelp_context.xml,\
thc.xml
thc.xml,\
html/

View File

@@ -2,11 +2,10 @@
<?NLS TYPE="org.eclipse.help.toc"?>
<toc label="Talend Online Tools">
<topic label="Talend Babili" href="http://www.talendforge.org/babili/" />
<topic label="Talend Bugtracker" href="https://jira.talendforge.org/secure/Dashboard.jspa" />
<topic label="Talend Components" href="http://www.talendforge.org/components" />
<topic label="Talend Exchange" href="https://exchange.talend.com/" />
<topic label="Talend Forum" href="https://community.talend.com/" />
<topic label="Talend Sources" href="https://www.talendforge.org/sources/" />
<topic label="Talend Tutorials" href="https://community.talend.com/t5/custom/page/page-id/Tutorials" />
<topic label="Talend Bugtracker" href="html/dashboard.html" />
<topic label="Talend Components" href="html/components.html" />
<topic label="Talend Exchange" href="html/exchange.html" />
<topic label="Talend Forum" href="html/forum.html" />
<topic label="Talend Sources" href="html/sources.html" />
<topic label="Talend Tutorials" href="html/tutorials.html" />
</toc>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<body>
<p>Click the button below to open Talend Components in a new browser window.</p>
<button onclick="openInNewWindow()">Go to Talend Components</button>
<script>
function openInNewWindow() {
window.open("http://www.talendforge.org/components");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<body>
<p>Click the button below to open Talend Bugtracker in a new browser window.</p>
<button onclick="openInNewWindow()">Go to Talend Bugtracker</button>
<script>
function openInNewWindow() {
window.open("https://jira.talendforge.org/secure/Dashboard.jspa");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<body>
<p>Click the button below to open Talend Exchange in a new browser window.</p>
<button onclick="openInNewWindow()">Go to Talend Exchange</button>
<script>
function openInNewWindow() {
window.open("https://exchange.talend.com/");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<body>
<p>Click the button below to open Talend Forum in a new browser window.</p>
<button onclick="openInNewWindow()">Go to Talend Forum</button>
<script>
function openInNewWindow() {
window.open("https://community.talend.com/");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<body>
<p>Click the button below to open Talend Sources in a new browser window.</p>
<button onclick="openInNewWindow()">Go to Talend Sources</button>
<script>
function openInNewWindow() {
window.open("https://www.talendforge.org/sources/");
}
</script>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<body>
<p>Click the button below to open Talend Tutorials in a new browser window.</p>
<button onclick="openInNewWindow()">Go to Talend Tutorials</button>
<script>
function openInNewWindow() {
window.open("https://help.talend.com/r/en-US/8.0/discovering-talend-studio");
}
</script>
</body>
</html>

View File

@@ -2,28 +2,28 @@
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="lib" path="lib/jakarta.activation-1.2.2.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-wsdl-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-wsdl-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jakarta.activation-api-1.2.2.jar"/>
<classpathentry exported="true" kind="lib" path="lib/woodstox-core-6.2.1.jar"/>
<classpathentry exported="true" kind="lib" path="lib/woodstox-core-6.4.0.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jakarta.annotation-api-1.3.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/stax2-api-4.2.1.jar"/>
<classpathentry exported="true" kind="lib" path="lib/neethi-3.1.1.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jakarta.ws.rs-api-2.1.6.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-core-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-bindings-xml-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-frontend-jaxrs-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-rs-client-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-transports-http-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-bindings-soap-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-databinding-jaxb-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-features-clustering-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-frontend-jaxws-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-frontend-simple-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-security-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-security-saml-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-ws-addr-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-ws-policy-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-ws-security-3.4.4.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-core-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-bindings-xml-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-frontend-jaxrs-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-rs-client-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-transports-http-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-bindings-soap-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-databinding-jaxb-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-features-clustering-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-frontend-jaxws-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-frontend-simple-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-security-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-security-saml-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-ws-addr-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-ws-policy-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/cxf-rt-ws-security-3.5.5.jar"/>
<classpathentry exported="true" kind="lib" path="lib/javax.ws.rs-api-2.0-m10.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jakarta.xml.bind-api-2.3.3.jar"/>
<classpathentry exported="true" kind="lib" path="lib/xmlschema-core-2.2.5.jar"/>

View File

@@ -8,25 +8,25 @@ Bundle-ClassPath: .,
lib/neethi-3.1.1.jar,
lib/stax2-api-4.2.1.jar,
lib/javax.activation-1.2.0.jar,
lib/cxf-core-3.4.4.jar,
lib/cxf-rt-bindings-xml-3.4.4.jar,
lib/cxf-rt-frontend-jaxrs-3.4.4.jar,
lib/cxf-rt-rs-client-3.4.4.jar,
lib/cxf-rt-transports-http-3.4.4.jar,
lib/cxf-rt-wsdl-3.4.4.jar,
lib/cxf-rt-bindings-soap-3.4.4.jar,
lib/cxf-rt-databinding-jaxb-3.4.4.jar,
lib/cxf-rt-features-clustering-3.4.4.jar,
lib/cxf-rt-frontend-jaxws-3.4.4.jar,
lib/cxf-rt-frontend-simple-3.4.4.jar,
lib/cxf-rt-security-3.4.4.jar,
lib/cxf-rt-security-saml-3.4.4.jar,
lib/cxf-rt-ws-addr-3.4.4.jar,
lib/cxf-rt-ws-policy-3.4.4.jar,
lib/cxf-rt-ws-security-3.4.4.jar,
lib/cxf-core-3.5.5.jar,
lib/cxf-rt-bindings-xml-3.5.5.jar,
lib/cxf-rt-frontend-jaxrs-3.5.5.jar,
lib/cxf-rt-rs-client-3.5.5.jar,
lib/cxf-rt-transports-http-3.5.5.jar,
lib/cxf-rt-wsdl-3.5.5.jar,
lib/cxf-rt-bindings-soap-3.5.5.jar,
lib/cxf-rt-databinding-jaxb-3.5.5.jar,
lib/cxf-rt-features-clustering-3.5.5.jar,
lib/cxf-rt-frontend-jaxws-3.5.5.jar,
lib/cxf-rt-frontend-simple-3.5.5.jar,
lib/cxf-rt-security-3.5.5.jar,
lib/cxf-rt-security-saml-3.5.5.jar,
lib/cxf-rt-ws-addr-3.5.5.jar,
lib/cxf-rt-ws-policy-3.5.5.jar,
lib/cxf-rt-ws-security-3.5.5.jar,
lib/jakarta.ws.rs-api-2.1.6.jar,
lib/jakarta.annotation-api-1.3.5.jar,
lib/woodstox-core-6.2.1.jar,
lib/woodstox-core-6.4.0.jar,
lib/jakarta.xml.bind-api-2.3.3.jar,
lib/jakarta.activation-api-1.2.2.jar,
lib/jakarta.activation-1.2.2.jar,

View File

@@ -9,7 +9,9 @@
</parent>
<artifactId>org.talend.libraries.apache.cxf</artifactId>
<packaging>eclipse-plugin</packaging>
<properties>
<cxf.version>3.5.5</cxf.version>
</properties>
<repositories>
<repository>
<id>talend-update</id>
@@ -21,82 +23,82 @@
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-xml</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-wsdl</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-databinding-jaxb</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-features-clustering</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-simple</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-security</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-security-saml</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-addr</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-policy</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
<version>3.4.4</version>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>com.sun.activation</groupId>
@@ -131,7 +133,7 @@
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
<version>6.2.1</version>
<version>6.4.0</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>

View File

@@ -202,9 +202,6 @@ public class JavaLibrariesService extends AbstractLibrariesService {
if (!repositoryBundleService.isInitialized()) {
// 2. Components libraries and libraries from extension
repositoryBundleService.createModulesIndexFromComponentAndExtension(monitorWrap);
} else {
//TUP-31721 & TUP-36231:Handle the custom components deployment when studio index is not re-generated.
repositoryBundleService.deployLibsFromCustomComponents();
}
repositoryBundleService.installModules(ModulesNeededProvider.getSystemRunningModules(), null);

View File

@@ -1347,27 +1347,83 @@ public class LocalLibraryManager implements ILibraryManagerService, IChangedLibr
saveMavenIndex(mavenURIMap, monitorWrap);
savePlatfromURLIndex(platformURLMap, monitorWrap);
if (service != null) {
deployLibsFromCustomComponents(service, platformURLMap);
}
return mavenURIMap;
}
public void deployLibsFromCustomComponents() {
IComponentsService service = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentsService.class)) {
service = GlobalServiceRegister.getDefault().getService(IComponentsService.class);
public void deployLibsFromCustomComponents(File componentFolder, List<ModuleNeeded> modulesNeeded) {
if (modulesNeeded == null || modulesNeeded.isEmpty()) {
return;
}
if (service != null) {
Map<String, String> platformURLMap = new HashMap<>();
platformURLMap = LibrariesIndexManager.getInstance().getAllStudioLibsFromIndex();
// Need to read components first, otherwise FiltUtils.getFilesFromFolderByName() returns empty for custom
// component folder.
service.getComponentsFactory().readComponents();
deployLibsFromCustomComponents(service, platformURLMap);
Map<File, Set<MavenArtifact>> needToDeploy = new HashMap<File, Set<MavenArtifact>>();
modulesNeeded.forEach(module -> {
if (module != null) {
boolean needDeploy = false;
String mvnUri = module.getMavenUri();
String jarPathFromMaven = getJarPathFromMaven(StringUtils.isNotBlank(mvnUri) ? mvnUri : module.getModuleName());
if (StringUtils.isBlank(jarPathFromMaven)) {
needDeploy = true;
} else {
File jarFromMaven = new File(jarPathFromMaven);
if (!jarFromMaven.exists()) {
needDeploy = true;
}
}
if (needDeploy) {
File deployFile = getDeployJarFileByModule(componentFolder, module);
if (deployFile != null) {
install(deployFile, mvnUri, false, true, null);
if (needToDeploy.get(deployFile) == null) {
needToDeploy.put(deployFile, new HashSet<MavenArtifact>());
}
if (StringUtils.isNotBlank(mvnUri)) {
MavenArtifact mavenArtifact = MavenUrlHelper.parseMvnUrl(mvnUri);
needToDeploy.get(deployFile).add(mavenArtifact);
} else {
Map<String, String> sourceAndMavenUri = new HashMap<>();
guessMavenRUIFromIndex(deployFile, true, sourceAndMavenUri);
Set<MavenArtifact> MavenArtifactSet = new HashSet<MavenArtifact>();
sourceAndMavenUri.keySet()
.forEach(mavenUri -> {
if (StringUtils.isNotBlank(mvnUri)) {
MavenArtifactSet.add(MavenUrlHelper.parseMvnUrl(mavenUri));
}
});
needToDeploy.get(deployFile).addAll(MavenArtifactSet);
}
}
}
}
});
if (!needToDeploy.isEmpty()) {
ShareComponentsLibsJob shareJob = new ShareComponentsLibsJob(
Messages.getString("LocalLibraryManager.shareLibsForCustomponents"), needToDeploy, deployer);
shareJob.schedule();
}
}
private File getDeployJarFileByModule(File componentFolder, ModuleNeeded module) {
String mvnUri = module.getMavenUri();
if (StringUtils.isNotBlank(mvnUri)) {
MavenArtifact mavenArtifact = MavenUrlHelper.parseMvnUrl(mvnUri);
String fileName = mavenArtifact.getFileName();
File jarFile = new File(componentFolder, fileName);
if (jarFile.exists()) {
return jarFile;
}
}
// try module name
File jarFile = new File(componentFolder, module.getModuleName());
if (jarFile.exists()) {
return jarFile;
}
return null;
}
/**
*
* The old components might use some jars in component folder and theres jars are not configured with platfrom URL
@@ -1425,86 +1481,6 @@ public class LocalLibraryManager implements ILibraryManagerService, IChangedLibr
return false;
}
private void deployLibsFromCustomComponents(IComponentsService service, Map<String, String> platformURLMap) {
boolean deployToRemote = true;
if (!LibrariesManagerUtils.shareLibsAtStartup()) {
log.info("Skip deploying libs from custom components");
deployToRemote = false;
}
Map<File, Set<MavenArtifact>> needToDeploy = new HashMap<File, Set<MavenArtifact>>();
List<ComponentProviderInfo> componentsFolders = service.getComponentsFactory().getComponentsProvidersInfo();
for (ComponentProviderInfo providerInfo : componentsFolders) {
String id = providerInfo.getId();
try {
File file = new File(providerInfo.getLocation());
if (isExtComponentProvider(id)) {
if (file.isDirectory()) {
List<File> jarFiles = FilesUtils.getJarFilesFromFolder(file, null);
if (jarFiles.size() > 0) {
for (File jarFile : jarFiles) {
String name = jarFile.getName();
if (!canDeployFromCustomComponentFolder(name) || platformURLMap.get(name) != null) {
continue;
}
collectLibModules(jarFile, needToDeploy);
}
}
} else {
if (!canDeployFromCustomComponentFolder(file.getName()) || platformURLMap.get(file.getName()) != null) {
continue;
}
collectLibModules(file, needToDeploy);
}
}
} catch (Exception e) {
ExceptionHandler.process(e);
continue;
}
}
// first install them locally
needToDeploy.forEach((k, v) -> {
try {
// install as release version if can't find mvn url from index
install(k, null, false, true);
} catch (Exception e) {
ExceptionHandler.process(e);
}
});
if (!deployToRemote) {
return;
}
ShareComponentsLibsJob shareJob = new ShareComponentsLibsJob(
Messages.getString("LocalLibraryManager.shareLibsForCustomponents"), needToDeploy, deployer);
shareJob.schedule();
}
private void collectLibModules(File jarFile, Map<File, Set<MavenArtifact>> needToDeploy) {
Map<String,String> mavenUris = new HashMap<String,String>();
guessMavenRUIFromIndex(jarFile, true, mavenUris);
Set<MavenArtifact> artifacts = new HashSet<MavenArtifact>();
for(String uri: mavenUris.keySet()) {
MavenArtifact art = MavenUrlHelper.parseMvnUrl(uri);
if(art!=null) {
artifacts.add(art);
}
}
needToDeploy.put(jarFile, artifacts);
}
private boolean canDeployFromCustomComponentFolder(String fileName) {
if (isSystemCacheFile(fileName) || isComponentDefinitionFileType(fileName)) {
return false;
}
return true;
}
private void warnDuplicated(List<ModuleNeeded> modules, Set<String> duplicates, String type) {
for (String lib : duplicates) {
Set<String> components = new HashSet<>();

View File

@@ -294,8 +294,9 @@ public class PropertiesWizard extends Wizard {
// changed by hqzhang for TDI-19527, label=displayName
object.getProperty().setLabel(object.getProperty().getDisplayName());
processBeforeItemSave(proxyRepositoryFactory);
processBeforeItemSave(proxyRepositoryFactory, monitor);
proxyRepositoryFactory.save(object.getProperty(), originaleObjectLabel, originalVersion);
ExpressionPersistance.getInstance().jobNameChanged(originaleObjectLabel, object.getLabel());
if (!originalVersion.equals(object.getVersion())) {
@@ -328,21 +329,21 @@ public class PropertiesWizard extends Wizard {
}
}
private void processBeforeItemSave(IProxyRepositoryFactory proxyRepositoryFactory) throws PersistenceException {
private void processBeforeItemSave(IProxyRepositoryFactory proxyRepositoryFactory, final IProgressMonitor monitor) throws PersistenceException, CoreException {
ERepositoryObjectType objectRepType = object.getRepositoryObjectType();
if (!originaleObjectLabel.equals(object.getProperty().getLabel())
&& ERepositoryObjectType.getAllTypesOfCodesJar().contains(objectRepType)) {
// for codejar to change innercode folder name
proxyRepositoryFactory.renameFolder(object.getRepositoryObjectType(), new Path(originaleObjectLabel),
object.getProperty().getLabel());
Project currentProject = ProjectManager.getInstance().getCurrentProject();
Project currentProject = ProjectManager.getInstance().getCurrentProject();
IFolder innerCodeFolder = ResourceUtils.getFolder(ResourceUtils.getProject(currentProject),
ERepositoryObjectType.getFolderName(objectRepType) + "/" + object.getProperty().getLabel(), true);
ERepositoryObjectType.getFolderName(objectRepType) + "/" + originaleObjectLabel, true);
List<IRepositoryViewObject> innerCodesObjs = proxyRepositoryFactory.getAll(currentProject, objectRepType, false,
false, innerCodeFolder);
proxyRepositoryFactory.renameFolder(object.getRepositoryObjectType(), new Path(originaleObjectLabel),
object.getProperty().getLabel());
// for codejar to change innercode folder name
if (innerCodesObjs != null && !innerCodesObjs.isEmpty()) {
innerCodesObjs.stream().forEach(repObj -> {
RoutineUtils.changeInnerCodePackage(repObj.getProperty().getItem(), false);
RoutineUtils.changeInnerCodePackage(repObj.getProperty().getItem(), false, false);
});
}
}

View File

@@ -17,6 +17,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.runtime.IPath;
@@ -67,6 +68,7 @@ import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.LockInfo;
import org.talend.core.model.routines.CodesJarInfo;
import org.talend.core.model.routines.RoutinesUtil;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.ui.branding.IBrandingService;
@@ -241,11 +243,16 @@ public abstract class PropertiesWizardPage extends AbstractNamedWizardPage {
list.addAll(repViewObjectWithSameType);
}
List<IRepositoryViewObject> others = loadRepViewObjectWithOtherTypes();
// Loads other repository view objects with the different repository type.
if (others != null && others.size() > 0) {
list.addAll(others);
if (!RoutinesUtil.isInnerCodes(property)) {
List<IRepositoryViewObject> others = loadRepViewObjectWithOtherTypes();
// Loads other repository view objects with the different repository type.
if (others != null && others.size() > 0) {
for (IRepositoryViewObject object : others) {
if (!RoutinesUtil.isInnerCodes(object.getProperty())) {
list.add(object);
}
}
}
}
return list;
}
@@ -295,13 +302,12 @@ public abstract class PropertiesWizardPage extends AbstractNamedWizardPage {
ERepositoryObjectType type = ERepositoryObjectType.getItemType(property.getItem());
if (IProxyRepositoryService.get() != null) {
IProxyRepositoryFactory factory = IProxyRepositoryService.get().getProxyRepositoryFactory();
list = factory.getAll(type, true, false);
if (ERepositoryObjectType.getAllTypesOfCodes().contains(type)) {
for (CodesJarInfo info : CodesJarResourceCache.getAllCodesJars()) {
if (info.isInCurrentMainProject()
&& ERepositoryObjectType.CodeTypeEnum.isCodeRepositoryObjectTypeMatch(info.getType(), type)) {
list.addAll(factory.getAllInnerCodes(info));
}
if (!RoutinesUtil.isInnerCodes(property)) {
list = factory.getAll(type, true, false).stream().filter(a->(!RoutinesUtil.isInnerCodes(a.getProperty()))).collect(Collectors.toList());
} else {
CodesJarInfo codeJarinfo = CodesJarResourceCache.getCodesJarByInnerCode((RoutineItem) property.getItem());
if (codeJarinfo != null) {
return ProxyRepositoryFactory.getInstance().getAllInnerCodes(codeJarinfo);
}
}
}
@@ -1188,6 +1194,9 @@ public abstract class PropertiesWizardPage extends AbstractNamedWizardPage {
}
evaluateName(nameText.getText());
updatePageStatus();
if (nameStatus.getSeverity() == IStatus.OK && RoutinesUtil.isInnerCodes(property)) {
evaluateNameInJob();
}
}
@Override

View File

@@ -220,6 +220,14 @@
required="true"
uripath="platform:/plugin/org.talend.libraries.jdbc.hsql/lib/hsqldb.jar">
</libraryNeeded>
<libraryNeeded
context="plugin:org.talend.metadata.managment"
language="java"
message="Needed for create sqlite connection"
mvn_uri="mvn:org.xerial/sqlite-jdbc/3.40.0.0"
name="sqlite-jdbc-3.40.0.0.jar"
required="true">
</libraryNeeded>
</extension>
<extension
point="org.talend.core.migrationTask">

View File

@@ -26,7 +26,6 @@ import org.apache.log4j.Logger;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.ICoreService;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.conn.version.EDatabaseVersion4Drivers;
import org.talend.core.model.metadata.IMetadataConnection;
import org.talend.core.model.metadata.IMetadataTable;
import org.talend.core.model.metadata.MappingTypeRetriever;
@@ -347,14 +346,15 @@ public class OracleExtractManager extends ExtractManager {
@Override
protected void filterTablesFromRecycleBin(IMetadataConnection metadataConnection, List<String> itemTablesName) {
// filter tables or viewer from the recyclebin in the Oracle 10g.
if (metadataConnection.getDbVersionString() != null
&& !metadataConnection.getDbVersionString().equals(EDatabaseVersion4Drivers.ORACLE_8.getVersionValue())) {
if (metadataConnection.getDbVersionString() != null) {
ExtractMetaDataUtils extractMeta = ExtractMetaDataUtils.getInstance();
try {
PreparedStatement stmt = extractMeta.getConn().prepareStatement(TableInfoParameters.ORACLE_10G_RECBIN_SQL);
PreparedStatement stmt =
extractMeta.getConn().prepareStatement(TableInfoParameters.ORACLE_10G_RECBIN_SQL);
extractMeta.setQueryStatementTimeout(stmt);
ResultSet rsTables = stmt.executeQuery();
itemTablesName.removeAll(ExtractMetaDataFromDataBase.getTableNamesFromQuery(rsTables, extractMeta.getConn()));
itemTablesName
.removeAll(ExtractMetaDataFromDataBase.getTableNamesFromQuery(rsTables, extractMeta.getConn()));
rsTables.close();
stmt.close();
} catch (SQLException e) {
@@ -412,10 +412,6 @@ public class OracleExtractManager extends ExtractManager {
@Override
public String getTableComment(IMetadataConnection metadataConnection, ResultSet resultSet, String nameKey)
throws SQLException {
if (EDatabaseVersion4Drivers.ORACLE_8.getVersionValue().equals(metadataConnection.getDbVersionString())) {
return ExtractMetaDataFromDataBase.getTableComment(nameKey, resultSet, false, ExtractMetaDataUtils.getInstance()
.getConn());
}
return super.getTableComment(metadataConnection, resultSet, nameKey);
}

View File

@@ -83,6 +83,7 @@ import org.talend.metadata.managment.connection.manager.HiveConnectionManager;
import org.talend.metadata.managment.hive.EmbeddedHiveDataBaseMetadata;
import org.talend.metadata.managment.repository.ManagerConnection;
import org.talend.metadata.managment.utils.DatabaseConstant;
import org.talend.metadata.managment.utils.EDataBaseType;
import org.talend.metadata.managment.utils.ManagementTextUtils;
import org.talend.metadata.managment.utils.MetadataConnectionUtils;
import org.talend.utils.sql.ConnectionUtils;
@@ -1042,8 +1043,12 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
// for CDH4 HIVE2 , the table type are MANAGED_TABLE and EXTERNAL_TABLE ......
// tableType = null;
}
Map<String,String> tableComments = null;
if (!isOracle8i) {
tableComments = this.getTableComments(dbJDBCMetadata, catalogName, schemaPattern);
}
ResultSet tables = dbJDBCMetadata.getTables(catalogName, schemaPattern, tablePattern, tableType);
boolean hasRemarksCol = hasRemarksColumn(tables);
while (tables.next()) {
String coloumnName = GetTable.TABLE_SCHEM.name();
if (schemaPattern != null) {
@@ -1068,8 +1073,13 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
// if (!isOracle && !isOracle8i && !isOracleJdbc && tableName.startsWith("/")) { //$NON-NLS-1$
// continue;
// }
if (!isOracle8i) {
tableComment = getTableComment(dbJDBCMetadata, tables, tableName, catalogName, schemaPattern);
if (hasRemarksCol) {
tableComment = getRemarksFromResultSet(tables);
}
if (tableComments != null) {
if (StringUtils.isEmpty(tableComment)) {
tableComment = tableComments.get(tableName);
}
}
MetadataTable metadatatable = null;
if (TableType.VIEW.toString().equals(temptableType) || ETableTypes.VIRTUAL_VIEW.getName().equals(temptableType)) {
@@ -1213,6 +1223,69 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
}
return tableComment;
}
private Map<String, String> getTableComments(DatabaseMetaData dbJDBCMetadata, String catalogName, String schemaPattern) {
Map<String, String> ret = new HashMap<String, String>();
PreparedStatement ps = null;
ResultSet rs = null;
try {
String productName = dbJDBCMetadata.getDatabaseProductName();
if (StringUtils.isEmpty(productName)) {
return ret;
}
productName = productName.replaceAll(" ", "_"); //$NON-NLS-1$ //$NON-NLS-2$
EDataBaseType eDataBaseType = null;
try {
eDataBaseType = EDataBaseType.valueOf(productName);
} catch (Exception e) {
eDataBaseType = EDataBaseType.Microsoft_SQL_Server;
}
String sqlStr = ""; //$NON-NLS-1$
switch (eDataBaseType) {
case Oracle:
sqlStr = "SELECT TABLE_NAME,COMMENTS FROM ALL_TAB_COMMENTS WHERE OWNER=?";
ps = dbJDBCMetadata.getConnection().prepareStatement(sqlStr);
ps.setString(1, schemaPattern.toUpperCase());
break;
case MySQL:
sqlStr = "SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA=?";
ps = dbJDBCMetadata.getConnection().prepareStatement(sqlStr);
ps.setString(1, catalogName);
break;
default:
break;
}
if (ps != null) {
rs = ps.executeQuery();
while (rs != null && rs.next()) {
String comment = rs.getString(2);
if (!StringUtils.isEmpty(comment)) {
ret.put(rs.getString(1), comment);
}
}
}
} catch (SQLException e) {
log.error(e, e);
} finally {
if (ps != null) {
try {
ps.close();
} catch (SQLException e) {
CommonExceptionHandler.process(e);
}
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
CommonExceptionHandler.process(e);
}
}
}
return ret;
}
/**
* get the Column Comment especially for oracle type.
@@ -1299,9 +1372,12 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
}
}
}
Map<String, String> tableComments = null;
if (!flag) {
tableComments = this.getTableComments(dbJDBCMetadata, catalogName, schemaPattern);
}
ResultSet tables = dbJDBCMetadata.getTables(catalogName, schemaPattern, tablePattern, tableType);
boolean hasRemarksCol = hasRemarksColumn(tables);
while (tables.next()) {
String tableName = getStringFromResultSet(tables, GetTable.TABLE_NAME.name());
String temptableType = getStringFromResultSet(tables, GetTable.TABLE_TYPE.name());
@@ -1320,8 +1396,13 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
if (tableName == null || tablesToFilter.contains(tableName) || tableName.startsWith("/")) { //$NON-NLS-1$
continue;
}
if (!flag) {
tableComment = getTableComment(dbJDBCMetadata, tables, tableName, catalogName, schemaPattern);
if (hasRemarksCol) {
tableComment = getRemarksFromResultSet(tables);
}
if (tableComments != null) {
if (StringUtils.isEmpty(tableComment)) {
tableComment = tableComments.get(tableName);
}
}
// create table
TdTable table = RelationalFactory.eINSTANCE.createTdTable();
@@ -1371,8 +1452,17 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
}
}
try {
boolean flag = true;
if (pack != null) {
Connection c = ConnectionHelper.getConnection(pack);
flag = MetadataConnectionUtils.isOracle8i(c);
}
Map<String, String> tableComments = null;
if (!flag) {
tableComments = this.getTableComments(dbJDBCMetadata, catalogName, schemaPattern);
}
ResultSet tables = dbJDBCMetadata.getTables(catalogName, schemaPattern, viewPattern, tableType);
boolean hasRemarksCol = hasRemarksColumn(tables);
while (tables.next()) {
String tableName = getStringFromResultSet(tables, GetTable.TABLE_NAME.name());
@@ -1383,14 +1473,14 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
continue;
}
// common
boolean flag = true;
String tableComment = null;
if (pack != null) {
Connection c = ConnectionHelper.getConnection(pack);
flag = MetadataConnectionUtils.isOracle8i(c);
if (hasRemarksCol) {
tableComment = getRemarksFromResultSet(tables);
}
if (!flag) {
tableComment = getTableComment(dbJDBCMetadata, tables, tableName, catalogName, schemaPattern);
if (tableComments != null) {
if (StringUtils.isEmpty(tableComment)) {
tableComment = tableComments.get(tableName);
}
}
// create table
TdView table = RelationalFactory.eINSTANCE.createTdView();
@@ -1429,6 +1519,21 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
return valueOfString;
}
private boolean hasRemarksColumn(ResultSet resultSet) {
try {
int numOfCols = resultSet.getMetaData().getColumnCount();
for (int i = 1; i < numOfCols + 1; i++) {
String colName = resultSet.getMetaData().getColumnLabel(i);
if (StringUtils.equals(colName, GetColumn.REMARKS.name())) {
return true;
}
}
} catch (SQLException e) {
CommonExceptionHandler.process(e);
}
return false;
}
private String getRemarksFromResultSet(ResultSet resultSet) {
String valueOfString = null;
try {

View File

@@ -1,12 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.rcp</artifactId>
<packaging>eclipse-plugin</packaging>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.talend.studio</groupId>
<artifactId>tcommon-studio-se</artifactId>
<version>8.0.1-SNAPSHOT</version>
<relativePath>../../../</relativePath>
</parent>
<artifactId>org.talend.rcp</artifactId>
<packaging>eclipse-plugin</packaging>
<profiles>
<profile>
<id>patch</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<executions>
<execution>
<id>copy-p2-inf</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${project.basedir}/touchpoint</directory>
<includes>
<include>p2.inf</include>
</includes>
</resource>
</resources>
<outputDirectory>${project.basedir}/META-INF</outputDirectory>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -46,6 +46,7 @@ import org.talend.core.language.ECodeLanguage;
import org.talend.core.language.LanguageManager;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.runtime.util.SharedStudioUtils;
import org.talend.core.services.IGITProviderService;
import org.talend.core.ui.branding.IActionBarHelper;
import org.talend.core.ui.branding.IBrandingService;
import org.talend.core.ui.perspective.PerspectiveMenuManager;
@@ -330,20 +331,26 @@ public class ActionBarBuildHelper implements IActionBarHelper {
// ViewDescriptor[] descriptors = { viewDesc };
// registry.removeExtension(viewDesc.getConfigurationElement().getDeclaringExtension(), descriptors);
// }
List<String> disabledPrefsIdList = new ArrayList<String>();
if (IGITProviderService.get() == null || !IGITProviderService.get().isStandardMode()) {
disabledPrefsIdList.add("org.eclipse.team.ui.TeamPreferences");
}
List<IPreferenceNode> prefsToDelete = new ArrayList<IPreferenceNode>();
IBrandingService brandingService = GlobalServiceRegister.getDefault().getService(
IBrandingService.class);
String[] availableLanguages = brandingService.getBrandingConfiguration().getAvailableLanguages();
if (ArrayUtils.contains(availableLanguages, ECodeLanguage.PERL.getName())) {
String[] prefsId = { "org.eclipse.team.ui.TeamPreferences" };
String[] prefsId = disabledPrefsIdList.toArray(new String[0]);
for (IPreferenceNode node : window.getWorkbench().getPreferenceManager().getRootSubNodes()) {
if (ArrayUtils.contains(prefsId, node.getId())) {
prefsToDelete.add(node);
}
}
} else {
String[] prefsId = { "org.eclipse.team.ui.TeamPreferences", "org.epic.core.preferences.PerlMainPreferencePage" };
disabledPrefsIdList.add("org.epic.core.preferences.PerlMainPreferencePage");
String[] prefsId = disabledPrefsIdList.toArray(new String[0]);
for (IPreferenceNode node : window.getWorkbench().getPreferenceManager().getRootSubNodes()) {
if (ArrayUtils.contains(prefsId, node.getId())) {
prefsToDelete.add(node);

View File

@@ -0,0 +1,31 @@
metaRequirements.0.namespace=org.talend.studiolite.p2.touchpoint
metaRequirements.0.name=addJvmArgs
metaRequirements.0.range=0.0.1
metaRequirements.1.namespace=org.talend.studiolite.p2.touchpoint
metaRequirements.1.name=RemoveJvmArgs
metaRequirements.1.range=0.0.1
instructions.configure=\
removeJvmArgs(jvmArgs:\
--add-opens\\njava.base/java.lang=ALL-UNNAMED|\
--add-opens\\njava.base/java.util=ALL-UNNAMED);\
addJvmArgs(jvmArgs:\
--add-opens=java.base/java.lang=ALL-UNNAMED|\
--add-opens=java.base/java.util=ALL-UNNAMED|\
--add-opens=java.base/java.io=ALL-UNNAMED|\
--add-opens=java.base/java.util.stream=ALL-UNNAMED|\
--add-opens=java.base/java.util.regex=ALL-UNNAMED|\
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED|\
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED|\
--add-opens=java.base/java.net=ALL-UNNAMED|\
--add-opens=java.base/java.nio=ALL-UNNAMED|\
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED|\
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED|\
--add-opens=java.base/sun.nio.cs=ALL-UNNAMED|\
--add-opens=java.base/sun.security.action=ALL-UNNAMED|\
--add-opens=java.base/sun.security.pkcs=ALL-UNNAMED|\
--add-opens=java.base/sun.security.x509=ALL-UNNAMED|\
--add-opens=java.base/sun.util.calendar=ALL-UNNAMED|\
--add-opens=java.security.jgss/sun.security.krb5=ALL-UNNAMED);
instructions.configure.import=\
org.talend.studiolite.p2.touchpoint.removeJvmArgs,\
org.talend.studiolite.p2.touchpoint.addJvmArgs

View File

@@ -973,13 +973,20 @@ public class ImportExportHandlersManager {
String importingLabel = itemRecord.getProperty().getLabel();
String existLabel = lastVersionBackup.getProperty().getLabel();
// refer to ImportBasicHandler.isNeedDeleteOnRemote
if (importingLabel != null && importingLabel.equalsIgnoreCase(importingLabel)
&& !importingLabel.equals(existLabel)) {
physicalDeleteHM.get(true).add(objectToDelete);
} else {
physicalDeleteHM.get(false).add(objectToDelete);
}
boolean isDeleteOnRemote = (importingLabel != null && !importingLabel.equals(existLabel));
physicalDeleteHM.get(isDeleteOnRemote).add(objectToDelete);
idDeletedBeforeImport.add(id);
if (ERepositoryObjectType.ROUTINESJAR.getType()
.equals(objectToDelete.getRepositoryObjectType().getType())
|| ERepositoryObjectType.BEANSJAR.getType()
.equals(objectToDelete.getRepositoryObjectType().getType())) {
List<IRepositoryViewObject> innerRoutinesObj = ProxyRepositoryFactory.getInstance()
.getAllInnerCodes(CodesJarInfo.create(objectToDelete.getProperty()));
for (IRepositoryViewObject child : innerRoutinesObj) {
physicalDeleteHM.get(isDeleteOnRemote).add(child);
idDeletedBeforeImport.add(child.getId());
}
}
}
}
}

View File

@@ -829,183 +829,143 @@ public abstract class AbstractCreateTableAction extends AbstractCreateAction {
}
}
private void openDatabaseTableWizard(final DatabaseConnectionItem item, final MetadataTable metadataTable,
final boolean forceReadOnly, final RepositoryNode node, final boolean creation) {
UIJob job = new UIJob(Messages.getString("CreateTableAction.action.createTitle")) { //$NON-NLS-1$
private void openDatabaseTableWizard(final DatabaseConnectionItem item, final MetadataTable metadataTable, final boolean forceReadOnly, final RepositoryNode node, final boolean creation) {
String name = "User action : " + getText(); //$NON-NLS-1$
RepositoryWorkUnit<Object> repositoryWorkUnit = new RepositoryWorkUnit<Object>(name, this) {
@Override
public IStatus runInUIThread(final IProgressMonitor monitor) {
String name = "User action : " + getText(); //$NON-NLS-1$
RepositoryWorkUnit<Object> repositoryWorkUnit = new RepositoryWorkUnit<Object>(name, this) {
@Override
protected void run() throws LoginException, PersistenceException {
monitor.beginTask(Messages.getString("CreateTableAction.action.createTitle"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
if (!monitor.isCanceled()) {
final ManagerConnection managerConnection = new ManagerConnection();
DatabaseConnection connection = (DatabaseConnection) item.getConnection();
boolean useKrb = Boolean.valueOf(connection.getParameters().get(
ConnParameterKeys.CONN_PARA_KEY_USE_KRB));
// TUP-596 : Update the context name in connection when the user does a context switch in DI
String oldContextName = connection.getContextName();
Connection copyConnection = MetadataConnectionUtils.prepareConection(connection);
if (copyConnection == null) {
return;
}
IMetadataConnection metadataConnection = ConvertionHelper.convert(copyConnection, false,
copyConnection.getContextName());
String newContextName = connection.getContextName();
if (oldContextName != null && newContextName != null && !oldContextName.equals(newContextName)) {
if (node != null && node.getObject() != null && node.getObject().getProperty() != null) {
Item itemTemp = node.getObject().getProperty().getItem();
if (itemTemp != null && itemTemp instanceof ConnectionItem) {
ConnectionItem connItem = (ConnectionItem) itemTemp;
SwitchContextGroupNameImpl.getInstance().updateContextGroup(connItem, newContextName);
}
}
}
boolean isTcomDB = false;
IGenericDBService dbService = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericDBService.class)) {
dbService = GlobalServiceRegister.getDefault().getService(
IGenericDBService.class);
}
if(dbService != null){
for(ERepositoryObjectType type : dbService.getExtraTypes()){
if(type.getLabel().equals(metadataConnection.getDbType())){
isTcomDB = true;
}
}
}
if (!metadataConnection.getDbType().equals(EDatabaseConnTemplate.GODBC.getDBDisplayName())
&& !metadataConnection.getDbType().equals(EDatabaseConnTemplate.ACCESS.getDBDisplayName())
&& !metadataConnection.getDbType().equals(
EDatabaseConnTemplate.GENERAL_JDBC.getDBDisplayName())
&& !isTcomDB) {
// TODO 1. To identify if it is hive connection.
String hiveMode = (String) metadataConnection
.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
// metadataConnection.setDriverJarPath((String)metadataConnection
// .getParameter(ConnParameterKeys.CONN_PARA_KEY_METASTORE_CONN_DRIVER_JAR));
if (HiveModeInfo.get(hiveMode) == HiveModeInfo.EMBEDDED) {
JavaSqlFactory.doHivePreSetup((DatabaseConnection) metadataConnection
.getCurrentConnection());
}
} else if (EDatabaseTypeName.IMPALA.getDisplayName().equals(metadataConnection.getDbType())) {
DatabaseConnection originalValueConnection = null;
IRepositoryContextService repositoryContextService = CoreRuntimePlugin.getInstance()
.getRepositoryContextService();
if (repositoryContextService != null) {
originalValueConnection = repositoryContextService
.cloneOriginalValueConnection(connection, false, null);
}
if (originalValueConnection != null) {
metadataConnection.setUrl(originalValueConnection.getURL());
}
} else {
String genUrl = DatabaseConnStrUtil.getURLString(metadataConnection.getDbType(),
metadataConnection.getDbVersionString(), metadataConnection.getServerName(),
metadataConnection.getUsername(), metadataConnection.getPassword(),
metadataConnection.getPort(), metadataConnection.getDatabase(),
metadataConnection.getFileFieldName(), metadataConnection.getDataSourceName(),
metadataConnection.getDbRootPath(), metadataConnection.getAdditionalParams());
if (!(metadataConnection.getDbType().equals(EDatabaseConnTemplate.IMPALA.getDBDisplayName()) && useKrb)) {
metadataConnection.setUrl(genUrl);
}
}
}
// bug 23508:even open type is metaTable,not connection,we always need the connection's
// datapackage to find the table schema when click the retrieve schema button
if (connection != null) {
EList<orgomg.cwm.objectmodel.core.Package> dp = connection.getDataPackage();
Collection<Package> newDataPackage = EcoreUtil.copyAll(dp);
ConnectionHelper.addPackages(newDataPackage,
(DatabaseConnection) metadataConnection.getCurrentConnection());
}
if (creation) {
String hiveMode = (String) metadataConnection
.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
try {
HiveConnectionManager.getInstance().checkConnection(metadataConnection);
} catch (Exception e) {
e.printStackTrace();
}
} else {
managerConnection.check(metadataConnection);
}
// ExtractMetaDataUtils.metadataCon = metadataConnection;
// when open,set use synonyms false.
ExtractMetaDataUtils.getInstance().setUseAllSynonyms(false);
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
boolean repositoryObjectEditable = factory.isEditableAndLockIfPossible(node.getObject());
if (!repositoryObjectEditable) {
boolean flag = MessageDialog.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell(), Messages.getString("CreateTableAction.action.Warning"),
Messages.getString("CreateTableAction.action.NotLockMessage"));
if (flag) {
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(
PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable,
getExistingNames(), forceReadOnly, managerConnection, metadataConnection);
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getShell(), databaseTableWizard);
wizardDialog.setBlockOnOpen(true);
handleWizard(node, wizardDialog);
}
} else {
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(PlatformUI.getWorkbench(),
creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly,
managerConnection, metadataConnection);
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getShell(), databaseTableWizard);
wizardDialog.setBlockOnOpen(true);
handleWizard(node, wizardDialog);
}
} else {
// added for bug 16595
// no need connect to database when double click one schema.
final boolean skipStep = true;
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(PlatformUI.getWorkbench(),
creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly,
managerConnection, metadataConnection);
databaseTableWizard.setSkipStep(skipStep);
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell(), databaseTableWizard);
handleWizard(node, wizardDialog);
}
protected void run() throws LoginException, PersistenceException {
final ManagerConnection managerConnection = new ManagerConnection();
DatabaseConnection connection = (DatabaseConnection) item.getConnection();
boolean useKrb = Boolean.valueOf(connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_USE_KRB));
// TUP-596 : Update the context name in connection when the user does a context switch in DI
String oldContextName = connection.getContextName();
Connection copyConnection = MetadataConnectionUtils.prepareConection(connection);
if (copyConnection == null) {
return;
}
IMetadataConnection metadataConnection = ConvertionHelper.convert(copyConnection, false, copyConnection.getContextName());
String newContextName = connection.getContextName();
if (oldContextName != null && newContextName != null && !oldContextName.equals(newContextName)) {
if (node != null && node.getObject() != null && node.getObject().getProperty() != null) {
Item itemTemp = node.getObject().getProperty().getItem();
if (itemTemp != null && itemTemp instanceof ConnectionItem) {
ConnectionItem connItem = (ConnectionItem) itemTemp;
SwitchContextGroupNameImpl.getInstance().updateContextGroup(connItem, newContextName);
}
}
}
boolean isTcomDB = false;
IGenericDBService dbService = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericDBService.class)) {
dbService = GlobalServiceRegister.getDefault().getService(IGenericDBService.class);
}
if (dbService != null) {
for (ERepositoryObjectType type : dbService.getExtraTypes()) {
if (type.getLabel().equals(metadataConnection.getDbType())) {
isTcomDB = true;
}
}
}
if (!metadataConnection.getDbType().equals(EDatabaseConnTemplate.GODBC.getDBDisplayName()) && !metadataConnection.getDbType().equals(EDatabaseConnTemplate.ACCESS.getDBDisplayName())
&& !metadataConnection.getDbType().equals(EDatabaseConnTemplate.GENERAL_JDBC.getDBDisplayName()) && !isTcomDB) {
// TODO 1. To identify if it is hive connection.
String hiveMode = (String) metadataConnection.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
// metadataConnection.setDriverJarPath((String)metadataConnection
// .getParameter(ConnParameterKeys.CONN_PARA_KEY_METASTORE_CONN_DRIVER_JAR));
if (HiveModeInfo.get(hiveMode) == HiveModeInfo.EMBEDDED) {
JavaSqlFactory.doHivePreSetup((DatabaseConnection) metadataConnection.getCurrentConnection());
}
} else if (EDatabaseTypeName.IMPALA.getDisplayName().equals(metadataConnection.getDbType())) {
DatabaseConnection originalValueConnection = null;
IRepositoryContextService repositoryContextService = CoreRuntimePlugin.getInstance().getRepositoryContextService();
if (repositoryContextService != null) {
originalValueConnection = repositoryContextService.cloneOriginalValueConnection(connection, false, null);
}
if (originalValueConnection != null) {
metadataConnection.setUrl(originalValueConnection.getURL());
}
} else {
String genUrl = DatabaseConnStrUtil
.getURLString(metadataConnection.getDbType(), metadataConnection.getDbVersionString(), metadataConnection.getServerName(), metadataConnection.getUsername(),
metadataConnection.getPassword(), metadataConnection.getPort(), metadataConnection.getDatabase(), metadataConnection.getFileFieldName(),
metadataConnection.getDataSourceName(), metadataConnection.getDbRootPath(), metadataConnection.getAdditionalParams());
if (!(metadataConnection.getDbType().equals(EDatabaseConnTemplate.IMPALA.getDBDisplayName()) && useKrb)) {
metadataConnection.setUrl(genUrl);
}
}
};
repositoryWorkUnit.setAvoidUnloadResources(isAvoidUnloadResources());
IRepositoryService repositoryService = GlobalServiceRegister.getDefault().getService(
IRepositoryService.class);
repositoryService.getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
monitor.done();
return Status.OK_STATUS;
};
};
job.setUser(true);
job.addJobChangeListener(new JobChangeAdapter() {
@Override
public void done(IJobChangeEvent event) {
if (!event.getResult().isOK()) {
log.error(event.getResult().getMessage(), event.getResult().getException());
} // else eveything is fine so do not log anything
}
// bug 23508:even open type is metaTable,not connection,we always need the connection's
// datapackage to find the table schema when click the retrieve schema button
if (connection != null) {
EList<orgomg.cwm.objectmodel.core.Package> dp = connection.getDataPackage();
Collection<Package> newDataPackage = EcoreUtil.copyAll(dp);
ConnectionHelper.addPackages(newDataPackage, (DatabaseConnection) metadataConnection.getCurrentConnection());
}
if (creation) {
String hiveMode = (String) metadataConnection.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
try {
HiveConnectionManager.getInstance().checkConnection(metadataConnection);
} catch (Exception e) {
e.printStackTrace();
}
} else {
managerConnection.check(metadataConnection);
}
// ExtractMetaDataUtils.metadataCon = metadataConnection;
// when open,set use synonyms false.
ExtractMetaDataUtils.getInstance().setUseAllSynonyms(false);
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
boolean repositoryObjectEditable = factory.isEditableAndLockIfPossible(node.getObject());
if (!repositoryObjectEditable) {
boolean flag = MessageDialog
.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.getString("CreateTableAction.action.Warning"),
Messages.getString("CreateTableAction.action.NotLockMessage"));
if (flag) {
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly,
managerConnection, metadataConnection);
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), databaseTableWizard);
wizardDialog.setBlockOnOpen(true);
Display.getDefault().asyncExec(() -> {
handleWizard(node, wizardDialog);
});
}
} else {
DatabaseTableWizard databaseTableWizard =
new DatabaseTableWizard(PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly, managerConnection, metadataConnection);
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), databaseTableWizard);
wizardDialog.setBlockOnOpen(true);
Display.getDefault().asyncExec(() -> {
handleWizard(node, wizardDialog);
});
}
} else {
// added for bug 16595
// no need connect to database when double click one schema.
final boolean skipStep = true;
DatabaseTableWizard databaseTableWizard =
new DatabaseTableWizard(PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly, managerConnection, metadataConnection);
databaseTableWizard.setSkipStep(skipStep);
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), databaseTableWizard);
Display.getDefault().asyncExec(() -> {
handleWizard(node, wizardDialog);
});
}
}
});
job.schedule();
};
repositoryWorkUnit.setAvoidUnloadResources(isAvoidUnloadResources());
IRepositoryService repositoryService = GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
repositoryService.getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
}

View File

@@ -7299,15 +7299,11 @@ public class DatabaseForm extends AbstractForm {
}
private boolean isSupportNLSOracleVersion(String dbVersionString) {
if (!EDatabaseVersion4Drivers.ORACLE_8.getVersionDisplay().equals(dbVersionString)
&& !EDatabaseVersion4Drivers.ORACLE_9.getVersionDisplay().equals(dbVersionString)
&& !EDatabaseVersion4Drivers.ORACLE_10.getVersionDisplay().equals(dbVersionString)
&& !EDatabaseVersion4Drivers.ORACLE_11.getVersionDisplay().equals(dbVersionString)
&& !EDatabaseVersion4Drivers.ORACLE_12.getVersionDisplay().equals(dbVersionString)
) {
if (!EDatabaseVersion4Drivers.ORACLE_11.getVersionDisplay().equals(dbVersionString)
&& !EDatabaseVersion4Drivers.ORACLE_12.getVersionDisplay().equals(dbVersionString)) {
return true;
}
return false;
}

View File

@@ -0,0 +1,35 @@
// ============================================================================
//
// 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.repository.ui.wizards.metadata.table.database;
import java.util.List;
import org.talend.core.model.metadata.builder.database.TableNode;
/**
* wzhang class global comment. Detailled comment
*/
public class DefaultSelectorTreeViewerProvider extends SelectorTreeViewerProvider {
public DefaultSelectorTreeViewerProvider() {
super();
}
@Override
public Object[] getChildren(Object parentElement) {
TableNode tableNode = (TableNode) parentElement;
List<TableNode> child = tableNode.getChildren();
return child.toArray();
}
}

View File

@@ -16,6 +16,8 @@ import java.lang.reflect.InvocationTargetException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.Driver;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.Collator;
import java.util.ArrayList;
@@ -42,6 +44,8 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.AbstractTreeViewer;
import org.eclipse.jface.viewers.ICheckStateProvider;
import org.eclipse.jface.viewers.ITreeViewerListener;
import org.eclipse.jface.viewers.TreeExpansionEvent;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jface.wizard.WizardPage;
@@ -80,6 +84,7 @@ import org.talend.commons.ui.swt.formtools.Form;
import org.talend.commons.ui.swt.formtools.UtilsButton;
import org.talend.commons.utils.data.text.IndiceHelper;
import org.talend.commons.utils.threading.TalendCustomThreadPoolExecutor;
import org.talend.core.database.EDatabase4DriverClassName;
import org.talend.core.database.EDatabaseTypeName;
import org.talend.core.database.conn.ConnParameterKeys;
import org.talend.core.model.metadata.IMetadataConnection;
@@ -89,6 +94,7 @@ import org.talend.core.model.metadata.MetadataToolHelper;
import org.talend.core.model.metadata.builder.connection.DatabaseConnection;
import org.talend.core.model.metadata.builder.connection.MetadataColumn;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.metadata.builder.database.DriverShim;
import org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase;
import org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.ETableTypes;
import org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils;
@@ -388,6 +394,7 @@ public class SelectorTableForm extends AbstractForm {
// TDI-28768 after add checkStateProvider, the catalog and schema checked status become true , then
// force them to false
if (parentNode.getType() == TableNode.CATALOG || parentNode.getType() == TableNode.SCHEMA) {
retrieveSchema(parentNode);
needUpdate = false;
}
boolean firstExpand = false;
@@ -466,7 +473,7 @@ public class SelectorTableForm extends AbstractForm {
viewProvider = provider.getMetadataViewProvider();
} else {
viewProvider = new SelectorTreeViewerProvider();
viewProvider = new DefaultSelectorTreeViewerProvider();
}
viewer.setLabelProvider(viewProvider);
@@ -476,7 +483,206 @@ public class SelectorTableForm extends AbstractForm {
scrolledCompositeFileViewer.setContent(tree);
scrolledCompositeFileViewer.setMinSize(tree.computeSize(SWT.DEFAULT, SWT.DEFAULT));
}
private void retrieveSchema(TableNode tableNode) {
IRunnableWithProgress runnable = new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask(Messages.getString("CreateTableAction.action.createTitle"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
List<TableNode> child = tableNode.getChildren();
boolean extended = false;
if (!child.isEmpty()) {
for (TableNode node : child) {
if (node.getType() == TableNode.TABLE) {
extended = true;
break;
}
}
}
// if extended is true, means table already got,no need to get again.
if (extended) {
return;
}
IMetadataConnection metadataConn = tableNode.getMetadataConn();
Connection conn = null;
Driver driver = null;
DatabaseMetaData dbMetaData = null;
ExtractMetaDataUtils extractMeta = ExtractMetaDataUtils.getInstance();
// Added by Marvin Wang on Mar. 13, 2013 for loading hive jars dynamically, refer to TDI-25072.
if (EDatabaseTypeName.HIVE.getXmlName().equalsIgnoreCase(metadataConn.getDbType())) {
try {
dbMetaData = HiveConnectionManager.getInstance().extractDatabaseMetaData(metadataConn);
} catch (Exception e) {
ExceptionHandler.process(e);
}
} else if (EDatabaseTypeName.IMPALA.getDisplayName().equalsIgnoreCase(metadataConn.getDbType())) {
try {
dbMetaData = ImpalaConnectionManager.getInstance().createConnection(metadataConn).getMetaData();
} catch (Exception e) {
ExceptionHandler.process(e);
}
} else {
List list = extractMeta.getConnectionList(metadataConn);
if (list != null && !list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Connection) {
conn = (Connection) list.get(i);
}
if (list.get(i) instanceof DriverShim) {
driver = (DriverShim) list.get(i);
}
}
}
dbMetaData = extractMeta.getDatabaseMetaData(conn, metadataConn.getDbType(), metadataConn.isSqlMode(), metadataConn.getDatabase());
}
int type = tableNode.getType();
orgomg.cwm.objectmodel.core.Package pack = null;
List<MetadataTable> tableList = new ArrayList<MetadataTable>();
if (type == tableNode.CATALOG) {
if (tableNode.getChildren().isEmpty()) {
pack = tableNode.getCatalog();
}
} else if (type == tableNode.SCHEMA) {
pack = tableNode.getSchema();
}
try {
if (pack != null) {
TableInfoParameters paras = tableNode.getParas();
List<ETableTypes> paraType = paras.getTypes();
Set<String> availableTableTypes = new HashSet<String>();
for (ETableTypes tableType : paraType) {
availableTableTypes.add(tableType.getName());
}
// get all tables/views depending the filter selected
Set<String> tableNameFilter = null;
if (!paras.isUsedName()) {
tableNameFilter = new HashSet<String>();
if (paras.getSqlFiter() != null && !"".equals(paras.getSqlFiter())) { //$NON-NLS-1$
PreparedStatement stmt = extractMeta.getConn().prepareStatement(paras.getSqlFiter());
extractMeta.setQueryStatementTimeout(stmt);
ResultSet rsTables = stmt.executeQuery();
while (rsTables.next()) {
String nameKey = rsTables.getString(1).trim();
tableNameFilter.add(nameKey);
}
rsTables.close();
stmt.close();
}
} else {
tableNameFilter = paras.getNameFilters();
}
List<MetadataTable> tempListTables = new ArrayList<MetadataTable>();
MetadataFillFactory dbInstance = MetadataFillFactory.getDBInstance(metadataConn);
for (String filter : tableNameFilter) {
tempListTables = dbInstance.fillAll(pack, dbMetaData, metadataConn, null, filter, availableTableTypes.toArray(new String[] {}));
for (MetadataTable table : tempListTables) {
boolean contains = false;
for (MetadataTable inListTable : tableList) {
if (inListTable.getName().equals(table.getName())) {
contains = true;
break;
}
}
if (!contains) {
tableList.add(table);
}
}
}
if (tableNameFilter.isEmpty()) {
tempListTables = dbInstance.fillAll(pack, dbMetaData, metadataConn, null, null, availableTableTypes.toArray(new String[] {}));
for (MetadataTable table : tempListTables) {
boolean contains = false;
for (MetadataTable inListTable : tableList) {
if (inListTable.getName().equals(table.getName())) {
contains = true;
break;
}
}
if (!contains) {
tableList.add(table);
}
}
}
}
} catch (Exception e) {
ExceptionHandler.process(e);
} finally {
String dbType = metadataConn.getDbType();
// bug 22619
String driverClass = metadataConn.getDriverClass();
if (conn != null) {
ConnectionUtils.closeConnection(conn);
}
// for specific db such as derby
if (driver != null) {
if ((driverClass != null && driverClass.equals(EDatabase4DriverClassName.JAVADB_EMBEDED.getDriverClass()))
|| (dbType != null && (dbType.equals(EDatabaseTypeName.JAVADB_EMBEDED.getDisplayName()) || dbType.equals(EDatabaseTypeName.JAVADB_DERBYCLIENT.getDisplayName())
|| dbType.equals(EDatabaseTypeName.JAVADB_JCCJDBC.getDisplayName()) || dbType.equals(EDatabaseTypeName.HSQLDB_IN_PROGRESS.getDisplayName())))) {
try {
driver.connect("jdbc:derby:;shutdown=true", null); //$NON-NLS-1$
} catch (SQLException e) {
// exception of shutdown success. no need to catch.
}
}
}
}
transferToTableNode(tableList, tableNode);
Display.getDefault().syncExec(() -> {
viewer.setInput(tableNodeList);
viewer.expandToLevel(tableNode, viewer.ALL_LEVELS);
});
monitor.done();
}
};
try {
this.parentWizardPage.getWizard().getContainer().run(true, true, runnable);
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
protected void transferToTableNode(List<MetadataTable> list, TableNode parentNode) {
if (list != null && !list.isEmpty()) {
for (MetadataTable table : list) {
if (table instanceof TdTable) {
TdTable td = (TdTable) table;
TableNode tableNode = new TableNode();
tableNode.setType(TableNode.TABLE);
tableNode.setValue(td.getLabel());
tableNode.setItemType(td.getTableType());
tableNode.setTable(td);
tableNode.setParent(parentNode);
parentNode.addChild(tableNode);
} else if (table instanceof TdView) {
TdView tv = (TdView) table;
TableNode tableNode = new TableNode();
tableNode.setType(TableNode.TABLE);
tableNode.setValue(tv.getLabel());
tableNode.setItemType(tv.getTableType());
tableNode.setView(tv);
tableNode.setParent(parentNode);
parentNode.addChild(tableNode);
}
}
}
}
private final Collator col = Collator.getInstance(Locale.getDefault());
/**

View File

@@ -22,6 +22,7 @@ import java.util.Map;
import org.eclipse.core.resources.IFile;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.LocalSelectionTransfer;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.ISelection;
@@ -45,6 +46,7 @@ import org.osgi.service.event.Event;
import org.osgi.service.event.EventConstants;
import org.osgi.service.event.EventHandler;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.repository.CoreRepositoryPlugin;
@@ -52,6 +54,7 @@ import org.talend.core.repository.constants.Constant;
import org.talend.core.repository.model.ProjectRepositoryNode;
import org.talend.core.repository.ui.actions.MoveObjectAction;
import org.talend.core.repository.ui.view.RepositoryDropAdapter;
import org.talend.core.repository.ui.view.RepositoryLabelProvider;
import org.talend.core.repository.utils.XmiResourceManager;
import org.talend.repository.model.IRepositoryNode;
import org.talend.repository.model.RepositoryNode;
@@ -79,6 +82,8 @@ public class RepoViewCommonViewer extends CommonViewer implements INavigatorCont
private ServiceRegistration lockService;
private IPropertyChangeListener propertyChangeListener;
/**
* Getter for repViewCommonNavigator.
*
@@ -102,6 +107,8 @@ public class RepoViewCommonViewer extends CommonViewer implements INavigatorCont
protected void init() {
super.init();
registerLockUnlockServiceListener();
propertyChangeListener = RepositoryLabelProvider.createPropertyChangeListener(this);
ITalendThemeService.addPropertyChangeListener(propertyChangeListener);
}
// @SuppressWarnings("restriction")
@@ -441,6 +448,9 @@ public class RepoViewCommonViewer extends CommonViewer implements INavigatorCont
lockService.unregister();
lockService = null;
}// else service already unregistered or not event instanciated
if (propertyChangeListener != null) {
ITalendThemeService.removePropertyChangeListener(propertyChangeListener);
}
super.dispose();
}
}

View File

@@ -1 +1 @@
demo.description=\u30C7\u30FC\u30BF\u7D71\u5408\u30C7\u30E2
demo.description=\u30C7\u30FC\u30BF\u30A4\u30F3\u30C6\u30B0\u30EC\u30FC\u30B7\u30E7\u30F3\u30C7\u30E2

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>

View File

@@ -18,7 +18,10 @@ Require-Bundle: org.eclipse.ui,
org.talend.commons.runtime,
org.eclipse.e4.ui.model.workbench,
org.eclipse.e4.ui.css.swt.theme,
org.eclipse.osgi.services
org.eclipse.osgi.services,
org.apache.batik.css,
org.talend.common.ui.runtime
Service-Component: OSGI-INF/core.xml
Bundle-ActivationPolicy: lazy
Export-Package: org.talend.themes.core.elements.constants,
org.talend.themes.core.elements.interfaces,
@@ -26,3 +29,4 @@ Export-Package: org.talend.themes.core.elements.constants,
org.talend.themes.core.elements.stylesettings,
org.talend.themes.core.elements.utils,
org.talend.themes.core.elements.widgets
Import-Package: org.w3c.css.sac

View File

@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<component name="TalendThemeService">
<implementation class="org.talend.themes.core.TalendThemeService"/>
<service>
<provide interface="org.talend.commons.ui.runtime.ITalendThemeService"/>
</service>
</component>

View File

@@ -3,4 +3,5 @@ output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
build.properties
build.properties,\
OSGI-INF/

View File

@@ -0,0 +1,159 @@
// ============================================================================
//
// 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.themes.core;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.apache.batik.css.parser.CSSLexicalUnit;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.e4.ui.css.core.impl.dom.CSSValueFactory;
import org.eclipse.e4.ui.css.swt.helpers.CSSSWTColorHelper;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
import org.eclipse.ui.themes.ColorUtil;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.ITalendThemeService;
import org.w3c.css.sac.LexicalUnit;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendThemeService implements ITalendThemeService {
private static final Logger log = Logger.getLogger(TalendThemeService.class);
private Map<String, IPreferenceStore> storeMap = new HashMap<>();
private Map<String, Set<IPropertyChangeListener>> listenerMap = new HashMap<>();
@Override
public Color getColorForTheme(String bundleId, String prop) {
Assert.isNotNull(bundleId);
Assert.isNotNull(prop);
IPreferenceStore prefStore = getPreferenceStore(bundleId);
return getColor(prefStore, prop, Display.getDefault());
}
@Override
public String getPropertyForTheme(String bundleId, String key) {
Assert.isNotNull(bundleId);
Assert.isNotNull(key);
IPreferenceStore prefStore = getPreferenceStore(bundleId);
return prefStore.getString(key);
}
@Override
public void addPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener) {
Assert.isNotNull(bundleId);
Assert.isNotNull(listener);
Set<IPropertyChangeListener> set = this.listenerMap.get(bundleId);
if (set != null && set.contains(listener)) {
log.info("Listener already exist:" + listener);
return;
}
getPreferenceStore(bundleId).addPropertyChangeListener(listener);
if (set == null) {
set = new HashSet<>();
this.listenerMap.put(bundleId, set);
}
set.add(listener);
}
@Override
public boolean containsPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener) {
Assert.isNotNull(bundleId);
Assert.isNotNull(listener);
Set<IPropertyChangeListener> set = this.listenerMap.get(bundleId);
if (set != null) {
return set.contains(listener);
}
return false;
}
@Override
public void removePropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener) {
Assert.isNotNull(bundleId);
Assert.isNotNull(listener);
getPreferenceStore(bundleId).removePropertyChangeListener(listener);
Set<IPropertyChangeListener> set = this.listenerMap.get(bundleId);
if (set != null) {
set.remove(listener);
if (set.isEmpty()) {
this.listenerMap.remove(bundleId);
}
}
}
private IPreferenceStore getPreferenceStore(String bundleId) {
IPreferenceStore prefStore = storeMap.get(bundleId);
if (prefStore == null) {
prefStore = new ScopedPreferenceStore(InstanceScope.INSTANCE, bundleId);
storeMap.put(bundleId, prefStore);
}
return prefStore;
}
private Color getColor(IPreferenceStore store, String key, Display display) {
try {
RGB rgb = null;
if (store.contains(key)) {
String colorStr = null;
if (store.isDefault(key)) {
colorStr = store.getDefaultString(key);
} else {
colorStr = store.getString(key);
}
if (StringUtils.isNotBlank(colorStr)) {
if (0 <= colorStr.indexOf(',')) {
rgb = ColorUtil.getColorValue(colorStr);
} else {
Color swtColor = CSSSWTColorHelper.getSWTColor(CSSValueFactory
.newValue(CSSLexicalUnit.createString(LexicalUnit.SAC_STRING_VALUE, colorStr, null)), display);
if (swtColor != null) {
rgb = swtColor.getRGB();
try {
swtColor.dispose();
} catch (Throwable e) {
ExceptionHandler.process(e);
}
}
}
}
if (rgb != null) {
ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
Color color = colorRegistry.get(rgb.toString());
if (color == null) {
colorRegistry.put(rgb.toString(), rgb);
}
return colorRegistry.get(rgb.toString());
}
}
} catch (Throwable e) {
ExceptionHandler.process(e);
}
return null;
}
}

View File

@@ -115,10 +115,10 @@ public class TalendPaletteCSSPropertyHandler implements ICSSPropertyHandler {
}
} else if ("tPalette-list-background-color".equalsIgnoreCase(property)) {
RGB rgb = ((Color) engine.convert(value, Color.class, paletteComposite.getDisplay())).getRGB();
Color oldColor = paletteSetting.getCollapsedBackgroundColor();
Color oldColor = paletteSetting.getListBackgroundColor();
if (oldColor == null || !oldColor.getRGB().equals(rgb)) {
changed = true;
paletteSetting.setCollapsedBackgroundColor(CommonCSSStyleSetting.getColorByRGB(rgb));
paletteSetting.setListBackgroundColor(CommonCSSStyleSetting.getColorByRGB(rgb));
}
} else if ("tPalette-color-increment".equalsIgnoreCase(property)) {
Integer colorIncrement = null;

View File

@@ -10,4 +10,7 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.e4.ui.css.swt,
org.eclipse.e4.ui.css.swt.theme
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
Bundle-Vendor: .Talend SA.
Eclipse-BundleShape: dir
Automatic-Module-Name: org.talend.themes.css.talend

View File

@@ -3,4 +3,5 @@ output.. = bin/
bin.includes = META-INF/,\
.,\
themes/,\
plugin.xml
plugin.xml,\
plugin.properties

View File

@@ -0,0 +1,32 @@
theme.default=Talend default theme
theme.dark=Talend experimental dark theme
#New theme element definitions
DARK_BACKGROUND=Dark Background Color
DARK_FOREGROUND=Dark Foreground Color
INACTIVE_UNSELECTED_TABS_COLOR_START=Inactive, unselected part color begin
INACTIVE_UNSELECTED_TABS_COLOR_START=Inactive, unselected part color begin
INACTIVE_UNSELECTED_TABS_COLOR_END=Inactive, unselected part color end
INACTIVE_TAB_TEXT_COLOR=Inactive part text color
INACTIVE_TAB_OUTER_KEYLINE_COLOR=Inactive part outer keyline color
INACTIVE_TAB_INNER_KEYLINE_COLOR=Inactive part inner keyline color
INACTIVE_TAB_OUTLINE_COLOR=Inactive part outline color
ACTIVE_UNSELECTED_TABS_COLOR_START=Active, unselected part color begin
ACTIVE_UNSELECTED_TABS_COLOR_END=Active, unselected part color end
ACTIVE_TAB_TEXT_COLOR=Active part text color
ACTIVE_TAB_OUTER_KEYLINE_COLOR=Active part outer keyline color
ACTIVE_TAB_INNER_KEYLINE_COLOR=Active part inner keyline color
ACTIVE_TAB_OUTLINE_COLOR=Active part outline color
INACTIVE_TAB_BG_START=Inactive, selected part background begin
INACTIVE_TAB_BG_END=Inactive, selected part background end
INACTIVE_TAB_UNSELECTED_TEXT_COLOR=Inactive, unselected part foreground
INACTIVE_TAB_SELECTED_TEXT_COLOR=Inactive, selected part foreground
ACTIVE_TAB_BG_START=Active, selected part background begin
ACTIVE_TAB_BG_END=Active, selected part background end
ACTIVE_TAB_UNSELECTED_TEXT_COLOR=Active, unselected part foreground
ACTIVE_TAB_SELECTED_TEXT_COLOR=Active, selected part foreground
ACTIVE_NOFOCUS_TAB_TEXT_COLOR=Active (no focus), selected part text color
ACTIVE_NOFOCUS_TAB_BG_START=Active (no focus), selected part background begin
ACTIVE_NOFOCUS_TAB_BG_END=Active (no focus), selected part background end
ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR=Active (no focus), selected part foreground
LINK_COLOR=Link color

View File

@@ -7,9 +7,46 @@
<theme
basestylesheeturi="themes/default/css/default.css"
id="org.talend.themes.css.talend.default"
label="Talend default theme">
label="%theme.default">
<!-- please see: TalendThemeConstants.TALEND_DEFAULT_THEME_ID -->
</theme>
<!--
<theme
basestylesheeturi="themes/dark/e4-dark_linux.css"
id="org.eclipse.e4.ui.css.theme.e4_dark"
label="%theme.dark"
os="linux">
</theme>
<theme
basestylesheeturi="themes/dark/e4-dark_win.css"
id="org.eclipse.e4.ui.css.theme.e4_dark"
label="%theme.dark"
os="win32">
</theme>
<theme
basestylesheeturi="themes/dark/e4-dark_mac.css"
id="org.eclipse.e4.ui.css.theme.e4_dark"
label="%theme.dark"
os="macosx">
</theme>
<theme
basestylesheeturi="themes/dark/e4-dark_mac1013.css"
id="org.eclipse.e4.ui.css.theme.e4_dark"
label="%theme.dark"
os="macosx"
os_version="10.11,10.12,10.13">
</theme>
-->
<stylesheet
uri="themes/dark/dark/e4-dark_preferencestyle.css">
<themeid
refid="org.eclipse.e4.ui.css.theme.e4_dark"></themeid>
</stylesheet>
<stylesheet
uri="themes/default/css/preferencestyle.css">
<themeid
refid="org.talend.themes.css.talend.default"></themeid>
</stylesheet>
</extension>
</plugin>

View File

@@ -0,0 +1,32 @@
theme.default=Th\u00E8me Talend par d\u00E9faut
theme.dark=Th\u00E8me sombre Talend exp\u00E9rimental
#New theme element definitions
DARK_BACKGROUND=Couleur du fond sombre
DARK_FOREGROUND=Couleur du premier plan sombre
INACTIVE_UNSELECTED_TABS_COLOR_START=Inactive, unselected part color begin
INACTIVE_UNSELECTED_TABS_COLOR_START=Inactive, unselected part color begin
INACTIVE_UNSELECTED_TABS_COLOR_END=Inactive, unselected part color end
INACTIVE_TAB_TEXT_COLOR=Inactive part text color
INACTIVE_TAB_OUTER_KEYLINE_COLOR=Inactive part outer keyline color
INACTIVE_TAB_INNER_KEYLINE_COLOR=Inactive part inner keyline color
INACTIVE_TAB_OUTLINE_COLOR=Inactive part outline color
ACTIVE_UNSELECTED_TABS_COLOR_START=Active, unselected part color begin
ACTIVE_UNSELECTED_TABS_COLOR_END=Active, unselected part color end
ACTIVE_TAB_TEXT_COLOR=Active part text color
ACTIVE_TAB_OUTER_KEYLINE_COLOR=Active part outer keyline color
ACTIVE_TAB_INNER_KEYLINE_COLOR=Active part inner keyline color
ACTIVE_TAB_OUTLINE_COLOR=Active part outline color
INACTIVE_TAB_BG_START=Inactive, selected part background begin
INACTIVE_TAB_BG_END=Inactive, selected part background end
INACTIVE_TAB_UNSELECTED_TEXT_COLOR=Inactive, unselected part foreground
INACTIVE_TAB_SELECTED_TEXT_COLOR=Inactive, selected part foreground
ACTIVE_TAB_BG_START=Active, selected part background begin
ACTIVE_TAB_BG_END=Active, selected part background end
ACTIVE_TAB_UNSELECTED_TEXT_COLOR=Active, unselected part foreground
ACTIVE_TAB_SELECTED_TEXT_COLOR=Active, selected part foreground
ACTIVE_NOFOCUS_TAB_TEXT_COLOR=Active (no focus), selected part text color
ACTIVE_NOFOCUS_TAB_BG_START=Active (no focus), selected part background begin
ACTIVE_NOFOCUS_TAB_BG_END=Active (no focus), selected part background end
ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR=Active (no focus), selected part foreground
LINK_COLOR=Couleur du lien

View File

@@ -0,0 +1,24 @@
/*******************************************************************************
* Copyright (c) 2020 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
.MTrimmedWindow.topLevel {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
}
.MPartStack Tree, .MPartStack Table {
font-family: '#org-eclipse-ui-workbench-TREE_TABLE_FONT';
}

View File

@@ -0,0 +1,25 @@
/*******************************************************************************
* Copyright (c) 2019 vogella GmbH and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Lars Vogel - initial API and implementation
*******************************************************************************/
/* ################################ CSS related to drag and drop ########################## */
.DragFeedback {
background-color: COLOR-WIDGET-NORMAL-SHADOW;
}
.ModifiedDragFeedback {
background-color: #4176AF;
}

View File

@@ -0,0 +1,350 @@
/*******************************************************************************
* Copyright (c) 2010, 2015 Andrea Guarinoni and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Andrea Guarinoni <andrea.guarinoni.dev@outlook.com> - initial API and implementation
* Stefan Winkler <stefan@winklerweb.net> - Bug 434189, 430848
* Simon Scholz <simon.scholz@vogella.com> - Bug 431635
* Fabio Zadrozny <fabiofz@gmail.com> - Bug 465148, 465711
* Lars Vogel <Lars.Vogel@vogella.com> Bug 463652,466275
*******************************************************************************/
/*******************************************************************************
* The following bugs are referred to in this style sheet
* 2.) Bug 419377 - Setting a property to 'inherit' is not supported
* 3.) Bug 430051 - Regression for CTabRendering when drawing bottom tabs
*******************************************************************************/
/* ############################## Global Styles ############################## */
Shell {
background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
.TalendTabbedPropertyList{
background-color: black;
border-visible: true;
color:black;
_t-widget-normal-shadow-color:black;
_t-widget-dark-shadow-color:black;
_t-list-background-color: #ffffff;
_t-widget-vertical-line-color: #E3E3E3;
}
.TalendTabbedPropertyTitle{
border-visible: false;
_t-title-foreground-color:black;
_t-title-background-color:black;
_t-title-bottom-foreground-keyline1-color:black;
_t-title-bottom-foreground-keyline2-color:black;
}
Composite, ScrolledComposite, ExpandableComposite, Canvas, TabFolder, CLabel, Label,
CoolBar, Sash, Group, RefactoringLocationControl, ChangeParametersControl, Link, FilteredTree,
ProxyEntriesComposite, NonProxyHostsComposite, DelayedFilterCheckboxTree,
Splitter, ScrolledPageContent, ViewForm, LaunchConfigurationFilteredTree,
ContainerSelectionGroup, BrowseCatalogItem, EncodingSettings,
ProgressMonitorPart, DocCommentOwnerComposite, NewServerComposite,
NewManualServerComposite, ServerTypeComposite, FigureCanvas,
DependenciesComposite, ListEditorComposite, WrappedPageBook,
CompareStructureViewerSwitchingPane, CompareContentViewerSwitchingPane,
QualifiedNameComponent, RefactoringStatusViewer,
MessageLine,
Button /* SWT-BUG: checkbox inner label font color is not accessible */,
Composite > *,
Composite > * > *,
Group > StyledText {
background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
/* ############################## Toolbar ############################## */
/* Ensure that the labels in the tabfolder gets updated
See Bug 552780
*/
TabFolder > *,
CTabFolder > *,
TabFolder > Composite > *, /* Composite > CommitSearchPage$... */
CTabFolder > Composite > *, /* Composite > CommitSearchPage$... */
TabFolder > Composite > * > * { /* [style~='SWT.NO_BACKGROUND'] <- generate E4 non-sense bugs in apparently not related other rules Composite > ContentMergeViewer$... > TextMergeViewer$... */
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
/* Toolbar should inherit the colors of its container to avoid drawing artifacts*/
ToolBar {
background-color:inherit;
}
Combo,
List,
Text,
Spinner,
CCombo {
background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
Composite > StyledText,
Shell [style~='SWT.DROP_DOWN'] > StyledText, /* for eg. folded code popup (but it's ignored) */
SashForm > StyledText {
/* Fix StyledText inside a SashForm */
background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
Text[style~='SWT.SEARCH'],
Text[style~='SWT.SEARCH'] + Label /* SWT-BUG: adjacent sibling selector is ignored (CSS2.1) */ {
/* search boxes */
background-color: #333;
color: #F4F7F7;
}
Text[style~='SWT.READ_ONLY'] {
background-color: '#org-eclipse-ui-workbench-DARK_BACKGROUND';
color: #bbbbbb;
}
Shell Tree, Shell Table, Shell List {
background-color: #2F2F2F;
}
DatePicker,
DatePicker > Text,
ScheduleDatePicker,
ScheduleDatePicker > Text {
background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
ScrolledFormText,
FormText {
background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
Table,
Tree,
RegistryFilteredTree {
background-color:inherit;
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
Hyperlink,
ImageHyperlink {
background-color: inherit;
color: #6fc5ee;
}
ViewerPane,
DrillDownComposite {
background-color: #232323;
color: #CCC;
}
ProgressInfoItem,
ProgressInfoItem > *,
CompareViewerPane,
CompareViewerPane > * {
background-color: inherit;
color: '#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
ProgressIndicator {
background-color: #777;
color: '#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
DiscoveryItem,
DiscoveryItem Label,
DiscoveryItem Composite {
background-color: #383C3E;
color: #dddddd;
}
DiscoveryItem StyledText {
background-color: #383C3E;
color: #aaaaaa;
}
DiscoveryItem Link {
background-color: #383C3E;
color: #8B9498;
}
CatalogSwitcher,
CatalogSwitcher > ScrolledComposite > Composite > Composite /* ignored because hard-coded */,
CategoryItem {
background-color: '#org-eclipse-ui-workbench-DARK_BACKGROUND';
color: #dddddd;
}
GradientCanvas,
GradientCanvas > Label {
background-color: #3f4447;
color: #9ac9d8;
}
GradientCanvas {
/* SWT-BUG workaround: GradientCanvas background-color is ignored */
background: #3f4447;
}
CategoryItem > GradientCanvas,
CategoryItem > GradientCanvas > Label {
/* SWT-BUG workaround: a style for background is not applied on GradientCanvas (CSS engine repaint issue) */
background-color: #fafafa;
color: #333;
}
CategoryItem > GradientCanvas {
/* SWT-BUG workaround: a style for background is not applied on GradientCanvas (CSS engine repaint issue) */
background: #fafafa;
background-image: #333;
}
WebSite {
background-color: #41464A;
color: #dddddd;
}
Form,
FormHeading {
background-color: #505F70;
color: #9AC9D8;
}
Form {
/* Bug 465148: Additional styling for the Form */
text-background-color: #505F70;
tb-toggle-hover-color: #313538;
tb-toggle-color: #313538;
h-hover-full-color: #313538;
h-hover-light-color: #313538;
h-bottom-keyline-2-color: #313538;
h-bottom-keyline-1-color: #313538;
/* We also have to force the background mode (the
* Label/ToolBar in the heading should inherit it).
*/
swt-background-mode: 'force';
}
Section {
background-color: #4F5355;
color: #AEBED0;
background-color-titlebar: #4F5355;
background-color-gradient-titlebar: #4F5355;
border-color-titlebar: #4F5355;
swt-titlebar-color: #cccccc;
tb-toggle-hover-color: #F4F7F7;
tb-toggle-color: #F4F7F7;
}
Table,
Tree {
swt-header-color: #CCC;
swt-header-background-color: #383D3F;
}
Twistie {
color: #E8E4DF;
}
.MPartSashContainer {
background-color: '#org-eclipse-ui-workbench-DARK_BACKGROUND';
color: #EEEEEE;
}
HeapStatus {
background-color: #4F5355;
color: #EEEEEE;
}
PageSiteComposite, PageSiteComposite > CImageLabel {
color: #EEEEEE;
}
PageSiteComposite > PropertyTable {
background-color: #333;
color: #EEEEEE;
}
PageSiteComposite > PropertyTable:disabled {
/* SWT-BUG: event is triggered but styles for PropertyTable are hard-coded */
background-color: #444;
color: #EEEEEE;
}
/* See Bug 430848: We need to override the theme of the Eclipse splash screen, because
* otherwise the splash screen would be partly switched to the dark theme during startup,
* which does not look very nice.
*/
Label#org-eclipse-ui-splash-progressText {
background-color: inherit; /* transparent */
color: #9c9696; /* see property startupForegroundColor in the product */
}
Label#org-eclipse-ui-buildid-text {
background-color: inherit; /* transparent */
}
ProgressIndicator#org-eclipse-ui-splash-progressIndicator {
background-color: #e1e1e1;
}
Link {
swt-link-foreground-color: '#org-eclipse-ui-workbench-LINK_COLOR'
}
ExpandableComposite {
swt-titlebar-color: #cccccc;
tb-toggle-hover-color: #F4F7F7;
tb-toggle-color: #F4F7F7;
}
TabbedPropertyTitle > CLabel{
color: #9AC9D8;
}
TabbedPropertyTitle {
swt-backgroundGradientStart-color: #505F70;
swt-backgroundGradientEnd-color: #505F70;
swt-backgroundBottomKeyline1-color: #505F70;
swt-backgroundBottomKeyline2-color: #505F70;
}
TabbedPropertyList {
swt-tabNormalShadow-color : '#org-eclipse-ui-workbench-INACTIVE_TAB_OUTLINE_COLOR'; /* color of shadow lines around the tabs */
swt-tabDarkShadow-color : '#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR'; /* line color of the tiny scroll triangle (at top / at bottom) */
swt-tabAreaBackground-color : '#org-eclipse-ui-workbench-DARK_BACKGROUND'; /*same as canvas*/
swt-tabBackground-color : '#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_BG_START';
color : '#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR'; /* text color in the tab / tab area */
}
.TalendPaletteCls {
tPalette-collapsed-forground-color: #515658;
tPalette-collapsed-background-color: #515658;
tPalette-mouseOver-forground-color1:#cccccc;
tPalette-mouseOver-forground-color2:#cccccc;
tPalette-mouseOver-forground-color3:#cccccc;
tPalette-mouseOver-background-color1:#3c8ad2;
tPalette-mouseOver-background-color2:#3c8ad2;
tPalette-mouseOver-background-color3:#3c8ad2; /* */
tPalette-expanded-background-color: black;
/* tPalette-expanded-background-color:#0069d9; /* background color when level is selected */
tPalette-collapse-topBorder-forground-lineColor1:'#org-eclipse-ui-workbench-DARK_BACKGROUND'; /* top border */
tPalette-collapse-topBorder-forground-lineColor2: #2F2F2F; /* top border */
tPalette-collapse-expanded-forground-lineColor: #2F2F2F; /* bottom border */
tPalette-collapse-notExpanded-forground-lineColor: #2F2F2F; /* bottom border */
tPalette-scroll-pane-list-border:0 0 0 0;
tPalette-scroll-pane-border:0 0 0 0;
tPalette-color-increment:10; /* color increment in palette depth */
tPalette-x-offset:17;
tPalette-entryEditPart-entry-color-inheritFromParent:true;
tPalette-searchButton-background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
tPalette-list-background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
tPalette-slider-palette-background-color:'#org-eclipse-ui-workbench-DARK_BACKGROUND';
}

View File

@@ -0,0 +1,212 @@
/*******************************************************************************
* Copyright (c) 2010, 2014 Andrea Guarinoni and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
* Andrea Guarinoni - initial API and implementation
*******************************************************************************/
/* ColorDefinitions for the dark theme for the Eclipse IDE
*
* ThemeExtensions and ColorDefinition are mapped to the Colors and Fonts preference
* dialog in the IDE
*/
ThemesExtension { color-definition:
'#org-eclipse-ui-workbench-DARK_BACKGROUND',
'#org-eclipse-ui-workbench-DARK_FOREGROUND',
'#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_START',
'#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_END',
'#org-eclipse-ui-workbench-INACTIVE_TAB_BG_START',
'#org-eclipse-ui-workbench-INACTIVE_TAB_BG_END',
'#org-eclipse-ui-workbench-INACTIVE_TAB_OUTER_KEYLINE_COLOR',
'#org-eclipse-ui-workbench-INACTIVE_TAB_INNER_KEYLINE_COLOR',
'#org-eclipse-ui-workbench-INACTIVE_TAB_OUTLINE_COLOR',
'#org-eclipse-ui-workbench-INACTIVE_TAB_TEXT_COLOR',
'#org-eclipse-ui-workbench-INACTIVE_TAB_UNSELECTED_TEXT_COLOR',
'#org-eclipse-ui-workbench-INACTIVE_TAB_SELECTED_TEXT_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_START',
'#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_END',
'#org-eclipse-ui-workbench-ACTIVE_TAB_BG_START',
'#org-eclipse-ui-workbench-ACTIVE_TAB_BG_END',
'#org-eclipse-ui-workbench-ACTIVE_TAB_OUTER_KEYLINE_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_TAB_INNER_KEYLINE_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_TAB_OUTLINE_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_TAB_TEXT_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_TAB_UNSELECTED_TEXT_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_TAB_SELECTED_TEXT_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_BG_START',
'#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_BG_END',
'#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_TEXT_COLOR',
'#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR',
'#org-eclipse-ui-workbench-LINK_COLOR';
}
ColorDefinition#org-eclipse-ui-workbench-DARK_BACKGROUND {
color: #515658;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=DARK_BACKGROUND');
}
ColorDefinition#org-eclipse-ui-workbench-DARK_FOREGROUND {
color: #eeeeee;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=DARK_FOREGROUND');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_START {
color: #515658;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_UNSELECTED_TABS_COLOR_START');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_UNSELECTED_TABS_COLOR_END {
color: #464649;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_UNSELECTED_TABS_COLOR_END');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_BG_START {
color: #3B4042;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_BG_START');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_BG_END {
color: #313538;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_BG_END');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_OUTER_KEYLINE_COLOR {
color: #515658;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_OUTER_KEYLINE_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_INNER_KEYLINE_COLOR {
color: #515658;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_INNER_KEYLINE_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_OUTLINE_COLOR {
color: #3B4042;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_OUTLINE_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_TEXT_COLOR {
color: #BBBBBB;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_UNSELECTED_TEXT_COLOR {
color: #BBBBBB;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_UNSELECTED_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-INACTIVE_TAB_SELECTED_TEXT_COLOR {
color: #FFFFFF;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=INACTIVE_TAB_SELECTED_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_START {
color: #494A4D;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_UNSELECTED_TABS_COLOR_START');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_END {
color: #404043;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_UNSELECTED_TABS_COLOR_END');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_BG_START {
color: #2B2C2D;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_BG_START');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_BG_END {
color: #292929;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_BG_END');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_OUTER_KEYLINE_COLOR {
color: #4B4C4F;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_OUTER_KEYLINE_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_INNER_KEYLINE_COLOR {
color: #4B4C4F;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_INNER_KEYLINE_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_OUTLINE_COLOR {
color: #4B4C4F;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_OUTLINE_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_TEXT_COLOR {
color: #DDDDDD;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_UNSELECTED_TEXT_COLOR {
color: #DDDDDD;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_UNSELECTED_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_TAB_SELECTED_TEXT_COLOR {
color: #f7f8f8;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_TAB_SELECTED_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_BG_START {
color: #2B2C2D;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_NOFOCUS_TAB_BG_START');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_BG_END {
color: #292929;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_NOFOCUS_TAB_BG_END');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_TEXT_COLOR {
color: #CCCCCC;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_NOFOCUS_TAB_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR {
color: #CCCCCC;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR');
}
ColorDefinition#org-eclipse-ui-workbench-LINK_COLOR {
color: #6FC5EE;
category: '#org-eclipse-ui-presentation-default';
label: url('platform:/plugin/org.talend.themes.css.talend?message=LINK_COLOR');
}

View File

@@ -0,0 +1,141 @@
/*******************************************************************************
* Copyright (c) 2010, 2014 Andrea Guarinoni and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Andrea Guarinoni <andrea.guarinoni.dev@outlook.com> - initial API and implementation
* Lars Vogel - initial API and implementation
*******************************************************************************/
/* ################################ CSS for .MParts ########################## */
.MPart {
font-family: '#org-eclipse-ui-workbench-TAB_TEXT_FONT';
background-color: #292929;
color: #DDDDDD;
}
.MPart.busy {
font-style: italic;
}
.MPart.highlighted {
font-weight: bold;
}
.MPart Composite,
.MPart Composite > *,
.MPart Composite > * > *,
.MPart Label,
.MPart ScrolledForm,
.MPart Form,
.MPart Section,
.MPart FormText,
.MPart Link,
.MPart Sash,
.MPart Button,
.MPart Group,
.MPart SashForm,
.MPart Tree,
.MPart FilteredTree,
.MPart RegistryFilteredTree,
.MPart PageSiteComposite,
.MPart DependenciesComposite,
.MPart Text[style~='SWT.READ_ONLY'],
.MPart FigureCanvas,
.MPart ListEditorComposite,
.MPart ScrolledComposite,
.Mpart ScrolledComposite ProgressInfoItem,
.MPart Form ScrolledPageBook,
.MPart DependenciesComposite > SashForm > Section > * { /* Section > DependenciesComposite$... */
background-color: #2F2F2F;
color: #AAAAAA;
}
.MPart Section > Label {
background-color: #2F2F2F;
color: #ABCEDA;
}
.MPart Table,
.MPart Browser,
.Mpart OleFrame,
.MPart ViewForm,
.MPart ViewForm > CLabel,
.MPart PageBook > Label,
.MPart PageBook > SashForm {
background-color: #313538;
color: #CCC;
}
.MPart Section Tree {
background-color: #383A3B;
color: #DDDDDD;
}
.MPart DatePicker,
.MPart DatePicker > Text,
.MPart ScheduleDatePicker,
.MPart ScheduleDatePicker > Text,
.MPart CCombo,
.MPart Spinner,
.MPart Composite > StyledText,
.MPart PageBook > SashForm Label,
.MPart SashForm > Text[style~='SWT.BORDER'] {
background-color: #3f4447;
color: #BBBBBB;
}
.MPart FormHeading,
.MPart FormHeading > TitleRegion,
.MPart FormHeading > TitleRegion > Label,
.MPart FormHeading > TitleRegion > StyledText {
background-color: #505f70;
color: #9ac9d8;
}
.MPart FormHeading,
.MPart FormHeading > TitleRegion {
swt-background-mode: none;
}
.MPart FormHeading > CLabel {
background-color: #505f70;
color: #E98787;
}
/* ------------------------------------------------------------- */
#org-eclipse-jdt-ui-SourceView StyledText,
#org-eclipse-wst-jsdt-ui-SourceView StyledText {
background-color: #252525;
}
/* ------------------------------------------------------------- */
#org-eclipse-ui-console-ConsoleView .MPart > Composite,
#org-eclipse-ui-console-ConsoleView .MPart StyledText,
#org-eclipse-ui-console-ConsoleView .MPart PageBook Label {
background-color: #2F2F2F;
color: #CCCCCC;
}
/* ------------------------------------------------------------- */
#org-eclipse-e4-ui-compatibility-editor Canvas {
background-color: inherit;
}
#org-eclipse-e4-ui-compatibility-editor LayoutCanvas {
background-color: #252525;
color: #CCCCCC;
}

View File

@@ -0,0 +1,93 @@
/*******************************************************************************
* Copyright (c) 2014, 2015 Lars Vogel and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Lars Vogel <Lars.Vogel@gmail.com> - initial API and implementation
* Andrea Guarinoni - intial color schema definition
* Lars Vogel <Lars.Vogel@vogella.com> - Ongoing maintenance
*******************************************************************************/
/* ############################## Eclipse UI properties ############################## */
IEclipsePreferences#org-eclipse-ui-editors:org-talend-themes-css-talend { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'AbstractTextEditor.Color.Background.SystemDefault=false'
'AbstractTextEditor.Color.SelectionForeground.SystemDefault=false'
'AbstractTextEditor.Color.SelectionBackground.SystemDefault=false'
'AbstractTextEditor.Color.Background=47,47,47'
'AbstractTextEditor.Color.Foreground.SystemDefault=false'
'AbstractTextEditor.Color.SelectionBackground=33,66,131'
'AbstractTextEditor.Color.SelectionForeground=147,161,161'
'AbstractTextEditor.Color.Foreground=204,204,204'
'AbstractTextEditor.Color.FindScope=30,120,155'
'asOccurencesIndicationColor=72,72,72'
'breakpointIndicationColor=51,119,193'
'currentIPColor=90,90,90'
'currentLineColor=55,55,55'
'deletionIndicationColor=224,226,228'
'filteredSearchResultIndicationColor=27,98,145'
'hyperlinkColor=102,175,249'
'hyperlinkColor.SystemDefault=false'
'infoIndicationColor=86,194,170'
'lineNumberColor=119,145,154'
'linked.slave.color=66,156,255'
'matchingTagIndicationColor=72,72,72'
'occurrenceIndicationColor=27,98,145'
'overrideIndicatorColor=78,120,117'
'printMarginColor=81,86,88'
'searchResultHighlighting=false'
'searchResultIndication=true'
'searchResultIndicationColor=94,94,94'
'searchResultTextStyle=BOX'
'secondaryIPColor=90,90,90'
'spellingIndicationColor=253,170,211'
'writeOccurrenceIndicationColor=27,98,145'
}
IEclipsePreferences#org-eclipse-ui-workbench:org-talend-themes-css-talend { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'ACTIVE_HYPERLINK_COLOR=138,201,242'
'CONFLICTING_COLOR=240,15,66'
'CONTENT_ASSIST_BACKGROUND_COLOR=52,57,61'
'CONTENT_ASSIST_FOREGROUND_COLOR=238,238,238'
'org.eclipse.ui.workbench.INFORMATION_BACKGROUND=81,86,88'
'org.eclipse.ui.workbench.INFORMATION_FOREGROUND=238,238,238'
'org.eclipse.ui.workbench.HOVER_BACKGROUND=52,57,61'
'org.eclipse.ui.workbench.HOVER_FOREGROUND=238,238,238'
'ERROR_COLOR=247,68,117'
'HYPERLINK_COLOR=111,197,238'
'INCOMING_COLOR=31,179,235'
'OUTGOING_COLOR=238,238,238'
'RESOLVED_COLOR=108,210,17'
'EDITION_COLOR=238,238,238'
'org.eclipse.search.ui.match.highlight=206,92,0'
'org.eclipse.ui.editors.rangeIndicatorColor=27,118,153'
'org.eclipse.jface.REVISION_NEWEST_COLOR=75,44,3'
'org.eclipse.jface.REVISION_OLDEST_COLOR=154,113,61'
'org.talend.designer.core.lightColor=212,212,212'
'org.talend.designer.core.darkColor=0,0,0'
'org.talend.designer.core.alpha=95'
'org.talend.commons.ui.BgColorForEmptyArea=#org-eclipse-ui-workbench-DARK_BACKGROUND'
'org.talend.core.repository.REPO_STABLE_SECONDARY_ENTRY_COLOR=175,175,175'
'org.talend.core.repository.REPO_INACTIVE_ENTRY_COLOR=138,138,138'
'org.talend.core.repository.REPO_LOCKED_ENTRY=107,0,0'
'org.talend.core.repository.REPO_MERGED_REFERENCED_ITEMS_COLOR=175,175,175'
'org.talend.core.repository.TAB_START_COLOR=27,60,79'
'org.talend.core.repository.TAB_END_COLOR=86,86,86'
}
IEclipsePreferences#org-talend-designer-core:org-talend-themes-css-talend { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'jobDesignerBackgroundColor=122,122,122'
'subjobColor=0,0,0'
'subjobTitleColor=128,255,0'
}

View File

@@ -0,0 +1,97 @@
/*******************************************************************************
* Copyright (c) 2018 Andrea Guarinoni and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Andrea Guarinoni <andrea.guarinoni.dev@outlook.com> - initial API and implementation
* Lars Vogel - initial API and implementation
*******************************************************************************/
/* ################################ CSS for Tabs ########################## */
#org-eclipse-ui-editorss {
swt-tab-height: 8px;
}
.MPartStack {
font-family: '#org-eclipse-ui-workbench-TAB_TEXT_FONT';
swt-tab-renderer: url('bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering');
swt-shadow-visible: false;
}
CTabFolder {
/* Set the styles for the inner tabs: */
color: '#org-eclipse-ui-workbench-INACTIVE_TAB_TEXT_COLOR';
swt-tab-renderer: url('bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering');
swt-tab-outline: '#org-eclipse-ui-workbench-ACTIVE_TAB_OUTLINE_COLOR'; /* border color for selected tab */
swt-outer-keyline-color: '#org-eclipse-ui-workbench-ACTIVE_TAB_OUTER_KEYLINE_COLOR'; /* border color for whole tabs container */
swt-unselected-tabs-color: '#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_START' '#org-eclipse-ui-workbench-ACTIVE_UNSELECTED_TABS_COLOR_END' 100% 100%; /* title background for unselected tab */
swt-selected-tab-fill: '#org-eclipse-ui-workbench-ACTIVE_TAB_BG_END'; /* title background for selected tab */
swt-shadow-visible: false;
swt-unselected-hot-tab-color-background: #161616; /* Bug 465711 */
swt-selected-tab-highlight: none;
}
CTabFolder[style~='SWT.DOWN'][style~='SWT.BOTTOM'] {
/* Set the styles for the bottom inner tabs (Bug 430051): */
swt-tab-renderer: url('bundleclass://org.eclipse.e4.ui.workbench.renderers.swt/org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering');
swt-unselected-hot-tab-color-background: #161616; /* Bug 465711 */
swt-selected-tab-highlight: #316c9b;
swt-selected-highlight-top: false;
}
CTabFolder.active {
swt-selected-tab-highlight: #316c9b;
swt-selected-highlight-top: false;
}
CTabItem,
CTabItem CLabel {
background-color: '#org-eclipse-ui-workbench-ACTIVE_TAB_BG_END'; /* HACK for background of CTabFolder inner Toolbars */
color: '#org-eclipse-ui-workbench-INACTIVE_TAB_UNSELECTED_TEXT_COLOR';
}
CTabItem:selected,
CTabItem:selected CLabel {
color: '#org-eclipse-ui-workbench-INACTIVE_TAB_SELECTED_TEXT_COLOR';
}
.MPartStack.active > CTabItem,
.MPartStack.active > CTabItem CLabel {
background-color: '#org-eclipse-ui-workbench-ACTIVE_TAB_BG_END'; /* HACK for background of CTabFolder inner Toolbars */
color: '#org-eclipse-ui-workbench-ACTIVE_TAB_UNSELECTED_TEXT_COLOR';
}
.MPartStack.active > CTabItem:selected,
.MPartStack.active > CTabItem:selected CLabel {
color: '#org-eclipse-ui-workbench-ACTIVE_TAB_SELECTED_TEXT_COLOR';
}
.MPartStack.active.noFocus > CTabItem:selected {
color: '#org-eclipse-ui-workbench-ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR';
}
CTabFolder > Composite#ToolbarComposite {
background-color: '#org-eclipse-ui-workbench-ACTIVE_TAB_BG_END'; /* HACK for background of CTabFolder inner Toolbars */
}
CTabFolder.MArea CTabItem,
CTabFolder.MArea CTabItem CLabel {
background-color: '#org-eclipse-ui-workbench-DARK_BACKGROUND'; /* Disable HACK for background of CTabFolder inner Toolbars */
}
CTabItem.busy {
color: #888888;
}
CTabFolder.MArea .MPartStack,CTabFolder.MArea .MPartStack.active {
swt-shadow-visible: false;
}

View File

@@ -0,0 +1,47 @@
/*******************************************************************************
* Copyright (c) 2010, 2014 Andrea Guarinoni and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Andrea Guarinoni <andrea.guarinoni.dev@outlook.com> - initial API and implementation
* Lars Vogel - initial API and implementation
*******************************************************************************/
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/common/e4_globalstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_ide_colorextensions.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_globalstyle.css"); /* Remove this to have ONLY the main IDE shell dark */
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_partstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_tabstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark-drag-styling.css");
CTabFolder Canvas {
background-color: #2F2F2F;
color: #CCC;
}
CTabFolder Scale {
background-color: inherit;
}
.MPartStack.active CTabFolder Canvas {
background-color: #262626;
color: #CCC;
}
/* #################### Bottom Status Bar ######################## */
StatusLine,
ImageBasedFrame,
#org-eclipse-ui-StatusLine,
#org-eclipse-ui-StatusLine CLabel,
#org-eclipse-ui-ProgressBar,
#org-eclipse-ui-ProgressBar Canvas {
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}

View File

@@ -0,0 +1,55 @@
/*******************************************************************************
* Copyright (c) 2010, 2019 Andrea Guarinoni and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Andrea Guarinoni <andrea.guarinoni.dev@outlook.com> - initial API and implementation
*******************************************************************************/
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/common/e4_globalstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_ide_colorextensions.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_globalstyle.css"); /* Remove this to have ONLY the main IDE shell dark */
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_partstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_tabstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark-drag-styling.css");
.MPartStack.active CTabFolder Canvas {
background-color: #262626;
color: #CCC;
}
/* #################### Bottom Status Bar ######################## */
StatusLine,
ImageBasedFrame,
#org-eclipse-ui-StatusLine,
#org-eclipse-ui-StatusLine CLabel,
#org-eclipse-ui-ProgressBar,
#org-eclipse-ui-ProgressBar Canvas {
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
/* ###################### Global Styles ########################## */
/* Use unset to set the foreground/background color to null */
Table[swt-lines-visible=true] {
background-color: unset;
}
Tree[swt-lines-visible=true] {
background-color: unset;
}
Button {
background-color: unset;
color: unset;
}

View File

@@ -0,0 +1,80 @@
/*******************************************************************************
* Copyright (c) 2010, 2014 Andrea Guarinoni and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Andrea Guarinoni <andrea.guarinoni.dev@outlook.com> - initial API and implementation
*******************************************************************************/
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/common/e4_globalstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_ide_colorextensions.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_globalstyle.css"); /* Remove this to have ONLY the main IDE shell dark */
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_partstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_tabstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark-drag-styling.css");
CTabFolder Canvas {
background-color: #2F2F2F;
color: #CCC;
}
.MPartStack.active CTabFolder Canvas {
background-color: #262626;
color: #CCC;
}
/* #################### Bottom Status Bar ######################## */
StatusLine,
ImageBasedFrame,
#org-eclipse-ui-StatusLine,
#org-eclipse-ui-StatusLine CLabel,
#org-eclipse-ui-ProgressBar,
#org-eclipse-ui-ProgressBar Canvas {
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
/* ###################### Global Styles ########################## */
TabFolder {
/* background-color is not applied to the whole button,
but text color is changed, so it appear light on light */
background-color: '#org-eclipse-ui-workbench-DARK_BACKGROUND';
color: #222;
}
Button {
/* background-color is not applied to the whole button,
but text color is changed, so it appear light on light */
background-color: #2F2F2F;
color: #CCCCCC;
}
Button[style~='SWT.CHECK'] {
/* currently, Button object isn't consistent (eg. also a checkbox is seen as Button) */
/* so, css rules applied to Button have to be overridden for non-Button matches */
background-color: '#org-eclipse-ui-workbench-DARK_BACKGROUND';
color: #ddd;
}
Button[style~='SWT.RADIO'] {
/* currently, Button object isn't consistent (eg. also a checkbox is seen as Button) */
/* so, css rules applied to Button have to be overridden for non-Button matches */
background-color: '#org-eclipse-ui-workbench-DARK_BACKGROUND';
color: #ddd;
}
Combo {
background-color: #949DA5;
color: #222; /* background of drop-drown list is hard-coded to white */
}
Combo:selected {
background-color: #41464A;
color: #FFF;
}

View File

@@ -0,0 +1,120 @@
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/common/e4_globalstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_ide_colorextensions.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_globalstyle.css"); /* Remove this to have ONLY the main IDE shell dark */
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_partstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark_tabstyle.css");
@import url("platform:/plugin/org.talend.themes.css.talend/themes/dark/dark/e4-dark-drag-styling.css");
CTabFolder Canvas {
background-color: #2F2F2F;
color: #CCC;
}
CTabFolder Scale {
background-color: inherit;
}
.MPartStack.active CTabFolder Canvas {
background-color: #262626;
color: #CCC;
}
.MPartStack.active Table {
background-color: #2F2F2F;
color: #CCC;
}
Tree, Table {
swt-lines-visible: false;
}
/* ##################### Bottom Status Bar ####################### */
StatusLine,
ImageBasedFrame,
#org-eclipse-ui-StatusLine,
#org-eclipse-ui-StatusLine CLabel,
#org-eclipse-ui-ProgressBar,
#org-eclipse-ui-ProgressBar Canvas {
color:'#org-eclipse-ui-workbench-DARK_FOREGROUND';
}
/* ####################### CSS for .MParts ####################### */
.MPart Form Section,
.MPart Form Label,
.MPart Form FormText,
.MPartStack .MPart Form MasterDetailsBlock-MDSashForm,
.MPartStack .MPart Form SashForm,
.MPartStack .MPart Form Sash,
.MPart Form Button[style~='SWT.CHECK'],
.MPart Form Button[style~='SWT.RADIO'],
.MPartStack.active .MPart Form Section,
.MPartStack.active .MPart Form Label,
.MPartStack.active .MPart Form FormText,
.MPartStack.active .MPart Form MasterDetailsBlock-MDSashForm,
.MPartStack.active .MPart Form SashForm,
.MPartStack.active .MPart Form Sash,
.MPartStack.active .MPart Form Button[style~='SWT.CHECK'],
.MPartStack.active .MPart Form Button[style~='SWT.RADIO']
{
background-color: inherit;
color: #f4f7f7;
}
/* Make the content of the Form brighter because the color of
the font of some widgets is hard-coded to be black on Window */
.MPart Form,
.MPart Form Link,
.MPart Form Button,
.MPart Form Group,
.MPart Form ScrolledPageBook,
.MPart Form DependenciesComposite,
.MPart Form ListEditorComposite,
.MPart Form Text[style~='SWT.READ_ONLY'],
.MPart Form DependenciesComposite > SashForm > Section > *, /* Section > DependenciesComposite$... */
.MPartStack.active .MPart Form,
.MPartStack.active .MPart Form Link,
.MPartStack.active .MPart Form Button,
.MPartStack.active .MPart Form Group,
.MPartStack.active .MPart Form ScrolledPageBook,
.MPartStack.active .MPart Form DependenciesComposite,
.MPartStack.active .MPart Form ListEditorComposite,
.MPartStack.active .MPart Form Text[style~='SWT.READ_ONLY'],
.MPartStack.active .MPart Form DependenciesComposite > SashForm > Section > * { /* Section > DependenciesComposite$... */
background-color: #4f5355;
color: #f4f7f7;
}
#org-eclipse-help-ui-HelpView Form,
#org-eclipse-help-ui-HelpView Form Sash,
#org-eclipse-help-ui-HelpView Form Label,
#org-eclipse-help-ui-HelpView Form Section,
#org-eclipse-help-ui-HelpView Form FormText,
#org-eclipse-help-ui-HelpView Form Button,
#org-eclipse-help-ui-HelpView Form Group,
#org-eclipse-help-ui-HelpView Form ScrolledPageBook,
#org-eclipse-help-ui-HelpView Form Text[style~='SWT.READ_ONLY'] {
background-color: #2F2F2F;
color: #CCCCCC;
}
.MPartStack.active #org-eclipse-help-ui-HelpView Form,
.MPartStack.active #org-eclipse-help-ui-HelpView Form Sash,
.MPartStack.active #org-eclipse-help-ui-HelpView Form Label,
.MPartStack.active #org-eclipse-help-ui-HelpView Form Section,
.MPartStack.active #org-eclipse-help-ui-HelpView Form FormText,
.MPartStack.active #org-eclipse-help-ui-HelpView Form Button,
.MPartStack.active #org-eclipse-help-ui-HelpView Form Group,
.MPartStack.active #org-eclipse-help-ui-HelpView Form ScrolledPageBook,
.MPartStack.active #org-eclipse-help-ui-HelpView Form Text[style~='SWT.READ_ONLY'] {
background-color: #262626;
color: #BBBBBB;
}
.MPart Form Section Tree,
.MPartStack.active .MPart Form Section Tree {
background-color: #313538;
color: #DDDDDD;
}

View File

@@ -648,7 +648,6 @@ CTabFolder.org-talend-rcp-abstractMultiPageEditor-footer CTabItem:selected {
.TalendStagingView StyledText {
background-color: COLOR-LIST-BACKGROUND;
}
/**************************************************
* Palette
**************************************************/
@@ -657,7 +656,7 @@ CTabFolder.org-talend-rcp-abstractMultiPageEditor-footer CTabItem:selected {
tPalette-collapsed-background-color:white;
tPalette-mouseOver-forground-color1:#ADADAD;
tPalette-mouseOver-forground-color2:#ADADAD;
tPalette-mouseOver-forground-color3:#ADADAD;
tPalette-mouseOver-forground-color3:black;
tPalette-mouseOver-background-color1:#ADADAD;
tPalette-mouseOver-background-color2:#ADADAD;
tPalette-mouseOver-background-color3:#ADADAD; /* */
@@ -678,6 +677,15 @@ CTabFolder.org-talend-rcp-abstractMultiPageEditor-footer CTabItem:selected {
tPalette-searchButton-image:url('./default/pics/studio_6.0-repo-search.png');
}
/* Repository tree */
.TalendRepositoryLabel {
STABLE_SECONDARY_ENTRY_COLOR: #646464;
STABLE_PRIMARY_ENTRY_COLOR: #000000;
INACTIVE_ENTRY_COLOR: #C8C8C8;
LOCKED_ENTRY: #C80000;
MERGED_REFERENCED_ITEMS_COLOR: #787878;
}
/**************************************************
* User Color and Font Changes
**************************************************/

View File

@@ -0,0 +1,33 @@
/*******************************************************************************
* Copyright (c) 2014, 2015 Lars Vogel and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Lars Vogel <Lars.Vogel@gmail.com> - initial API and implementation
* Andrea Guarinoni - intial color schema definition
* Lars Vogel <Lars.Vogel@vogella.com> - Ongoing maintenance
*******************************************************************************/
/* ############################## Eclipse UI properties ############################## */
IEclipsePreferences#org-talend-designer-core:org-talend-themes-css-talend { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'jobDesignerBackgroundColor=250,250,250'
'subjobColor=207,226,236'
'subjobTitleColor=92,131,150'
}
IEclipsePreferences#org-eclipse-ui-workbench:org-talend-themes-css-talend { /* pseudo attribute added to allow contributions without replacing this node, see Bug 466075 */
preferences:
'org.talend.designer.core.lightColor=232,235,239'
'org.talend.designer.core.darkColor=125,135,150'
'org.talend.designer.core.alpha=30'
}

View File

@@ -34,7 +34,7 @@ public class DatabaseVersion4DriversTest {
ERedshiftDriver.DRIVER_V1.name());
assertTrue(drivers.containsAll(Arrays.asList(redshiftDrivers)));
redshiftDrivers = new String[] { "redshift-jdbc42-2.1.0.3.jar", "antlr4-runtime-4.8-1.jar" };
redshiftDrivers = new String[] { "redshift-jdbc42-2.1.0.10.jar", "antlr4-runtime-4.8-1.jar" };
drivers = EDatabaseVersion4Drivers.getDrivers(EDatabaseTypeName.REDSHIFT.getDisplayName(),
ERedshiftDriver.DRIVER_V2.name());
assertTrue(drivers.containsAll(Arrays.asList(redshiftDrivers)));
@@ -47,7 +47,7 @@ public class DatabaseVersion4DriversTest {
ERedshiftDriver.DRIVER_V1.name());
assertTrue(drivers.containsAll(Arrays.asList(redshiftSSODrivers)));
redshiftSSODrivers = new String[] { "redshift-jdbc42-2.1.0.3.jar", "antlr4-runtime-4.8-1.jar",
redshiftSSODrivers = new String[] { "redshift-jdbc42-2.1.0.10.jar", "antlr4-runtime-4.8-1.jar",
"aws-java-sdk-1.11.848.jar", "jackson-core-2.13.4.jar", "jackson-databind-2.13.4.2.jar",
"jackson-annotations-2.13.4.jar", "httpcore-4.4.13.jar", "httpclient-4.5.13.jar", "joda-time-2.8.1.jar",
"commons-logging-1.2.jar", "commons-codec-1.14.jar", "aws-java-sdk-redshift-internal-1.12.x.jar" };

View File

@@ -22,12 +22,12 @@
<version>1.0.0</version>
<type>dll</type>
</dependency>
<dependency>
<!--dependency>
<groupId>org.talend.studio.test</groupId>
<artifactId>nexus.upload.test.new</artifactId>
<version>1.0.0</version>
<type>exe</type>
</dependency>
</dependency-->
<dependency>
<groupId>org.talend.studio.test</groupId>
<artifactId>nexus.upload.test.new</artifactId>
@@ -45,12 +45,12 @@
<version>1.0.0</version>
<type>dll</type>
</dependency>
<dependency>
<!--dependency>
<groupId>org.talend.studio.test</groupId>
<artifactId>nexus.upload.test.old</artifactId>
<version>1.0.0</version>
<type>exe</type>
</dependency>
</dependency-->
<dependency>
<groupId>org.talend.studio.test</groupId>
<artifactId>nexus.upload.test.old</artifactId>

View File

@@ -66,7 +66,7 @@ public class Nexus3RepositoryHandlerTest {
private static Properties nexusprops = new Properties();
private static ArtifactRepositoryBean customNexusServer;
private static IRepositoryArtifactHandler repHandler;
private static String[] types = new String[] {"jar", "pom", "exe", "zip", "dll"};
private static String[] types = new String[] {"jar", "pom", "zip", "dll"};
@BeforeClass
public static void init() throws FileNotFoundException, IOException {

View File

@@ -111,7 +111,14 @@ public class ComponentP2ExtraFeatureTest {
assertEquals(EnumSet.of(UpdateSiteLocationType.DEFAULT_REPO), feature.getUpdateSiteCompatibleTypes());
}
@Test
/**
* these were to try to install a custom component made with tcompv0
* but now we don't want customers to build custom component with tcompv0... we want them to use tck so remove the
* junits for TUP-35265
* (testExtraFeatureInstall/testExtraFeatureHasUpdateAndInstallIt/testExtraFeatureNoUpdateAvailable)
*
* @throws Exception
*/
public void testExtraFeatureInstall() throws Exception {
final File dataFile = BundleFileUtil.getBundleFile(this.getClass(), TEST_COMPONENTS_V1_UPDATE_SITE_FILE);
assertTrue(dataFile.exists());
@@ -131,7 +138,7 @@ public class ComponentP2ExtraFeatureTest {
}
}
@Test
public void testExtraFeatureHasUpdateAndInstallIt() throws Exception {
final File dataV1File = BundleFileUtil.getBundleFile(this.getClass(), TEST_COMPONENTS_V1_UPDATE_SITE_FILE);
assertTrue(dataV1File.exists());
@@ -167,7 +174,7 @@ public class ComponentP2ExtraFeatureTest {
}
}
@Test
public void testExtraFeatureNoUpdateAvailable() throws Exception {
final File dataV1File = BundleFileUtil.getBundleFile(this.getClass(), TEST_COMPONENTS_V1_UPDATE_SITE_FILE);
assertTrue(dataV1File.exists());