Compare commits

..

4 Commits

1981 changed files with 325513 additions and 74406 deletions

View File

@@ -56,12 +56,5 @@
install-size="0"
version="0.0.0"
unpack="true"/>
<plugin
id="org.talend.signon.util"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -5,6 +5,7 @@
<copyright url="http://www.example.com/copyright">[Enter Copyright Description here.]</copyright>
<license url="http://www.example.com/license">[Enter License Description here.]</license>
<requires>
<import plugin="org.bouncycastle.bcprov" version="1.69.0" match="greaterOrEqual"/>
<import plugin="com.cedarsoftware.json-io" version="0.0.0" match="greaterOrEqual"/>
<import plugin="com.fasterxml.jackson.core.jackson-annotations" version="2.9.0" match="greaterOrEqual"/>
<import plugin="com.fasterxml.jackson.core.jackson-core" version="2.9.8" match="greaterOrEqual"/>
@@ -16,7 +17,7 @@
<import plugin="org.apache.commons.lang" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.lang3" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.log4j" version="0.0.0" match="greaterOrEqual"/>
<import plugin="avro" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.apache.servicemix.bundles.avro" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.junit" version="4.13.2" match="greaterOrEqual"/>
<import plugin="org.slf4j.api" version="0.0.0" match="greaterOrEqual"/>
<import plugin="org.slf4j.binding.log4j12" version="0.0.0" match="greaterOrEqual"/>

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 B

View File

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

View File

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

View File

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

View File

@@ -12,22 +12,14 @@
// ============================================================================
package org.talend.commons.ui.runtime;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ColorConstants {
static final String BUNDLE_ID_COMMON_UI_RUNTIME = "org.talend.common.ui.runtime";
static final String KEY_TABLE_BACKGROUND = "table.background";
static final String KEY_TABLE_FOREGROUND = "table.foreground";
static final Color WHITE_COLOR = new Color(null, 255, 255, 255);
static final Color GREY_COLOR = new Color(null, 215, 215, 215);
@@ -36,38 +28,11 @@ public interface ColorConstants {
static final Color YELLOW_COLOR = new Color(null, 255, 173, 37);// 254, 182, 84
static final Color RED_COLOR = new Color(null, new RGB(204, 87, 89));// 255
static final Color ERROR_FONT_COLOR = new Color(null, new RGB(255, 0, 0));// 255
static final Color RED_COLOR = new Color(null, new RGB(204,87,89));// 255
static final Color VERTICAL_SEPERATOR_LINE_COLOR = new Color(null, 162, 179, 195);
static final Color LOCHMARA_COLOR = new Color(null, 6, 117, 193);
static final Color WATHET_COLOR = new Color(null, 135, 206, 235);
static final Color INFO_COLOR = new Color(null, 205, 227, 242);
// static final Color INFO_COLOR = YELLOW_GREEN_COLOR;
static final Color WARN_COLOR = new Color(null, 252, 230, 217);
static final Color ERR_COLOR = new Color(null, 255, 235, 235);
static final Color SUCCEED_COLOR = new Color(null, 221, 242, 217);
static Color getTableBackgroundColor() {
return ITalendThemeService.getColor(ColorConstants.BUNDLE_ID_COMMON_UI_RUNTIME, ColorConstants.KEY_TABLE_BACKGROUND)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
}
static Color getTableForegroundColor() {
return ITalendThemeService.getColor(ColorConstants.BUNDLE_ID_COMMON_UI_RUNTIME, ColorConstants.KEY_TABLE_FOREGROUND)
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND));
}
static Color getTableReadOnlyForegroundColor() {
return ITalendThemeService.getColor("CONTEXT_TABLE_READONLY_FOREGROUND")
.orElse(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
}
}

View File

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

View File

@@ -1,154 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.runtime;
import java.util.Optional;
import org.apache.commons.lang.StringUtils;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.graphics.Color;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;
import org.talend.commons.exception.ExceptionHandler;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ITalendThemeService {
public static String DEFAULT_PREFERENCE_ID = "org.eclipse.ui.workbench";
public static String THEME_PREFERENCE_ID = "org.eclipse.e4.ui.css.swt.theme";
/**
* Get color from instance scope preference of default bundleId, which managed by theme; the standard way eclipse
* uses
*
* @param prop
* @return the Color, <font color="red">please <b>DON'T</b> dispose it, it is managed by JFaceResources</font>
*/
static Optional<Color> getColor(String prop) {
return getColor(DEFAULT_PREFERENCE_ID, prop);
}
/**
* Get color from instance scope preference of bundleId, which managed by theme; the standard way eclipse uses
*
* @param bundleId the instance scope preference which stores the prop
* @param prop
* @return the Color, <font color="red">please <b>DON'T</b> dispose it, it is managed by JFaceResources</font>
*/
static Optional<Color> getColor(String bundleId, String prop) {
ITalendThemeService theme = get();
if (theme != null) {
return Optional.ofNullable(theme.getColorForTheme(bundleId, prop));
}
return Optional.ofNullable(null);
}
Color getColorForTheme(String bundleId, String prop);
/**
* Get property from instance scope preference of default bundleId, which managed by theme; the standard way eclipse
* uses
*
* @param key
* @return
*/
static Optional<String> getProperty(String key) {
return getProperty(DEFAULT_PREFERENCE_ID, key);
}
/**
* Get property from instance scope preference of bundleId, which managed by theme; the standard way eclipse uses
*
* @param bundleId the instance scope preference which stores the key
* @param key
* @return
*/
static Optional<String> getProperty(String bundleId, String key) {
ITalendThemeService theme = get();
String value = null;
if (theme != null) {
value = theme.getPropertyForTheme(bundleId, key);
}
if (StringUtils.isBlank(value)) {
return Optional.ofNullable(null);
} else {
return Optional.ofNullable(value);
}
}
String getPropertyForTheme(String bundleId, String key);
static void addPropertyChangeListener(IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.addPropertyChangeListenerFor(DEFAULT_PREFERENCE_ID, listener);
}
}
static void addPropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.addPropertyChangeListenerFor(bundleId, listener);
}
}
void addPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
static boolean containsPropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
return theme.containsPropertyChangeListenerFor(bundleId, listener);
}
return false;
}
boolean containsPropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
static void removePropertyChangeListener(IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.removePropertyChangeListenerFor(DEFAULT_PREFERENCE_ID, listener);
}
}
static void removePropertyChangeListener(String bundleId, IPropertyChangeListener listener) {
ITalendThemeService theme = get();
if (theme != null) {
theme.removePropertyChangeListenerFor(bundleId, listener);
}
}
void removePropertyChangeListenerFor(String bundleId, IPropertyChangeListener listener);
IPreferenceStore getThemePreferenceStore();
static ITalendThemeService get() {
try {
BundleContext bc = FrameworkUtil.getBundle(ITalendThemeService.class).getBundleContext();
ServiceReference<ITalendThemeService> serviceReference = bc.getServiceReference(ITalendThemeService.class);
if (serviceReference == null) {
return null;
}
return bc.getService(serviceReference);
} catch (Exception e) {
ExceptionHandler.process(e);
}
return null;
}
}

View File

