catch up with branch daily

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.vaaclipse.addons.common/META-INF/MANIFEST.MF b/org.eclipse.osbp.vaaclipse.addons.common/META-INF/MANIFEST.MF
index d337e73..667c7a2 100644
--- a/org.eclipse.osbp.vaaclipse.addons.common/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.vaaclipse.addons.common/META-INF/MANIFEST.MF
@@ -7,6 +7,7 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: javax.annotation,
  javax.inject,
+ org.eclipse.osbp.ui.api.e4;version="0.9.0",
  org.eclipse.osgi.util;version="[1.1.0,1.2.0)",
  org.osgi.framework;version="1.8.0",
  org.osgi.service.component.annotations;version="1.2.0",
diff --git a/org.eclipse.osbp.vaaclipse.addons.common/OSGI-INF/org.eclipse.osbp.vaaclipse.addons.common.selection.ESelectionServiceFactory.xml b/org.eclipse.osbp.vaaclipse.addons.common/OSGI-INF/org.eclipse.osbp.vaaclipse.addons.common.selection.ESelectionServiceFactory.xml
new file mode 100644
index 0000000..f3d800a
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.addons.common/OSGI-INF/org.eclipse.osbp.vaaclipse.addons.common.selection.ESelectionServiceFactory.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osbp.vaaclipse.addons.common.selection.ESelectionServiceFactory">
+   <property name="service.context.key" value="org.eclipse.e4.ui.workbench.modeling.ESelectionService"/>
+   <service>
+      <provide interface="org.eclipse.e4.core.contexts.IContextFunction"/>
+   </service>
+   <implementation class="org.eclipse.osbp.vaaclipse.addons.common.selection.ESelectionServiceFactory"/>
+</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.osbp.vaaclipse.addons.common/src/org/eclipse/osbp/vaaclipse/addons/common/selection/ESelectionServiceFactory.java b/org.eclipse.osbp.vaaclipse.addons.common/src/org/eclipse/osbp/vaaclipse/addons/common/selection/ESelectionServiceFactory.java
new file mode 100644
index 0000000..63ff888
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.addons.common/src/org/eclipse/osbp/vaaclipse/addons/common/selection/ESelectionServiceFactory.java
@@ -0,0 +1,18 @@
+package org.eclipse.osbp.vaaclipse.addons.common.selection;
+
+import org.eclipse.e4.core.contexts.ContextFunction;
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.ui.internal.workbench.SelectionServiceImpl;
+import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
+import org.osgi.service.component.annotations.Component;
+
+@Component(service = org.eclipse.e4.core.contexts.IContextFunction.class, property = { "service.context.key=org.eclipse.e4.ui.workbench.modeling.ESelectionService" })
+public class ESelectionServiceFactory extends ContextFunction {
+	@Override
+	public Object compute(IEclipseContext context, String contextKey) {
+		ESelectionService selectionService = ContextInjectionFactory.make(SelectionServiceImpl.class, context);
+		context.set(ESelectionService.class, selectionService);
+		return selectionService;
+	}
+}
diff --git a/org.eclipse.osbp.vaaclipse.addons.common/src/org/eclipse/osbp/vaaclipse/addons/common/status/StatusManager.java b/org.eclipse.osbp.vaaclipse.addons.common/src/org/eclipse/osbp/vaaclipse/addons/common/status/StatusManager.java
index 53d697d..2f7a808 100644
--- a/org.eclipse.osbp.vaaclipse.addons.common/src/org/eclipse/osbp/vaaclipse/addons/common/status/StatusManager.java
+++ b/org.eclipse.osbp.vaaclipse.addons.common/src/org/eclipse/osbp/vaaclipse/addons/common/status/StatusManager.java
@@ -27,6 +27,7 @@
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.osbp.runtime.common.validation.IStatus;
+import org.eclipse.osbp.ui.api.e4.IE4Dialog;
 import org.eclipse.osbp.vaaclipse.addons.common.api.IE4Topics;
 import org.eclipse.osbp.vaaclipse.addons.common.api.status.IStatusManager;
 import org.eclipse.osbp.vaaclipse.addons.common.api.status.IStatusScope;
@@ -87,18 +88,20 @@
 	 */
 	@Inject
 	public void setActiveView(@Active @Optional MPart activePart) {
-
-		this.activePart = activePart;
 		if (activePart == null) {
 			return;
 		}
+		// allow dialogs only
+		IE4Dialog content = activePart.getContext().get(IE4Dialog.class);
+		if(content == null) {
+			return;
+		}
+		this.activePart = activePart;
 		ensureScope(this.activePart);
 
 		Map<String, Object> props = new HashMap<String, Object>();
 		props.put(IE4Topics.StatusManagerEvents.PROP_SCOPE, getActiveScope());
-		eventBroker
-				.post(IE4Topics.StatusManagerEvents.ACTIVE_SCOPE_CHANGED_TOPIC,
-						props);
+		eventBroker.post(IE4Topics.StatusManagerEvents.ACTIVE_SCOPE_CHANGED_TOPIC, props);
 	}
 
 	/**