diff --git a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java index f8b812f5e..e12ad9a81 100644 --- a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java +++ b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/EmfParsleyGuiceModule.java @@ -29,6 +29,13 @@ public class EmfParsleyGuiceModule extends EmfParsleyJavaGuiceModule { private final AbstractUIPlugin plugin; + /** + * If the passed {@link AbstractUIPlugin} is not null, it also + * performs additional Guice configuration, otherwise, this + * basically behaves like {@link EmfParsleyJavaGuiceModule} + * + * @param plugin + */ public EmfParsleyGuiceModule(AbstractUIPlugin plugin) { this.plugin = plugin; } @@ -36,9 +43,11 @@ public EmfParsleyGuiceModule(AbstractUIPlugin plugin) { @Override public void configure(Binder binder) { super.configure(binder); - binder.bind(AbstractUIPlugin.class).toInstance(plugin); - binder.bind(IDialogSettings.class).toInstance( - plugin.getDialogSettings()); + if (plugin != null) { + binder.bind(AbstractUIPlugin.class).toInstance(plugin); + binder.bind(IDialogSettings.class).toInstance( + plugin.getDialogSettings()); + } } /** @@ -49,6 +58,9 @@ public void configure(Binder binder) { */ @Override public Class bindIImageHelper() { + if (plugin == null) { + return super.bindIImageHelper(); + } return PluginImageHelper.class; }