@@ -40,8 +40,6 @@ public class ExceptionMessageDialog extends MessageDialog {
private String exceptionString = null;
private int[] diabledButtonIndex = new int[] {};
private boolean expandedOnOpen = false;
public ExceptionMessageDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage,
int dialogImageType, String[] dialogButtonLabels, int defaultIndex, Throwable ex) {
@@ -87,8 +85,6 @@ public class ExceptionMessageDialog extends MessageDialog {
text.setText(exceptionString);
text.setEditable(false);
errorComposite.setClient(text);
errorComposite.setExpanded(expandedOnOpen);
return errorComposite;
}
@@ -154,22 +150,6 @@ public class ExceptionMessageDialog extends MessageDialog {
this.exceptionString = exceptionString;
}
/**
* @return the expandedOnOpen
*/
public boolean isExpandedOnOpen() {
return expandedOnOpen;
}
/**
* @param expandedOnOpen the expandedOnOpen to set
*/
public void setExpandedOnOpen(boolean expandedOnOpen) {
this.expandedOnOpen = expandedOnOpen;
}
public void setDisabledButtons(int[] index) {
this.diabledButtonIndex = index;
}

View File

@@ -72,27 +72,12 @@ public final class MessageBoxExceptionHandler {
}
}
public static void process(Throwable ex, Shell shell, boolean wrapMessage) {
CommonExceptionHandler.process(ex);
if (CommonsPlugin.isHeadless() || CommonsPlugin.isJUnitTest()) {
return;
}
if (shell != null) {
showMessage(ex, shell, wrapMessage);
}
}
public static void showMessage(Throwable ex, Shell shell) {
showMessage(ex, shell, true);
}
/**
* Open a message box showing a generic message and exception message.
*
* @param ex - exception to show
*/
public static void showMessage(Throwable ex, Shell shell, boolean wrapMessage) {
public static void showMessage(Throwable ex, Shell shell) {
if (ex.equals(lastShowedAction)) {
return;
}
@@ -100,14 +85,10 @@ public final class MessageBoxExceptionHandler {
// TODO smallet use ErrorDialogWidthDetailArea ?
String title = Messages.getString("commons.error"); //$NON-NLS-1$
String excepMsg = ex.getMessage();
String msg = Messages.getString("exception.errorOccured", ex.getMessage()); //$NON-NLS-1$
//add for tup-19726/19790, as for exception detailMessage will show more details on log area.
if(ex.getCause()!=null) {
excepMsg = ex.getCause().getMessage();
}
String msg = Messages.getString("exception.errorOccured", excepMsg); //$NON-NLS-1$
if (!wrapMessage) {
msg = Messages.getString("exception.message", excepMsg); //$NON-NLS-1$
msg = Messages.getString("exception.errorOccured", ex.getCause().getMessage()); //$NON-NLS-1$
}
Priority priority = CommonExceptionHandler.getPriority(ex);

View File

@@ -114,7 +114,6 @@ TableViewerCreator.Table.BeNull=table is null
TableViewerCreator.TableColumn.AssertMsg=The TableColumn of TableEditorColumn with idProperty '{0}' has not the correct Table parent
TreeToTablesLinker.Type.Unsupported=This type of currentControl is unsupported
commons.error=Error
exception.message={0}\nSee log for more details.
exception.errorOccured=An error occured ({0}).\nSee log for more details.
ModelSelectionDialog.Message=Please choose one option, or cancel.
ModelSelectionDialog.Option=option

View File

@@ -114,7 +114,6 @@ TableViewerCreator.Table.BeNull=la table est null.
TableViewerCreator.TableColumn.AssertMsg=La TableColumn de TableEditorColumn avec idProperty '{0}' n'a pas la bonne Table parente
TreeToTablesLinker.Type.Unsupported=Ce type de currentControl n'est pas support\u00E9
commons.error=Erreur
exception.message={0}\nConsultez le log pour plus de d\u00E9tails.
exception.errorOccured=Une erreur est survenue ({0}).\nConsultez le log pour plus de d\u00E9tails.
ModelSelectionDialog.Message=S\u00E9lectionnez une option ou annulez.
ModelSelectionDialog.Option=Option

View File

@@ -15,7 +15,7 @@ ColorStyledText.SelectAllItem.Text=\u3059\u3079\u3066\u9078\u629E
ContentProposalAdapterExtended.close=\u9589\u3058\u308B
ContentProposalAdapterExtended.closeFocusout=\u30D5\u30A9\u30FC\u30AB\u30B9\u30A2\u30A6\u30C8\u3092\u9589\u3058\u308B
ControlUtils.Unsupported1=\u3053\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB({0})\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5FC5\u8981\u3067\u3042\u308C\u3070\u3001\u30B1\u30FC\u30B9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044...
CopyPushButton.CopyButton.Tip=\u9078\u629E\u9805\u76EE\u3092\u30B3\u30D4\u30FC
CopyPushButton.CopyButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u30B3\u30D4\u30FC
Curve2D.MaxNum.Be0=maximumSegments\u306F\u6B63\u6570\u304B0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
Curve2D.MinNum.Be0=minimumSegments\u306F\u6B63\u6570\u307E\u305F\u306F0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
DateDialog.textContent=\u65E5\u6642\u3092\u9078\u629E
@@ -96,7 +96,7 @@ ProposalUtils.CtrlProposal.ErrorMsg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u5236\u
RemovePushButton.RemoveButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
ResetDBTypesButton.ResetDBTypesButton.Tip=DB\u30BF\u30A4\u30D7\u3092\u30EA\u30BB\u30C3\u30C8
Rule.rule=\u30EB\u30FC\u30EB[{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SaveAsGenericSchemaPushButton.saveAsSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SelectContextVariablesPushButton.Label=\u30B3\u30F3\u30C6\u30AF\u30B9\u30C8\u5909\u6570\u3092\u9078\u629E
SWTCalendarWithTime.contentEvening=\u5915\u65B9
SWTCalendarWithTime.contentHr=\u6642:
@@ -106,7 +106,7 @@ SWTCalendarWithTime.contentNoon=\u5348\u5F8C
SWTCalendarWithTime.contentNow=\u73FE\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u3001createTable()\u3092\u65E2\u306B\u547C\u3073\u51FA\u3057\u3066\u3044\u308B\u5834\u5408\u306E\u307F\u547C\u3073\u51FA\u305B\u307E\u3059
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002 \n \u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001'{0}'\u304B\u3001\u62E1\u5F35\u3059\u308B\u30AF\u30E9\u30B9\u3092\u4F7F\u3044\u307E\u3059\u3002
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002\n\u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u3046\u306B\u306F\u3001'{0}'\u304B\u62E1\u5F35\u30AF\u30E9\u30B9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
TableViewerCreator.columnNoIBeanProperty=\u30AB\u30E9\u30E0'{0}' ('{1}')\u306B\u306FCellEditor\u30BB\u30C3\u30C8\u304C\u3042\u308A\u307E\u3059\u304C\u3001IBeanPropertyAccessors\u304C\u3042\u308A\u307E\u305B\u3093!
TableViewerCreator.columnNullId=\u30AB\u30E9\u30E0'{0}'\u304Cnull\u3067\u3059\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u30AB\u30E9\u30E0\u306EidProperty\u306E\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3001idProperty\u306F\uFF11\u3064\u306E\u30C6\u30FC\u30D6\u30EB\u3067\u30E6\u30CB\u30FC\u30AF\u3067\u306A\u304F\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002
@@ -114,7 +114,6 @@ TableViewerCreator.Table.BeNull=\u30C6\u30FC\u30D6\u30EB\u304CNULL\u3067\u3059
TableViewerCreator.TableColumn.AssertMsg=idProperty'{0}'\u304C\u3042\u308BTableEditorColumn\u306ETableColumn\u306B\u306F\u3001\u6B63\u3057\u3044\u89AA\u30C6\u30FC\u30D6\u30EB\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
TreeToTablesLinker.Type.Unsupported=currentControl\u306E\u3053\u306E\u30BF\u30A4\u30D7\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
commons.error=\u30A8\u30E9\u30FC
exception.message={0}\n\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
exception.errorOccured=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F({0})\u3002\n\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ModelSelectionDialog.Message=\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\uFF11\u3064\u9078\u629E\u3059\u308B\u304B\u3001\u30AD\u30E3\u30F3\u30BB\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ModelSelectionDialog.Option=\u30AA\u30D7\u30B7\u30E7\u30F3
@@ -122,11 +121,11 @@ ModelSelectionDialog.BuiltIn=\u7D44\u307F\u8FBC\u307F\u30D7\u30ED\u30D1\u30C6\u3
ModelSelectionDialog.ViewSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.newViewSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u8868\u793A
ModelSelectionDialog.ViewQuery=\u30AF\u30A8\u30EA\u30FC\u3046\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002
SSLConfirmDialog.KeyStore=KeyStore\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
SSLConfirmDialog.TrustStore=TrustStore\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
SSLConfirmDialog.Password=\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u4E00\u90E8\u306E\u8A2D\u5B9A\u3092\u5909\u66F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u7684\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u3044\u304F\u3064\u304B\u306E\u8A2D\u5B9A\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
GlobalServiceRegister.ServiceNotRegistered=\u30B5\u30FC\u30D3\u30B9{0}\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.title=XML\u306B\u89E3\u6790\u3067\u304D\u307E\u305B\u3093.
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.msg=\u3053\u306E\u5F62\u5F0F\u3067\u306F\u3001XML\u306B\u89E3\u6790\u3067\u304D\u307E\u305B\u3093.

View File

@@ -106,7 +106,7 @@ SWTCalendarWithTime.contentNoon=\u4E2D\u5348
SWTCalendarWithTime.contentNow=\u73B0\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u53EA\u6709\u60A8\u5DF2\u7ECF\u8C03\u7528\u4E86 createTable() \u65B9\u6CD5\u540E\uFF0C\u624D\u80FD\u8C03\u7528\u6B64\u65B9\u6CD5\u3002
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002 \n \u4F7F\u7528 '{0}' \u6216\u6269\u5C55\u5B83\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002\n \u4F7F\u7528 '{0}' \u6216\u80FD\u591F\u5BF9\u5176\u8FDB\u884C\u6269\u5C55\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.columnNoIBeanProperty=\u5217 '{0}' ('{1}') \u8BBE\u7F6E\u4E86 CellEditor\uFF0C\u4F46\u6CA1\u6709 IBeanPropertyAccessors\uFF01
TableViewerCreator.columnNullId=\u5217 '{0}' \u7684 id \u4E3A null\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u4F60\u5FC5\u987B\u6539\u53D8\u5176\u4E2D\u4E00\u4E2A\u5217\u7684 idProperty\uFF0C\u4E00\u4E2A\u8868\u4E2D\u7684\u6BCF\u4E2A\u5217\u7684 idProperty \u5FC5\u987B\u552F\u4E00\u3002
@@ -114,8 +114,7 @@ TableViewerCreator.Table.BeNull=\u8868\u4E3A null
TableViewerCreator.TableColumn.AssertMsg=TableEditorColumn \u7684 idProperty \u4E3A '{0}' \u7684 TableColumn \u6CA1\u6709\u6B63\u786E\u7684 Table \u7236\u9879
TreeToTablesLinker.Type.Unsupported=\u4E0D\u652F\u6301\u8FD9\u79CD\u7C7B\u578B\u7684 currentControl
commons.error=\u9519\u8BEF
exception.message={0}\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
exception.errorOccured=\u51FA\u73B0\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
exception.errorOccured=\u53D1\u751F\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
ModelSelectionDialog.Message=\u8BF7\u9009\u62E9\u4E00\u4E2A\u9009\u9879\u6216\u53D6\u6D88\u3002
ModelSelectionDialog.Option=\u9009\u9879
ModelSelectionDialog.BuiltIn=\u66F4\u6539\u4E3A\u5185\u7F6E\u5C5E\u6027\u3002
@@ -126,7 +125,7 @@ ModelSelectionDialog.Update=\u66F4\u65B0\u5B58\u50A8\u5E93\u8FDE\u63A5\u3002
SSLConfirmDialog.KeyStore=\u8BF7\u8F93\u5165\u5BC6\u94A5\u5E93
SSLConfirmDialog.TrustStore=\u8BF7\u8F93\u5165\u4FE1\u4EFB\u5E93
SSLConfirmDialog.Password=\u8BF7\u8F93\u5165\u5BC6\u7801
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u5FC5\u987B\u66F4\u6539\u67D0\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u901A\u5E38\u662F\u7531\u4E8E\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u5BFC\u81F4\u3002
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u987B\u6539\u53D8\u4E00\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u53EF\u80FD\u662F\u56E0\u4E3A\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u9020\u6210\u7684\u3002
GlobalServiceRegister.ServiceNotRegistered=\u670D\u52A1 {0} \u8FD8\u672A\u6CE8\u518C\u3002
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.title=xml \u65E0\u6CD5\u89E3\u6790\u3002
MessageBoxExceptionHandler.showMessageForSchemaImportXml.unParseXML.msg=xml \u65E0\u6CD5\u4EE5\u8FD9\u79CD\u683C\u5F0F\u89E3\u6790\u3002

View File

@@ -115,8 +115,6 @@ public enum ECoreImage implements IImage {
METADATA_SAPCONNECTION_ICON("/icons1/sapconnection.png"), //$NON-NLS-1$
METADATA_SAPCONNECTION_WIZ("/icons1/connection_wiz.gif"), //$NON-NLS-1$
METADATA_BIGQUERYCONNECTION_ICON("/icons1/bigqueryconnection.png"), //$NON-NLS-1$
METADATA_HEADERFOOTER_ICON("/icons1/headerfooter_icon32.png"), //$NON-NLS-1$

View File

@@ -39,11 +39,6 @@ public enum EImage implements IImage {
EDIT_ICON("/icons/write_obj.gif"), //$NON-NLS-1$
READ_ICON("/icons/read_obj.gif"), //$NON-NLS-1$
WRAP_ICON("/icons/wrap.png"), //$NON-NLS-1$
QUESTION_ICON("/icons/question.gif"), //$NON-NLS-1$
HELP_ICON("/icons/help.png"), //$NON-NLS-1$
MOREINFO_ICON("/icons/moreInfo.png"), //$NON-NLS-1$
CREATE_CONNECTION_ICON("/icons/connection.gif"), //$NON-NLS-1$
RESET_DBTYPES_ICON("/icons/reset_dbtypes.jpg"), //$NON-NLS-1$

View File

@@ -16,14 +16,8 @@ import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.SWT;
@@ -164,35 +158,8 @@ public class ImageUtils {
return imageDes;
}
private static Map<byte[], ImageDataProvider> imageFromDataCachedImages = Collections.synchronizedMap(new HashMap<byte[], ImageDataProvider>());
private static Map<Long, byte[]> cachedImagesTimeKeeping = Collections.synchronizedMap(new HashMap<Long, byte[]>());
private static Thread clearImageFromDataCachedImages = new Thread() {
@SuppressWarnings("static-access")
public void run() {
long timeout = 5 * 60 * 1000;
while(true) {//remove older than 5 mins
Set<Entry<Long, byte[]>> collect = cachedImagesTimeKeeping.entrySet().stream()
.filter(entry -> (System.currentTimeMillis() - entry.getKey()) > timeout).collect(Collectors.toSet());
for(Entry<Long, byte[]> entry: collect) {
Long key = entry.getKey();
cachedImagesTimeKeeping.remove(key);
imageFromDataCachedImages.remove(entry.getValue());
}
try {
sleep(timeout);
} catch (InterruptedException e) {//
}
}
};
};
private static Map<byte[], ImageDataProvider> imageFromDataCachedImages = new HashMap<byte[], ImageDataProvider>();
static {
clearImageFromDataCachedImages.setDaemon(true);
clearImageFromDataCachedImages.start();
}
/**
* By default, keep in memory the .
*
@@ -202,17 +169,12 @@ public class ImageUtils {
*/
public static ImageDescriptor createImageFromData(byte[] data, boolean... keepInMemory) {
if (data != null) {
ImageDataProvider imageProvider = null;
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
if(findKey.isPresent()) {
imageProvider = imageFromDataCachedImages.get(findKey.get());
}
ImageDataProvider imageProvider = imageFromDataCachedImages.get(data);
if (imageProvider == null) {
ByteArrayInputStream bais = new ByteArrayInputStream(data);
ImageData img = new ImageData(bais);
imageProvider = new TalendImageProvider(img);
imageFromDataCachedImages.put(data, imageProvider);
cachedImagesTimeKeeping.put(System.currentTimeMillis(), data);
}
return ImageDescriptor.createFromImageDataProvider(imageProvider);
}
@@ -221,9 +183,8 @@ public class ImageUtils {
public static void disposeImages(byte[] data) {
if (data != null) {
Optional<byte[]> findKey = imageFromDataCachedImages.keySet().stream().filter(key->Arrays.equals(key, data)).findAny();
if(findKey.isPresent()) {
imageFromDataCachedImages.remove(findKey.get());
if (imageFromDataCachedImages.get(data) != null) {
imageFromDataCachedImages.remove(data);
}
}
}

View File

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

View File

@@ -69,10 +69,6 @@ public class DefaultTableLabelProvider implements ITableLabelProvider, ITableCol
returnValue = defaultValue;
}
} else {
if ("ID_COLUMN_ROW_NUM".equals(column.getId())) {
int indexOf = this.tableViewerCreator.getInputList().indexOf(element);
AccessorUtils.set(column, element, indexOf + 1);
}
Object value = AccessorUtils.get(element, column);
CellEditor cellEditor = column.getCellEditor();
CellEditorValueAdapter retrieverValue = column.getCellEditorValueAdapter();

View File

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

View File

@@ -24,7 +24,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
import org.apache.tools.zip.ZipEntry;
@@ -170,52 +169,8 @@ public class ZipFileUtils {
inputStream.close();
}
}
public static void unZipFileEntry(File destFile, java.util.zip.ZipFile zipFile, java.util.zip.ZipEntry entry) throws IOException {
InputStream inputStream;
FileOutputStream fileOut;
if (entry.isDirectory()) {
destFile.mkdirs();
} else {
File parent = destFile.getParentFile();
if (parent != null && !parent.exists()) {
parent.mkdirs();
}
inputStream = zipFile.getInputStream(entry);
fileOut = new FileOutputStream(destFile);
byte[] buf = new byte[bufSize];
int readedBytes;
while ((readedBytes = inputStream.read(buf)) > 0) {
fileOut.write(buf, 0, readedBytes);
}
fileOut.close();
inputStream.close();
}
}
public void setBufSize(int bufSize) {
ZipFileUtils.bufSize = bufSize;
}
public static boolean isValidJarFile(String moduleFilePath) {
if (moduleFilePath == null) {
return false;
}
if (!new File(moduleFilePath).exists()) {
return false;
}
try (JarFile zip = new JarFile(moduleFilePath)) {
zip.getManifest();
} catch (IOException e) {
return false;
}
return true;
}
}

View File

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

View File

@@ -92,12 +92,13 @@
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>ch.qos.reload4j</groupId>
<artifactId>reload4j</artifactId>
<version>1.2.22</version>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<type>bundle</type>
</dependency>
</dependencies>
@@ -125,7 +126,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.1-jre</version>
<version>30.0-jre</version>
</dependency>
</dependencies>
<configuration>

View File

@@ -58,14 +58,10 @@ public class CommonsPlugin implements BundleActivator {
// TESB-17856: For commandline builds ESB Micorservice bundle
private static boolean isESBMicorservice = false;
private static Boolean isJunitWorking;
private static Boolean isDevMode = null;
private static ServiceTracker proxyTracker;
private static Boolean isDebugP2 = null;
public static boolean isWorkbenchCreated() {
return isWorkbenchCreated;
}
@@ -128,17 +124,6 @@ public class CommonsPlugin implements BundleActivator {
}
}
public static boolean isDebugP2() {
try {
if (isDebugP2 == null) {
isDebugP2 = Boolean.getBoolean("talend.studio.lite.p2.debug");
}
return isDebugP2;
} catch (Exception e) {
return false;
}
}
public static boolean isDebugMode() {
return Boolean.getBoolean("talendDebug") //$NON-NLS-1$
|| ArrayUtils.contains(Platform.getApplicationArgs(), TalendDebugHandler.TALEND_DEBUG);
@@ -152,35 +137,6 @@ public class CommonsPlugin implements BundleActivator {
return "org.talend.rcp.branding.tuj.product".equals(Platform.getProduct().getId()); //$NON-NLS-1$
}
public static boolean isJunitWorking() {
if (isJunitWorking == null) {
try {
String[] args = Platform.getCommandLineArgs();
String applicationId = null;
for (int i = 0; i < args.length - 1; i++) {
if (args[i].equalsIgnoreCase("-application")) { //$NON-NLS-1$
applicationId = args[i + 1];
}
}
if (applicationId != null
&& (applicationId.equals("org.eclipse.swtbot.eclipse.junit.headless.swtbottestapplication") //$NON-NLS-1$
|| applicationId.equals("org.eclipse.pde.junit.runtime.uitestapplication"))) { //$NON-NLS-1$
isJunitWorking = true;
} else {
isJunitWorking = false;
}
} catch (Throwable e) {
isJunitWorking = false;
}
}
if (isJunitWorking == null) {
isJunitWorking = false;
}
return isJunitWorking;
}
/**
* Answer the file associated with name. This handles the case of running as a plugin and running standalone which
* happens during testing.

View File

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

View File

@@ -23,19 +23,10 @@ public class FatalException extends RuntimeException {
@SuppressWarnings("unused")//$NON-NLS-1$
private static final long serialVersionUID = 1L;
public static final int CODE_INCOMPATIBLE_UPDATE = 10;
private int code;
public FatalException(String message, Throwable cause) {
super(message, cause);
}
public FatalException(int code, String message) {
super(message);
this.code = code;
}
public FatalException(String message) {
super(message);
}
@@ -43,9 +34,4 @@ public class FatalException extends RuntimeException {
public FatalException(Throwable cause) {
super(cause);
}
public int getCode() {
return code;
}
}

View File

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

View File

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

View File

@@ -15,7 +15,6 @@ package org.talend.commons.runtime.service;
import java.io.File;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -46,22 +45,6 @@ public interface ITaCoKitService {
boolean isNeedMigration(String componentName, Map<String, String> properties);
boolean isTaCoKitType(Object repoType);
boolean isTaCoKitRepositoryNode(Object node);
boolean isTaCoKitConnection(Object conn);
Object getDatastoreFromDataset(Object repositoryViewObject);
String getParentItemIdFromItem(Object Item);
boolean isValueSelectionParameter(Object parameter);
List<Map<String, Object>> convertToTable(String value);
List<String> getValuesFromTableParameter(Object parameter, String... keys);
List<String> getValuesFromTableParameterValue(String value, String ...keys);
public static ITaCoKitService getInstance() {
BundleContext bc = FrameworkUtil.getBundle(ITaCoKitService.class).getBundleContext();

View File

@@ -31,9 +31,7 @@ import javax.xml.transform.stream.StreamResult;
import org.talend.utils.xml.XmlUtils;
import org.w3c.dom.Document;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
/**
*
@@ -52,23 +50,6 @@ public final class XMLFileUtil {
public static Document loadDoc(InputStream stream) throws ParserConfigurationException, SAXException, IOException {
try {
DocumentBuilder db = DOCBUILDER_FACTORY.newDocumentBuilder();
db.setErrorHandler(new ErrorHandler() {
@Override
public void warning(SAXParseException exception) throws SAXException {
throw exception;
}
@Override
public void fatalError(SAXParseException exception) throws SAXException {
throw exception;
}
@Override
public void error(SAXParseException exception) throws SAXException {
throw exception;
}
});
return db.parse(stream);
} finally {
try {

View File

@@ -13,7 +13,6 @@
package org.talend.commons.utils;
import java.security.SecureRandom;
import java.util.regex.Pattern;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
@@ -35,8 +34,6 @@ public class PasswordEncryptUtil {
private static final SecureRandom SECURERANDOM = new SecureRandom();
private static final Pattern REG_ENCRYPTED_DATA = Pattern.compile("^enc\\:system\\.encryption\\.key\\.v\\d\\:\\p{Print}+");
private static SecretKey getSecretKey() throws Exception {
if (key == null) {
byte rawKeyData[] = StudioEncryption

View File

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

View File

@@ -1,21 +1,18 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.pendo.properties;
/**
* DOC jding class global comment. Detailled comment
*/
public interface IPendoDataProperties {
}
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.utils.network;
public interface ITalendNexusPrefConstants {
public static final String NEXUS_TIMEOUT = "NEXUS_TIMEOUT"; //$NON-NLS-1$
}

View File

@@ -24,7 +24,6 @@ import java.net.URI;
import java.net.URL;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.LinkedHashSet;
import java.util.List;
@@ -32,13 +31,8 @@ import java.util.Set;
import java.util.regex.Pattern;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.internal.net.ProxyManager;
import org.eclipse.core.net.proxy.IProxyData;
import org.eclipse.core.net.proxy.IProxyService;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.talend.commons.exception.CommonExceptionHandler;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.runtime.utils.io.FileCopyUtils;
@@ -47,8 +41,6 @@ import org.talend.commons.runtime.utils.io.FileCopyUtils;
*/
public class NetworkUtil {
private static final Logger LOGGER = Logger.getLogger(NetworkUtil.class);
private static final String[] windowsCommand = { "ipconfig", "/all" }; //$NON-NLS-1$ //$NON-NLS-2$
private static final String[] linuxCommand = { "/sbin/ifconfig", "-a" }; //$NON-NLS-1$ //$NON-NLS-2$
@@ -63,11 +55,6 @@ public class NetworkUtil {
private static final int DEFAULT_NEXUS_TIMEOUT = 20000;// same as preference value
public static final String ORG_TALEND_DESIGNER_CORE = "org.talend.designer.core"; //$NON-NLS-1$
/*
* see ITalendCorePrefConstants.PERFORMANCE_TAC_READ_TIMEOUT
*/
private static final String PERFORMANCE_TAC_READ_TIMEOUT = "PERFORMANCE_TAC_READ_TIMEOUT"; //$NON-NLS-1$
private static final String PROP_DISABLEDSCHEMES_USE_DEFAULT = "talend.studio.jdk.http.auth.tunneling.disabledSchemes.useDefault";
@@ -79,136 +66,6 @@ public class NetworkUtil {
private static final String PROP_NETWORK_STATUS = "network.status"; //$NON-NLS-1$
private static final String SYSTEM_PROXY_ENABLED = "talend.studio.proxy.enableSystemProxyByDefault";
public static void applyProxyFromSystemProperties() throws Exception {
if (!Boolean.valueOf(System.getProperty("talend.studio.proxy.applySystemProps", Boolean.FALSE.toString()))) {
return;
}
final String passwordMask = "***";
String httpProxyHost = System.getProperty("http.proxyHost");
String httpProxyPort = System.getProperty("http.proxyPort");
String httpUser = System.getProperty("http.proxyUser");
String httpPassword = System.getProperty("http.proxyPassword");
if (StringUtils.isNotBlank(httpPassword)) {
System.setProperty("http.proxyPassword", passwordMask);
}
String httpNonProxyHosts = System.getProperty("http.nonProxyHosts");
String httpsProxyHost = System.getProperty("https.proxyHost");
String httpsProxyPort = System.getProperty("https.proxyPort");
String httpsUser = System.getProperty("https.proxyUser");
String httpsPassword = System.getProperty("https.proxyPassword");
if (StringUtils.isNotBlank(httpsPassword)) {
System.setProperty("https.proxyPassword", passwordMask);
}
String httpsNonProxyHosts = System.getProperty("https.nonProxyHosts");
String socksProxyHost = System.getProperty("socksProxyHost");
String socksProxyPort = System.getProperty("socksProxyPort");
String socksProxyUser = System.getProperty("socksProxyUser");
if (socksProxyUser == null) {
socksProxyUser = System.getProperty("java.net.socks.username");
}
String socksProxyPassword = System.getProperty("socksProxyPassword");
if (StringUtils.isNotBlank(socksProxyPassword)) {
System.setProperty("socksProxyPassword", passwordMask);
}
if (socksProxyPassword == null) {
socksProxyPassword = System.getProperty("java.net.socks.password");
}
IProxyService proxyService = ProxyManager.getProxyManager();
boolean isHttpProxyEnabled = StringUtils.isNotBlank(httpProxyHost) && StringUtils.isNotBlank(httpProxyPort);
boolean isHttpsProxyEnabled = StringUtils.isNotBlank(httpsProxyHost) && StringUtils.isNotBlank(httpsProxyPort);
boolean isSocksProxyEnabled = StringUtils.isNotBlank(socksProxyHost) && StringUtils.isNotBlank(socksProxyPort);
if (!isHttpProxyEnabled && !isHttpsProxyEnabled && !isSocksProxyEnabled) {
proxyService
.setSystemProxiesEnabled(Boolean.valueOf(System.getProperty(SYSTEM_PROXY_ENABLED, Boolean.TRUE.toString())));
proxyService.setProxiesEnabled(false);
LOGGER.info("No proxy specified, disabled.");
} else {
proxyService.setSystemProxiesEnabled(false);
proxyService.setProxiesEnabled(true);
List<IProxyData> proxies = new ArrayList<>();
String initedProxyTypes = "";
if (isHttpProxyEnabled) {
try {
IProxyData httpProxy = proxyService.getProxyData(IProxyData.HTTP_PROXY_TYPE);
httpProxy.setHost(httpProxyHost);
httpProxy.setPort(Integer.valueOf(httpProxyPort));
if (StringUtils.isNotBlank(httpUser)) {
httpProxy.setUserid(httpUser);
if (httpPassword == null) {
httpPassword = "";
}
httpProxy.setPassword(httpPassword);
}
proxies.add(httpProxy);
initedProxyTypes += IProxyData.HTTP_PROXY_TYPE + " ";
} catch (Throwable e) {
LOGGER.error(e.getMessage(), e);
}
}
if (isHttpsProxyEnabled) {
try {
IProxyData httpsProxy = proxyService.getProxyData(IProxyData.HTTPS_PROXY_TYPE);
httpsProxy.setHost(httpsProxyHost);
httpsProxy.setPort(Integer.valueOf(httpsProxyPort));
if (StringUtils.isNotBlank(httpsUser)) {
httpsProxy.setUserid(httpsUser);
if (httpsPassword == null) {
httpsPassword = "";
}
httpsProxy.setPassword(httpsPassword);
}
proxies.add(httpsProxy);
initedProxyTypes += IProxyData.HTTPS_PROXY_TYPE + " ";
} catch (Throwable e) {
LOGGER.error(e.getMessage(), e);
}
}
if (isSocksProxyEnabled) {
try {
IProxyData socksProxy = proxyService.getProxyData(IProxyData.SOCKS_PROXY_TYPE);
socksProxy.setHost(socksProxyHost);
socksProxy.setPort(Integer.valueOf(socksProxyPort));
if (StringUtils.isNotBlank(socksProxyUser)) {
socksProxy.setUserid(socksProxyUser);
if (socksProxyPassword == null) {
socksProxyPassword = "";
}
socksProxy.setPassword(socksProxyPassword);
}
proxies.add(socksProxy);
initedProxyTypes += IProxyData.SOCKS_PROXY_TYPE;
} catch (Throwable e) {
LOGGER.error(e.getMessage(), e);
}
}
proxyService.setProxyData(proxies.toArray(new IProxyData[0]));
List<String> nonProxyHosts = new ArrayList<>();
if (StringUtils.isNotBlank(httpNonProxyHosts)) {
String[] split = httpNonProxyHosts.split("|");
nonProxyHosts.addAll(Arrays.asList(split));
}
if (StringUtils.isNotBlank(httpsNonProxyHosts)) {
String[] split = httpsNonProxyHosts.split("|");
nonProxyHosts.addAll(Arrays.asList(split));
}
proxyService.setNonProxiedHosts(nonProxyHosts.toArray(new String[0]));
if (passwordMask.equals(System.getProperty("http.proxyPassword"))) {
System.setProperty("http.proxyPassword", httpPassword);
}
if (passwordMask.equals(System.getProperty("https.proxyPassword"))) {
System.setProperty("https.proxyPassword", httpsPassword);
}
if (passwordMask.equals(System.getProperty("socksProxyPassword"))) {
System.setProperty("socksProxyPassword", socksProxyPassword);
}
LOGGER.info("Succeed to init proxy: " + initedProxyTypes);
}
}
public static boolean isNetworkValid() {
return isNetworkValid(DEFAULT_TIMEOUT);
}
@@ -246,7 +103,6 @@ public class NetworkUtil {
return true;
}
} catch (Exception e) {
CommonExceptionHandler.process(e, getCheckUrl());
return false;
} finally {
conn.disconnect();
@@ -259,7 +115,7 @@ public class NetworkUtil {
if (StringUtils.isNotBlank(customUrl)) {
return customUrl;
} else {
return "https://talend-update.talend.com/nexus/content/groups/studio-libraries/";
return "https://talend-update.talend.com/nexus/content/repositories/libraries/";
}
}
@@ -283,7 +139,6 @@ public class NetworkUtil {
conn.setRequestMethod("HEAD"); //$NON-NLS-1$
conn.getResponseMessage();
} catch (Exception e) {
CommonExceptionHandler.process(e, urlString);
// if not reachable , will throw exception(time out/unknown host) .So if catched exception, make it a
// invalid server
return false;
@@ -294,10 +149,10 @@ public class NetworkUtil {
}
public static int getNexusTimeout() {
int timeout = Integer.getInteger("nexus.timeout.min", DEFAULT_NEXUS_TIMEOUT);
int timeout = DEFAULT_NEXUS_TIMEOUT;
try {
IEclipsePreferences node = InstanceScope.INSTANCE.getNode(ORG_TALEND_DESIGNER_CORE);
timeout = Math.max(timeout, node.getInt(PERFORMANCE_TAC_READ_TIMEOUT, 0) * 1000);
timeout = node.getInt(ITalendNexusPrefConstants.NEXUS_TIMEOUT, DEFAULT_NEXUS_TIMEOUT);
} catch (Throwable e) {
ExceptionHandler.process(e);
}

View File

@@ -88,17 +88,13 @@ public class EclipseCommandLine {
static public final String TALEND_CONTINUE_LOGON = "-talendContinueLogon";
static public final String TALEND_CONTINUE_UPDATE = "-talendContinueUpdate";
static public final String TALEND_CLEAN_M2 = "-talendCleanM2";
static public final String TALEND_CLEAN_UNINSTALLED_BUNDLES = "-talendCleanUninstalledBundles";
static public final String PROP_KEY_PROFILE_ID = "eclipse.p2.profile";
static public final String ARG_BRANCH = "-branch";
static public final String ARG_PROJECT = "-project";
static public final String LOGIN_ONLINE_UPDATE = "--loginOnlineUpdate";
static public final String ARG_TALEND_BUNDLES_CLEANED = "-talend.studio.bundles.cleaned"; //$NON-NLS-1$

View File

@@ -20,8 +20,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.talend.commons.runtime,
org.talend.common.ui.runtime;visibility:=reexport,
org.talend.libraries.ui;visibility:=reexport,
org.eclipse.ui.workbench,
org.eclipse.jface.notifications
org.eclipse.ui.workbench
Eclipse-LazyStart: true
Bundle-Vendor: .Talend SA.
Export-Package: org.talend.commons.ui.command,
@@ -29,7 +28,6 @@ Export-Package: org.talend.commons.ui.command,
org.talend.commons.ui.gmf.util,
org.talend.commons.ui.html,
org.talend.commons.ui.i18n,
org.talend.commons.ui.nofitication,
org.talend.commons.ui.swt.actions,
org.talend.commons.ui.swt.advanced.composite,
org.talend.commons.ui.swt.advanced.dataeditor,

View File

@@ -15,7 +15,7 @@ ColorStyledText.SelectAllItem.Text=\u3059\u3079\u3066\u9078\u629E
ContentProposalAdapterExtended.close=\u9589\u3058\u308B
ContentProposalAdapterExtended.closeFocusout=\u30D5\u30A9\u30FC\u30AB\u30B9\u30A2\u30A6\u30C8\u3092\u9589\u3058\u308B
ControlUtils.Unsupported1=\u3053\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB({0})\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5FC5\u8981\u3067\u3042\u308C\u3070\u3001\u30B1\u30FC\u30B9\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044...
CopyPushButton.CopyButton.Tip=\u9078\u629E\u9805\u76EE\u3092\u30B3\u30D4\u30FC
CopyPushButton.CopyButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u30B3\u30D4\u30FC
Curve2D.MaxNum.Be0=maximumSegments\u306F\u6B63\u6570\u304B0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
Curve2D.MinNum.Be0=minimumSegments\u306F\u6B63\u307E\u305F\u306F0\u306B\u3057\u3066\u304F\u3060\u3055\u3044
DateDialog.textContent=\u65E5\u6642\u3092\u9078\u629E
@@ -92,7 +92,7 @@ ProposalUtils.CtrlProposal.ErrorMsg=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u5236\u
RemovePushButton.RemoveButton.Tip=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
ResetDBTypesButton.ResetDBTypesButton.Tip=DB\u30BF\u30A4\u30D7\u3092\u30EA\u30BB\u30C3\u30C8
Rule.rule=\u30EB\u30FC\u30EB[{0}]
SaveAsGenericSchemaPushButton.saveAsSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SaveAsGenericSchemaPushButton.saveAsSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3068\u3057\u3066\u4FDD\u5B58
SelectContextVariablesPushButton.Label=\u30B3\u30F3\u30C6\u30AF\u30B9\u30C8\u5909\u6570\u3092\u9078\u629E
SWTCalendarWithTime.contentEvening=\u5915\u65B9
SWTCalendarWithTime.contentHr=\u6642:
@@ -102,7 +102,7 @@ SWTCalendarWithTime.contentNoon=\u5348\u5F8C
SWTCalendarWithTime.contentNow=\u73FE\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u3001createTable()\u3092\u65E2\u306B\u547C\u3073\u51FA\u3057\u3066\u3044\u308B\u5834\u5408\u306E\u307F\u547C\u3073\u51FA\u305B\u307E\u3059
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002 \n \u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001'{0}'\u304B\u3001\u62E1\u5F35\u3059\u308B\u30AF\u30E9\u30B9\u3092\u4F7F\u3044\u307E\u3059\u3002
TableViewerCreator.CellModifier.ExError=\u73FE\u5728\u306ECellModifier\u306F\u3053\u306E\u64CD\u4F5C\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002\n\u3053\u306E\u6A5F\u80FD\u3092\u4F7F\u3046\u306B\u306F\u3001'{0}'\u304B\u62E1\u5F35\u30AF\u30E9\u30B9\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044
TableViewerCreator.columnNoIBeanProperty=\u30AB\u30E9\u30E0'{0}' ('{1}')\u306B\u306FCellEditor\u30BB\u30C3\u30C8\u304C\u3042\u308A\u307E\u3059\u304C\u3001IBeanPropertyAccessors\u304C\u3042\u308A\u307E\u305B\u3093!
TableViewerCreator.columnNullId=\u30AB\u30E9\u30E0'{0}'\u304Cnull\u3067\u3059\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u30AB\u30E9\u30E0\u306EidProperty\u306E\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3001idProperty\u306F\uFF11\u3064\u306E\u30C6\u30FC\u30D6\u30EB\u3067\u30E6\u30CB\u30FC\u30AF\u3067\u306A\u304F\u3066\u306F\u306A\u308A\u307E\u305B\u3093\u3002
@@ -116,8 +116,8 @@ ModelSelectionDialog.Option=\u30AA\u30D7\u30B7\u30E7\u30F3
ModelSelectionDialog.BuiltIn=\u7D44\u307F\u8FBC\u307F\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u5909\u66F4\u3057\u307E\u3059\u3002
ModelSelectionDialog.ViewSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.ViewQuery=\u30AF\u30A8\u30EA\u30FC\u3046\u3092\u8868\u793A\u3057\u307E\u3059(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u3002
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u4E00\u90E8\u306E\u8A2D\u5B9A\u3092\u5909\u66F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u7684\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
ModelSelectionDialog.Update=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u63A5\u7D9A\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002
FileStep2.previewFailure=\u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u3002\u3044\u304F\u3064\u304B\u306E\u8A2D\u5B9A\u5909\u66F4\u304C\u5FC5\u8981\u3067\u3059\u3002\n\u6CE8: \u30D7\u30EC\u30D3\u30E5\u30FC\u30A8\u30E9\u30FC\u306F\u4E00\u822C\u306B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u8A2D\u5B9A\u306E\u8AA4\u308A\u304C\u539F\u56E0\u3067\u3059\u3002
StateComposite.FLL_DB_INFOR=DB\u60C5\u5831\u3092\u5165\u529B
StateComposite.HELP_MESSAGE=\u30D8\u30EB\u30D7\u30E1\u30C3\u30BB\u30FC\u30B8
StateComposite.MESSAGE1=\u30C0\u30A4\u30CA\u30DF\u30C3\u30AF\u30B8\u30E7\u30D6\u3092\u8A2D\u5B9A\u3057\u3066\u3001\u5165\u529B\u30C6\u30FC\u30D6\u30EB\u306B\u4F9D\u5B58\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u540D\u307E\u305F\u306F\u30C6\u30FC\u30D6\u30EB\u540D\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u3059\u3002

View File

@@ -102,7 +102,7 @@ SWTCalendarWithTime.contentNoon=\u4E2D\u5348
SWTCalendarWithTime.contentNow=\u73B0\u5728
SWTCalendarWithTime.contnetSec=\u79D2:
TableViewerCreator.CallMethod.ErrorMsg=\u53EA\u6709\u60A8\u5DF2\u7ECF\u8C03\u7528\u4E86 createTable() \u65B9\u6CD5\u540E\uFF0C\u624D\u80FD\u8C03\u7528\u6B64\u65B9\u6CD5\u3002
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002 \n \u4F7F\u7528 '{0}' \u6216\u6269\u5C55\u5B83\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.CellModifier.ExError=\u5F53\u524D CellModifier \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u3002\n \u4F7F\u7528 '{0}' \u6216\u80FD\u591F\u5BF9\u5176\u8FDB\u884C\u6269\u5C55\u7684\u7C7B\u6765\u4F7F\u7528\u6B64\u529F\u80FD
TableViewerCreator.columnNoIBeanProperty=\u5217 '{0}' ('{1}') \u8BBE\u7F6E\u4E86 CellEditor\uFF0C\u4F46\u6CA1\u6709 IBeanPropertyAccessors\uFF01
TableViewerCreator.columnNullId=\u5217 '{0}' \u7684 id \u4E3A null\uFF01
TableViewerCreator.IdProperty.AssertMsg=\u4F60\u5FC5\u987B\u6539\u53D8\u5176\u4E2D\u4E00\u4E2A\u5217\u7684 idProperty\uFF0C\u4E00\u4E2A\u8868\u4E2D\u7684\u6BCF\u4E2A\u5217\u7684 idProperty \u5FC5\u987B\u552F\u4E00\u3002
@@ -110,14 +110,14 @@ TableViewerCreator.Table.BeNull=\u8868\u4E3A null
TableViewerCreator.TableColumn.AssertMsg=TableEditorColumn \u7684 idProperty \u4E3A '{0}' \u7684 TableColumn \u6CA1\u6709\u6B63\u786E\u7684 Table \u7236\u9879
TreeToTablesLinker.Type.Unsupported=\u4E0D\u652F\u6301\u8FD9\u79CD\u7C7B\u578B\u7684 currentControl
commons.error=\u9519\u8BEF
exception.errorOccured=\u51FA\u73B0\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
exception.errorOccured=\u53D1\u751F\u9519\u8BEF ({0})\u3002\n\u8BF7\u67E5\u770B\u65E5\u5FD7\u4EE5\u83B7\u53D6\u66F4\u591A\u8BE6\u7EC6\u4FE1\u606F\u3002
ModelSelectionDialog.Message=\u8BF7\u9009\u62E9\u4E00\u4E2A\u9009\u9879\u6216\u53D6\u6D88\u3002
ModelSelectionDialog.Option=\u9009\u9879
ModelSelectionDialog.BuiltIn=\u66F4\u6539\u4E3A\u5185\u7F6E\u5C5E\u6027\u3002
ModelSelectionDialog.ViewSchema=\u67E5\u770B schema (\u53EA\u8BFB)\u3002
ModelSelectionDialog.ViewQuery=\u67E5\u770B\u67E5\u8BE2 (\u53EA\u8BFB)\u3002
ModelSelectionDialog.Update=\u66F4\u65B0\u5B58\u50A8\u5E93\u8FDE\u63A5\u3002
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u5FC5\u987B\u66F4\u6539\u67D0\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u901A\u5E38\u662F\u7531\u4E8E\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u5BFC\u81F4\u3002
FileStep2.previewFailure=\u9884\u89C8\u9519\u8BEF\u3002\u987B\u6539\u53D8\u4E00\u4E9B\u8BBE\u7F6E\u3002\n\u6CE8\u610F\uFF1A\u9884\u89C8\u9519\u8BEF\u53EF\u80FD\u662F\u56E0\u4E3A\u9519\u8BEF\u7684\u7F16\u7801\u8BBE\u7F6E\u9020\u6210\u7684\u3002
StateComposite.FLL_DB_INFOR=\u586B\u5199\u6570\u636E\u5E93\u4FE1\u606F
StateComposite.HELP_MESSAGE=\u5E2E\u52A9\u6D88\u606F
StateComposite.MESSAGE1=\u53EF\u4EE5\u521B\u5EFA\u52A8\u6001\u4F5C\u4E1A\u5E76\u8BBE\u7F6E\u4F9D\u8D56\u4E8E\u8F93\u5165\u8868\u7684\u6587\u4EF6\u540D\u6216\u8868\u540D\u3002

View File

@@ -1,133 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.nofitication;
import java.util.List;
import org.eclipse.jface.notifications.AbstractNotificationPopup;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Monitor;
import org.eclipse.swt.widgets.Shell;
public abstract class ArrangedNotificationPopup extends AbstractNotificationPopup {
protected static final int MAX_WIDTH = 400;
protected static final int MIN_HEIGHT = 100;
protected static final int PADDING_EDGE = 5;
private static NotificationManager manager;
public ArrangedNotificationPopup(Display display) {
super(display);
}
public ArrangedNotificationPopup(Display display, int style) {
super(display, style);
}
@Override
protected void createContentArea(Composite parent) {
createControl(parent);
afterCreate();
}
protected abstract void createControl(Composite parent);
@Override
protected Shell getParentShell() {
return getNotificationManager().getParentShell();
}
@Override
public void initializeBounds() {
Rectangle clArea = getPrimaryClientArea();
Point initialSize = getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT);
int height = Math.max(initialSize.y, MIN_HEIGHT);
int width = Math.min(initialSize.x, MAX_WIDTH);
Point size = new Point(width, height);
getShell().setLocation(clArea.width + clArea.x - size.x - PADDING_EDGE, clArea.height + clArea.y - size.y - PADDING_EDGE);
getShell().setSize(size);
}
private Rectangle getPrimaryClientArea() {
Shell parentShell = getParentShell();
if (parentShell != null) {
// calculate client area in display-relative coordinates
// (i.e. without window border / decorations)
Rectangle bounds = parentShell.getBounds();
Rectangle trim = parentShell.computeTrim(0, 0, 0, 0);
List<Window> toasts = getNotificationManager().getWindows();
Rectangle rect = new Rectangle(bounds.x - trim.x, bounds.y - trim.y, bounds.width - trim.width,
bounds.height - trim.height);
if (!toasts.isEmpty()) {
int index = 0;
if (toasts.contains(this)) {
// parent shell resize or move
index = toasts.indexOf(this);
if (index == 0) {
// return parent shell rectangle if it's the first one at bottom
return rect;
}
// the one under current toast
index -= 1;
} else {
// toast creation
// the one on the top
index = toasts.size() - 1;
}
Rectangle toastRect = toasts.get(index).getShell().getBounds();
rect = new Rectangle(rect.x, rect.y, rect.width, toastRect.y - rect.y);
}
return rect;
}
// else display on primary monitor
Monitor primaryMonitor = this.getShell().getDisplay().getPrimaryMonitor();
return (primaryMonitor != null) ? primaryMonitor.getClientArea() : this.getShell().getDisplay().getClientArea();
}
protected void afterCreate() {
//
}
@Override
public int open() {
int open = super.open();
// add after open
getNotificationManager().add(this);
return open;
}
@Override
public boolean close() {
boolean close = super.close();
getNotificationManager().remove(this);
getNotificationManager().refresh();
return close;
}
private NotificationManager getNotificationManager() {
if (manager == null) {
manager = NotificationManager.getInstance();
}
return manager;
}
}

View File

@@ -1,81 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2023 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.nofitication;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.window.WindowManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
public class NotificationManager implements Listener {
private static NotificationManager notificationManager;
private WindowManager windowManager = new WindowManager();
private NotificationManager() {
Shell shell = getParentShell();
if (shell != null) {
shell.addListener(SWT.Resize, this);
shell.addListener(SWT.Move, this);
}
}
public static NotificationManager getInstance() {
if (notificationManager == null) {
notificationManager = new NotificationManager();
}
return notificationManager;
}
@Override
public void handleEvent(Event event) {
refresh();
}
public void refresh() {
Stream.of(windowManager.getWindows()).map(ArrangedNotificationPopup.class::cast)
.forEach(ArrangedNotificationPopup::initializeBounds);
}
public List<Window> getWindows() {
return Stream.of(windowManager.getWindows()).collect(Collectors.toList());
}
public void add(Window window) {
windowManager.add(window);
}
public void remove(Window window) {
windowManager.remove(window);
}
public Shell getParentShell() {
Shell shell = null;
if (PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null) {
shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
if (shell == null) {
shell = PlatformUI.getWorkbench().getDisplay().getActiveShell();
}
}
return shell;
}
}

View File

@@ -130,10 +130,11 @@ public abstract class ExportPushButtonForExtendedTable extends ExportPushButton
AbstractExtendedTableViewer extendedTableViewer = (AbstractExtendedTableViewer) extendedControlViewer;
ExtendedTableModel extendedTableModel = extendedTableViewer.getExtendedTableModel();
boolean enabled = false;
if (extendedTableModel != null && extendedTableModel.isDataRegistered() && extendedTableModel.getBeansList().size() > 0) {
if (extendedTableModel != null && extendedTableModel.isDataRegistered()
&& extendedTableModel.getBeansList().size() > 0) {
enabled = true;
}
return extendedTableModel != null || enabled;
return super.getEnabledState() && enabled;
}
}

View File

@@ -19,7 +19,6 @@ import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.ui.swt.advanced.dataeditor.control.ExtendedPushButton;
import org.talend.commons.ui.swt.extended.table.AbstractExtendedTableViewer;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
* DOC Administrator class global comment. Detailled comment <br/>
@@ -34,11 +33,4 @@ public abstract class SaveAsGenericSchemaPushButton extends ExtendedPushButton {
@Override
protected abstract Command getCommandToExecute();
@Override
public boolean getEnabledState() {
AbstractExtendedTableViewer extendedTableViewer = (AbstractExtendedTableViewer) extendedControlViewer;
ExtendedTableModel extendedTableModel = extendedTableViewer.getExtendedTableModel();
return extendedTableModel != null;
}
}

View File

@@ -17,7 +17,6 @@ import java.util.List;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
@@ -89,11 +88,6 @@ public class ExtendedTableAddCommand extends Command implements IExtendedTableCo
// }
extendedTable.addAll(indexStartAdd, beansToAdd);
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}

View File

@@ -52,7 +52,7 @@ public abstract class ExtendedTableCaseCommand extends Command implements IExten
@Override
public void execute() {
convertCase(extendedTable, beansToCovertCase, selectionIndices, isUpperCase);
extendedTable.getTableViewer().refresh();
}
public abstract void convertCase(ExtendedTableModel extendedTable, List copiedObjectsList, int[] selectionIndices, boolean isUpperCase);

View File

@@ -17,7 +17,6 @@ import java.util.List;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
import org.talend.commons.ui.utils.SimpleClipboard;
import org.talend.commons.utils.data.list.UniqueStringGenerator;
@@ -66,11 +65,6 @@ public abstract class ExtendedTablePasteCommand extends Command implements IExte
List list = new ArrayList((List) data);
list = createPastableBeansList(extendedTable, list);
extendedTable.addAll(indexStart, list);
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}
}

View File

@@ -14,7 +14,6 @@ package org.talend.commons.ui.swt.advanced.dataeditor.commands;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
@@ -55,7 +54,7 @@ public abstract class ExtendedTableQuoteCommand extends Command implements IExte
@Override
public void execute() {
toQuote(extendedTable, beansToQuote, selectionIndices, quote, isAddingQuote);
extendedTable.getTableViewer().refresh();
}
public abstract void toQuote(ExtendedTableModel extendedTable, List copiedObjectsList, int[] selectionIndices, String quote, boolean isAddingQuote);

View File

@@ -20,7 +20,6 @@ import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.gef.commands.Command;
import org.talend.commons.ui.runtime.i18n.Messages;
import org.talend.commons.ui.runtime.swt.tableviewer.TableViewerCreatorNotModifiable;
import org.talend.commons.ui.swt.extended.table.ExtendedTableModel;
/**
@@ -131,11 +130,6 @@ public class ExtendedTableRemoveCommand extends Command implements IExtendedTabl
removedBeansIndices.add(index);
}
}
// when not lazy load need to do refresh to refresh the row number
if (!TableViewerCreatorNotModifiable.getRecommandLazyLoad()
&& !TableViewerCreatorNotModifiable.isLazyLoadingEnabled()) {
extendedTable.getTableViewer().refresh();
}
}

View File

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

View File

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

View File

@@ -12,8 +12,6 @@
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import java.util.Map;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.talend.commons.ui.utils.image.ColorUtils;
@@ -31,7 +29,5 @@ public interface IConfigModuleDialog {
public String getMavenURI();
public int open();
public Map<String, String> getModulesMVNUrls();
}

View File

@@ -1,38 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.swt.graphics.Color;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ITalendWizard extends IWizard {
Color getBackgroundColor();
Color getForegroundColor();
int getHorizonPadding();
int getVerticalPadding();
int getVerticalMargin();
int getHorizonMargin();
boolean hideDefaultMessageArea();
}

View File

@@ -1,26 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.wizard.IWizardContainer2;
/**
* DOC cmeng class global comment. Detailled comment
*/
public interface ITalendWizardContainer extends IWizardContainer2 {
void showMoreInfoLink(IDialogPage page, String name, String link);
}

View File

@@ -1,968 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.window.ToolTip;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.ProgressMonitorPart;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.program.Program;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.forms.events.HyperlinkAdapter;
import org.eclipse.ui.forms.events.HyperlinkEvent;
import org.eclipse.ui.forms.widgets.Hyperlink;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.ColorConstants;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizardDialog extends WizardDialog implements ITalendWizardContainer {
private boolean useNewStyle = false;
private Color backgroundColor;
private Color foregroundColor;
private static Font titleBigFont;
private Canvas titleLabelWithAnimation;
private Canvas messagePanel;
private Color msgPanelColor = ColorConstants.INFO_COLOR;
private Composite topPanel;
private Label errIcon;
private StyledText errMsgTxt;
private Hyperlink moreInfoLink;
private String moreInfoUrl;
private volatile Thread titleAnimationSchedulerThread;
private volatile boolean threadShowingMsg = false;
private Image bigTitleImg;
private Image smallTitleImg;
private String title;
private int messageTopY;
private volatile double percentage = 1.0;
private boolean hideMessageArea = false;
public TalendWizardDialog(Shell parentShell, IWizard newWizard) {
super(parentShell, newWizard);
useNewStyle = true;
if (newWizard instanceof ITalendWizard) {
ITalendWizard talendWizard = (ITalendWizard) newWizard;
backgroundColor = talendWizard.getBackgroundColor();
foregroundColor = talendWizard.getForegroundColor();
hideMessageArea = talendWizard.hideDefaultMessageArea();
}
// this.setTitleAreaColor(new RGB(205, 227, 242));
}
private Thread createTitleAnimationSchedulerThread(boolean showMessage) {
return new Thread(new Runnable() {
@Override
public void run() {
titleAnimationSchedulerThread(showMessage);
}
}, "title anmimation, show: " + showMessage);
}
private void titleAnimationSchedulerThread(boolean showMessage) {
int totalTime = 500;
int split = 30;
int sleepTime = totalTime / split;
double percentPerFrame = 1.0 / split;
for (int i = 1; i < split; i++) {
double curX = 1 - percentPerFrame * i;
double donePercent = Math.sqrt(1 - curX * curX);
onTitleAreaRefresh(donePercent, showMessage);
if (Thread.currentThread().isInterrupted()) {
break;
}
try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
onTitleAnimationInterupted(showMessage);
return;
}
}
onTitleAreaRefresh(1.0, showMessage);
}
private void onTitleAnimationInterupted(boolean showMessage) {
this.percentage = 1.0;
}
private boolean isHideMessageArea() {
return hideMessageArea;
}
private void onTitleAreaRefresh(double donePercent, boolean showMessage) {
if (isHideMessageArea()) {
return;
}
topPanel.getDisplay().syncExec(() -> {
onTitleAreaRefreshFrame(donePercent, showMessage);
});
}
private void onTitleAreaRefreshFrame(double donePercent, boolean showMessage) {
if (isHideMessageArea()) {
return;
}
this.percentage = donePercent;
sortPanelOrder();
if (!showMessage) {
messagePanel.setVisible(false);
} else {
messagePanel.setVisible(true);
// errIcon.setVisible(true);
}
Point size = topPanel.getSize();
int totalY = size.y - messageTopY;
int y = 0;
if (showMessage) {
y = messageTopY + (int) ((1.0 - donePercent) * totalY);
} else {
y = messageTopY + (int) (donePercent * totalY);
}
FormData fd = (FormData) messagePanel.getLayoutData();
fd.top = new FormAttachment(0, y);
this.titleLabelWithAnimation.redraw();
topPanel.layout();
}
public void setNewErrorStyle(boolean newErrStyle) {
this.useNewStyle = newErrStyle;
}
@Override
protected Control createContents(Composite parent) {
if (useNewStyle()) {
parent.setBackground(backgroundColor);
parent.setForeground(foregroundColor);
}
Control panel = super.createContents(parent);
try {
if (useNewStyle()) {
sortPanelOrder();
workArea.setBackground(backgroundColor);
workArea.setForeground(foregroundColor);
pageContainer.setBackground(backgroundColor);
pageContainer.setForeground(foregroundColor);
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
return panel;
}
private boolean useNewStyle() {
return this.useNewStyle;
}
@Override
protected Control createDialogArea(Composite parent) {
Composite panel = (Composite) super.createDialogArea(parent);
if (useNewStyle()) {
this.titleBarSeparator.dispose();
this.separator.dispose();
}
return panel;
}
@Override
protected ProgressMonitorPart createProgressMonitorPart(Composite composite, GridLayout pmlayout) {
if (useNewStyle()) {
composite.setBackground(backgroundColor);
composite.setForeground(foregroundColor);
// progMonitor.setBackground(backgroundColor);
// progMonitor.setForeground(foregroundColor);
}
ProgressMonitorPart progMonitor = super.createProgressMonitorPart(composite, pmlayout);
return progMonitor;
}
@Override
protected Control createButtonBar(Composite parent) {
if (!useNewStyle()) {
return super.createButtonBar(parent);
}
Composite composite = new Composite(parent, SWT.NONE);
composite.setBackground(backgroundColor);
composite.setForeground(foregroundColor);
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
layout.horizontalSpacing = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
composite.setFont(parent.getFont());
Control helpControl = null;
// create help control if needed
if (isHelpAvailable()) {
helpControl = createHelpControl(composite);
((GridData) helpControl.getLayoutData()).horizontalIndent = convertHorizontalDLUsToPixels(
IDialogConstants.HORIZONTAL_MARGIN);
}
createButtonsForButtonBar(composite);
Button helpButton = getButton(IDialogConstants.HELP_ID);
Button finishButton = getButton(IDialogConstants.FINISH_ID);
Button cancelButton = getButton(IDialogConstants.CANCEL_ID);
Button backButton = getButton(IDialogConstants.BACK_ID);
Button nextButton = getButton(IDialogConstants.NEXT_ID);
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = getHorizonMargin();
formLayout.marginHeight = getVerticalPadding();
composite.setLayout(formLayout);
final int HORIZON_ALIGN = getHorizonPadding();
cancelButton.setBackground(backgroundColor);
cancelButton.setForeground(foregroundColor);
FormData cancelData = new FormData();
cancelData.left = new FormAttachment(0);
cancelData.top = new FormAttachment(composite, 0, SWT.CENTER);
cancelData.width = getButtonWidth(cancelButton);
cancelButton.setLayoutData(cancelData);
Control tmpCtrl = cancelButton;
if (helpControl != null) {
helpControl.setBackground(backgroundColor);
helpControl.setForeground(foregroundColor);
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
helpControl.setLayoutData(formData);
tmpCtrl = helpControl;
}
if (helpButton != null) {
helpButton.setBackground(backgroundColor);
helpButton.setForeground(foregroundColor);
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
formData.width = getButtonWidth(helpButton);
helpButton.setLayoutData(formData);
tmpCtrl = helpButton;
}
finishButton.setBackground(backgroundColor);
finishButton.setForeground(foregroundColor);
FormData finishData = new FormData();
finishData.right = new FormAttachment(100);
finishData.top = new FormAttachment(composite, 0, SWT.CENTER);
finishData.width = getButtonWidth(finishButton);
finishButton.setLayoutData(finishData);
tmpCtrl = finishButton;
if (nextButton != null) {
nextButton.setBackground(backgroundColor);
nextButton.setForeground(foregroundColor);
FormData nextData = new FormData();
Composite nextParentCtrl = nextButton.getParent();
nextParentCtrl.setBackground(backgroundColor);
nextParentCtrl.setForeground(foregroundColor);
nextData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
nextData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
nextParentCtrl.setLayoutData(nextData);
}
if (backButton != null) {
backButton.setBackground(backgroundColor);
backButton.setForeground(foregroundColor);
}
return composite;
}
private int getButtonWidth(Button btn) {
int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
Point minSize = btn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
return Math.max(widthHint, minSize.x);
}
@Override
protected Control createTitleArea(Composite parent) {
Control titleCtrl = null;
if (useNewStyle()) {
final int horizonPadding = getHorizonPadding();
final int horizonMargin = getHorizonMargin();
final int verticalPadding = getVerticalPadding();
final int msgMargin = getMargin();
Control oldTitleArea = super.createTitleArea(parent);
topPanel = new Composite(parent, SWT.NONE);
titleCtrl = topPanel;
// topPanel.setBackground(ColorConstants.RED_COLOR);
topPanel.setBackground(backgroundColor);
topPanel.setForeground(foregroundColor);
FormData topPanelFd = new FormData();
topPanelFd.top = new FormAttachment(0);
topPanelFd.left = new FormAttachment(0);
topPanelFd.right = new FormAttachment(100);
// topPanelFd.bottom = new FormAttachment(oldTitleArea, 0, SWT.BOTTOM);
Label tmpLabel = new Label(parent, SWT.NONE);
// tmpLabel.setFont(getTitleBigFont());
tmpLabel.setFont(JFaceResources.getBannerFont());
tmpLabel.setText("Test");
tmpLabel.pack();
Point size = tmpLabel.getSize();
tmpLabel.setFont(null);
tmpLabel.setText("Test");
tmpLabel.pack();
Point errSize = tmpLabel.getSize();
tmpLabel.dispose();
if (isHideMessageArea()) {
topPanelFd.height = 0;
} else {
topPanelFd.height = verticalPadding + size.y + verticalPadding + errSize.y + msgMargin * 2;
}
topPanel.setLayoutData(topPanelFd);
topPanel.setLayout(new FormLayout());
// sortPanelOrder();
titleLabelWithAnimation = new Canvas(topPanel, SWT.DOUBLE_BUFFERED);
titleLabelWithAnimation.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
drawTitle(e);
}
});
titleLabelWithAnimation.setBackground(backgroundColor);
titleLabelWithAnimation.setForeground(foregroundColor);
titleLabelWithAnimation.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(DisposeEvent e) {
if (bigTitleImg != null && !bigTitleImg.isDisposed()) {
bigTitleImg.dispose();
}
if (smallTitleImg != null && !smallTitleImg.isDisposed()) {
smallTitleImg.dispose();
}
}
});
FormData fd = new FormData();
fd.top = new FormAttachment(0, verticalPadding);
fd.left = new FormAttachment(0, horizonMargin);
fd.right = new FormAttachment(100);
fd.bottom = new FormAttachment(100);
titleLabelWithAnimation.setLayoutData(fd);
messagePanel = new Canvas(topPanel, SWT.DOUBLE_BUFFERED);
messagePanel.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
drawMessageBackground(e, messagePanel);
// int len = 160;
// int a = 10;
// int a_Len = a + (int) (percentage * (size.x - a));
// int b_Len = a_Len + len;
// if (a_Len < size.x || b_Len < size.x) {
// if (size.x <= a_Len) {
// a_Len = size.x;
// }
// if (size.x <= b_Len) {
// b_Len = size.x;
// }
// e.gc.setBackground(ColorConstants.WHITE_COLOR);
// e.gc.fillPolygon(new int[] { a_Len, 0, size.x, 0, size.x, size.y, b_Len, size.y });
// }
}
});
messagePanel.setBackground(backgroundColor);
messagePanel.setForeground(foregroundColor);
fd = new FormData();
tmpLabel = new Label(topPanel, SWT.NONE);
tmpLabel.setFont(JFaceResources.getBannerFont());
tmpLabel.setText("Test");
tmpLabel.pack();
size = tmpLabel.getSize();
tmpLabel.dispose();
messageTopY = verticalPadding + size.y + verticalPadding;
fd.top = new FormAttachment(0, messageTopY);
// fd.left = new FormAttachment(0, convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING));
// fd.right = new FormAttachment(100, -convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING));
fd.left = new FormAttachment(0, horizonMargin);
fd.right = new FormAttachment(100, -horizonMargin);
fd.bottom = new FormAttachment(100);
messagePanel.setLayoutData(fd);
messagePanel.setLayout(new FormLayout());
errIcon = new Label(messagePanel, SWT.NONE);
errIcon.setBackground(msgPanelColor);
errIcon.setForeground(foregroundColor);
fd = new FormData();
fd.top = new FormAttachment(0, msgMargin);
fd.left = new FormAttachment(0, msgMargin);
errIcon.setLayoutData(fd);
moreInfoLink = new Hyperlink(messagePanel, SWT.NONE);
moreInfoLink.setText("");
moreInfoLink.setBackground(msgPanelColor);
moreInfoLink.setUnderlined(true);
moreInfoLink.addHyperlinkListener(new HyperlinkAdapter() {
@Override
public void linkActivated(HyperlinkEvent e) {
onMoreInfoLinkClicked(e);
}
});
errMsgTxt = new StyledText(messagePanel, SWT.READ_ONLY | SWT.WRAP);
errMsgTxt.setEditable(false);
errMsgTxt.setBackground(msgPanelColor);
errMsgTxt.setForeground(org.eclipse.draw2d.ColorConstants.black);
fd = new FormData();
fd.top = new FormAttachment(errMsgTxt, 0, SWT.CENTER);
fd.right = new FormAttachment(100, -msgMargin);
moreInfoLink.setLayoutData(fd);
fd = new FormData();
fd.top = new FormAttachment(errIcon, 0, SWT.TOP);
fd.left = new FormAttachment(errIcon, horizonPadding, SWT.RIGHT);
fd.right = new FormAttachment(moreInfoLink, -horizonPadding, SWT.LEFT);
fd.bottom = new FormAttachment(100, -msgMargin);
errMsgTxt.setLayoutData(fd);
parent.setBackground(backgroundColor);
// parent.setBackground(ColorConstants.YELLOW_COLOR);
titleImageLabel.setBackground(backgroundColor);
titleLabel.setBackground(backgroundColor);
titleLabel.moveBelow(null);
messageImageLabel.setBackground(backgroundColor);
leftFillerLabel.setBackground(backgroundColor);
bottomFillerLabel.setBackground(backgroundColor);
messageLabel.setBackground(backgroundColor);
} else {
titleCtrl = super.createTitleArea(parent);
}
return titleCtrl;
}
private Composite createToolTipContent(Composite parent) {
Composite result = new Composite(parent, SWT.NONE);
final int msgMargin = getMargin();
final int horizonPadding = getHorizonPadding();
result.setBackground(null);
result.setLayout(new FormLayout());
Canvas msgPanel = new Canvas(result, SWT.DOUBLE_BUFFERED);
FormData fd = new FormData();
fd.top = new FormAttachment(0);
fd.left = new FormAttachment(0);
fd.width = messagePanel.getSize().x;
fd.bottom = new FormAttachment(100);
msgPanel.setLayoutData(fd);
msgPanel.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e) {
drawMessageBackground(e, msgPanel);
}
});
msgPanel.setBackground(messagePanel.getBackground());
msgPanel.setForeground(messagePanel.getForeground());
msgPanel.setLayout(new FormLayout());
Label errIconLabel = new Label(msgPanel, SWT.NONE);
errIconLabel.setBackground(errIcon.getBackground());
errIconLabel.setForeground(errIcon.getForeground());
errIconLabel.setImage(errIcon.getImage());
fd = new FormData();
fd.top = new FormAttachment(0, msgMargin);
fd.left = new FormAttachment(0, msgMargin);
errIconLabel.setLayoutData(fd);
Hyperlink link = new Hyperlink(msgPanel, SWT.NONE);
link.setText(moreInfoLink.getText());
link.setBackground(moreInfoLink.getBackground());
link.setUnderlined(moreInfoLink.isUnderlined());
StyledText msgTxt = new StyledText(msgPanel, SWT.READ_ONLY | SWT.WRAP);
msgTxt.setBackground(errMsgTxt.getBackground());
msgTxt.setForeground(errMsgTxt.getForeground());
msgTxt.setText(errMsgTxt.getText());
fd = new FormData();
fd.top = new FormAttachment(msgTxt, 0, SWT.CENTER);
fd.right = new FormAttachment(100, -msgMargin);
link.setLayoutData(fd);
fd = new FormData();
fd.top = new FormAttachment(errIconLabel, 0, SWT.TOP);
fd.left = new FormAttachment(errIconLabel, horizonPadding, SWT.RIGHT);
fd.right = new FormAttachment(link, -horizonPadding, SWT.LEFT);
msgTxt.setLayoutData(fd);
return result;
}
private void onMoreInfoLinkClicked(HyperlinkEvent e) {
Program.launch(moreInfoUrl);
}
@Override
protected void resetWorkAreaAttachments(Control top) {
FormData childData = new FormData();
childData.top = new FormAttachment(topPanel, 0, SWT.BOTTOM);
childData.right = new FormAttachment(100, 0);
childData.left = new FormAttachment(0, 0);
childData.bottom = new FormAttachment(100, 0);
workArea.setLayoutData(childData);
}
@Override
protected void layoutForNewMessage(boolean forceLayout) {
if (!useNewStyle()) {
super.layoutForNewMessage(forceLayout);
return;
}
// if (forceLayout) {
// return;
// }
if (hasMessage()) {
messagePanel.setVisible(true);
// Image image = messageImageLabel.getImage();
// if (image == null) {
// image = messageImage;
// }
// if (image != null && messageImageLabel.isVisible()) {
//// this.errIcon.setVisible(true);
// this.errIcon.setImage(image);
// } else {
// this.errIcon.setImage(null);
//// this.errIcon.setVisible(false);
// }
updateMsgPanelColor(pageMessageType);
// topPanel.layout();
messagePanel.layout();
Point messageSize = errMsgTxt.getSize();
int messageLabelUnclippedHeight = errMsgTxt.computeSize(messageSize.x, SWT.DEFAULT, true).y;
boolean messageLabelClipped = messageLabelUnclippedHeight > messageSize.y;
if (errMsgTxt.getData() instanceof ToolTip) {
ToolTip toolTip = (ToolTip) errMsgTxt.getData();
toolTip.hide();
toolTip.deactivate();
errMsgTxt.setData(null);
}
if (messageLabelClipped) {
ToolTip tooltip = new ToolTip(errMsgTxt, ToolTip.NO_RECREATE, false) {
@Override
protected Composite createToolTipContentArea(Event event, Composite parent) {
return createToolTipContent(parent);
}
@Override
public Point getLocation(Point tipSize, Event event) {
return errMsgTxt.getShell().toDisplay(messagePanel.getLocation());
}
};
errMsgTxt.setData(tooltip);
tooltip.setPopupDelay(0);
tooltip.activate();
}
}
}
@Override
protected void setImageLabelVisible(boolean visible) {
super.setImageLabelVisible(visible);
if (useNewStyle()) {
messagePanel.setVisible(visible);
if (visible) {
errIcon.setImage(messageImageLabel.getImage());
} else {
errIcon.setImage(null);
}
}
}
private void sortPanelOrder() {
if (isHideMessageArea()) {
return;
}
if (this.topPanel == null) {
return;
}
this.titleImageLabel.moveAbove(null);
this.topPanel.moveBelow(this.titleImageLabel);
messagePanel.moveAbove(titleLabelWithAnimation);
if (!hasMessage()) {
messagePanel.setVisible(false);
}
}
@Override
protected void setLayoutsForNormalMessage(int verticalSpacing, int horizontalSpacing) {
if (isHideMessageArea()) {
return;
}
super.setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
if (useNewStyle()) {
if (this.topPanel != null) {
onTitleAreaRefreshFrame(1.0, false);
}
}
}
private static Font getTitleBigFont() {
if (titleBigFont != null) {
return titleBigFont;
}
Font bannerFont = JFaceResources.getBannerFont();
FontData[] fontData = bannerFont.getFontData();
for (FontData fd : fontData) {
fd.setHeight(fd.getHeight() + 7);
}
titleBigFont = new Font(Display.getDefault(), fontData);
return titleBigFont;
}
@Override
protected void updateMessage(String newMessage) {
if (isHideMessageArea()) {
return;
}
boolean hadMsg = hasMessage();
super.updateMessage(newMessage);
this.errMsgTxt.setText(this.messageLabel.getText());
boolean hasMsg = hasMessage();
messagePanel.setVisible(hasMsg);
if (hadMsg != hasMsg) {
startAnimation();
}
}
@Override
public void setErrorMessage(String newErrorMessage) {
if (isHideMessageArea()) {
return;
}
if (StringUtils.isNotBlank(newErrorMessage)) {
this.pageMessageType = IMessageProvider.ERROR;
updateMsgPanelColor(this.pageMessageType);
}
super.setErrorMessage(newErrorMessage);
}
@Override
protected void showMessage(String newMessage, Image newImage) {
if (isHideMessageArea()) {
return;
}
super.showMessage(newMessage, newImage);
}
@Override
public void setMessage(String newMessage, int newType) {
if (isHideMessageArea()) {
return;
}
if (StringUtils.isNotBlank(newMessage)) {
updateMsgPanelColor(newType);
}
super.setMessage(newMessage, newType);
}
private void updateMsgPanelColor(int type) {
Color foreColor = getMsgPanelForegroundColor(type);
msgPanelColor = getMsgPanelBackgroundColor(type);
errIcon.setBackground(msgPanelColor);
errMsgTxt.setBackground(msgPanelColor);
errMsgTxt.setForeground(foreColor);
moreInfoLink.setBackground(msgPanelColor);
// moreInfoLink.setForeground(getMoreInfoLinkForegroundColor(type));
messagePanel.redraw();
}
private Color getMsgPanelBackgroundColor(int type) {
Color color = ColorConstants.INFO_COLOR;
switch (type) {
case IMessageProvider.NONE:
case IMessageProvider.INFORMATION:
color = ColorConstants.INFO_COLOR;
break;
case IMessageProvider.WARNING:
color = ColorConstants.WARN_COLOR;
break;
case IMessageProvider.ERROR:
color = ColorConstants.ERR_COLOR;
break;
}
return color;
}
private Color getMsgPanelForegroundColor(int type) {
Color color = ColorConstants.WHITE_COLOR;
switch (type) {
case IMessageProvider.WARNING:
color = org.eclipse.draw2d.ColorConstants.black;
break;
case IMessageProvider.NONE:
case IMessageProvider.INFORMATION:
case IMessageProvider.ERROR:
color = ColorConstants.WHITE_COLOR;
break;
}
return color;
}
private Color getMoreInfoLinkForegroundColor(int type) {
Color color = null;
switch (type) {
case IMessageProvider.NONE:
case IMessageProvider.INFORMATION:
case IMessageProvider.ERROR:
color = ColorConstants.WHITE_COLOR;
break;
default:
break;
}
return color;
}
private void startAnimation() {
boolean hasMsg = hasMessage();
if (this.titleAnimationSchedulerThread != null) {
if (hasMsg == threadShowingMsg) {
return;
} else {
this.titleAnimationSchedulerThread.interrupt();
}
}
threadShowingMsg = hasMsg;
titleAnimationSchedulerThread = createTitleAnimationSchedulerThread(threadShowingMsg);
titleAnimationSchedulerThread.start();
}
private boolean hasMessage() {
return StringUtils.isNotBlank(messageLabel.getText());
}
@Override
public void setTitle(String newTitle) {
super.setTitle(newTitle);
if (StringUtils.equals(newTitle, title) && this.bigTitleImg != null) {
return;
}
if (this.titleAnimationSchedulerThread != null) {
this.titleAnimationSchedulerThread.interrupt();
}
this.title = newTitle;
if (this.bigTitleImg != null) {
this.bigTitleImg.dispose();
}
this.bigTitleImg = createTitleImage(getTitleBigFont(), this.title);
if (this.smallTitleImg != null) {
this.smallTitleImg.dispose();
}
this.smallTitleImg = createTitleImage(JFaceResources.getBannerFont(), this.title);
this.titleLabelWithAnimation.redraw();
}
@Override
public void showMoreInfoLink(IDialogPage page, String name, String link) {
if (isHideMessageArea()) {
return;
}
if (getCurrentPage() != page) {
return;
}
if (StringUtils.isBlank(name)) {
moreInfoLink.setText("");
moreInfoLink.setEnabled(false);
} else {
moreInfoLink.setEnabled(true);
moreInfoLink.setText(name);
}
moreInfoUrl = link;
this.moreInfoLink.pack();
this.moreInfoLink.redraw();
this.messagePanel.layout();
}
@Override
public void setTitleImage(Image newTitleImage) {
super.setTitleImage(newTitleImage);
if (this.titleAreaImage != null) {
if (this.messageTopY < this.titleAreaImage.getBounds().height) {
FormData fd = (FormData) messagePanel.getLayoutData();
Rectangle imgBounds = this.titleAreaImage.getBounds();
fd.right = new FormAttachment(100, -getHorizonPadding() - imgBounds.width);
FormData panelFd = (FormData) this.topPanel.getLayoutData();
int imageY = imgBounds.height;
int topPanelY = panelFd.height;
if (topPanelY < imageY) {
panelFd.height = imageY;
// fd.right = new FormAttachment(this.titleImageLabel, -getMargin(), SWT.LEFT);
this.topPanel.getParent().layout();
} else {
}
this.topPanel.layout();
}
}
}
private Image createTitleImage(Font font, String title) {
Label tmpLabel = new Label(titleLabel.getParent(), SWT.NONE);
tmpLabel.setText(title);
tmpLabel.setFont(font);
tmpLabel.pack();
Point size = tmpLabel.getSize();
tmpLabel.dispose();
int width = size.x;
if (StringUtils.isEmpty(title)) {
width = 1;
}
Image tmpImg = new Image(Display.getDefault(), width, size.y);
GC gc = new GC(tmpImg);
gc.setAntialias(SWT.ON);
gc.setInterpolation(SWT.HIGH);
gc.setFont(font);
gc.setAlpha(0);
gc.drawRectangle(0, 0, width, size.y);
gc.setAlpha(255);
gc.drawText(title, 0, 0, true);
gc.dispose();
ImageData imageData = tmpImg.getImageData();
imageData.transparentPixel = imageData.getPixel(0, 0);
tmpImg.dispose();
return new Image(Display.getDefault(), imageData);
}
private void drawTitle(PaintEvent e) {
double p = percentage;
Rectangle sBounds = smallTitleImg.getBounds();
Rectangle bBounds = bigTitleImg.getBounds();
int width = bBounds.width - sBounds.width;
int height = bBounds.height - sBounds.height;
Rectangle baseBounds = sBounds;
Image finalImg = bigTitleImg;
finalImg = bigTitleImg;
int totalHight = e.height;
int middleY = (totalHight - bBounds.height) / 2;
// int startY = getMargin();
int startY = 0;
int baseY = startY;
int y = (int) (p * (middleY - startY));
if (hasMessage()) {
y = -y;
width = -width;
height = -height;
baseBounds = bBounds;
baseY = middleY;
finalImg = smallTitleImg;
}
Point newSize = new Point((int) (baseBounds.width + p * width), (int) (baseBounds.height + p * height));
GC gc = e.gc;
gc.setAntialias(SWT.ON);
gc.setInterpolation(SWT.HIGH);
if (p <= 1.0) {
gc.drawImage(bigTitleImg, 0, 0, bBounds.width, bBounds.height, 0, baseY + y, newSize.x, newSize.y);
} else {
Rectangle bounds = finalImg.getBounds();
gc.drawImage(finalImg, 0, 0, bounds.width, bounds.height, 0, baseY + y, bounds.width, bounds.height);
}
}
private void drawMessageBackground(PaintEvent e, Control ctrl) {
e.gc.setBackground(msgPanelColor);
e.gc.setAntialias(SWT.ON);
e.gc.setInterpolation(SWT.HIGH);
Point size = ctrl.getSize();
e.gc.fillRoundRectangle(0, 0, size.x, size.y, 15, 15);
}
private int getHorizonPadding() {
IWizard wizard = this.getWizard();
if (wizard instanceof ITalendWizard) {
return ((ITalendWizard) wizard).getHorizonPadding();
}
return 5;
}
private int getVerticalPadding() {
IWizard wizard = this.getWizard();
if (wizard instanceof ITalendWizard) {
return ((ITalendWizard) wizard).getVerticalPadding();
}
return 5;
}
private int getHorizonMargin() {
IWizard wizard = this.getWizard();
if (wizard instanceof ITalendWizard) {
return ((ITalendWizard) wizard).getHorizonMargin();
}
return 5;
}
private int getMargin() {
return 10;
}
}

