Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/EEFWidgetFactory.java1
-rw-r--r--plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/SWTUtils.java89
-rw-r--r--plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java5
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java7
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ActionButton.java6
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFButtonLifecycleManager.java4
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFCheckboxLifecycleManager.java30
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java7
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java28
-rw-r--r--plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java35
-rw-r--r--plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/api/extensions/impl/DescriptorRegistryEventListener.java2
11 files changed, 136 insertions, 78 deletions
diff --git a/plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/EEFWidgetFactory.java b/plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/EEFWidgetFactory.java
index e051efcc4..9c09da335 100644
--- a/plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/EEFWidgetFactory.java
+++ b/plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/EEFWidgetFactory.java
@@ -40,6 +40,7 @@ import org.eclipse.ui.internal.forms.widgets.FormUtil;
* @author Stephane Begaudeau
* @since 1.6.0
*/
+@SuppressWarnings("restriction")
public class EEFWidgetFactory extends FormToolkit {
/**
* The constructor.
diff --git a/plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/SWTUtils.java b/plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/SWTUtils.java
new file mode 100644
index 000000000..bd89ab292
--- /dev/null
+++ b/plugins/org.eclipse.eef.common.ui/src/org/eclipse/eef/common/ui/api/SWTUtils.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Copyright (c) 2017 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.eef.common.ui.api;
+
+import java.util.function.Consumer;
+
+import org.eclipse.swt.events.FocusAdapter;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.events.KeyAdapter;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+
+/**
+ * Utility methods for SWT.
+ *
+ * @author sbegaudeau
+ */
+public final class SWTUtils {
+
+ /**
+ * The constructor.
+ */
+ private SWTUtils() {
+ // Prevent instantiation
+ }
+
+ /**
+ * Static helper method to create a selection listener for the {@link #widgetSelected(SelectionEvent event)}) method
+ * with a lambda expression.
+ *
+ * @param consumer
+ * the consumer of the event
+ * @return SelectionListener
+ */
+ public static SelectionListener widgetSelectedAdapter(Consumer<SelectionEvent> consumer) {
+ return new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent event) {
+ consumer.accept(event);
+ }
+ };
+ }
+
+ /**
+ * Static helper method to create a focus listener for the {@link #focusLost(FocusEvent event)}) method with a
+ * lambda expression.
+ *
+ * @param consumer
+ * the consumer of the event
+ * @return FocusListener
+ */
+ public static FocusListener focusLostAdapter(Consumer<FocusEvent> consumer) {
+ return new FocusAdapter() {
+ @Override
+ public void focusLost(FocusEvent event) {
+ consumer.accept(event);
+ }
+ };
+ }
+
+ /**
+ * Static helper method to create a key listener for the {@link #keyReleased(KeyEvent event)}) method with a lambda
+ * expression.
+ *
+ * @param consumer
+ * the consumer of the event
+ * @return KeyListener
+ */
+ public static KeyListener keyReleasedAdapter(Consumer<KeyEvent> consumer) {
+ return new KeyAdapter() {
+ @Override
+ public void keyReleased(KeyEvent event) {
+ consumer.accept(event);
+ }
+ };
+ }
+}
diff --git a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java
index 06ad3c1b1..acb3de57c 100644
--- a/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java
+++ b/plugins/org.eclipse.eef.core/src/org/eclipse/eef/core/internal/controllers/EEFHyperlinkController.java
@@ -10,10 +10,9 @@
*******************************************************************************/
package org.eclipse.eef.core.internal.controllers;
-import com.google.common.base.Objects;
-
import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.eef.EEFHyperlinkDescription;
@@ -94,7 +93,7 @@ public class EEFHyperlinkController extends AbstractEEFWidgetController implemen
variables.put(EEFExpressionUtils.EEFReference.VALUE, value);
text = EvalFactory.of(this.interpreter, variables).logIfInvalidType(String.class).evaluate(displayExpression);
}
- return Objects.firstNonNull(text, ""); //$NON-NLS-1$
+ return Optional.ofNullable(text).orElse(""); //$NON-NLS-1$
}
/**
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
index 79506bdc3..64ac4e3b3 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/api/widgets/AbstractEEFWidgetLifecycleManager.java
@@ -10,9 +10,8 @@
*******************************************************************************/
package org.eclipse.eef.ide.ui.api.widgets;
-import com.google.common.base.Objects;
-
import java.util.Collection;
+import java.util.Optional;
import org.eclipse.eef.EEFDynamicMappingFor;
import org.eclipse.eef.EEFDynamicMappingIf;
@@ -282,14 +281,14 @@ public abstract class AbstractEEFWidgetLifecycleManager extends AbstractEEFLifec
this.getController().onNewLabel((value) -> {
if (!label.isDisposed() && !(label.getText() != null && label.getText().equals(value))) {
- label.setText(Objects.firstNonNull(value, "")); //$NON-NLS-1$
+ label.setText(Optional.ofNullable(value).orElse("")); //$NON-NLS-1$
}
AbstractEEFWidgetLifecycleManager.this.setLabelFontStyle();
});
this.getController().onNewHelp((value) -> {
if (help != null && !help.isDisposed() && !(help.getText() != null && help.getText().equals(value))) {
- help.setToolTipText(Objects.firstNonNull(value, Messages.AbstractEEFWidgetLifecycleManager_noDescriptionAvailable));
+ help.setToolTipText(Optional.ofNullable(value).orElse(Messages.AbstractEEFWidgetLifecycleManager_noDescriptionAvailable));
}
});
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ActionButton.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ActionButton.java
index 1d207791a..ec4f6e9c9 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ActionButton.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/ActionButton.java
@@ -16,7 +16,7 @@ import org.eclipse.eef.core.api.utils.EvalFactory;
import org.eclipse.sirius.common.interpreter.api.IInterpreter;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
@@ -42,7 +42,7 @@ public class ActionButton {
/**
* The button listener.
*/
- private SelectionAdapter selectionListener;
+ private SelectionListener selectionListener;
/**
* The widget action.
@@ -96,7 +96,7 @@ public class ActionButton {
* @param listener
* Selection listener
*/
- public void addSelectionListener(SelectionAdapter listener) {
+ public void addSelectionListener(SelectionListener listener) {
if (!button.isDisposed()) {
this.selectionListener = listener;
button.addSelectionListener(selectionListener);
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFButtonLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFButtonLifecycleManager.java
index 1e9228d57..695e6a64b 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFButtonLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFButtonLifecycleManager.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.eef.ide.ui.internal.widgets;
-import com.google.common.base.Objects;
+import java.util.Optional;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.eef.EEFButtonDescription;
@@ -158,7 +158,7 @@ public class EEFButtonLifecycleManager extends AbstractEEFWidgetLifecycleManager
this.controller.onNewButtonLabel((value) -> {
if (!button.isDisposed() && !(button.getText() != null && button.getText().equals(value))) {
- button.setText(Objects.firstNonNull(value, "")); //$NON-NLS-1$
+ button.setText(Optional.ofNullable(value).orElse("")); //$NON-NLS-1$
}
});
}
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFCheckboxLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFCheckboxLifecycleManager.java
index c86120b40..6d0a60732 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFCheckboxLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFCheckboxLifecycleManager.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.eef.ide.ui.internal.widgets;
-import com.google.common.base.Objects;
+import java.util.Optional;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.eef.EEFCheckboxDescription;
@@ -19,6 +19,7 @@ import org.eclipse.eef.EEFWidgetDescription;
import org.eclipse.eef.EEFWidgetStyle;
import org.eclipse.eef.common.ui.api.EEFWidgetFactory;
import org.eclipse.eef.common.ui.api.IEEFFormContainer;
+import org.eclipse.eef.common.ui.api.SWTUtils;
import org.eclipse.eef.core.api.EditingContextAdapter;
import org.eclipse.eef.core.api.controllers.EEFControllersFactory;
import org.eclipse.eef.core.api.controllers.IEEFCheckboxController;
@@ -30,7 +31,6 @@ import org.eclipse.eef.ide.ui.internal.EEFIdeUiPlugin;
import org.eclipse.sirius.common.interpreter.api.IInterpreter;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
@@ -156,28 +156,20 @@ public class EEFCheckboxLifecycleManager extends AbstractEEFWidgetLifecycleManag
this.getController().onNewLabel((value) -> {
if (!this.checkbox.isDisposed() && !(this.checkbox.getText() != null && this.checkbox.getText().equals(value))) {
- this.checkbox.setText(Objects.firstNonNull(value, "")); //$NON-NLS-1$
+ this.checkbox.setText(Optional.ofNullable(value).orElse("")); //$NON-NLS-1$
}
});
// UI edited by user => update model if possible, revert UI change otherwise
- this.selectionListener = new SelectionListener() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- IStatus result = controller.updateValue(checkbox.getSelection());
- if (result != null && result.getSeverity() == IStatus.ERROR) {
- EEFIdeUiPlugin.INSTANCE.log(result);
- checkbox.setSelection(referenceValue);
- } else {
- refresh();
- }
- }
-
- @Override
- public void widgetDefaultSelected(SelectionEvent e) {
- // Nothing to do
+ this.selectionListener = SWTUtils.widgetSelectedAdapter((event) -> {
+ IStatus result = controller.updateValue(checkbox.getSelection());
+ if (result != null && result.getSeverity() == IStatus.ERROR) {
+ EEFIdeUiPlugin.INSTANCE.log(result);
+ checkbox.setSelection(referenceValue);
+ } else {
+ refresh();
}
- };
+ });
this.checkbox.addSelectionListener(this.selectionListener);
// Model changed => update UI
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java
index a99e8572e..a0058cc69 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFGroupLifecycleManager.java
@@ -10,10 +10,9 @@
*******************************************************************************/
package org.eclipse.eef.ide.ui.internal.widgets;
-import com.google.common.base.Objects;
-
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import org.eclipse.eef.EEFControlDescription;
import org.eclipse.eef.EEFGroupConditionalStyle;
@@ -153,7 +152,7 @@ public class EEFGroupLifecycleManager extends AbstractEEFLifecycleManager {
String labelExpression = this.description.getLabelExpression();
EvalFactory.of(this.interpreter, this.variableManager).logIfInvalidType(String.class).call(labelExpression,
- (value) -> this.section.setText(Objects.firstNonNull(value, ""))); //$NON-NLS-1$
+ (value) -> this.section.setText(Optional.ofNullable(value).orElse(""))); //$NON-NLS-1$
this.section.setLayout(new GridLayout(1, false));
GridData sectionLayoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false);
@@ -289,7 +288,7 @@ public class EEFGroupLifecycleManager extends AbstractEEFLifecycleManager {
public void aboutToBeShown() {
super.aboutToBeShown();
- this.controller.onNewLabel((value) -> this.section.setText(value));
+ this.controller.onNewLabel((value) -> Optional.ofNullable(value).ifPresent(this.section::setText));
this.lifecycleManagers.forEach(IEEFLifecycleManager::aboutToBeShown);
}
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java
index 3d44c8781..5c2023827 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFLabelLifecycleManager.java
@@ -10,10 +10,9 @@
*******************************************************************************/
package org.eclipse.eef.ide.ui.internal.widgets;
-import com.google.common.base.Objects;
-
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.eef.EEFLabelDescription;
@@ -23,6 +22,7 @@ import org.eclipse.eef.EEFWidgetDescription;
import org.eclipse.eef.EEFWidgetStyle;
import org.eclipse.eef.common.ui.api.EEFWidgetFactory;
import org.eclipse.eef.common.ui.api.IEEFFormContainer;
+import org.eclipse.eef.common.ui.api.SWTUtils;
import org.eclipse.eef.core.api.EditingContextAdapter;
import org.eclipse.eef.core.api.controllers.EEFControllersFactory;
import org.eclipse.eef.core.api.controllers.IEEFLabelController;
@@ -35,8 +35,7 @@ import org.eclipse.sirius.common.interpreter.api.IInterpreter;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -189,26 +188,23 @@ public class EEFLabelLifecycleManager extends AbstractEEFWidgetLifecycleManager
this.controller.onNewValue((value) -> {
if (!body.isDisposed()) {
if (!(body.getText() != null && body.getText().equals(value))) {
- body.setText(Objects.firstNonNull(value, "")); //$NON-NLS-1$
+ body.setText(Optional.ofNullable(value).orElse("")); //$NON-NLS-1$
}
this.setStyle();
}
});
for (final ActionButton actionButton : actionButtons) {
- SelectionAdapter selectionListener = new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (!EEFLabelLifecycleManager.this.container.isRenderingInProgress()) {
- IStatus result = controller.action(actionButton.getAction());
- if (result != null && result.getSeverity() == IStatus.ERROR) {
- EEFIdeUiPlugin.INSTANCE.log(result);
- } else {
- refresh();
- }
+ SelectionListener selectionListener = SWTUtils.widgetSelectedAdapter((event) -> {
+ if (!this.container.isRenderingInProgress()) {
+ IStatus result = controller.action(actionButton.getAction());
+ if (result != null && result.getSeverity() == IStatus.ERROR) {
+ EEFIdeUiPlugin.INSTANCE.log(result);
+ } else {
+ refresh();
}
}
- };
+ });
actionButton.addSelectionListener(selectionListener);
}
diff --git a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java
index e88b1ad63..76106d4de 100644
--- a/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java
+++ b/plugins/org.eclipse.eef.ide.ui/src/org/eclipse/eef/ide/ui/internal/widgets/EEFTextLifecycleManager.java
@@ -20,6 +20,7 @@ import org.eclipse.eef.EEFWidgetStyle;
import org.eclipse.eef.common.api.utils.Util;
import org.eclipse.eef.common.ui.api.EEFWidgetFactory;
import org.eclipse.eef.common.ui.api.IEEFFormContainer;
+import org.eclipse.eef.common.ui.api.SWTUtils;
import org.eclipse.eef.core.api.EditingContextAdapter;
import org.eclipse.eef.core.api.controllers.EEFControllersFactory;
import org.eclipse.eef.core.api.controllers.IEEFTextController;
@@ -33,9 +34,7 @@ import org.eclipse.sirius.common.interpreter.api.IInterpreter;
import org.eclipse.sirius.common.interpreter.api.IVariableManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.graphics.Color;
@@ -217,35 +216,19 @@ public class EEFTextLifecycleManager extends AbstractEEFWidgetLifecycleManager {
};
this.text.addModifyListener(this.modifyListener);
- this.focusListener = new FocusListener() {
- @Override
- public void focusLost(FocusEvent e) {
- if (!EEFTextLifecycleManager.this.container.isRenderingInProgress() && EEFTextLifecycleManager.this.isDirty) {
- EEFTextLifecycleManager.this.updateValue(false);
- }
- }
-
- @Override
- public void focusGained(FocusEvent e) {
- // do nothing
+ this.focusListener = SWTUtils.focusLostAdapter((event) -> {
+ if (!this.container.isRenderingInProgress() && this.isDirty) {
+ this.updateValue(false);
}
- };
+ });
this.text.addFocusListener(this.focusListener);
if (this.description.getLineCount() <= 1) {
- this.keyListener = new KeyListener() {
- @Override
- public void keyReleased(KeyEvent e) {
- if (e.character == '\r' || e.character == '\n') {
- EEFTextLifecycleManager.this.updateValue(false);
- }
- }
-
- @Override
- public void keyPressed(KeyEvent e) {
- // do nothing
+ this.keyListener = SWTUtils.keyReleasedAdapter((event) -> {
+ if (event.character == '\r' || event.character == '\n') {
+ this.updateValue(false);
}
- };
+ });
this.text.addKeyListener(this.keyListener);
}
diff --git a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/api/extensions/impl/DescriptorRegistryEventListener.java b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/api/extensions/impl/DescriptorRegistryEventListener.java
index c6bbc7eb8..7a948fb0b 100644
--- a/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/api/extensions/impl/DescriptorRegistryEventListener.java
+++ b/plugins/org.eclipse.eef.ide/src/org/eclipse/eef/ide/api/extensions/impl/DescriptorRegistryEventListener.java
@@ -137,7 +137,7 @@ public class DescriptorRegistryEventListener<T> extends AbstractRegistryEventLis
} catch (CoreException e) {
String message = MessageFormat.format(Messages.DescriptorRegistryEventListener_cannotInstantiateExtension,
configurationElement.getAttribute(IMPL_CLASS_DESCRIPTOR_ATTR));
- EEFIdePlugin.getPlugin().error(message);
+ EEFIdePlugin.getPlugin().error(message, e);
return false;
}

Back to the top