View File

@@ -1,244 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import java.lang.reflect.Field;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.jface.resource.JFaceColors;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.ProgressMonitorPart;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.ColorConstants;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizardDialog_backup extends WizardDialog {
private boolean useNewErrorStyle = false;
/**
* Warning color: #FCE6D9 <br/>
* info color: #CDE3F2
*/
public TalendWizardDialog_backup(Shell parentShell, IWizard newWizard) {
super(parentShell, newWizard);
useNewErrorStyle = true;
this.setTitleAreaColor(new RGB(205, 227, 242));
}
public void setNewErrorStyle(boolean newErrStyle) {
this.useNewErrorStyle = newErrStyle;
}
@Override
protected Control createContents(Composite parent) {
parent.setBackground(ColorConstants.WHITE_COLOR);
Control panel = super.createContents(parent);
Display display = parent.getDisplay();
Color background = JFaceColors.getBannerBackground(display);
Color foreground = JFaceColors.getBannerForeground(display);
try {
Field workAreaField = TitleAreaDialog.class.getDeclaredField("workArea");
workAreaField.setAccessible(true);
Composite workArea = (Composite) workAreaField.get(this);
workArea.setBackground(ColorConstants.WHITE_COLOR);
Field pageContainerField = WizardDialog.class.getDeclaredField("pageContainer");
pageContainerField.setAccessible(true);
Composite pageContainer = (Composite) pageContainerField.get(this);
pageContainer.setBackground(ColorConstants.WHITE_COLOR);
if (useNewErrorStyle()) {
FormData formData = (FormData) workArea.getLayoutData();
formData.top = new FormAttachment(0);
}
Field bottomFillerLabelField = TitleAreaDialog.class.getDeclaredField("bottomFillerLabel");
bottomFillerLabelField.setAccessible(true);
Composite bottomFillerLabel = (Composite) bottomFillerLabelField.get(this);
bottomFillerLabel.setVisible(false);
} catch (Exception e) {
ExceptionHandler.process(e);
}
return panel;
}
@Override
public void setMessage(String newMessage) {
if (useNewErrorStyle()) {
ExceptionHandler.log(newMessage);
} else {
super.setMessage(newMessage);
}
}
@Override
public void setMessage(String newMessage, int newType) {
if (useNewErrorStyle()) {
ExceptionHandler.log(newMessage);
} else {
super.setMessage(newMessage, newType);
}
}
@Override
public void setErrorMessage(String newErrorMessage) {
if (useNewErrorStyle()) {
ExceptionHandler.log(newErrorMessage);
} else {
super.setErrorMessage(newErrorMessage);
}
}
private boolean useNewErrorStyle() {
return this.useNewErrorStyle;
}
@Override
protected Control createDialogArea(Composite parent) {
Composite panel = (Composite) super.createDialogArea(parent);
Control[] children = panel.getChildren();
for (Control child : children) {
child.setBackground(ColorConstants.WHITE_COLOR);
if (child instanceof Label) {
int style = child.getStyle();
if (0 < (style & SWT.HORIZONTAL) && 0 < (style & SWT.SEPARATOR)) {
child.setVisible(false);
}
}
}
return panel;
}
@Override
protected ProgressMonitorPart createProgressMonitorPart(Composite composite, GridLayout pmlayout) {
ProgressMonitorPart progMonitor = super.createProgressMonitorPart(composite, pmlayout);
progMonitor.setBackground(ColorConstants.WHITE_COLOR);
return progMonitor;
}
@Override
protected Control createButtonBar(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
composite.setBackground(ColorConstants.WHITE_COLOR);
GridLayout layout = new GridLayout();
layout.marginWidth = 0;
layout.marginHeight = 0;
layout.horizontalSpacing = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
composite.setFont(parent.getFont());
Control helpControl = null;
// create help control if needed
if (isHelpAvailable()) {
helpControl = createHelpControl(composite);
((GridData) helpControl.getLayoutData()).horizontalIndent = convertHorizontalDLUsToPixels(
IDialogConstants.HORIZONTAL_MARGIN);
}
createButtonsForButtonBar(composite);
Button helpButton = getButton(IDialogConstants.HELP_ID);
Button finishButton = getButton(IDialogConstants.FINISH_ID);
Button cancelButton = getButton(IDialogConstants.CANCEL_ID);
Button backButton = getButton(IDialogConstants.BACK_ID);
Button nextButton = getButton(IDialogConstants.NEXT_ID);
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = 10;
formLayout.marginHeight = 20;
composite.setLayout(formLayout);
final int HORIZON_ALIGN = 5;
FormData cancelData = new FormData();
cancelData.left = new FormAttachment(0);
cancelData.top = new FormAttachment(composite, 0, SWT.CENTER);
cancelData.width = getButtonWidth(cancelButton);
cancelButton.setLayoutData(cancelData);
Control tmpCtrl = cancelButton;
if (helpControl != null) {
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
helpControl.setLayoutData(formData);
tmpCtrl = helpControl;
}
if (helpButton != null) {
FormData formData = new FormData();
formData.left = new FormAttachment(tmpCtrl, HORIZON_ALIGN, SWT.RIGHT);
formData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
formData.width = getButtonWidth(helpButton);
helpButton.setLayoutData(formData);
tmpCtrl = helpButton;
}
FormData finishData = new FormData();
finishData.right = new FormAttachment(100);
finishData.top = new FormAttachment(composite, 0, SWT.CENTER);
finishData.width = getButtonWidth(finishButton);
finishButton.setLayoutData(finishData);
tmpCtrl = finishButton;
if (nextButton != null) {
FormData nextData = new FormData();
Composite nextParentCtrl = nextButton.getParent();
nextData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
nextData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
nextParentCtrl.setLayoutData(nextData);
}
if (false) {
if (nextButton != null) {
FormData nextData = new FormData();
nextData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
nextData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
nextData.width = getButtonWidth(nextButton);
nextButton.setLayoutData(nextData);
}
if (backButton != null) {
FormData backData = new FormData();
backData.right = new FormAttachment(tmpCtrl, -HORIZON_ALIGN, SWT.LEFT);
backData.top = new FormAttachment(tmpCtrl, 0, SWT.CENTER);
backData.width = getButtonWidth(backButton);
backButton.setLayoutData(backData);
}
}
return composite;
}
private int getButtonWidth(Button btn) {
int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
Point minSize = btn.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
return Math.max(widthHint, minSize.x);
}
}

View File

@@ -1,693 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.dialogs;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.dialogs.TrayDialog;
import org.eclipse.jface.resource.JFaceColors;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.window.ToolTip;
import org.eclipse.swt.SWT;
import org.eclipse.swt.accessibility.ACC;
import org.eclipse.swt.accessibility.AccessibleAttributeAdapter;
import org.eclipse.swt.accessibility.AccessibleAttributeEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
* A dialog that has a title area for displaying a title and an image as well as a common area for displaying a
* description, a message, or an error message.
* <p>
* This dialog class may be subclassed.
*/
public class TitleAreaDialog extends TrayDialog {
/**
* Image registry key for error message image.
*/
public static final String DLG_IMG_TITLE_ERROR = DLG_IMG_MESSAGE_ERROR;
/**
* Image registry key for banner image (value <code>"dialog_title_banner_image"</code>).
*/
public static final String DLG_IMG_TITLE_BANNER = "dialog_title_banner_image";//$NON-NLS-1$
/**
* Message type constant used to display an info icon with the message.
*
* @since 2.0
* @deprecated
*/
@Deprecated
public static final String INFO_MESSAGE = "INFO_MESSAGE"; //$NON-NLS-1$
/**
* Message type constant used to display a warning icon with the message.
*
* @since 2.0
* @deprecated
*/
@Deprecated
public static final String WARNING_MESSAGE = "WARNING_MESSAGE"; //$NON-NLS-1$
// Space between an image and a label
private static final int H_GAP_IMAGE = 5;
// Minimum dialog width (in dialog units)
private static final int MIN_DIALOG_WIDTH = 350;
// Minimum dialog height (in dialog units)
private static final int MIN_DIALOG_HEIGHT = 150;
protected Label titleLabel;
protected Label titleImageLabel;
protected Label bottomFillerLabel;
protected Label leftFillerLabel;
private RGB titleAreaRGB;
Color titleAreaColor;
protected String message = ""; //$NON-NLS-1$
protected String errorMessage;
protected Label messageLabel;
protected Composite workArea;
protected Label messageImageLabel;
protected Image messageImage;
private boolean showingError = false;
private boolean titleImageLargest = true;
private int messageLabelHeight;
protected Image titleAreaImage;
/**
* Instantiate a new title area dialog.
*
* @param parentShell the parent SWT shell
*/
public TitleAreaDialog(Shell parentShell) {
super(parentShell);
}
/*
* @see Dialog.createContents(Composite)
*/
@Override
protected Control createContents(Composite parent) {
// create the overall composite
Composite contents = new Composite(parent, SWT.NONE);
contents.setLayoutData(new GridData(GridData.FILL_BOTH));
// initialize the dialog units
initializeDialogUnits(contents);
FormLayout layout = new FormLayout();
contents.setLayout(layout);
// Now create a work area for the rest of the dialog
workArea = new Composite(contents, SWT.NONE);
// workArea.setBackground(ColorConstants.RED_COLOR);
GridLayout childLayout = new GridLayout();
childLayout.marginHeight = 0;
childLayout.marginWidth = 0;
childLayout.verticalSpacing = 0;
workArea.setLayout(childLayout);
Control top = createTitleArea(contents);
resetWorkAreaAttachments(top);
workArea.setFont(JFaceResources.getDialogFont());
// initialize the dialog units
initializeDialogUnits(workArea);
// create the dialog area and button bar
dialogArea = createDialogArea(workArea);
buttonBar = createButtonBar(workArea);
// need to react to new size of title area
getShell().addListener(SWT.Resize, event -> layoutForNewMessage(true));
return contents;
}
/**
* Creates and returns the contents of the upper part of this dialog (above the button bar).
* <p>
* The <code>Dialog</code> implementation of this framework method creates and returns a new <code>Composite</code>
* with no margins and spacing. Subclasses should override.
* </p>
*
* @param parent The parent composite to contain the dialog area
* @return the dialog area control
*/
@Override
protected Control createDialogArea(Composite parent) {
// create the top level composite for the dialog area
Composite composite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
layout.verticalSpacing = 0;
layout.horizontalSpacing = 0;
composite.setLayout(layout);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
composite.setFont(parent.getFont());
// Build the separator line
titleBarSeparator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
titleBarSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
return composite;
}
protected Label titleBarSeparator;
/**
* Creates the dialog's title area.
*
* @param parent the SWT parent for the title area widgets
* @return Control with the highest x axis value.
*/
protected Control createTitleArea(Composite parent) {
// Determine the background color of the title bar
Display display = parent.getDisplay();
Color background;
Color foreground;
if (titleAreaRGB != null) {
titleAreaColor = new Color(display, titleAreaRGB);
background = titleAreaColor;
foreground = null;
} else {
background = JFaceColors.getBannerBackground(display);
foreground = JFaceColors.getBannerForeground(display);
}
parent.setBackground(background);
int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
int horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
// Dialog image @ right
titleImageLabel = new Label(parent, SWT.CENTER);
titleImageLabel.setBackground(background);
if (titleAreaImage == null || titleAreaImage.isDisposed())
titleImageLabel.setImage(JFaceResources.getImage(DLG_IMG_TITLE_BANNER));
else
titleImageLabel.setImage(titleAreaImage);
FormData imageData = new FormData();
imageData.top = new FormAttachment(0, 0);
// Note: do not use horizontalSpacing on the right as that would be a
// regression from
// the R2.x style where there was no margin on the right and images are
// flush to the right
// hand side. see reopened comments in 41172
imageData.right = new FormAttachment(100, 0); // horizontalSpacing
titleImageLabel.setLayoutData(imageData);
// Title label @ top, left
titleLabel = new Label(parent, SWT.LEFT);
JFaceColors.setColors(titleLabel, foreground, background);
titleLabel.setFont(JFaceResources.getBannerFont());
titleLabel.setText(" ");//$NON-NLS-1$
FormData titleData = new FormData();
titleData.top = new FormAttachment(0, verticalSpacing);
titleData.right = new FormAttachment(titleImageLabel);
titleData.left = new FormAttachment(0, horizontalSpacing);
titleLabel.setLayoutData(titleData);
// Message image @ bottom, left
messageImageLabel = new Label(parent, SWT.CENTER);
messageImageLabel.setBackground(background);
// Message label @ bottom, center
// messageLabel = new Text(parent, SWT.WRAP | SWT.READ_ONLY);
messageLabel = new Label(parent, SWT.WRAP);
JFaceColors.setColors(messageLabel, foreground, background);
messageLabel.setText(" \n "); // two lines//$NON-NLS-1$
messageLabel.setFont(JFaceResources.getDialogFont());
// Bug 248410 - This snippet will only work with Windows screen readers.
messageLabel.getAccessible().addAccessibleAttributeListener(new AccessibleAttributeAdapter() {
@Override
public void getAttributes(AccessibleAttributeEvent e) {
e.attributes = new String[] { "container-live", //$NON-NLS-1$
"polite", "live", "polite", //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
"container-live-role", "status", }; //$NON-NLS-1$ //$NON-NLS-2$
}
});
messageLabelHeight = messageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
// Filler labels
leftFillerLabel = new Label(parent, SWT.CENTER);
leftFillerLabel.setBackground(background);
bottomFillerLabel = new Label(parent, SWT.CENTER);
bottomFillerLabel.setBackground(background);
setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
determineTitleImageLargest();
if (titleImageLargest)
return titleImageLabel;
return messageLabel;
}
/**
* Determine if the title image is larger than the title message and message area. This is used for layout
* decisions.
*/
private void determineTitleImageLargest() {
int titleY = titleImageLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
int labelY = titleLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
labelY += verticalSpacing;
labelY += messageLabelHeight;
labelY += verticalSpacing;
titleImageLargest = titleY > labelY;
}
/**
* Set the layout values for the messageLabel, messageImageLabel and fillerLabel for the case where there is a
* normal message.
*
* @param verticalSpacing int The spacing between widgets on the vertical axis.
* @param horizontalSpacing int The spacing between widgets on the horizontal axis.
*/
protected void setLayoutsForNormalMessage(int verticalSpacing, int horizontalSpacing) {
FormData messageImageData = new FormData();
messageImageData.top = new FormAttachment(titleLabel, verticalSpacing);
messageImageData.left = new FormAttachment(0, H_GAP_IMAGE);
messageImageLabel.setLayoutData(messageImageData);
FormData messageLabelData = new FormData();
messageLabelData.top = new FormAttachment(titleLabel, verticalSpacing);
messageLabelData.right = new FormAttachment(titleImageLabel);
messageLabelData.left = new FormAttachment(messageImageLabel, horizontalSpacing);
messageLabelData.height = messageLabelHeight;
if (titleImageLargest)
messageLabelData.bottom = new FormAttachment(titleImageLabel, 0, SWT.BOTTOM);
messageLabel.setLayoutData(messageLabelData);
FormData fillerData = new FormData();
fillerData.left = new FormAttachment(0, horizontalSpacing);
fillerData.top = new FormAttachment(messageImageLabel, 0);
fillerData.bottom = new FormAttachment(messageLabel, 0, SWT.BOTTOM);
bottomFillerLabel.setLayoutData(fillerData);
FormData data = new FormData();
data.top = new FormAttachment(messageImageLabel, 0, SWT.TOP);
data.left = new FormAttachment(0, 0);
data.bottom = new FormAttachment(messageImageLabel, 0, SWT.BOTTOM);
data.right = new FormAttachment(messageImageLabel, 0);
leftFillerLabel.setLayoutData(data);
}
/**
* The <code>TitleAreaDialog</code> implementation of this <code>Window</code> methods returns an initial size which
* is at least some reasonable minimum.
*
* @return the initial size of the dialog
*/
@Override
protected Point getInitialSize() {
Point shellSize = super.getInitialSize();
return new Point(Math.max(convertHorizontalDLUsToPixels(MIN_DIALOG_WIDTH), shellSize.x),
Math.max(convertVerticalDLUsToPixels(MIN_DIALOG_HEIGHT), shellSize.y));
}
/**
* Retained for backward compatibility.
*
* Returns the title area composite. There is no composite in this implementation so the shell is returned.
*
* @return Composite
* @deprecated
*/
@Deprecated
protected Composite getTitleArea() {
return getShell();
}
/**
* Returns the title image label.
*
* @return the title image label
*/
protected Label getTitleImageLabel() {
return titleImageLabel;
}
/**
* Display the given error message. The currently displayed message is saved and will be redisplayed when the error
* message is set to <code>null</code>.
*
* @param newErrorMessage the newErrorMessage to display or <code>null</code>
*/
public void setErrorMessage(String newErrorMessage) {
// Any change?
if (errorMessage == null ? newErrorMessage == null : errorMessage.equals(newErrorMessage))
return;
errorMessage = newErrorMessage;
// Clear or set error message.
if (errorMessage == null) {
if (showingError) {
// we were previously showing an error
showingError = false;
}
// show the message
// avoid calling setMessage in case it is overridden to call
// setErrorMessage,
// which would result in a recursive infinite loop
if (message == null) // this should probably never happen since
// setMessage does this conversion....
message = ""; //$NON-NLS-1$
updateMessage(message);
messageImageLabel.setImage(messageImage);
setImageLabelVisible(messageImage != null);
} else {
// Add in a space for layout purposes but do not
// change the instance variable
String displayedErrorMessage = " " + errorMessage; //$NON-NLS-1$
updateMessage(displayedErrorMessage);
if (!showingError) {
// we were not previously showing an error
showingError = true;
messageImageLabel.setImage(JFaceResources.getImage(DLG_IMG_TITLE_ERROR));
setImageLabelVisible(true);
}
}
layoutForNewMessage(false);
}
/**
* Re-layout the labels for the new message.
*
* @param forceLayout <code>true</code> to force a layout of the shell
*/
protected void layoutForNewMessage(boolean forceLayout) {
int verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
int horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
// If there are no images then layout as normal
if (errorMessage == null && messageImage == null) {
setImageLabelVisible(false);
setLayoutsForNormalMessage(verticalSpacing, horizontalSpacing);
} else {
messageImageLabel.setVisible(true);
bottomFillerLabel.setVisible(true);
leftFillerLabel.setVisible(true);
/**
* Note that we do not use horizontalSpacing here as when the background of the messages changes there will
* be gaps between the icon label and the message that are the background color of the shell. We add a
* leading space elsewhere to compendate for this.
*/
FormData data = new FormData();
data.left = new FormAttachment(0, H_GAP_IMAGE);
data.top = new FormAttachment(titleLabel, verticalSpacing);
messageImageLabel.setLayoutData(data);
data = new FormData();
data.top = new FormAttachment(messageImageLabel, 0);
data.left = new FormAttachment(0, 0);
data.bottom = new FormAttachment(messageLabel, 0, SWT.BOTTOM);
data.right = new FormAttachment(messageImageLabel, 0, SWT.RIGHT);
bottomFillerLabel.setLayoutData(data);
data = new FormData();
data.top = new FormAttachment(messageImageLabel, 0, SWT.TOP);
data.left = new FormAttachment(0, 0);
data.bottom = new FormAttachment(messageImageLabel, 0, SWT.BOTTOM);
data.right = new FormAttachment(messageImageLabel, 0);
leftFillerLabel.setLayoutData(data);
FormData messageLabelData = new FormData();
messageLabelData.top = new FormAttachment(titleLabel, verticalSpacing);
messageLabelData.right = new FormAttachment(titleImageLabel);
messageLabelData.left = new FormAttachment(messageImageLabel, 0);
messageLabelData.height = messageLabelHeight;
if (titleImageLargest)
messageLabelData.bottom = new FormAttachment(titleImageLabel, 0, SWT.BOTTOM);
messageLabel.setLayoutData(messageLabelData);
}
if (forceLayout) {
getShell().layout();
} else {
// Do not layout before the dialog area has been created
// to avoid incomplete calculations.
if (dialogArea != null)
workArea.getParent().layout(true);
}
Point messageSize = messageLabel.getSize();
int messageLabelUnclippedHeight = messageLabel.computeSize(messageSize.x, SWT.DEFAULT, true).y;
boolean messageLabelClipped = messageLabelUnclippedHeight > messageSize.y;
if (messageLabel.getData() instanceof ToolTip) {
ToolTip toolTip = (ToolTip) messageLabel.getData();
toolTip.hide();
toolTip.deactivate();
messageLabel.setData(null);
}
if (messageLabelClipped) {
ToolTip tooltip = new ToolTip(messageLabel, ToolTip.NO_RECREATE, false) {
@Override
protected Composite createToolTipContentArea(Event event, Composite parent) {
Composite result = new Composite(parent, SWT.NONE);
result.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
result.setLayout(new GridLayout());
Text text = new Text(result, SWT.WRAP);
text.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
text.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
text.setText(messageLabel.getText());
GridData gridData = new GridData();
gridData.widthHint = messageSize.x;
text.setLayoutData(gridData);
Dialog.applyDialogFont(result);
return result;
}
@Override
public Point getLocation(Point tipSize, Event event) {
return messageLabel.getShell().toDisplay(messageLabel.getLocation());
}
};
messageLabel.setData(tooltip);
tooltip.setPopupDelay(0);
tooltip.activate();
}
}
/**
* Set the message text. If the message line currently displays an error, the message is saved and will be
* redisplayed when the error message is set to <code>null</code>.
* <p>
* Shortcut for <code>setMessage(newMessage, IMessageProvider.NONE)</code>
* </p>
* This method should be called after the dialog has been opened as it updates the message label immediately.
*
* @param newMessage the message, or <code>null</code> to clear the message
*/
public void setMessage(String newMessage) {
setMessage(newMessage, IMessageProvider.NONE);
}
/**
* Sets the message for this dialog with an indication of what type of message it is.
* <p>
* The valid message types are one of <code>NONE</code>, <code>INFORMATION</code>,<code>WARNING</code>, or
* <code>ERROR</code>.
* </p>
* <p>
* Note that for backward compatibility, a message of type <code>ERROR</code> is different than an error message
* (set using <code>setErrorMessage</code>). An error message overrides the current message until the error message
* is cleared. This method replaces the current message and does not affect the error message.
* </p>
*
* @param newMessage the message, or <code>null</code> to clear the message
* @param newType the message type
* @since 2.0
*/
public void setMessage(String newMessage, int newType) {
Image newImage = null;
if (newMessage != null) {
switch (newType) {
case IMessageProvider.NONE:
break;
case IMessageProvider.INFORMATION:
newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_INFO);
break;
case IMessageProvider.WARNING:
newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_WARNING);
break;
case IMessageProvider.ERROR:
newImage = JFaceResources.getImage(DLG_IMG_MESSAGE_ERROR);
break;
}
}
showMessage(newMessage, newImage);
}
/**
* Show the new message and image.
*
* @param newMessage
* @param newImage
*/
protected void showMessage(String newMessage, Image newImage) {
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=249915
if (newMessage == null)
newMessage = ""; //$NON-NLS-1$
// Any change?
if (message.equals(newMessage) && messageImage == newImage) {
return;
}
message = newMessage;
// Message string to be shown - if there is an image then add in
// a space to the message for layout purposes
String shownMessage = (newImage == null) ? message : " " + message; //$NON-NLS-1$
messageImage = newImage;
if (!showingError) {
// we are not showing an error
updateMessage(shownMessage);
messageImageLabel.setImage(messageImage);
setImageLabelVisible(messageImage != null);
layoutForNewMessage(false);
}
}
/**
* Update the contents of the messageLabel.
*
* @param newMessage the message to use
*/
protected void updateMessage(String newMessage) {
String oldMessage = messageLabel.getText();
messageLabel.setText(newMessage);
// Bug 248410 - This snippet will only work with Windows screen readers.
messageLabel.getAccessible().sendEvent(ACC.EVENT_ATTRIBUTE_CHANGED, null);
messageLabel.getAccessible().sendEvent(ACC.EVENT_TEXT_CHANGED, new Object[] { Integer.valueOf(ACC.TEXT_DELETE),
Integer.valueOf(0), Integer.valueOf(oldMessage.length()), oldMessage });
messageLabel.getAccessible().sendEvent(ACC.EVENT_TEXT_CHANGED, new Object[] { Integer.valueOf(ACC.TEXT_INSERT),
Integer.valueOf(0), Integer.valueOf(newMessage.length()), newMessage });
}
/**
* Sets the title to be shown in the title area of this dialog.
*
* @param newTitle the title show
*/
public void setTitle(String newTitle) {
if (titleLabel == null)
return;
String title = newTitle;
if (title == null)
title = "";//$NON-NLS-1$
titleLabel.setText(title);
}
/**
* Sets the title bar color for this dialog.
*
* @param color the title bar color
*/
public void setTitleAreaColor(RGB color) {
titleAreaRGB = color;
}
/**
* Sets the title image to be shown in the title area of this dialog.
*
* @param newTitleImage the title image to be shown
*/
public void setTitleImage(Image newTitleImage) {
titleAreaImage = newTitleImage;
if (titleImageLabel != null) {
titleImageLabel.setImage(newTitleImage);
determineTitleImageLargest();
Control top;
if (titleImageLargest)
top = titleImageLabel;
else
top = messageLabel;
resetWorkAreaAttachments(top);
}
}
/**
* Make the label used for displaying error images visible depending on boolean.
*
* @param visible If <code>true</code> make the image visible, if not then make it not visible.
*/
protected void setImageLabelVisible(boolean visible) {
messageImageLabel.setVisible(visible);
bottomFillerLabel.setVisible(visible);
leftFillerLabel.setVisible(visible);
}
/**
* Reset the attachment of the workArea to now attach to top as the top control.
*
* @param top
*/
protected void resetWorkAreaAttachments(Control top) {
FormData childData = new FormData();
childData.top = new FormAttachment(top);
childData.right = new FormAttachment(100, 0);
childData.left = new FormAttachment(0, 0);
childData.bottom = new FormAttachment(100, 0);
workArea.setLayoutData(childData);
}
/**
* Returns the current message text for this dialog. This message is displayed in the message line of the dialog
* when the error message is <code>null</code>. If there is a non-null error message, this message is not shown, but
* is stored so that it can be shown in the message line whenever {@link #setErrorMessage(String)} is called with a
* <code>null</code> parameter.
*
* @return the message text, which is never <code>null</code>.
*
* @see #setMessage(String)
* @see #setErrorMessage(String)
*
* @since 3.6
*/
public String getMessage() {
return message;
}
/**
* Returns the current error message being shown in the dialog, or <code>null</code> if there is no error message
* being shown.
*
* @return the error message, which may be <code>null</code>.
*
* @see #setErrorMessage(String)
* @see #setMessage(String)
*
* @since 3.6
*/
public String getErrorMessage() {
return errorMessage;
}
}

View File

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

View File

@@ -1,233 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.formtools;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
/**
* Create a Label and a Checkbox.
*/
public class LabelledCheckbox implements LabelledWidget{
private Button button;
private Label label;
/**
* Create a Label and a Text.
*
* @param composite
* @param string
*/
public LabelledCheckbox(Composite composite, String string) {
createLabelledButton(composite, string, 1, true);
}
/**
* Create a Label and a Text.
*
* @param composite
* @param string
* @param isFill
*/
public LabelledCheckbox(Composite composite, String string, boolean isFill) {
createLabelledButton(composite, string, 1, isFill);
}
/**
* Create a Label and a Button width specific styleField.
*
* @param composite
* @param string
* @param int horizontalSpan
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan) {
createLabelledButton(composite, string, horizontalSpan, true);
}
/**
* Create a Label and a Button width specific styleField.
*
* @param composite
* @param string
* @param int horizontalSpan
* @param styleField
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan, int styleField) {
createLabelledButton(composite, string, horizontalSpan, true);
}
/**
* Create a Label and a Button width Gridata option FILL.
*
* @param composite
* @param string
* @param styleField
* @param int horizontalSpan
* @param isFill
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan, boolean isFill) {
createLabelledButton(composite, string, horizontalSpan, isFill);
}
/**
* Create a Label and a Button width specific styleField and Gridata option FILL.
*
* @param composite
* @param string
* @param int horizontalSpan
* @param styleField
* @param isFill
*/
public LabelledCheckbox(Composite composite, String string, int horizontalSpan, int styleField, boolean isFill) {
createLabelledButton(composite, string, horizontalSpan, isFill);
}
/**
* Create a Label and a Button width specific styleField and Gridata option FILL.
*
* @param composite
* @param string
* @param int horizontalSpan
* @param styleField
* @param isFill
*/
private void createLabelledButton(Composite composite, String string, int horizontalSpan, boolean isFill) {
label = new Label(composite, SWT.LEFT);
if (string != null) {
label.setText(string);
}
button = new Button(composite, SWT.CHECK);
int gridDataStyle = SWT.NONE;
if (isFill) {
gridDataStyle = SWT.FILL;
}
GridData gridData = new GridData(gridDataStyle, SWT.CENTER, true, false);
gridData.horizontalSpan = horizontalSpan;
button.setLayoutData(gridData);
}
/**
* setToolTipText to Text Object.
*
* @param string
*/
public void setToolTipText(final String string) {
button.setToolTipText(string);
}
/**
* is Checkbox Selected.
*
* @return boolean
*/
public Boolean isSelected() {
return button.getSelection();
}
/**
* setText to Label Object.
*
* @param string
*/
public void setLabelText(final String string) {
if (string != null) {
label.setText(string);
} else {
label.setText(""); //$NON-NLS-1$
}
}
/**
* setEditable to Button and Label Object.
*
* @param boolean
*/
public void forceFocus() {
setEnabled(true);
button.forceFocus();
}
/**
* setEnabled to Button and Label Object.
*
* @param boolean
*/
public void setEnabled(final boolean visible) {
button.setEnabled(visible);
label.setEnabled(visible);
}
/**
* setVisible to Button and Label Object.
*
* @param boolean
*/
public void setVisible(final boolean visible) {
button.setVisible(visible);
label.setVisible(visible);
}
public void setVisible(final boolean visible, final boolean exclude) {
Control[] controls = new Control[] { label, button };
for (Control control : controls) {
control.setVisible(visible);
if (control.getLayoutData() instanceof GridData) {
((GridData) control.getLayoutData()).exclude = exclude;
}
}
}
/**
* addListener to Button Object.
*
* @param eventType
* @param listener
*/
public void addListener(int eventType, Listener listener) {
button.addListener(eventType, listener);
}
/**
* addFocusListener to Button Object.
*
* @param listener
*/
public void addFocusListener(FocusListener listener) {
button.addFocusListener(listener);
}
@Override
public void set(String value) {
button.setSelection(Boolean.parseBoolean(value));
}
public void addSelectionListener(SelectionListener listener) {
button.addSelectionListener(listener);
}
public boolean getSelection() {
return button.getSelection();
}
}

View File

@@ -33,7 +33,7 @@ import org.eclipse.swt.widgets.Text;
* $Id: LabelledText.java 7038 2007-11-15 14:05:48Z plegall $
*
*/
public class LabelledText implements LabelledWidget{
public class LabelledText {
private Text text;
@@ -297,16 +297,6 @@ public class LabelledText implements LabelledWidget{
label.setVisible(visible);
}
public void setVisible(final boolean visible, final boolean exclude) {
Control[] controls = new Control[] { label, text };
for (Control control : controls) {
control.setVisible(visible);
if (control.getLayoutData() instanceof GridData) {
((GridData) control.getLayoutData()).exclude = exclude;
}
}
}
public boolean isVisiable() {
return text.isVisible() && label.isVisible();
}
@@ -482,9 +472,4 @@ public class LabelledText implements LabelledWidget{
text.getParent().layout();
}
@Override
public void set(String value) {
this.setText(value);
}
}

View File

@@ -1,9 +0,0 @@
package org.talend.commons.ui.swt.formtools;
public interface LabelledWidget {
// Set the value of the widget
public void set(String value);
public void setVisible(boolean visible, boolean exclude);
}

View File

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

View File

@@ -1,28 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.wizard;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizard {
/**
* DOC cmeng TalendWizard constructor comment.
*/
public TalendWizard() {
// TODO Auto-generated constructor stub
}
}

View File

@@ -1,55 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.swt.wizard;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
/**
* DOC cmeng class global comment. Detailled comment
*/
public class TalendWizardDialog extends Dialog {
public TalendWizardDialog(Shell parentShell) {
super(parentShell);
}
@Override
protected Control createContents(Composite parent) {
return super.createContents(parent);
}
public static void main(String[] args) throws Exception {
int sleep = 1000 / 60;
double time = 1.0 / 50;
int total = 0;
for (int i = 1; i <= 25; i++) {
double curTime = time * i;
double value = 1.0 - Math.sqrt(1 - curTime * curTime);
int lengh = (int) (250 * value);
total += lengh;
System.out.println(i + "\t:" + lengh + ", total: " + total);
}
for (int i = 25; i <= 50; i++) {
double curTime = 1 - time * i;
double value = 1.0 - Math.sqrt(1 - curTime * curTime);
int lengh = (int) (250 * value);
total += lengh;
System.out.println(i + "\t:" + lengh + ", total: " + total);
}
}
}

View File

@@ -1,178 +1,178 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.utils.loader;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.log4j.Logger;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
/**
* ggu class global comment. Detailled comment
*/
public class MyURLClassLoader extends URLClassLoader {
public static interface IAssignableClassFilter {
public boolean filter(URL[] urls);
public boolean filter(Class clazz);
public boolean filter(String clazzName);
}
private static Logger log = Logger.getLogger(MyURLClassLoader.class);
private Map pclasses = new HashMap();
public MyURLClassLoader(String fileName) throws IOException {
this(new File(fileName).toURI().toURL());
}
public MyURLClassLoader(URL url) {
this(new URL[] { url });
}
public MyURLClassLoader(URL[] urls) {
super(urls, Class.class.getClassLoader());
}
public MyURLClassLoader(URL[] urls, ClassLoader parentLoader) {
super(urls, parentLoader);
}
public Class[] getAssignableClasses(Class type) throws IOException {
return getAssignableClasses(type, null);
}
@SuppressWarnings("unchecked")
public Class[] getAssignableClasses(Class type, IAssignableClassFilter filter) throws IOException {
List classes = new ArrayList();
URL[] urls = getURLs();
for (URL url : urls) {
if (filter != null && filter.filter(new URL[] { url })) {
continue;
}
File file = new File(url.getFile());
if (!file.isDirectory() && file.exists() && file.canRead()) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
} catch (IOException ex) {
ExceptionHandler.process(ex);
}
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
Class cls = null;
String entryName = entries.nextElement().getName();
String className = changeFileNameToClassName(entryName);
if (className != null) {
if (filter != null && filter.filter(className)) {
continue;
}
try {
cls = loadClass(className);
} catch (Throwable th) {
log.warn(th);
}
if (cls != null) {
if (filter != null && filter.filter(cls)) {
continue;
}
if (isAssignableType(type, cls)) {
classes.add(cls);
}
}
}
}
}
}
return (Class[]) classes.toArray(new Class[classes.size()]);
}
@SuppressWarnings("unchecked")
private boolean isAssignableType(Class type, Class current) {
if (type == null || current == null || current.equals(Object.class)) {
return false;
}
if (type.isAssignableFrom(current)) {
return true;
} else
// sometimes can not assign the java generic, use the class url
if (type.getName() != null && type.getName().equals(current.getName())) {
return true;
} else {
//
if (type.isInterface()) {//
for (Class interfaceClazz : current.getInterfaces()) {
if (interfaceClazz.equals(type)) {
return true;
} else {
if (isAssignableType(type, interfaceClazz)) {
return true;
}
}
}
if (isAssignableType(type, current.getSuperclass())) {
return true;
}
} else {
return isAssignableType(type, current.getSuperclass());
}
}
return false;
}
/*
* (non-Javadoc)
*
* @see java.net.URLClassLoader#findClass(java.lang.String)
*/
@SuppressWarnings("unchecked")
protected synchronized Class findCslass(String className) throws ClassNotFoundException {
Class cls = (Class) pclasses.get(className);
if (cls == null) {
cls = super.findClass(className);
pclasses.put(className, cls);
}
return cls;
}
public static String changeFileNameToClassName(String name) {
if (name == null) {
throw new IllegalArgumentException("File Name == null");
}
String className = null;
if (name.toLowerCase().endsWith(".class")) {
className = name.replace('/', '.');
className = className.replace('\\', '.');
className = className.substring(0, className.length() - 6);
}
return className;
}
protected void classHasBeenLoaded(Class cls) {
}
}
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.commons.ui.utils.loader;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.apache.log4j.Logger;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
/**
* ggu class global comment. Detailled comment
*/
public class MyURLClassLoader extends URLClassLoader {
public static interface IAssignableClassFilter {
public boolean filter(URL[] urls);
public boolean filter(Class clazz);
public boolean filter(String clazzName);
}
private static Logger log = Logger.getLogger(MyURLClassLoader.class);
private Map pclasses = new HashMap();
public MyURLClassLoader(String fileName) throws IOException {
this(new File(fileName).toURL());
}
public MyURLClassLoader(URL url) {
this(new URL[] { url });
}
public MyURLClassLoader(URL[] urls) {
super(urls, Class.class.getClassLoader());
}
public MyURLClassLoader(URL[] urls, ClassLoader parentLoader) {
super(urls, parentLoader);
}
public Class[] getAssignableClasses(Class type) throws IOException {
return getAssignableClasses(type, null);
}
@SuppressWarnings("unchecked")
public Class[] getAssignableClasses(Class type, IAssignableClassFilter filter) throws IOException {
List classes = new ArrayList();
URL[] urls = getURLs();
for (URL url : urls) {
if (filter != null && filter.filter(new URL[] { url })) {
continue;
}
File file = new File(url.getFile());
if (!file.isDirectory() && file.exists() && file.canRead()) {
ZipFile zipFile = null;
try {
zipFile = new ZipFile(file);
} catch (IOException ex) {
ExceptionHandler.process(ex);
}
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
Class cls = null;
String entryName = entries.nextElement().getName();
String className = changeFileNameToClassName(entryName);
if (className != null) {
if (filter != null && filter.filter(className)) {
continue;
}
try {
cls = loadClass(className);
} catch (Throwable th) {
log.warn(th);
}
if (cls != null) {
if (filter != null && filter.filter(cls)) {
continue;
}
if (isAssignableType(type, cls)) {
classes.add(cls);
}
}
}
}
}
}
return (Class[]) classes.toArray(new Class[classes.size()]);
}
@SuppressWarnings("unchecked")
private boolean isAssignableType(Class type, Class current) {
if (type == null || current == null || current.equals(Object.class)) {
return false;
}
if (type.isAssignableFrom(current)) {
return true;
} else
// sometimes can not assign the java generic, use the class url
if (type.getName() != null && type.getName().equals(current.getName())) {
return true;
} else {
//
if (type.isInterface()) {//
for (Class interfaceClazz : current.getInterfaces()) {
if (interfaceClazz.equals(type)) {
return true;
} else {
if (isAssignableType(type, interfaceClazz)) {
return true;
}
}
}
if (isAssignableType(type, current.getSuperclass())) {
return true;
}
} else {
return isAssignableType(type, current.getSuperclass());
}
}
return false;
}
/*
* (non-Javadoc)
*
* @see java.net.URLClassLoader#findClass(java.lang.String)
*/
@SuppressWarnings("unchecked")
protected synchronized Class findCslass(String className) throws ClassNotFoundException {
Class cls = (Class) pclasses.get(className);
if (cls == null) {
cls = super.findClass(className);
pclasses.put(className, cls);
}
return cls;
}
public static String changeFileNameToClassName(String name) {
if (name == null) {
throw new IllegalArgumentException("File Name == null");
}
String className = null;
if (name.toLowerCase().endsWith(".class")) {
className = name.replace('/', '.');
className = className.replace('\\', '.');
className = className.substring(0, className.length() - 6);
}
return className;
}
protected void classHasBeenLoaded(Class cls) {
}
}

View File

@@ -31,7 +31,6 @@ import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
import org.talend.commons.ui.gmf.util.DisplayUtils;
import org.talend.commons.ui.runtime.ITalendThemeService;
/**
* Figure managing some simple HTML styles. <br/>
@@ -78,8 +77,6 @@ public class SimpleHtmlFigure extends Figure {
private static Font boldFont = null;
private static Font boldItalicFont = null;
private static final Color DEFAULT_LABEL_COLOR = ITalendThemeService.getColor("NODE_FIGURE_LABEL_FORCEGROUND").orElse(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
/**
* Constructs a new SimpleHtmlFigure.
@@ -116,6 +113,10 @@ public class SimpleHtmlFigure extends Figure {
add(horizContainer);
}
public void setText(final String text) {
setText(text, false);
}
/**
* Display some HTML text..
*
@@ -123,7 +124,7 @@ public class SimpleHtmlFigure extends Figure {
* @param isSysDefaultColor true if use system default font color
*/
@SuppressWarnings("unchecked")
public void setText(final String text) {
public void setText(final String text, boolean isSysDefaultColor) {
if (this.text.equals(text)) {
// if the text is the same, there's nothing to change, so return.
@@ -141,14 +142,16 @@ public class SimpleHtmlFigure extends Figure {
newHorizContainer();
List<Color> colorStack = new ArrayList<Color>();
buildFigures(text, SWT.None, colorStack);
colorStack.add(ColorConstants.black);
// for some dark theme system like Ubuntu,if true use default system font color
buildFigures(text, SWT.None, colorStack, isSysDefaultColor);
setPreferredSize(computePreferedSize());
this.text = text;
}
private void buildFigures(final String newText, final int fontCode, final List<Color> colorStack) {
private void buildFigures(final String newText, final int fontCode, final List<Color> colorStack, boolean isSysDefaultColor) {
// Optimize
if (newText == null || newText.length() == 0) {
return;
@@ -164,7 +167,7 @@ public class SimpleHtmlFigure extends Figure {
if (isFirstIndex(boldIndex, italicIndex, fontIndex, brIndex)) {
if (boldIndex > 0) {
String begText = newText.substring(0, boldIndex);
buildFigures(begText, newFontCode, colorStack);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
}
newFontCode = newFontCode | SWT.BOLD;
@@ -173,17 +176,17 @@ public class SimpleHtmlFigure extends Figure {
if (endBoldIndex != -1) {
String boldText = newText.substring(boldIndex + TAG_BOLD_BEG.length(), endBoldIndex);
endText = newText.substring(endBoldIndex + TAG_BOLD_END.length());
buildFigures(boldText, newFontCode, colorStack);
buildFigures(boldText, newFontCode, colorStack, isSysDefaultColor);
} else {
endText = newText.substring(boldIndex + TAG_BOLD_BEG.length());
}
newFontCode = newFontCode ^ SWT.BOLD;
buildFigures(endText, newFontCode, colorStack);
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
} else if (isFirstIndex(italicIndex, boldIndex, fontIndex, brIndex)) {
if (italicIndex > 0) {
String begText = newText.substring(0, italicIndex);
buildFigures(begText, newFontCode, colorStack);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
}
newFontCode = newFontCode | SWT.ITALIC;
@@ -192,59 +195,52 @@ public class SimpleHtmlFigure extends Figure {
if (endItalicIndex != -1) {
String italicText = newText.substring(italicIndex + TAG_ITALIC_BEG.length(), endItalicIndex);
endText = newText.substring(endItalicIndex + TAG_ITALIC_END.length());
buildFigures(italicText, newFontCode, colorStack);
buildFigures(italicText, newFontCode, colorStack, isSysDefaultColor);
} else {
endText = newText.substring(italicIndex + TAG_ITALIC_BEG.length());
}
newFontCode = newFontCode ^ SWT.ITALIC;
buildFigures(endText, newFontCode, colorStack);
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
} else if (isFirstIndex(fontIndex, boldIndex, italicIndex, brIndex)) {
if (fontIndex > 0) {
String begText = newText.substring(0, fontIndex);
buildFigures(begText, newFontCode, colorStack);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
}
int colorIndex = newText.indexOf(TAG_FONT_COLOR_BEG_1);
Color color = null;
Color color;
int colorIndex2 = newText.indexOf(TAG_FONT_BEG_2);
if (colorIndex2 != -1) {
String colorCode = newText.substring(colorIndex + TAG_FONT_COLOR_BEG_1.length(), colorIndex2);
color = getColor(colorCode);
} else if (colorStack.size() > 0){
} else {
color = colorStack.get(colorStack.size() - 1);
}
boolean isPushed = false;
if (color != null) {
colorStack.add(color);
isPushed = true;
}
colorStack.add(color);
String endText;
int endColorIndex = newText.indexOf(TAG_FONT_END);
if (endColorIndex != -1) {
String colorText = newText.substring(colorIndex2 + TAG_FONT_BEG_2.length(), endColorIndex);
endText = newText.substring(endColorIndex + TAG_FONT_END.length());
buildFigures(colorText, newFontCode, colorStack);
buildFigures(colorText, newFontCode, colorStack, isSysDefaultColor);
} else {
endText = newText.substring(colorIndex2 + TAG_FONT_BEG_2.length());
}
if (isPushed) {
colorStack.remove(colorStack.size() - 1);
}
buildFigures(endText, newFontCode, colorStack);
colorStack.remove(colorStack.size() - 1);
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
} else if (isFirstIndex(brIndex, boldIndex, italicIndex, fontIndex)) {
if (brIndex > 0) {
String begText = newText.substring(0, brIndex);
buildFigures(begText, newFontCode, colorStack);
buildFigures(begText, newFontCode, colorStack, isSysDefaultColor);
}
newHorizContainer();
String endText = newText.substring(brIndex + TAG_BR.length());
buildFigures(endText, newFontCode, colorStack);
buildFigures(endText, newFontCode, colorStack, isSysDefaultColor);
} else {
Font fontToUse;
Label label = new Label();
@@ -263,10 +259,8 @@ public class SimpleHtmlFigure extends Figure {
}
}
label.setFont(fontToUse);
if (colorStack.size() > 0) {
if (!isSysDefaultColor) {
label.setForegroundColor(colorStack.get(colorStack.size() - 1));
} else {
label.setForegroundColor(DEFAULT_LABEL_COLOR); // Set label default foreground color
}
horizContainer.add(label);
}

View File

@@ -93,8 +93,8 @@
<RepositoryComponent
name="EXASOL"
withSchema="true"
input="tExasolInput"
output="tExasolOutput">
input="tEXAInput"
output="tEXAOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
@@ -187,10 +187,10 @@
<RepositoryComponent
name="GENERAL_JDBC"
withSchema="true"
input="JDBCInput"
output="JDBCOutput">
input="tJDBCInput"
output="tJDBCOutput">
<Item
clazz="org.talend.core.model.properties.TacokitDatabaseConnectionItem">
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="GENERAL_JDBC">
@@ -285,30 +285,6 @@
type="INFORMIX">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="INGRES"
withSchema="true"
input="tIngresInput"
output="tIngresOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="INGRES">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="VECTORWISE"
withSchema="true"
input="tVectorWiseInput"
output="tVectorWiseOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="VECTORWISE">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="JAVADB"
withSchema="true"
@@ -420,7 +396,18 @@
type="ORACLESN">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PLUSPSQL"
withSchema="true"
input="tPostgresPlusInput"
output="tPostgresPlusOutput">
<Item
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
</Item>
<DBType
type="PLUSPSQL">
</DBType>
</RepositoryComponent>
<RepositoryComponent
name="PSQL"
withSchema="true"

View File

@@ -39,19 +39,6 @@ public final class Constant {
*/
public static final String ITEM_EVENT_PROPERTY_KEY = "item"; //$NON-NLS-1$
/**
* key used to get/set the property of an event related to an item (REPOSITORY_ITEM_EVENT_PREFIX). The value is the
* cloudVersion string.
*/
public static final String VERSION_EVENT_CLOUD_KEY = "cloudVersion"; //$NON-NLS-1$
/**
* key used to get/set the property of an event related to an item (REPOSITORY_ITEM_EVENT_PREFIX). The value is the
* cloudName string.
*/
public static final String VERSION_EVENT_CLOUD_NAME = "cloudName"; //$NON-NLS-1$
/**
* key used to get/set the property of an event related to a list of files modified in the repository
* (REPOSITORY_ITEM_EVENT_PREFIX). The value is the Collection of String (list of all files modified).
@@ -69,11 +56,6 @@ public final class Constant {
*/
public static final String PROJECT_RELOAD_EVENT_SUFFIX = "project"; //$NON-NLS-1$
/**
* suffix used when issuing an event on the OSGI event bus when published to cloud.
*/
public static final String CLOUD_PUBLISH_EVENT_SUFFIX = "cloud"; //$NON-NLS-1$
/**
* key used to get/set the property of an event related to a list of files modified in the repository

View File

@@ -19,8 +19,6 @@ import org.talend.repository.model.RepositoryConstants;
*/
public interface FileConstants {
String DOT = ".";
String OLD_TALEND_PROJECT_FILENAME = "talendProject"; //$NON-NLS-1$
String LOCAL_PROJECT_FILENAME = "talend.project"; //$NON-NLS-1$
@@ -114,4 +112,5 @@ public interface FileConstants {
String TALEND_FOLDER_NAME = "TALEND-INF"; //$NON-NLS-1$
String MAVEN_FOLDER_NAME = "MAVEN-INF";
}

View File

@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=The totals of node reference
JobletReferenceDialog.project=Project
JobletReferenceDialog.ReferenceJob=Reference Job
JobletReferenceDialog.Title=Delete the joblet failure
ContextReferenceDialog.DeleteContext.Title=Delete Context
ContextReferenceDialog.Title=Delete Context Group
ContextReferenceDialog.Recycle=in Recycle Bin
ContextReferenceDialog.ReferenceJob=Reference Objects
ContextReferenceDialog.Types=Type
ContextReferenceDialog.NodeTypeTip=The type of node reference
ContextReferenceDialog.Messages=Context({0} {1}) is referenced from\:\n
ContextReferenceDialog.kindMessages2=The context of {0} {1} is referred by the following list, would you still like to delete it?
ContextReferenceDialog.kindMessages=The context group of {0} {1} is referred by the following list, if you really want to delete it, the context group is used in job will be changed to built-in when job is opened again. Would you still like to delete it?
ContextReferenceDialog.kindMessages1=The context group of {0} {1} is referred by the following list, Would you still like to delete it?
CopyToGenericSchemaHelper.cannotGenarateItem=Cannot generate pasted item label.
ProxyRepositoryFactory.ReplaceJobHazardDescription=\nDependence on the original connection may be lost\!
ItemReferenceDialog.title=Items which cannot be deleted
@@ -167,14 +168,12 @@ ProjectRepositoryNode.sapFunctions.inputSchema=Input
ProjectRepositoryNode.sapFunctions.outputSchema=Output
ProjectRepositoryNode.sapIDocs=SAP iDocs
ProjectRepositoryNode.sapTables=SAP Tables
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (Input)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (Output)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=SAP ADSO
ProjectRepositoryNode.sapBWDataSource=SAP DataSource
ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI Content Extractor
ProjectRepositoryNode.sapCDSView=SAP CDS View
RepositoryDropAdapter_copyingItems=Copying items...
RepositoryDropAdapter_errorMsg=This directory contains the locked item,it can not be moved now
RepositoryDropAdapter_lockedByOthers=This item is locked by other users, it can not be moved now.
@@ -204,4 +203,3 @@ RenameFolderAction.warning.cannotFind.title=Action not available
ConvertJobsUtil.warning.title=Warning
ConvertJobsUtil.warning.message=The target framework is not fully supported for this release.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Create stats log and implicit parameters
WizardPageAPIDefinition_operationIdMissing=API is missing operationIds. operationIds are used to initialize tRESTRequest/cRest output flows. See tRESTRequest/cRest online help.

View File

@@ -91,7 +91,7 @@ PasteAction.thisText.paste=Coller
DeleteAction.action.foreverTitle=Supprimer d\u00E9finitivement
DeleteAction.action.logicalTitle=Supprimer
DeleteAction.action.logicalToolTipText=Placer l'\u00E9l\u00E9ment dans la Corbeille
DeleteAction.deleteJobAssignedToOneService= est assign\u00E9 \u00E0 une op\u00E9ration d'un Service.\nSupprimer ce Job ?
DeleteAction.deleteJobAssignedToOneService= est attribu\u00E9 \u00E0 une op\u00E9ration d'un service.\nSupprimer ce Job ?
DeleteAction.deleteSomeJobsAssignedToServices= sont assign\u00E9s \u00E0 des op\u00E9rations de Services.\nSupprimer ces Jobs ?
DeleteAction.dialog.message0=sera supprim\u00E9 d\u00E9finitivement (r\u00E9cup\u00E9ration impossible).
DeleteAction.dialog.message1=Les \u00E9l\u00E9ments s\u00E9lectionn\u00E9s seront supprim\u00E9s d\u00E9finitivement (pas de r\u00E9cup\u00E9ration possible).
@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=Total des r\u00E9f\u00E9rences des noeuds
JobletReferenceDialog.project=Projet
JobletReferenceDialog.ReferenceJob=Job de r\u00E9f\u00E9rence
JobletReferenceDialog.Title=Supprimer l'\u00E9chec du Joblet
ContextReferenceDialog.DeleteContext.Title=Supprimer le contexte
ContextReferenceDialog.Title=Supprimer le groupe de contextes
ContextReferenceDialog.Recycle=dans la Corbeille
ContextReferenceDialog.ReferenceJob=Objets de r\u00E9f\u00E9rence
ContextReferenceDialog.Types=Type
ContextReferenceDialog.NodeTypeTip=Type de r\u00E9f\u00E9rences du n\u0153ud
ContextReferenceDialog.Messages=Le contexte({0} {1}) est r\u00E9f\u00E9renc\u00E9 dans :\n
ContextReferenceDialog.kindMessages2=Les \u00E9l\u00E9ments de la liste suivante font r\u00E9f\u00E9rence au contexte de {0} {1} . Souhaitez-vous quand m\u00EAme le supprimer\u00A0?
ContextReferenceDialog.kindMessages=Le groupe de contextes de {0} {1} est r\u00E9f\u00E9renc\u00E9 par la liste suivante. Si vous souhaitez le supprimer, le groupe de contextes du Job sera chang\u00E9 en Built-In \u00E0 la prochaine ouverture du Job. Le supprimer malgr\u00E9 tout ?
ContextReferenceDialog.kindMessages1=Le groupe de contextes {0} {1} est r\u00E9f\u00E9renc\u00E9 par la liste suivante. Le supprimer malgr\u00E9 tout ?
CopyToGenericSchemaHelper.cannotGenarateItem=Impossible de g\u00E9n\u00E9rer le libell\u00E9 de l'\u00E9l\u00E9ment coll\u00E9.
ProxyRepositoryFactory.ReplaceJobHazardDescription=\nLes d\u00E9pendances envers la connexion originale peuvent \u00EAtre perdues.
ItemReferenceDialog.title=\u00C9lements ne pouvant \u00EAtre supprim\u00E9s
@@ -167,14 +168,12 @@ ProjectRepositoryNode.sapFunctions.inputSchema=Lecture
ProjectRepositoryNode.sapFunctions.outputSchema=Sortie
ProjectRepositoryNode.sapIDocs=SAP IDoc
ProjectRepositoryNode.sapTables=Tables SAP
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (Entr\u00E9e)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (Sortie)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=ADSO SAP
ProjectRepositoryNode.sapBWDataSource=Source des donn\u00E9es SAP
ProjectRepositoryNode.sapBWDataStoreObject=Objet Data Store SAP
ProjectRepositoryNode.sapBWInfoCube=InfoCube SAP
ProjectRepositoryNode.sapBWInfoObject=InfoObject SAP
ProjectRepositoryNode.sapContentExtractor=Extracteur SAP BI Content
ProjectRepositoryNode.sapCDSView=Vue SAP CDS
RepositoryDropAdapter_copyingItems=Copie des \u00E9l\u00E9ments...
RepositoryDropAdapter_errorMsg=Ce r\u00E9pertoire contient l'\u00E9l\u00E9ment verrouill\u00E9, il ne peut \u00EAtre d\u00E9plac\u00E9
RepositoryDropAdapter_lockedByOthers=Cet \u00E9l\u00E9ment est verrouill\u00E9 par d'autres utilisateurs, impossible de le d\u00E9placer.
@@ -204,4 +203,3 @@ RenameFolderAction.warning.cannotFind.title=Action non disponible
ConvertJobsUtil.warning.title=Avertissement
ConvertJobsUtil.warning.message=Le framework cible n'est pas totalement support\u00E9 dans cette version.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=Cr\u00E9er des logs de stat et des param\u00E8tres implicites.
WizardPageAPIDefinition_operationIdMissing=Des operationIds manquent dans l'API. Ces operationIds sont utilis\u00E9s pour initialiser les flux de sortie du tRESTRequest/cRest. Consultez l'aide en ligne des composants tRESTRequest/cRest.

View File

@@ -56,7 +56,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.Name=\u540D\u524D
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002
@@ -91,15 +91,15 @@ PasteAction.thisText.paste=\u8CBC\u308A\u4ED8\u3051
DeleteAction.action.foreverTitle=\u5B8C\u5168\u306B\u524A\u9664
DeleteAction.action.logicalTitle=\u524A\u9664
DeleteAction.action.logicalToolTipText=\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u3054\u307F\u7BB1\u306B\u5165\u308C\u308B
DeleteAction.deleteJobAssignedToOneService= 1\u3064\u306E\u30B5\u30FC\u30D3\u30B9\u306E1\u3064\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u307E\u3057\u305F!\n\u3053\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.deleteSomeJobsAssignedToServices= \u4E00\u90E8\u306E\u30B5\u30FC\u30D3\u30B9\u306E\u4E00\u90E8\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u307E\u3057\u305F!\n\u3053\u308C\u3089\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.dialog.message0=\u3054\u307F\u7BB1\u3092\u7A7A\u306B\u3059\u308B(\u5FA9\u5143\u3067\u304D\u307E\u305B\u3093)
DeleteAction.deleteJobAssignedToOneService= \u306F\u30B5\u30FC\u30D3\u30B9\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u307E\u3059!\n\u3053\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.deleteSomeJobsAssignedToServices= \u306F\u4E00\u90E8\u306E\u30B5\u30FC\u30D3\u30B9\u306E\u4E00\u90E8\u306E\u64CD\u4F5C\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u307E\u3059!\n\u3053\u308C\u3089\u306E\u30B8\u30E7\u30D6\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
DeleteAction.dialog.message0=\u3054\u307F\u7BB1\u3092\u7A7A\u306B\u3059\u308B(\u5FA9\u65E7\u3067\u304D\u307E\u305B\u3093)
DeleteAction.dialog.message1=\u9078\u629E\u3057\u305F\u30A8\u30EC\u30E1\u30F3\u30C8\u306F\u5B8C\u5168\u306B\u524A\u9664\u3055\u308C\u307E\u3059\u3002
DeleteAction.dialog.message2=\u7D9A\u884C\u3057\u307E\u3059\u304B?
DeleteAction.dialog.messageAllElements=\u30A8\u30EC\u30E1\u30F3\u30C8\u306F\u3059\u3079\u3066\u5B8C\u5168\u306B\u524A\u9664\u3055\u308C\u307E\u3059(\u53D6\u5F97\u4E0D\u53EF\u80FD)\u3002
DeleteAction.dialog.title=\u5B8C\u5168\u306B\u524A\u9664
DeleteAction.error.lockedOrOpenedObject.newMessage={0}\u306F\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n \u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u3059\u308B\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage={0}\u306E\u30C6\u30B9\u30C8\u30B1\u30FC\u30B9\u306F\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n \u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304C\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u3059\u308B\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.lockedOrOpenedObject.newMessage={0}\u304C\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n\u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage={0}\u306E\u30C6\u30B9\u30C8\u30B1\u30FC\u30B9\u304C\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u3001\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\n\u3053\u306E\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u3092\u958B\u3044\u3066\u3044\u308B\u5834\u5408\u306F\u3001\u524A\u9664\u524D\u306B\u9589\u3058\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
DeleteAction.error.title=\u524A\u9664\u7981\u6B62
DeleteAction.warning.message1=\u30D5\u30A9\u30EB\u30C0\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u958B\u304B\u308C\u3066\u3044\u308B\u305F\u3081\u30D5\u30A9\u30EB\u30C0\u3092\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002\u3059\u3079\u3066\u306E\u30A2\u30A4\u30C6\u30E0\u3092\u9589\u3058\u305F\u72B6\u614B\u3067\u518D\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
DeleteAction.warning.title=\u8B66\u544A
@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=\u30CE\u30FC\u30C9\u53C2\u7167\u306E\u5408\u
JobletReferenceDialog.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8
JobletReferenceDialog.ReferenceJob=\u53C2\u7167\u30B8\u30E7\u30D6
JobletReferenceDialog.Title=\u30B8\u30E7\u30D6\u30EC\u30C3\u30C8\u306E\u5931\u6557\u3092\u524A\u9664
ContextReferenceDialog.DeleteContext.Title=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306E\u524A\u9664
ContextReferenceDialog.Title=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664
ContextReferenceDialog.Recycle=\u3054\u307F\u7BB1\u5185
ContextReferenceDialog.ReferenceJob=\u53C2\u7167\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8
ContextReferenceDialog.Types=\u30BF\u30A4\u30D7
ContextReferenceDialog.NodeTypeTip=\u30CE\u30FC\u30C9\u53C2\u7167\u306E\u30BF\u30A4\u30D7
ContextReferenceDialog.Messages=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8({0} {1})\u306E\u53C2\u7167\u5143:\n
ContextReferenceDialog.kindMessages2={0}{1}\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304C\u6B21\u306E\u30EA\u30B9\u30C8\u306B\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u524A\u9664\u3057\u307E\u3059\u304B?
ContextReferenceDialog.Messages=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8({0} {1})\u306F\n\u304B\u3089\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059
ContextReferenceDialog.kindMessages={0} {1}\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u306F\u6B21\u306E\u30EA\u30B9\u30C8\u306B\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u524A\u9664\u3057\u305F\u3044\u5834\u5408\u306F\u3001\u30B8\u30E7\u30D6\u304C\u3082\u3046\u4E00\u5EA6\u958B\u304B\u308C\u305F\u6642\u306B\u3001\u30B8\u30E7\u30D6\u3067\u4F7F\u7528\u3055\u308C\u308B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u306F\u7D44\u307F\u8FBC\u307F\u306B\u5909\u63DB\u3055\u308C\u307E\u3059\u3002\u524A\u9664\u3057\u307E\u3059\u304B?
ContextReferenceDialog.kindMessages1={0} {1}\u306E\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u304C\u4EE5\u4E0B\u306E\u30EA\u30B9\u30C8\u306B\u53C2\u7167\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u524A\u9664\u3057\u307E\u3059\u304B?
CopyToGenericSchemaHelper.cannotGenarateItem=\u8CBC\u4ED8\u3051\u3055\u308C\u305F\u30A2\u30A4\u30C6\u30E0\u30E9\u30D9\u30EB\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3002
ProxyRepositoryFactory.ReplaceJobHazardDescription=\n\u5143\u306E\u63A5\u7D9A\u3078\u306E\u4F9D\u5B58\u304C\u5931\u308F\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059!
ItemReferenceDialog.title=\u524A\u9664\u3067\u304D\u306A\u3044\u30A2\u30A4\u30C6\u30E0
@@ -155,7 +156,7 @@ ProjectRepositoryNode.invalidItem=\u7121\u52B9\u306A\u30A2\u30A4\u30C6\u30E0
ProjectRepositoryNode.columns=\u30AB\u30E9\u30E0
ProjectRepositoryNode.validationRules=\u691C\u8A3C\u30EB\u30FC\u30EB
ProjectRepositoryNode.cdcFoundation=CDC Foundation
ProjectRepositoryNode.genericSchema=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AF\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.genericSchema=\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.queries=\u30AF\u30A8\u30EA\u30FC
ProjectRepositoryNode.synonymSchemas=\u30B7\u30CE\u30CB\u30E0\u30B9\u30AD\u30FC\u30DE
ProjectRepositoryNode.calculationViewSchemas=\u8A08\u7B97\u30D3\u30E5\u30FC\u30B9\u30AD\u30FC\u30DE
@@ -167,14 +168,12 @@ ProjectRepositoryNode.sapFunctions.inputSchema=\u5165\u529B
ProjectRepositoryNode.sapFunctions.outputSchema=\u51FA\u529B
ProjectRepositoryNode.sapIDocs=SAP iDocs
ProjectRepositoryNode.sapTables=SAP\u30C6\u30FC\u30D6\u30EB
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (\u5165\u529B)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (\u51FA\u529B)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=SAP ADSO
ProjectRepositoryNode.sapBWDataSource=SAP DataSource
ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI\u30B3\u30F3\u30C6\u30F3\u30C4\u30A8\u30AF\u30B9\u30C8\u30E9\u30AF\u30BF\u30FC
ProjectRepositoryNode.sapCDSView=SAP CDS\u30D3\u30E5\u30FC
RepositoryDropAdapter_copyingItems=\u30A2\u30A4\u30C6\u30E0\u3092\u30B3\u30D4\u30FC\u4E2D...
RepositoryDropAdapter_errorMsg=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u306B\u30ED\u30C3\u30AF\u3055\u308C\u305F\u30A2\u30A4\u30C6\u30E0\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u73FE\u5728\u3001\u79FB\u52D5\u3067\u304D\u307E\u305B\u3093,
RepositoryDropAdapter_lockedByOthers=\u3053\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u4ED6\u306E\u30E6\u30FC\u30B6\u30FC\u306B\u3088\u3063\u3066\u30ED\u30C3\u30AF\u3055\u308C\u307E\u3057\u305F\u3002\u73FE\u5728\u3001\u79FB\u52D5\u3067\u304D\u307E\u305B\u3093\u3002
@@ -197,11 +196,10 @@ CreateFolderAction.action.toolTipText=\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u4F5C
RenameFolderAction.action.title=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4
RenameFolderAction.action.toolTipText=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4
RenameFolderAction.description=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4
RenameFolderAction.warning.editorOpen.message=\u73FE\u5728\u3001\u3053\u306E\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u542B\u307E\u308C\u3066\u3044\u308B\u30A2\u30A4\u30C6\u30E0({0})\u304C\u958B\u304B\u308C\u3066\u3044\u308B\u305F\u3081\u3001"{1}"\u30D5\u30A9\u30EB\u30C0\u30FC\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002\n\u9589\u3058\u3066\u304B\u3089\u3084\u308A\u76F4\u3057\u3066\u307F\u3066\u304F\u3060\u3055\u3044\u3002
RenameFolderAction.warning.editorOpen.message=\u73FE\u5728\u3001\u3053\u306E\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u542B\u307E\u308C\u308B\u30A2\u30A4\u30C6\u30E0({0})\u304C\u958B\u304B\u308C\u3066\u3044\u308B\u305F\u3081\u3001"{1}" \u30D5\u30A9\u30EB\u30C0\u30FC\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002\n\u9589\u3058\u3066\u3001\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002
RenameFolderAction.warning.editorOpen.title=\u4F7F\u7528\u3067\u304D\u306A\u3044\u30A2\u30AF\u30B7\u30E7\u30F3
RenameFolderAction.warning.cannotFind.message=\u30D5\u30A9\u30EB\u30C0\u30FC\u540D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093\u3002\u79FB\u52D5\u3055\u308C\u305F\u304B\u3001\u524A\u9664\u3055\u308C\u305F\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u66F4\u65B0\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3001\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u3092\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044\u3002
RenameFolderAction.warning.cannotFind.title=\u4F7F\u7528\u3067\u304D\u306A\u3044\u30A2\u30AF\u30B7\u30E7\u30F3
ConvertJobsUtil.warning.title=\u8B66\u544A
ConvertJobsUtil.warning.message=\u3053\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u306F\u3001\u30BF\u30FC\u30B2\u30C3\u30C8\u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u304C\u5B8C\u5168\u306B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=\u7D71\u8A08\u30ED\u30B0\u3068\u6697\u9ED9\u7684\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u3092\u4F5C\u6210
WizardPageAPIDefinition_operationIdMissing=API\u3067operationIds\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002operationIds\u306F\u3001tRESTRequest/cRest\u51FA\u529B\u30D5\u30ED\u30FC\u3092\u521D\u671F\u5316\u3059\u308B\u305F\u3081\u306B\u4F7F\u308F\u308C\u307E\u3059\u3002tRESTRequest/cRest\u306E\u30AA\u30F3\u30E9\u30A4\u30F3\u30D8\u30EB\u30D7\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002

View File

@@ -91,15 +91,15 @@ PasteAction.thisText.paste=\u7C98\u8D34
DeleteAction.action.foreverTitle=\u6C38\u4E45\u5220\u9664
DeleteAction.action.logicalTitle=\u5220\u9664
DeleteAction.action.logicalToolTipText=\u5C06\u5BF9\u8C61\u653E\u5165\u56DE\u6536\u7AD9
DeleteAction.deleteJobAssignedToOneService= \u88AB\u5206\u914D\u7ED9\u4E00\u4E2A\u670D\u52A1\u7684\u4E00\u4E2A\u64CD\u4F5C\uFF01\n\u662F\u5426\u8981\u5220\u9664\u6B64\u4F5C\u4E1A\uFF1F
DeleteAction.deleteSomeJobsAssignedToServices= \u88AB\u5206\u914D\u7ED9\u4E00\u4E9B\u670D\u52A1\u7684\u4E00\u4E9B\u64CD\u4F5C\n\u662F\u5426\u8981\u5220\u9664\u8FD9\u4E9B\u4F5C\u4E1A\uFF1F
DeleteAction.deleteJobAssignedToOneService= \u88AB\u5206\u914D\u7ED9\u670D\u52A1\u7684\u4E00\u4E2A\u64CD\u4F5C\uFF01\n\u662F\u5426\u8981\u5220\u9664\u6B64\u4F5C\u4E1A\uFF1F
DeleteAction.deleteSomeJobsAssignedToServices= \u88AB\u5206\u914D\u7ED9\u4E00\u4E9B\u670D\u52A1\u7684\u4E00\u4E9B\u64CD\u4F5C\uFF01\n\u662F\u5426\u8981\u5220\u9664\u8FD9\u4E9B\u4F5C\u4E1A\uFF1F
DeleteAction.dialog.message0=\u5C06\u6C38\u4E45\u5220\u9664 (\u4E0D\u53EF\u6062\u590D)\u3002
DeleteAction.dialog.message1=\u6240\u9009\u5143\u7D20\u5C06\u6C38\u4E45\u5220\u9664 (\u65E0\u6CD5\u6062\u590D)\u3002
DeleteAction.dialog.message2=\u4ECD\u7136\u7EE7\u7EED\uFF1F
DeleteAction.dialog.messageAllElements=\u6240\u6709\u5143\u7D20\u90FD\u5C06\u6C38\u4E45\u5220\u9664 (\u65E0\u6CD5\u6062\u590D)\u3002
DeleteAction.dialog.title=\u6C38\u4E45\u5220\u9664
DeleteAction.error.lockedOrOpenedObject.newMessage={0} \u5DF2\u88AB\u9501\u5B9A\uFF0C\u56E0\u6B64\u65E0\u6CD5\u5220\u9664\u3002\n \u5982\u679C\u6B64\u5BF9\u8C61\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5C06\u5176\u5173\u95ED\u4E4B\u540E\u624D\u80FD\u5220\u9664\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage={0} \u7684\u6D4B\u8BD5\u7528\u4F8B\u5DF2\u88AB\u9501\u5B9A\uFF0C\u56E0\u6B64\u65E0\u6CD5\u5220\u9664\u3002\n \u5982\u679C\u6B64\u5BF9\u8C61\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5C06\u5176\u5173\u95ED\u4E4B\u540E\u624D\u80FD\u5220\u9664\u3002
DeleteAction.error.lockedOrOpenedObject.newMessage={0} \u5DF2\u9501\u5B9A\uFF0C\u56E0\u6B64\u60A8\u4E0D\u80FD\u5220\u9664\u5B83\u3002\n\u5982\u679C\u6B64\u5BF9\u8C61\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5C06\u5176\u5173\u95ED\u4E4B\u540E\u624D\u80FD\u5220\u9664\u3002
DeleteAction.error.testCaseLockedOrOpenedObject.newMessage=\u6D4B\u8BD5\u7528\u4F8B{0}\u88AB\u9501\u5B9A\uFF0C\u56E0\u6B64\u60A8\u65E0\u6CD5\u5220\u9664\u5B83\u3002\n\u5982\u679C\u6B64\u5BF9\u8C61\u88AB\u6253\u5F00\uFF0C\u60A8\u5FC5\u987B\u5728\u5220\u9664\u4E4B\u524D\u5173\u95ED\u5B83\u3002
DeleteAction.error.title=\u7981\u6B62\u5220\u9664
DeleteAction.warning.message1=\u65E0\u6CD5\u5220\u9664\u8BE5\u6587\u4EF6\u5939\uFF0C\u56E0\u4E3A\u5176\u4E2D\u81F3\u5C11\u6709\u4E00\u4E2A\u9879\u76EE\u5F53\u524D\u5904\u4E8E\u6253\u5F00\u72B6\u6001\u3002\u5173\u95ED\u6240\u6709\u6253\u5F00\u7684\u9879\u76EE\u5E76\u91CD\u8BD5\u3002
DeleteAction.warning.title=\u8B66\u544A
@@ -117,7 +117,7 @@ DuplicateAction.SameAsProjectname=\u540D\u79F0\u4E0E\u5DE5\u7A0B\u540D\u79F0\u76
EmptyRecycleBinAction.action.title=\u6E05\u7A7A\u56DE\u6536\u7AD9
EmptyRecycleBinAction.action.toolTipText=\u6E05\u7A7A\u56DE\u6536\u7AD9
EmptyRecycleBinAction.dialog.title=\u6E05\u7A7A\u56DE\u6536\u7AD9
EmptyRecycleBinAction.dialog.allDependencies=\u60A8\u4E0D\u80FD\u6E05\u7A7A\u56DE\u6536\u7AD9\u3002\nData Profiler \u900F\u89C6\u56FE\u4F9D\u8D56\u5176\u4E2D\u4E00\u4E2A\u9879\u76EE\uFF0C\u8BF7\u4E0D\u8981\u5220\u9664\u5B83\u3002
EmptyRecycleBinAction.dialog.allDependencies=\u4F60\u4E0D\u80FD\u6E05\u7A7A\u56DE\u6536\u7AD9\u3002\nData Profiler Perspective \u4EE5\u6765\u5176\u4E2D\u4E00\u4E2A\u9879\u76EE\uFF0C\u8BF7\u4E0D\u8981\u5220\u9664\u5B83\u3002
PasteObjectAction.error.labelAlreadyExists=\u6B64\u8DEF\u5F84\u4E0B\u5DF2\u5B58\u5728\u5E26\u6709\u8BE5\u6807\u7B7E\u7684\u5BF9\u8C61
PasteObjectAction.error.title=\u65E0\u6CD5\u7C98\u8D34
JobletReferenceDialog.DeletedInfor=\u5728\u56DE\u6536\u7AD9
@@ -127,13 +127,14 @@ JobletReferenceDialog.NodeTotalsTip=\u8282\u70B9\u5F15\u7528\u603B\u6570
JobletReferenceDialog.project=\u5DE5\u7A0B
JobletReferenceDialog.ReferenceJob=\u5F15\u7528\u4F5C\u4E1A
JobletReferenceDialog.Title=\u5220\u9664\u5C0F\u4F5C\u4E1A\u5931\u8D25
ContextReferenceDialog.DeleteContext.Title=\u5220\u9664\u4E0A\u4E0B\u6587
ContextReferenceDialog.Title=\u5220\u9664\u73AF\u5883\u7EC4
ContextReferenceDialog.Recycle=\u5728\u56DE\u6536\u7AD9
ContextReferenceDialog.ReferenceJob=\u5F15\u7528\u5BF9\u8C61
ContextReferenceDialog.Types=\u7C7B\u578B
ContextReferenceDialog.NodeTypeTip=\u8282\u70B9\u5F15\u7528\u7684\u7C7B\u578B
ContextReferenceDialog.Messages=\u4E0A\u4E0B\u6587 ({0} {1}) \u5F15\u7528\u81EA\uFF1A\n
ContextReferenceDialog.kindMessages2={0} {1} \u7684\u4E0A\u4E0B\u6587\u7EC4\u4EE5\u4E0B\u5217\u8868\u5F15\u7528\uFF0C\u662F\u5426\u4ECD\u60F3\u5C06\u5176\u5220\u9664\uFF1F
ContextReferenceDialog.kindMessages={0} {1} \u7684\u4E0A\u4E0B\u6587\u7EC4\u88AB\u4EE5\u4E0B\u5217\u8868\u5F15\u7528\uFF0C\u5982\u679C\u786E\u5B9E\u60F3\u8981\u5C06\u5176\u5220\u9664\uFF0C\u518D\u6B21\u6253\u5F00\u4F5C\u4E1A\u65F6\uFF0C\u4F5C\u4E1A\u4E2D\u6240\u7528\u7684\u4E0A\u4E0B\u6587\u7EC4\u5C06\u6539\u4E3A\u5185\u7F6E\u3002\u662F\u5426\u4ECD\u60F3\u5C06\u5176\u5220\u9664\uFF1F
ContextReferenceDialog.kindMessages1={0} {1} \u7684\u4E0A\u4E0B\u6587\u7EC4\u88AB\u4EE5\u4E0B\u5217\u8868\u5F15\u7528\uFF0C\u662F\u5426\u4ECD\u60F3\u5C06\u5176\u5220\u9664\uFF1F
CopyToGenericSchemaHelper.cannotGenarateItem=\u65E0\u6CD5\u751F\u6210\u7C98\u8D34\u9879\u76EE\u6807\u7B7E\u3002
ProxyRepositoryFactory.ReplaceJobHazardDescription=\n\u5BF9\u539F\u59CB\u8FDE\u63A5\u7684\u4F9D\u8D56\u53EF\u80FD\u4F1A\u4E22\u5931\uFF01
ItemReferenceDialog.title=\u65E0\u6CD5\u5220\u9664\u7684\u9879\u76EE
@@ -167,14 +168,12 @@ ProjectRepositoryNode.sapFunctions.inputSchema=\u8F93\u5165
ProjectRepositoryNode.sapFunctions.outputSchema=\u8F93\u51FA
ProjectRepositoryNode.sapIDocs=SAP iDocs
ProjectRepositoryNode.sapTables=SAP \u8868
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input=SAP ADSO (\u8F93\u5165)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output=SAP ADSO (\u8F93\u51FA)
ProjectRepositoryNode.sapBWAdvancedDataStoreObject=SAP ADSO
ProjectRepositoryNode.sapBWDataSource=SAP DataSource
ProjectRepositoryNode.sapBWDataStoreObject=SAP DSO
ProjectRepositoryNode.sapBWInfoCube=SAP InfoCube
ProjectRepositoryNode.sapBWInfoObject=SAP InfoObject
ProjectRepositoryNode.sapContentExtractor=SAP BI \u5185\u5BB9\u63D0\u53D6\u5668
ProjectRepositoryNode.sapCDSView=SAP CDS \u89C6\u56FE
RepositoryDropAdapter_copyingItems=\u6B63\u5728\u590D\u5236\u9879\u76EE...
RepositoryDropAdapter_errorMsg=\u6B64\u76EE\u5F55\u5305\u542B\u9501\u5B9A\u7684\u9879\u76EE\uFF0C\u73B0\u5728\u65E0\u6CD5\u79FB\u52A8
RepositoryDropAdapter_lockedByOthers=\u6B64\u9879\u76EE\u88AB\u5176\u4ED6\u7528\u6237\u9501\u5B9A\uFF0C\u73B0\u5728\u65E0\u6CD5\u79FB\u52A8\u3002
@@ -204,4 +203,3 @@ RenameFolderAction.warning.cannotFind.title=\u64CD\u4F5C\u4E0D\u53EF\u7528
ConvertJobsUtil.warning.title=\u8B66\u544A
ConvertJobsUtil.warning.message=\u6B64\u7248\u672C\u4E0D\u5B8C\u5168\u652F\u6301\u76EE\u6807\u6846\u67B6.
SyncLibrariesLoginTask.createStatsLogAndImplicitParamter=\u521B\u5EFA\u7EDF\u8BA1\u65E5\u5FD7\u548C\u9690\u5F0F\u53C2\u6570
WizardPageAPIDefinition_operationIdMissing=API \u7F3A\u5931 operationId \u53C2\u6570\uFF0C\u8FD9\u4E9B operationId \u53C2\u6570\u7528\u6765\u521D\u59CB\u5316 tRESTRequest \u6216 cRest \u8F93\u51FA\u6D41\u3002\u8BF7\u53C2\u89C1 tRESTRequest \u6216 cRest \u5728\u7EBF\u5E2E\u52A9\u6587\u6863\u3002

View File

@@ -130,7 +130,7 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
ERepositoryObjectType.METADATA_FILE_RULES, ERepositoryObjectType.METADATA_FILE_HL7,
ERepositoryObjectType.METADATA_FILE_FTP, ERepositoryObjectType.METADATA_FILE_BRMS,
ERepositoryObjectType.METADATA_MDMCONNECTION, ERepositoryObjectType.METADATA_HEADER_FOOTER,
ERepositoryObjectType.JOB_SCRIPT, ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS };
ERepositoryObjectType.JOB_SCRIPT };
List<IRepositoryViewObject> deletedItems = new ArrayList<IRepositoryViewObject>();
for (ERepositoryObjectType type : types) {
@@ -260,7 +260,6 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
if (type == ERepositoryObjectType.METADATA_CON_TABLE) {
return false;
}
boolean isAllowMultipleName = (type == ERepositoryObjectType.SQLPATTERNS || type == ERepositoryObjectType.METADATA_FILE_XML);
String path = "";
if (item.getState() != null) {
@@ -873,38 +872,25 @@ public abstract class AbstractEMFRepositoryFactory extends AbstractRepositoryFac
@Override
public IRepositoryViewObject getLastVersion(Project project, String id, String relativeFolder, ERepositoryObjectType type)
throws PersistenceException {
List<IRepositoryViewObject> serializableAllVersion = new ArrayList<>();
if (lastFolderForItemMap.containsKey(id)) {
ERepositoryObjectType itemType = lastRepositoryTypeForItemMap.get(id);
String currentPath = lastFolderForItemMap.get(id);
Object fullFolder = getFullFolder(project, itemType, currentPath);
try {
if (fullFolder != null && (fullFolder instanceof FolderItem || ((IFolder) fullFolder).exists())) {
serializableAllVersion.addAll(getSerializableFromFolder(project, fullFolder, id, itemType, false, false, true, true));
}
} catch (PersistenceException e) {
// do nothing.
// if any exception happen or can't find the item, just try to look for it everywhere.
}
}
List<IRepositoryViewObject> serializableAllVersion = null;
Object fullFolder = getFullFolder(project, type, relativeFolder);
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, false, true, true);
if (serializableAllVersion.isEmpty()) {
Object fullFolder = getFullFolder(project, type, relativeFolder);
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, false, true, true);
if (serializableAllVersion.isEmpty()) {
// look in all folders for this item type
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, true, true, true, true);
}
// look in all folders for this item type
serializableAllVersion = getSerializableFromFolder(project, fullFolder, id, type, false, true, true, true, true);
}
int size = serializableAllVersion.size();
if (size > 1) {
String message = getItemsMessages(serializableAllVersion, size);
throw new PersistenceException(Messages.getString(
"AbstractEMFRepositoryFactory.presistenceException.OnlyOneOccurenceMustbeFound", message)); //$NON-NLS-1$
}
if (size == 1) {
} else if (size == 1) {
return serializableAllVersion.get(0);
} else {
return null;
}
return null;
}
protected void computePropertyMaxInformationLevel(Property property) {

View File

@@ -184,7 +184,6 @@ public abstract class AbstractRepositoryFactory implements IRepositoryFactory {
collect(getMetadata(project, ERepositoryObjectType.METADATA_FILE_LDIF), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_CONNECTIONS), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_SAPCONNECTIONS), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_HEADER_FOOTER), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_LDAP_SCHEMA), result);
collect(getMetadata(project, ERepositoryObjectType.METADATA_GENERIC_SCHEMA), result);

View File

@@ -1,267 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.repository.model;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Level;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.ICoreService;
import org.talend.core.PluginChecker;
import org.talend.core.model.properties.Property;
import org.talend.core.model.properties.RoutineItem;
import org.talend.core.model.properties.SQLPatternItem;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.pendo.AbstractPendoTrackManager;
import org.talend.core.pendo.PendoDataTrackFactory;
import org.talend.core.pendo.PendoItemSignatureUtil;
import org.talend.core.pendo.PendoItemSignatureUtil.SignatureStatus;
import org.talend.core.pendo.PendoItemSignatureUtil.TOSProdNameEnum;
import org.talend.core.pendo.PendoItemSignatureUtil.ValueEnum;
import org.talend.core.pendo.PendoTrackDataUtil;
import org.talend.core.pendo.TrackEvent;
import org.talend.core.pendo.properties.IPendoDataProperties;
import org.talend.core.pendo.properties.PendoSignLogonProperties;
import org.talend.utils.migration.MigrationTokenUtil;
/**
* DOC jding class global comment. Detailled comment
*/
public class PendoItemSignatureManager extends AbstractPendoTrackManager {
private static PendoItemSignatureManager manager;
private static boolean isTrackAvailable;
static {
manager = new PendoItemSignatureManager();
try {
isTrackAvailable = PluginChecker.isTIS() && PendoDataTrackFactory.getInstance().isTrackSendAvailable();
} catch (Exception e) {
ExceptionHandler.process(e, Level.WARN);
}
}
private PendoItemSignatureManager() {
}
public static PendoItemSignatureManager getInstance() {
return manager;
}
private Set<String> signByLoginMigrationItems = new HashSet<String>();
public void countItemSignByMigration(String file) {
if (!isTrackAvailable) {
return;
}
if (!ProxyRepositoryFactory.getInstance().isFullLogonFinished()) {
signByLoginMigrationItems.add(file);
}
}
public IPendoDataProperties collectProperties() {
ICoreService coreService = ICoreService.get();
if (coreService == null || !isTrackAvailable) {
return null;
}
PendoSignLogonProperties itemSignProperties = new PendoSignLogonProperties();
try {
itemSignProperties.setSignByMigration(signByLoginMigrationItems.size());
String seperator = "@";
Map<String, Integer> tosUnsignItemMap = new HashMap<String, Integer>();
Map<String, Integer> invalidItemVersionMap = new HashMap<String, Integer>();
Set<String> checkedItem = new HashSet<String>();
ProxyRepositoryFactory proxyRepositoryFactory = ProxyRepositoryFactory.getInstance();
ERepositoryObjectType[] types = (ERepositoryObjectType[]) ERepositoryObjectType.values();
for (ERepositoryObjectType type : types) {
List<IRepositoryViewObject> allObjectList = proxyRepositoryFactory.getAll(type);
for (IRepositoryViewObject repositoryObject : allObjectList) {
Property property = repositoryObject.getProperty();
if (property == null || property.eResource() == null) {
continue;
}
String itemKey = repositoryObject.getRepositoryObjectType() + seperator + property.getId() + seperator
+ property.getVersion();
if (isBuiltInItem(repositoryObject) || checkedItem.contains(itemKey)) {
continue;
}
checkedItem.add(itemKey);
Integer verifyResult = null;
try {
verifyResult = coreService.getSignatureVerifyResult(property, null, false);
if (verifyResult != null) {
switch (verifyResult) {
case SignatureStatus.V_VALID:
itemSignProperties.setValidItems(itemSignProperties.getValidItems() + 1);
break;
case SignatureStatus.V_UNSIGNED:
String itemProductName = PendoItemSignatureUtil
.getItemProductName(property);
if (StringUtils.isNotBlank(itemProductName)) {
String tosCategory = TOSProdNameEnum.getTOSCategoryByProdName(itemProductName);
if (StringUtils.isBlank(tosCategory)) {
itemSignProperties.setUnsignEEItems(itemSignProperties.getUnsignEEItems() + 1);
} else {
if (tosUnsignItemMap.get(tosCategory) == null) {
tosUnsignItemMap.put(tosCategory, 0);
}
tosUnsignItemMap.put(tosCategory, tosUnsignItemMap.get(tosCategory) + 1);
}
}
addInvalidItemVersion(property, invalidItemVersionMap);
break;
default:
addInvalidItemVersion(property, invalidItemVersionMap);
itemSignProperties.setInvalidSignItems(itemSignProperties.getInvalidSignItems() + 1);
}
}
} catch (Exception e) {
ExceptionHandler.process(e, Level.WARN);
if (verifyResult == null) {
// exception during verify
addInvalidItemVersion(property, invalidItemVersionMap);
itemSignProperties.setInvalidSignItems(itemSignProperties.getInvalidSignItems() + 1);
}
}
}
}
itemSignProperties.setInvalidItemSourceVersion(getSortInvalidItems(invalidItemVersionMap));
itemSignProperties.setUnsignSEItems(getSortTOSUnsignItems(tosUnsignItemMap));
itemSignProperties.setStudioVersion(PendoItemSignatureUtil.getStudioVersion());
if (coreService.isInValidGP()) {
itemSignProperties.setGracePeriod(ValueEnum.YES.getDisplayValue());
} else {
itemSignProperties.setGracePeriod(ValueEnum.NO.getDisplayValue());
}
String prodDate = PendoItemSignatureUtil.formatDate(System.getProperty(PendoItemSignatureUtil.PROD_DATE_ID),
"yyyy-MM-dd");
itemSignProperties.setInstallDate(prodDate);
String projectCreateDate = PendoItemSignatureUtil.getCurrentProjectCreateDate();
itemSignProperties.setProjectCreateDate(PendoItemSignatureUtil.formatDate(projectCreateDate, "yyyy-MM-dd"));
String value = System.getProperty(PendoItemSignatureUtil.MIGRATION_TOKEN_KEY);
Map<String, Date> tokenTime = MigrationTokenUtil.getMigrationTokenTime(value);
if (tokenTime == null || tokenTime.isEmpty()) {
itemSignProperties.setValidMigrationToken(ValueEnum.NOT_APPLICATE.getDisplayValue());
} else {
String customer = coreService.getLicenseCustomer();
Date tokenDate = tokenTime.get(customer);
Date currentDate = new Date();
if (tokenDate != null && tokenDate.after(currentDate)) {
itemSignProperties.setValidMigrationToken(ValueEnum.YES.getDisplayValue());
} else {
itemSignProperties.setValidMigrationToken(ValueEnum.NO.getDisplayValue());
}
}
} catch (Exception e) {
ExceptionHandler.process(e, Level.WARN);
}
return itemSignProperties;
}
private void addInvalidItemVersion(Property property, Map<String, Integer> invalidItemVersionMap) {
String itemProductVersion = PendoItemSignatureUtil.getItemProductVersion(property);
if (StringUtils.isNotBlank(itemProductVersion)) {
if (invalidItemVersionMap.get(itemProductVersion) == null) {
invalidItemVersionMap.put(itemProductVersion, 0);
}
invalidItemVersionMap.put(itemProductVersion, invalidItemVersionMap.get(itemProductVersion) + 1);
}
}
private boolean isBuiltInItem(IRepositoryViewObject repositoryObject) {
if (repositoryObject.getProperty().getItem() instanceof SQLPatternItem) {
SQLPatternItem sqlPatternItem = (SQLPatternItem) repositoryObject.getProperty().getItem();
if (sqlPatternItem.isSystem()) {
return true;
}
}
if (repositoryObject.getProperty().getItem() instanceof RoutineItem) {
RoutineItem routineItem = (RoutineItem) repositoryObject.getProperty().getItem();
if (routineItem.isBuiltIn()) {
return true;
}
}
return false;
}
private String getSortTOSUnsignItems(Map<String, Integer> tosUnsignItemMap) {
List<Map.Entry<String, Integer>> resultMapList = new ArrayList<Map.Entry<String, Integer>>(tosUnsignItemMap.entrySet());
Collections.sort(resultMapList, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
List<TOSProdNameEnum> categoryList = Arrays.asList(TOSProdNameEnum.values());
TOSProdNameEnum category1 = TOSProdNameEnum.valueOf(o1.getKey());
TOSProdNameEnum category2 = TOSProdNameEnum.valueOf(o2.getKey());
return categoryList.indexOf(category1) - categoryList.indexOf(category2);
}
});
Map<String, Integer> tosUnsignMap = new LinkedHashMap<String, Integer>();
resultMapList.forEach(entry -> {
tosUnsignMap.put(entry.getKey(), entry.getValue());
});
return PendoTrackDataUtil.convertEntityJsonString(tosUnsignMap);
}
private String getSortInvalidItems(Map<String, Integer> invalidItemVersionMap) {
List<Map.Entry<String, Integer>> resultMapList = new ArrayList<Map.Entry<String, Integer>>(
invalidItemVersionMap.entrySet());
Collections.sort(resultMapList, new Comparator<Map.Entry<String, Integer>>(){
@Override
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
Map<String, Integer> invalidMap = new LinkedHashMap<String, Integer>();
resultMapList.forEach(entry -> {
invalidMap.put(entry.getKey(), entry.getValue());
});
return PendoTrackDataUtil.convertEntityJsonString(invalidMap);
}
public void sendTrackToPendo() {
if (!isTrackAvailable) {
return;
}
super.sendTrackToPendo();
}
@Override
public TrackEvent getTrackEvent() {
return TrackEvent.ITEM_SIGNATURE;
}
}

View File

@@ -35,7 +35,6 @@ import org.eclipse.jface.preference.IPreferenceStore;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.PersistenceException;
import org.talend.commons.runtime.model.repository.ERepositoryStatus;
import org.talend.commons.runtime.service.ITaCoKitService;
import org.talend.commons.ui.runtime.exception.RuntimeExceptionHandler;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.repository.IExtendRepositoryNode;
@@ -75,7 +74,6 @@ import org.talend.core.model.properties.ValidationRulesConnectionItem;
import org.talend.core.model.repository.DynaEnum;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.Folder;
import org.talend.core.model.repository.GITConstant;
import org.talend.core.model.repository.IRepositoryContentHandler;
import org.talend.core.model.repository.IRepositoryObject;
import org.talend.core.model.repository.IRepositoryPrefConstants;
@@ -84,6 +82,7 @@ import org.talend.core.model.repository.RepositoryContentManager;
import org.talend.core.model.repository.RepositoryManager;
import org.talend.core.model.repository.RepositoryNodeProviderRegistryReader;
import org.talend.core.model.repository.RepositoryViewObject;
import org.talend.core.model.repository.GITConstant;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.repositoryObject.MetadataColumnRepositoryObject;
import org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject;
@@ -93,11 +92,9 @@ import org.talend.core.repository.model.repositoryObject.SAPIDocRepositoryObject
import org.talend.core.repository.model.repositoryObject.SalesforceModuleRepositoryObject;
import org.talend.core.repository.recyclebin.RecycleBinManager;
import org.talend.core.repository.ui.utils.ProjectRepositoryNodeCache;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.runtime.services.IGenericDBService;
import org.talend.core.runtime.services.IGenericService;
import org.talend.core.runtime.services.IGenericWizardService;
import org.talend.core.service.ITCKUIService;
import org.talend.core.ui.ICDCProviderService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.core.ui.branding.IBrandingService;
@@ -105,7 +102,6 @@ import org.talend.cwm.helper.ConnectionHelper;
import org.talend.cwm.helper.SAPBWTableHelper;
import org.talend.cwm.helper.SubItemHelper;
import org.talend.cwm.helper.TableHelper;
import org.talend.cwm.helper.TaggedValueHelper;
import org.talend.designer.core.IDesignerCoreService;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.BinRepositoryNode;
@@ -372,8 +368,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
String[] contentRight = contentType.getUserRight();
if (contentRight != null && contentRight.length > 0 && userRights != null && userRights.length > 0) {
for (String element : contentRight) {
if (!ArrayUtils.contains(userRights, element)) {
for (int i = 0; i < contentRight.length; i++) {
if (!ArrayUtils.contains(userRights, contentRight[i])) {
removeNode(this, node);
}
}
@@ -649,9 +645,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (RepositoryNodeManager.isSnowflake(currentType)) {
continue;
}
if (currentType != null) {
buildFolders(rootNode, currentType, folderPath, rootNode);
}
@@ -824,8 +818,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
* @return
*/
private RepositoryNode getFolder(ERepositoryObjectType currentType, String path, List<IRepositoryNode> rootNodes) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType) || RepositoryNodeManager.isSnowflake(currentType)
|| (ITaCoKitService.getInstance() != null && ITaCoKitService.getInstance().isTaCoKitType(currentType))) {
if (RepositoryNodeUtilities.isGenericDBExtraType(currentType)) {
currentType = ERepositoryObjectType.METADATA_CONNECTIONS;
}
if (path == null || path.isEmpty()) {
@@ -1336,7 +1329,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
public void addNode(RepositoryNode parent, ERepositoryObjectType type, IRepositoryViewObject repositoryObject,
private void addNode(RepositoryNode parent, ERepositoryObjectType type, IRepositoryViewObject repositoryObject,
List<IRepositoryViewObject> validationRules) {
boolean isAvaliableInTOS = true; // this flag filter the databaseconnections which didn't supported by TOS but
@@ -1346,22 +1339,16 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
Connection conn = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
if(conn instanceof DatabaseConnection){
dbMetadataConnection = (DatabaseConnection) conn;
if (ERepositoryObjectType.JDBC == repositoryObject.getRepositoryObjectType()
&& ERepositoryObjectType.JDBC.getType().equals(dbMetadataConnection.getProductId())) {
// hide tcompv0 jdbc node
// remove the 2nd condition if later we need to migrate Delta Lake and SingleStore
return;
}
isAvaliableInTOS = EDatabaseTypeName.getTypeFromDbType(dbMetadataConnection.getDatabaseType(), false) != null;
isAvaliableInTOS = EDatabaseTypeName.getTypeFromDbType(dbMetadataConnection.getDatabaseType(), false) == null ? false
: true;
}
}
Connection connection = null;
if (type == ERepositoryObjectType.METADATA_CONNECTIONS && isAvaliableInTOS) {
connection = dbMetadataConnection;
} else if (type == ERepositoryObjectType.METADATA_SAPCONNECTIONS) {
connection = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
} else if (type == ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS) {
connection = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
} else if (type == ERepositoryObjectType.METADATA_FILE_DELIMITED) {
connection = ((ConnectionItem) repositoryObject.getProperty().getItem()).getConnection();
} else if (type == ERepositoryObjectType.METADATA_FILE_POSITIONAL) {
@@ -1420,32 +1407,22 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
}
}
if (isAvaliableInTOS && node != null) {
if (isAvaliableInTOS) {
parent.getChildren().add(node);
}
}
if (null != connection && node != null) {
if (null != connection) {
createTables(node, repositoryObject, connection, validationRules);
}
if (node != null) {
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
handler.addNode(type, recBinNode, repositoryObject, node);
}
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
handler.addNode(type, recBinNode, repositoryObject, node);
}
}
private RepositoryNode createRepositoryNode(RepositoryNode parent, ERepositoryObjectType repObjType,
IRepositoryViewObject repositoryObject, Connection connection) {
if (ERepositoryObjectType.METADATA_TACOKIT_JDBC.equals(repositoryObject.getRepositoryObjectType()) && ITCKUIService.get() != null) {
try {
return ITCKUIService.get().createTaCoKitRepositoryNode(parent, repObjType, repositoryObject, connection);
} catch (Exception e) {
ExceptionHandler.process(e);
return null;
}
}
RepositoryNode node = new RepositoryNode(repositoryObject, parent, ENodeType.REPOSITORY_ELEMENT);
node.setProperties(EProperties.CONTENT_TYPE, repObjType);
@@ -1612,7 +1589,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
return objs;
}
public void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
private void createTables(RepositoryNode node, final IRepositoryViewObject repObj, Connection metadataConnection,
List<IRepositoryViewObject> validationRules) {
// // 5.GENERIC SCHEMAS
@@ -1754,29 +1731,23 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
node.getChildren().add(iDocNode);
createSAPIDocNodes(repObj, metadataConnection, iDocNode);
// 4. BW AdvancedDataStoreObject Input:
createSAPBWAdvancedDataStoreObjectInputNodes(repObj, metadataConnection, node, validationRules);
// 4. BW AdvancedDataStoreObject:
createSAPBWAdvancedDataStoreObjectNodes(repObj, metadataConnection, node, validationRules);
// 5. BW AdvancedDataStoreObject Output:
createSAPBWAdvancedDataStoreObjectOutputNodes(repObj, metadataConnection, node, validationRules);
// 6. BW DataSource:
// 5. BW DataSource:
createSAPBWDataSourceNodes(repObj, metadataConnection, node, validationRules);
// 7. BW DataStoreObject:
// 6. BW DataStoreObject:
createSAPBWDataStoreObjectNodes(repObj, metadataConnection, node, validationRules);
// 8. BW InfoCube:
// 7. BW InfoCube:
createSAPBWInfoCubeNodes(repObj, metadataConnection, node, validationRules);
// 9. BW InfoObject:
// 8. BW InfoObject:
createSAPBWInfoObjectNodes(repObj, metadataConnection, node, validationRules);
// 10. BW Business Content Extractor:
// 8. BW Business Content Extractor:
createSAPContentExtractorNodes(repObj, metadataConnection, node, validationRules);
// 11. CDS views:
createSAPCDSViewNodes(repObj, metadataConnection, node, validationRules);
} else if (metadataConnection instanceof SalesforceSchemaConnection) {
createSalesforceModuleNodes(repObj, metadataConnection, node, validationRules);
} else {
@@ -1810,9 +1781,7 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
for (MetadataTable tablesWithOrder : tablesWithOrders) {
EMap<String, String> properties = tablesWithOrder.getAdditionalProperties();
String partitionKey = properties.get(EProperties.CONTENT_TYPE.name());
String cdsType = TaggedValueHelper.getValueString(EProperties.CONTENT_TYPE.name(), tablesWithOrder);
if (!ERepositoryObjectType.METADATA_SAP_CONTENT_EXTRACTOR.name().equals(partitionKey)
&& !ERepositoryObjectType.METADATA_SAP_CDS_VIEW.name().equals(cdsType)) {
if (!ERepositoryObjectType.METADATA_SAP_CONTENT_EXTRACTOR.name().equals(partitionKey)) {
tables.add(tablesWithOrder);
}
}
@@ -1820,12 +1789,12 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
}
private void createSAPBWAdvancedDataStoreObjectInputNodes(IRepositoryViewObject repObj, Connection metadataConnection,
private void createSAPBWAdvancedDataStoreObjectNodes(IRepositoryViewObject repObj, Connection metadataConnection,
RepositoryNode node, List<IRepositoryViewObject> validationRules) {
StableRepositoryNode container = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.sapBWAdvancedDataStoreObject.input"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
Messages.getString("ProjectRepositoryNode.sapBWAdvancedDataStoreObject"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
container.setChildrenObjectType(ERepositoryObjectType.METADATA_CON_TABLE);
container.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_INPUT);
container.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT);
IRepositoryNode cacheNode = nodeCache.getCache(container);
if (cacheNode != null && cacheNode instanceof StableRepositoryNode) {
@@ -1837,38 +1806,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
node.getChildren().add(container);
EList<SAPBWTable> advancedDataStoreObjects = ((SAPConnection) metadataConnection).getBWAdvancedDataStoreObjects();
EList<SAPBWTable> tables = new BasicEList<SAPBWTable>();
for (SAPBWTable bwTable : advancedDataStoreObjects) {
if (!SAPBWTableHelper.ADSO_OUTPUT.equals(bwTable.getCategory())) {
tables.add(bwTable);
}
}
createTables(container, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSAPBWAdvancedDataStoreObjectOutputNodes(IRepositoryViewObject repObj, Connection metadataConnection,
RepositoryNode node, List<IRepositoryViewObject> validationRules) {
StableRepositoryNode container = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.sapBWAdvancedDataStoreObject.output"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
container.setChildrenObjectType(ERepositoryObjectType.METADATA_CON_TABLE);
container.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_BW_ADVANCEDDATASTOREOBJECT_OUTPUT);
IRepositoryNode cacheNode = nodeCache.getCache(container);
if (cacheNode != null && cacheNode instanceof StableRepositoryNode) {
container = (StableRepositoryNode) cacheNode;
container.getChildren().clear();
} else {
nodeCache.addCache(container, true);
}
node.getChildren().add(container);
EList<SAPBWTable> advancedDataStoreObjects = ((SAPConnection) metadataConnection).getBWAdvancedDataStoreObjects();
EList<SAPBWTable> tables = new BasicEList<SAPBWTable>();
for (SAPBWTable bwTable : advancedDataStoreObjects) {
if (SAPBWTableHelper.ADSO_OUTPUT.equals(bwTable.getCategory())) {
tables.add(bwTable);
}
}
EList tables = new BasicEList();
tables.addAll(advancedDataStoreObjects);
createTables(container, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
@@ -1995,37 +1934,11 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
createTables(tableContainer, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSAPCDSViewNodes(IRepositoryViewObject repObj, Connection metadataConnection, RepositoryNode node,
List<IRepositoryViewObject> validationRules) {
StableRepositoryNode tableContainer = new StableRepositoryNode(node,
Messages.getString("ProjectRepositoryNode.sapCDSView"), ECoreImage.FOLDER_CLOSE_ICON); //$NON-NLS-1$
tableContainer.setChildrenObjectType(ERepositoryObjectType.METADATA_CON_TABLE);
tableContainer.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_SAP_CDS_VIEW);
IRepositoryNode cacheNode = nodeCache.getCache(tableContainer);
if (cacheNode != null && cacheNode instanceof StableRepositoryNode) {
tableContainer = (StableRepositoryNode) cacheNode;
tableContainer.getChildren().clear();
} else {
nodeCache.addCache(tableContainer, true);
}
node.getChildren().add(tableContainer);
List<MetadataTable> tablesWithOrders = ConnectionHelper.getTablesWithOrders(metadataConnection);
EList<MetadataTable> tables = new BasicEList<>();
for (MetadataTable tablesWithOrder : tablesWithOrders) {
String cdsType = TaggedValueHelper.getValueString(EProperties.CONTENT_TYPE.name(), tablesWithOrder);
if (ERepositoryObjectType.METADATA_SAP_CDS_VIEW.name().equals(cdsType)) {
tables.add(tablesWithOrder);
}
}
createTables(tableContainer, repObj, tables, ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
}
private void createSalesforceModuleNodes(IRepositoryViewObject rebObj, Connection metadataConnection,
RepositoryNode connectionNode, List<IRepositoryViewObject> validationRules) {
EList modules = ((SalesforceSchemaConnection) metadataConnection).getModules();
for (Object module : modules) {
SalesforceModuleUnit unit = (SalesforceModuleUnit) module;
for (int i = 0; i < modules.size(); i++) {
SalesforceModuleUnit unit = (SalesforceModuleUnit) modules.get(i);
RepositoryNode tableNode = createSalesforceNode(rebObj, connectionNode, unit);
createTables(tableNode, rebObj, unit.getTables(), ERepositoryObjectType.METADATA_CON_TABLE, validationRules);
@@ -2048,8 +1961,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
if (functions == null || functions.isEmpty()) {
return;
}
for (Object function : functions) {
SAPFunctionUnit unit = (SAPFunctionUnit) function;
for (int i = 0; i < functions.size(); i++) {
SAPFunctionUnit unit = (SAPFunctionUnit) functions.get(i);
RepositoryNode tableNode = createSAPNode(rebObj, functionNode, unit);
// create input and output container
@@ -2089,8 +2002,8 @@ public class ProjectRepositoryNode extends RepositoryNode implements IProjectRep
if (iDocs == null || iDocs.isEmpty()) {
return;
}
for (Object iDoc : iDocs) {
SAPIDocUnit unit = (SAPIDocUnit) iDoc;
for (int i = 0; i < iDocs.size(); i++) {
SAPIDocUnit unit = (SAPIDocUnit) iDocs.get(i);
RepositoryNode tableNode = createSAPNode(rebObj, iDocNode, unit);
if (SubItemHelper.isDeleted(unit)) {
// recBin.getChildren().add(tableNode);

View File

@@ -16,6 +16,7 @@ import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.Dictionary;
@@ -54,7 +55,9 @@ import org.eclipse.jface.dialogs.InputDialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.osgi.internal.serviceregistry.ServiceReferenceImpl;
import org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.navigator.CommonNavigator;
import org.eclipse.ui.navigator.CommonViewer;
@@ -91,12 +94,12 @@ import org.talend.core.context.CommandLineContext;
import org.talend.core.context.Context;
import org.talend.core.context.RepositoryContext;
import org.talend.core.exception.TalendInternalPersistenceException;
import org.talend.core.hadoop.BigDataBasicUtil;
import org.talend.core.hadoop.IHadoopDistributionService;
import org.talend.core.model.components.IComponentsService;
import org.talend.core.model.general.ILibrariesService;
import org.talend.core.model.general.ModuleNeeded;
import org.talend.core.model.general.Project;
import org.talend.core.model.metadata.MetadataTalendType;
import org.talend.core.model.metadata.builder.connection.AbstractMetadataObject;
import org.talend.core.model.metadata.builder.connection.MetadataTable;
import org.talend.core.model.migration.IMigrationToolService;
@@ -151,9 +154,7 @@ import org.talend.core.runtime.services.IMavenUIService;
import org.talend.core.runtime.util.ItemDateParser;
import org.talend.core.runtime.util.JavaHomeUtil;
import org.talend.core.runtime.util.SharedStudioUtils;
import org.talend.core.service.IComponentJsonformGeneratorService;
import org.talend.core.service.ICoreUIService;
import org.talend.core.service.IDetectCVEService;
import org.talend.core.utils.CodesJarResourceCache;
import org.talend.cwm.helper.SubItemHelper;
import org.talend.cwm.helper.TableHelper;
@@ -238,14 +239,14 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
return singleton;
}
public ICoreService getCoreService() {
private ICoreService getCoreService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreService.class)) {
return GlobalServiceRegister.getDefault().getService(ICoreService.class);
}
return null;
}
public IRunProcessService getRunProcessService() {
private IRunProcessService getRunProcessService() {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRunProcessService.class)) {
return GlobalServiceRegister.getDefault().getService(IRunProcessService.class);
}
@@ -350,7 +351,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
* @param project
* @throws LoginException
*/
public void checkProjectCompatibility(Project project) throws LoginException {
private void checkProjectCompatibility(Project project) throws LoginException {
IMigrationToolService migrationToolService = GlobalServiceRegister.getDefault().getService(
IMigrationToolService.class);
// update migration system.
@@ -445,10 +446,12 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
if (currentShell == null) {
currentShell = DisplayUtils.getDefaultShell(false);
}
if (MessageDialog.openQuestion(currentShell,
Messages.getString("ProxyRepositoryFactory.JobNameErroe"), //$NON-NLS-1$
Messages.getString("ProxyRepositoryFactory.Label") + " " + name + " " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ Messages.getString("ProxyRepositoryFactory.ReplaceJob"))) { //$NON-NLS-1$
MessageBox box = new MessageBox(currentShell, SWT.ICON_WARNING | SWT.OK | SWT.CANCEL);
box.setText(Messages.getString("ProxyRepositoryFactory.JobNameErroe")); //$NON-NLS-1$
box.setMessage(Messages.getString("ProxyRepositoryFactory.Label") + " " + name + " " + Messages.getString("ProxyRepositoryFactory.ReplaceJob")); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$
if (box.open() == SWT.OK) {
ok[0] = true;
}
}
@@ -1845,7 +1848,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
* @param project
* @throws PersistenceException
*/
public void emptyTempFolder(Project project) throws PersistenceException {
private void emptyTempFolder(Project project) throws PersistenceException {
try {
String str = SharedStudioUtils.getTempFolderPath().toPortableString();
FilesUtils.deleteFolder(new File(str), false);
@@ -2207,16 +2210,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
ExceptionHandler.process(e);
}
if (IHadoopDistributionService.get() != null) {
try {
IHadoopDistributionService.get().checkAndMigrateDistributionProxyCredential(project);
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
// init dynamic distirbution after `beforeLogon`, before loading libraries.
initDynamicDistribution(monitor);
// need to set m2
LoginTaskRegistryReader loginTaskRegistryReader = new LoginTaskRegistryReader();
ILoginTask[] allLoginTasks = loginTaskRegistryReader.getAllCommandlineTaskListInstance();
@@ -2284,6 +2277,14 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
try {
// for new added mapping file, sync to project mapping folder
MetadataTalendType.syncNewMappingFileToProject();
} catch (SystemException e) {
// ignore
ExceptionHandler.process(e);
}
currentMonitor = subMonitor.newChild(1, SubMonitor.SUPPRESS_NONE);
currentMonitor.beginTask("Execute before logon migrations tasks", 1); //$NON-NLS-1$
ProjectManager.getInstance().getMigrationRecords().clear();
@@ -2323,7 +2324,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
if (monitor != null && monitor.isCanceled()) {
throw new OperationCanceledException(""); //$NON-NLS-1$
}
PendoItemSignatureManager.getInstance().sendTrackToPendo();
boolean isCommandLineLocalRefProject = false;
CommandLineContext commandLineContext = (CommandLineContext) CoreRuntimePlugin.getInstance().getContext()
@@ -2362,6 +2362,17 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
TimeMeasurePerformance.step("logOnProject", "sync log4j"); //$NON-NLS-1$ //$NON-NLS-2$
}
try {
URL url = MetadataTalendType.getProjectForderURLOfMappingsFile();
if (url != null) {
// set the project mappings url
System.setProperty("talend.mappings.url", url.toString()); // $NON-NLS-1$
}
} catch (SystemException e) {
// ignore
ExceptionHandler.process(e);
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQRepositoryService.class)) {
ITDQRepositoryService tdqRepositoryService = GlobalServiceRegister.getDefault()
.getService(ITDQRepositoryService.class);
@@ -2383,22 +2394,11 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
String str[] = new String[] { getRepositoryContext().getUser() + "", projectManager.getCurrentProject() + "" }; //$NON-NLS-1$ //$NON-NLS-2$
log.info(Messages.getString("ProxyRepositoryFactory.log.loggedOn", str)); //$NON-NLS-1$
// no performance impact for studio or commandline
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentJsonformGeneratorService.class)) {
IComponentJsonformGeneratorService jsonformSvc = GlobalServiceRegister.getDefault().getService(IComponentJsonformGeneratorService.class);
if (jsonformSvc != null && IComponentJsonformGeneratorService.isEnabled()) {
jsonformSvc.generate(null);
}
}
} catch (LoginException e) {
if (!LoginException.RESTART.equals(e.getKey())) {
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
throw e;
} catch (PersistenceException e) {
@@ -2424,18 +2424,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
throw e;
}
}
private void initDynamicDistribution(IProgressMonitor monitor) {
try {
if (BigDataBasicUtil.isDynamicDistributionLoaded(monitor)) {
BigDataBasicUtil.reloadAllDynamicDistributions(monitor);
} else {
BigDataBasicUtil.loadDynamicDistribution(monitor);
}
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
// to fix the ops4j and m2e.core maven handler conflict issue TUP-31484
private void unregisterM2EServiceBeforeLogon() {
@@ -2531,7 +2519,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
}
}
public void checkReferenceProjectsProblems(Project project) throws BusinessException, PersistenceException {
private void checkReferenceProjectsProblems(Project project) throws BusinessException, PersistenceException {
if (ReferenceProjectProblemManager.getInstance().getAllInvalidProjectReferenceSet().size() > 0) {
StringBuffer sb = new StringBuffer();
for (String technicalLabel : ReferenceProjectProblemManager.getInstance().getAllInvalidProjectReferenceSet()) {
@@ -2576,6 +2564,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
public void logOffProject() {
// getRepositoryContext().setProject(null);
repositoryFactoryFromProvider.logOffProject();
if (!CommonsPlugin.isHeadless()) {
ProjectRepositoryNode root = ProjectRepositoryNode.getInstance();
if (root != null) {
@@ -2618,20 +2607,11 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
dynamicDistrManager.reset(null);
}
}
// clear detect CVE cache
if (GlobalServiceRegister.getDefault().isServiceRegistered(IDetectCVEService.class)) {
IDetectCVEService detectCVESvc = GlobalServiceRegister.getDefault().getService(IDetectCVEService.class);
if (detectCVESvc != null) {
detectCVESvc.clearCache();
}
}
CodesJarResourceCache.reset();
ReferenceProjectProvider.clearTacReferenceList();
ReferenceProjectProblemManager.getInstance().clearAll();
repositoryFactoryFromProvider.logOffProject();
fullLogonFinished = false;
}
@@ -3029,11 +3009,4 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
this.repositoryFactoryFromProvider.saveProject(project);
}
public void setCancelled(boolean cancelled) {
this.isCancelled = cancelled;
}
public boolean isCancelled() {
return this.isCancelled;
}
}

View File

@@ -1,127 +1,125 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.repository.model;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.swt.events.SelectionListener;
import org.talend.commons.CommonsPlugin;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.utils.workbench.extensions.ExtensionImplementationProvider;
import org.talend.commons.utils.workbench.extensions.ExtensionPointLimiterImpl;
import org.talend.commons.utils.workbench.extensions.IExtensionPointLimiter;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ui.branding.IBrandingService;
/**
* Provides, using extension points, implementation of many factories.
*
* <ul>
* <li>IProcessFactory</li>
* </ul>
*
* $Id: RepositoryFactoryProvider.java 38013 2010-03-05 14:21:59Z mhirt $
*/
public class RepositoryFactoryProvider {
private static List<IRepositoryFactory> list = null;
public static final IExtensionPointLimiter REPOSITORY_PROVIDER = new ExtensionPointLimiterImpl(
"org.talend.core.repository.repository_provider", //$NON-NLS-1$
"RepositoryFactory", 1, -1); //$NON-NLS-1$
public static synchronized List<IRepositoryFactory> getAvailableRepositories() {
if (list == null) {
list = new ArrayList<IRepositoryFactory>();
List<IConfigurationElement> extension = ExtensionImplementationProvider.getInstanceV2(REPOSITORY_PROVIDER);
String hiddenRepos = System.getProperty("hidden.repositories"); //$NON-NLS-1$
String hiddenRepository[] = new String[]{};
if (hiddenRepos != null) {
hiddenRepository = hiddenRepos.split(";"); //$NON-NLS-1$
}
boolean isPoweredByTalend = false;
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault()
.getService(IBrandingService.class);
isPoweredByTalend = brandingService.isPoweredbyTalend();
for (IConfigurationElement current : extension) {
try {
String only4TalendStr = current.getAttribute("only4Talend"); //$NON-NLS-1$
if (Boolean.valueOf(only4TalendStr) && !isPoweredByTalend) {
continue;
}
String only4OemStr = current.getAttribute("only4Oem"); //$NON-NLS-1$
if (Boolean.valueOf(only4OemStr) && isPoweredByTalend) {
continue;
}
IRepositoryFactory currentAction = (IRepositoryFactory) current.createExecutableExtension("class"); //$NON-NLS-1$
currentAction.setId(current.getAttribute("id")); //$NON-NLS-1$
currentAction.setName(current.getAttribute("name")); //$NON-NLS-1$
currentAction.setAuthenticationNeeded(new Boolean(current.getAttribute("authenticationNeeded"))); //$NON-NLS-1$
currentAction.setDisplayToUser(new Boolean(current.getAttribute("displayToUser")).booleanValue()); //$NON-NLS-1$
// Getting dynamic login fields:
for (IConfigurationElement currentLoginField : current.getChildren("loginField")) { //$NON-NLS-1$
DynamicFieldBean key = new DynamicFieldBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
currentLoginField.getAttribute("defaultValue"), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("required")), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("password")), //$NON-NLS-1$
Boolean.valueOf(currentLoginField.getAttribute("readonly"))); //$NON-NLS-1$
currentAction.getFields().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("button")) { //$NON-NLS-1$
DynamicButtonBean key = new DynamicButtonBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
(SelectionListener) currentLoginField.createExecutableExtension("selectionListener")); //$NON-NLS-1$
currentAction.getButtons().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("choiceField")) { //$NON-NLS-1$
DynamicChoiceBean key = new DynamicChoiceBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name")); //$NON-NLS-1$
for (IConfigurationElement currentChoice : currentLoginField.getChildren("choice")) { //$NON-NLS-1$
String value = currentChoice.getAttribute("value"); //$NON-NLS-1$
String label = currentChoice.getAttribute("label"); //$NON-NLS-1$
key.addChoice(value, label);
}
currentAction.getChoices().add(key);
}
if (ArrayUtils.contains(hiddenRepository, currentAction.getId())) {
continue;
}
list.add(currentAction);
} catch (CoreException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
}
return list;
}
public static IRepositoryFactory getRepositoriyById(String id) {
for (IRepositoryFactory current : getAvailableRepositories()) {
if (current.getId().equals(id)) {
return current;
}
}
ExceptionHandler.log("Can't find repository factory for: " + id);
return null;
}
}
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.repository.model;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.ArrayUtils;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.swt.events.SelectionListener;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.utils.workbench.extensions.ExtensionImplementationProvider;
import org.talend.commons.utils.workbench.extensions.ExtensionPointLimiterImpl;
import org.talend.commons.utils.workbench.extensions.IExtensionPointLimiter;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ui.branding.IBrandingService;
/**
* Provides, using extension points, implementation of many factories.
*
* <ul>
* <li>IProcessFactory</li>
* </ul>
*
* $Id: RepositoryFactoryProvider.java 38013 2010-03-05 14:21:59Z mhirt $
*/
public class RepositoryFactoryProvider {
private static List<IRepositoryFactory> list = null;
public static final IExtensionPointLimiter REPOSITORY_PROVIDER = new ExtensionPointLimiterImpl(
"org.talend.core.repository.repository_provider", //$NON-NLS-1$
"RepositoryFactory", 1, -1); //$NON-NLS-1$
public static List<IRepositoryFactory> getAvailableRepositories() {
if (list == null) {
list = new ArrayList<IRepositoryFactory>();
List<IConfigurationElement> extension = ExtensionImplementationProvider.getInstanceV2(REPOSITORY_PROVIDER);
String hiddenRepos = System.getProperty("hidden.repositories"); //$NON-NLS-1$
String hiddenRepository[] = new String[]{};
if (hiddenRepos != null) {
hiddenRepository = hiddenRepos.split(";"); //$NON-NLS-1$
}
boolean isPoweredByTalend = false;
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault()
.getService(IBrandingService.class);
isPoweredByTalend = brandingService.isPoweredbyTalend();
for (IConfigurationElement current : extension) {
try {
String only4TalendStr = current.getAttribute("only4Talend"); //$NON-NLS-1$
if (Boolean.valueOf(only4TalendStr) && !isPoweredByTalend) {
continue;
}
String only4OemStr = current.getAttribute("only4Oem"); //$NON-NLS-1$
if (Boolean.valueOf(only4OemStr) && isPoweredByTalend) {
continue;
}
IRepositoryFactory currentAction = (IRepositoryFactory) current.createExecutableExtension("class"); //$NON-NLS-1$
currentAction.setId(current.getAttribute("id")); //$NON-NLS-1$
currentAction.setName(current.getAttribute("name")); //$NON-NLS-1$
currentAction.setAuthenticationNeeded(new Boolean(current.getAttribute("authenticationNeeded"))); //$NON-NLS-1$
currentAction.setDisplayToUser(new Boolean(current.getAttribute("displayToUser")).booleanValue()); //$NON-NLS-1$
// Getting dynamic login fields:
for (IConfigurationElement currentLoginField : current.getChildren("loginField")) { //$NON-NLS-1$
DynamicFieldBean key = new DynamicFieldBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
currentLoginField.getAttribute("defaultValue"), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("required")), //$NON-NLS-1$
new Boolean(currentLoginField.getAttribute("password")), //$NON-NLS-1$
Boolean.valueOf(currentLoginField.getAttribute("readonly"))); //$NON-NLS-1$
currentAction.getFields().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("button")) { //$NON-NLS-1$
DynamicButtonBean key = new DynamicButtonBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name"), //$NON-NLS-1$
(SelectionListener) currentLoginField.createExecutableExtension("selectionListener")); //$NON-NLS-1$
currentAction.getButtons().add(key);
}
for (IConfigurationElement currentLoginField : current.getChildren("choiceField")) { //$NON-NLS-1$
DynamicChoiceBean key = new DynamicChoiceBean(currentLoginField.getAttribute("id"), //$NON-NLS-1$
currentLoginField.getAttribute("name")); //$NON-NLS-1$
for (IConfigurationElement currentChoice : currentLoginField.getChildren("choice")) { //$NON-NLS-1$
String value = currentChoice.getAttribute("value"); //$NON-NLS-1$
String label = currentChoice.getAttribute("label"); //$NON-NLS-1$
key.addChoice(value, label);
}
currentAction.getChoices().add(key);
}
if (ArrayUtils.contains(hiddenRepository, currentAction.getId())) {
continue;
}
list.add(currentAction);
} catch (CoreException e) {
// e.printStackTrace();
ExceptionHandler.process(e);
}
}
}
return list;
}
public static IRepositoryFactory getRepositoriyById(String id) {
for (IRepositoryFactory current : getAvailableRepositories()) {
if (current.getId().equals(id)) {
return current;
}
}
return null;
}
}

View File

@@ -147,11 +147,7 @@ public class LDAPCATruster implements X509TrustManager {
} catch (IOException ex) {
}
try {
if (in != null) {
ks.load(in, certStorePwd);
} else {
ks = null;
}
ks.load(in, certStorePwd);
} catch (Exception e) {
log.error(Messages.getString("LDAPCATruster.failedLoadCert") + e.getMessage()); //$NON-NLS-1$
return;

View File

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

View File

@@ -21,9 +21,7 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.collections.map.MultiKeyMap;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -81,7 +79,6 @@ import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.ProjectReference;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.model.repository.Folder;
import org.talend.core.model.repository.IRepositoryContentHandler;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.ISubRepositoryObject;
@@ -100,7 +97,6 @@ import org.talend.core.repository.ui.dialog.ContextReferenceDialog;
import org.talend.core.repository.ui.dialog.ItemReferenceDialog;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.RepositoryNodeDeleteManager;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.RepositoryReferenceBeanUtils;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.core.runtime.CoreRuntimePlugin;
@@ -342,25 +338,6 @@ public class DeleteAction extends AContextualAction {
deletedFolder.add(node);
List<IRepositoryViewObject> deleteObjectList = new ArrayList<IRepositoryViewObject>();
deleteFolder(node, factory, deleteActionCache, deleteObjectList);
if (ERepositoryObjectType.SNOWFLAKE != null) {
IPath sfPath = RepositoryNodeUtilities.getPath(node);
String fullPath = ERepositoryObjectType.SNOWFLAKE.getFolder() + IPath.SEPARATOR
+ sfPath.toString();
IProject rsProject = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder sfFolder = ResourceUtils.getFolder(rsProject, fullPath, false);
if (sfFolder.exists()) {
RepositoryNode sfRootNode = ProjectRepositoryNode.getInstance()
.getRootRepositoryNode(ERepositoryObjectType.SNOWFLAKE);
FolderItem item = factory.getFolderItem(ProjectManager.getInstance().getCurrentProject(),
ERepositoryObjectType.SNOWFLAKE, sfPath);
Folder folder = new Folder(item.getProperty(), ERepositoryObjectType.SNOWFLAKE);
RepositoryNode sfFolderNode = new RepositoryNode(folder, sfRootNode,
ENodeType.REPOSITORY_ELEMENT);
sfFolderNode.setProperties(EProperties.LABEL, folder.getLabel());
sfFolderNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.SNOWFLAKE);
deleteFolder(sfFolderNode, factory, deleteActionCache, deleteObjectList);
}
}
}
} catch (PersistenceException e) {
MessageBoxExceptionHandler.process(e);
@@ -500,13 +477,6 @@ public class DeleteAction extends AContextualAction {
}
IPath path = RepositoryNodeUtilities.getPath(node);
ERepositoryObjectType objectType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE);
if (RepositoryNodeManager.isSnowflake(objectType)) {
String pathStr = node.getObject().getLabel();
if (StringUtils.isNotBlank(node.getObject().getPath())) {
pathStr = node.getObject().getPath() + IPath.SEPARATOR + pathStr;
}
path = new Path(pathStr);
}
List<IRepositoryNode> repositoryList = node.getChildren();
boolean success = true;
Exception bex = null;

View File

@@ -606,8 +606,6 @@ public class DuplicateAction extends AContextualAction {
item = PropertiesFactory.eINSTANCE.createSalesforceSchemaConnectionItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_SAPCONNECTIONS) {
item = PropertiesFactory.eINSTANCE.createSAPConnectionItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_BIGQUERYCONNECTIONS) {
item = PropertiesFactory.eINSTANCE.createBigQueryConnectionItem();
} else if (repositoryType == ERepositoryObjectType.METADATA_WSDL_SCHEMA) {
item = PropertiesFactory.eINSTANCE.createWSDLSchemaConnectionItem();
} else if (repositoryType == ERepositoryObjectType.PROCESS) {

View File

@@ -18,8 +18,6 @@ import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.ui.PlatformUI;
@@ -32,15 +30,12 @@ import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.RepositoryManager;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.JobletReferenceBean;
import org.talend.core.repository.model.ProjectRepositoryNode;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject;
import org.talend.core.repository.ui.actions.metadata.CopyToGenericSchemaHelper;
import org.talend.core.repository.ui.dialog.JobletReferenceDialog;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.repository.ProjectManager;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.IRepositoryNode;
import org.talend.repository.model.IRepositoryNode.ENodeType;
@@ -160,11 +155,8 @@ public class MoveObjectAction {
switch (targetNode.getType()) {
case SYSTEM_FOLDER:
case SIMPLE_FOLDER:
ERepositoryObjectType sourceType = (ERepositoryObjectType) sourceNode.getProperties(EProperties.CONTENT_TYPE);
ERepositoryObjectType targetType = (ERepositoryObjectType) targetNode.getProperties(EProperties.CONTENT_TYPE);
boolean booleanValue = sourceType == targetType || (ERepositoryObjectType.METADATA_CONNECTIONS == targetType
&& (ERepositoryObjectType.METADATA_TACOKIT_JDBC == sourceType
|| RepositoryNodeManager.isSnowflake(sourceType)));
boolean booleanValue = ((ERepositoryObjectType) targetNode.getProperties(EProperties.CONTENT_TYPE))
.equals(sourceNode.getProperties(EProperties.CONTENT_TYPE));
if (isGenericSchema) {
return true;
} else {
@@ -282,9 +274,7 @@ public class MoveObjectAction {
targetPath = (targetNode == null ? new Path("") : RepositoryNodeUtilities.getPath(targetNode)); //$NON-NLS-1$
}
List<IRepositoryViewObject> objectToMoves = new ArrayList<IRepositoryViewObject>();
List<IRepositoryViewObject> snowflakeToMove = new ArrayList<>();
Map<IRepositoryViewObject, IPath> map = new HashMap<IRepositoryViewObject, IPath>();
Map<IRepositoryViewObject, IPath> snowflakeMap = new HashMap<>();
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
for (RepositoryNode sourceNode : nodeList) {
IPath sourcePath = RepositoryNodeUtilities.getPath(sourceNode);
@@ -308,18 +298,6 @@ public class MoveObjectAction {
// Move :
if (isGenericSchema) {
CopyToGenericSchemaHelper.copyToGenericSchema(factory, objectToMove, targetPath);
} else if (RepositoryNodeManager.isSnowflake(sourceNode.getObjectType())
&& ERepositoryObjectType.METADATA_CONNECTIONS == targetNode.getContentType()
&& (ENodeType.SYSTEM_FOLDER == targetNode.getType()
|| ENodeType.SIMPLE_FOLDER == targetNode.getType())) {
if (!ProjectRepositoryNode.class.isInstance(targetNode.getParent())
&& targetNode.getObject() != null) {
factory.createFolder(ERepositoryObjectType.SNOWFLAKE,
RepositoryNodeUtilities.getPath(targetNode.getParent()),
targetNode.getObject().getProperty().getLabel());
}
snowflakeToMove.add(objectToMove);
snowflakeMap.put(objectToMove, sourcePath);
} else {
// MOD gdbu 2011-9-29 TDQ-3546
ERepositoryObjectType repositoryObjectType = objectToMove.getRepositoryObjectType();
@@ -347,18 +325,6 @@ public class MoveObjectAction {
// Source is a folder :
ERepositoryObjectType sourceType = (ERepositoryObjectType) sourceNode.getProperties(EProperties.CONTENT_TYPE);
factory.moveFolder(sourceType, sourcePath, targetPath);
if (ERepositoryObjectType.SNOWFLAKE != null) {
String snowflakePath = ERepositoryObjectType.getFolderName(ERepositoryObjectType.SNOWFLAKE);
if (!sourcePath.isEmpty()) {
snowflakePath += IPath.SEPARATOR + sourcePath.toString();
}
IProject project = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder folder = ResourceUtils.getFolder(project, snowflakePath, false);
if (folder.exists() && folder.members().length > 0) {
factory.moveFolder(ERepositoryObjectType.SNOWFLAKE, sourcePath, targetPath);
}
}
}
}
if (objectToMoves.size() > 0) {
@@ -369,10 +335,6 @@ public class MoveObjectAction {
}
factory.moveObjectMulti(objectArray, targetPath, map);
}
if (!snowflakeToMove.isEmpty()) {
factory.moveObjectMulti(snowflakeToMove.toArray(new IRepositoryViewObject[] {}),
RepositoryNodeUtilities.getPath(targetNode), snowflakeMap);
}
}
public void execute(RepositoryNode sourceNode, RepositoryNode targetNode, boolean isDnd) throws Exception {

View File

@@ -18,8 +18,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -39,7 +37,6 @@ import org.talend.commons.runtime.model.repository.ERepositoryStatus;
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
import org.talend.commons.ui.runtime.image.EImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.commons.utils.workbench.resources.ResourceUtils;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.ITDQRepositoryService;
import org.talend.core.model.metadata.builder.connection.AbstractMetadataObject;
@@ -52,7 +49,6 @@ import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.model.repository.ISubRepositoryObject;
import org.talend.core.repository.i18n.Messages;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.service.ICoreUIService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.repository.ProjectManager;
@@ -115,42 +111,9 @@ public class RestoreAction extends AContextualAction {
Item item = node.getObject().getProperty().getItem();
if (item instanceof FolderItem) {
item.getState().setDeleted(false);
if (nodeType == ERepositoryObjectType.METADATA_CONNECTIONS && ERepositoryObjectType.SNOWFLAKE != null) {
IPath sfPath = new Path(node.getObject().getPath()).append(node.getObject().getLabel());
String fullPath = ERepositoryObjectType.SNOWFLAKE.getFolder() + IPath.SEPARATOR + sfPath;
IProject rsProject = ResourceUtils.getProject(ProjectManager.getInstance().getCurrentProject());
IFolder sfFolder = ResourceUtils.getFolder(rsProject, fullPath, false);
if (sfFolder.exists()) {
FolderItem sfItem = ProxyRepositoryFactory.getInstance().getFolderItem(ProjectManager.getInstance().getCurrentProject(),
ERepositoryObjectType.SNOWFLAKE, sfPath);
sfItem.getState().setDeleted(false);
while (sfPath.segmentCount() > 1) {
sfPath = sfPath.removeLastSegments(1);
FolderItem parentItem = ProxyRepositoryFactory.getInstance().getFolderItem(
ProjectManager.getInstance().getCurrentProject(), ERepositoryObjectType.SNOWFLAKE,
sfPath);
if (ProxyRepositoryFactory.getInstance().getStatus(parentItem) == ERepositoryStatus.DELETED) {
parentItem.getState().setDeleted(false);
}
}
}
}
} else {
RestoreObjectAction restoreObjectAction = RestoreObjectAction.getInstance();
restoreObjectAction.execute(node, null, path);
if (RepositoryNodeManager.isSnowflake(nodeType)) {
IPath sfPath = new Path(node.getObject().getPath()).append(node.getObject().getLabel());
while (sfPath.segmentCount() > 1) {
sfPath = sfPath.removeLastSegments(1);
FolderItem parentItem = ProxyRepositoryFactory.getInstance().getFolderItem(
ProjectManager.getInstance().getCurrentProject(), ERepositoryObjectType.SNOWFLAKE, sfPath);
if (ProxyRepositoryFactory.getInstance().getStatus(parentItem) == ERepositoryStatus.DELETED) {
parentItem.getState().setDeleted(false);
}
}
}
// MOD qiongli 2012-10-16 TDQ-6166 notify sql exploere when restore a connection.
if (item instanceof DatabaseConnectionItem) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQRepositoryService.class)) {

View File

@@ -129,7 +129,7 @@ public class ContextReferenceDialog extends SelectionDialog {
Item item = objToDelete.getProperty().getItem();
if (item != null) {
setMessage(Messages.getString(
"ContextReferenceDialog.kindMessages2", item.getProperty().getLabel(), item.getProperty().getVersion())); //$NON-NLS-1$
"ContextReferenceDialog.kindMessages1", item.getProperty().getLabel(), item.getProperty().getVersion())); //$NON-NLS-1$
}
}
setHelpAvailable(false);
@@ -138,7 +138,7 @@ public class ContextReferenceDialog extends SelectionDialog {
@Override
protected void configureShell(Shell newShell) {
super.configureShell(newShell);
newShell.setText(Messages.getString("ContextReferenceDialog.DeleteContext.Title")); //$NON-NLS-1$
newShell.setText(Messages.getString("ContextReferenceDialog.Title")); //$NON-NLS-1$
newShell.setSize(650, 250);
}

View File

@@ -62,7 +62,6 @@ import org.talend.core.repository.ui.actions.CopyObjectAction;
import org.talend.core.repository.ui.actions.MoveObjectAction;
import org.talend.core.repository.utils.AbstractResourceChangesService;
import org.talend.core.repository.utils.ConvertJobsUtil;
import org.talend.core.repository.utils.RepositoryNodeManager;
import org.talend.core.repository.utils.TDQServiceRegister;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.service.ITransformService;
@@ -380,7 +379,7 @@ public class RepositoryDropAdapter extends PluginDropAdapter {
if (target == null) {
return false;
}
// super.validateDrop(target, operation, transferType);
super.validateDrop(target, operation, transferType);
boolean isValid = true;
Set<IResource> parents = new HashSet<IResource>();
for (Object obj : ((StructuredSelection) getViewer().getSelection()).toArray()) {
@@ -460,24 +459,6 @@ public class RepositoryDropAdapter extends PluginDropAdapter {
}
}
}
} else if (object.getRepositoryObjectType() == ERepositoryObjectType.METADATA_TACOKIT_JDBC) {
if (target instanceof RepositoryNode) {
RepositoryNode targetRN = (RepositoryNode) target;
if (ENodeType.SYSTEM_FOLDER == targetRN.getType() || ENodeType.SIMPLE_FOLDER == targetRN.getType()) {
if (targetRN.getContentType() == ERepositoryObjectType.METADATA_CONNECTIONS) {
return isValid = true;
}
}
}
} else if (RepositoryNodeManager.isSnowflake(object.getRepositoryObjectType())) {
if (target instanceof RepositoryNode) {
RepositoryNode targetRN = (RepositoryNode) target;
if (ENodeType.SYSTEM_FOLDER == targetRN.getType() || ENodeType.SIMPLE_FOLDER == targetRN.getType()) {
if (targetRN.getContentType() == ERepositoryObjectType.METADATA_CONNECTIONS) {
return isValid = true;
}
}
}
}
}

View File

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

View File

@@ -25,7 +25,6 @@ import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.RoutinesJarItem;
import org.talend.core.model.repository.AbstractRepositoryContentHandler;
import org.talend.core.model.repository.ERepositoryObjectType;
import java.io.IOException;
public abstract class AbstractResourceRepositoryContentHandler extends AbstractRepositoryContentHandler {
@@ -84,10 +83,6 @@ public abstract class AbstractResourceRepositoryContentHandler extends AbstractR
}
return itemResource;
}
protected void copyScreenshotFile(Item originalItem, Item newItem) throws IOException {
getXmiResourceManager().copyScreenshotFile(originalItem, newItem);
}
protected XmiResourceManager getXmiResourceManager() {
if (null == xmiResourceManager) {

View File

@@ -155,8 +155,4 @@ public class RepositoryNodeManager {
return isTacokit;
}
public static boolean isSnowflake(ERepositoryObjectType type) {
return ERepositoryObjectType.SNOWFLAKE != null && ERepositoryObjectType.SNOWFLAKE == type;
}
}

View File

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

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