catch up with dev
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b9f0a46
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,37 @@
+**/bin/
+**/target/
+**._trace
+**git.properties
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index 1ff5579..a4b1e40 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -16,11 +16,11 @@
 	<!-- DO NOT EDIT BELOW THIS LINE -->
         <jenkins.build.dependencies>
                 <jenkins.build.dependency>org.eclipse.osbp.bpm.api</jenkins.build.dependency>
+                <jenkins.build.dependency>org.eclipse.osbp.core.api</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.dsl</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.ecview.extension</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.ecview.extension.api</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.eventbroker</jenkins.build.dependency>
-                <jenkins.build.dependency>org.eclipse.osbp.persistence</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.preferences</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.runtime.web</jenkins.build.dependency>
diff --git a/org.eclipse.osbp.osgi.hybrid.api.feature/.gitignore b/org.eclipse.osbp.osgi.hybrid.api.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.osgi.hybrid.api.feature/feature.xml b/org.eclipse.osbp.osgi.hybrid.api.feature/feature.xml
index 99c2a80..64aac3e 100644
--- a/org.eclipse.osbp.osgi.hybrid.api.feature/feature.xml
+++ b/org.eclipse.osbp.osgi.hybrid.api.feature/feature.xml
@@ -14,7 +14,8 @@
         id="org.eclipse.osbp.osgi.hybrid.api.feature"
         label="%featureName"
         version="0.9.0.qualifier"
-        provider-name="%providerName">
+        provider-name="%providerName"
+		plugin="org.eclipse.osbp.osgi.hybrid.api">
         
     <description>
         %description
diff --git a/org.eclipse.osbp.osgi.hybrid.api.feature/pom.xml b/org.eclipse.osbp.osgi.hybrid.api.feature/pom.xml
index 7464a40..fa15f87 100644
--- a/org.eclipse.osbp.osgi.hybrid.api.feature/pom.xml
+++ b/org.eclipse.osbp.osgi.hybrid.api.feature/pom.xml
@@ -72,6 +72,13 @@
     </build>
 
     <dependencies>
+		<dependency>
+			<groupId>org.eclipse.osbp.dependencies</groupId>
+			<artifactId>
+				org.eclipse.osbp.dependencies.bundle.activemq.all.osgi
+			</artifactId>
+			<version>5.14.5-SNAPSHOT</version>
+		</dependency>
         <dependency>
             <groupId>org.eclipse.osbp.osgi.hybrid.api</groupId>
             <artifactId>org.eclipse.osbp.osgi.hybrid.api</artifactId>
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.classpath b/org.eclipse.osbp.osgi.hybrid.api/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.gitignore b/org.eclipse.osbp.osgi.hybrid.api/.gitignore
new file mode 100644
index 0000000..09e3bc9
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/target/
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.osgi.hybrid.api/.settings/com.vaadin.integration.eclipse.prefs
new file mode 100644
index 0000000..0904e44
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.settings/com.vaadin.integration.eclipse.prefs
@@ -0,0 +1,2 @@
+com.vaadin.integration.eclipse.mavenLatestVersionsUpgrade=["7.7.7"]
+eclipse.preferences.version=1
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a698e59
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.osgi.hybrid.api/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.osgi.hybrid.api/META-INF/MANIFEST.MF b/org.eclipse.osbp.osgi.hybrid.api/META-INF/MANIFEST.MF
index 89f7a1f..566119c 100644
--- a/org.eclipse.osbp.osgi.hybrid.api/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.osgi.hybrid.api/META-INF/MANIFEST.MF
@@ -1,38 +1,37 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.osbp.osgi.hybrid.api
-Bundle-SymbolicName: org.eclipse.osbp.osgi.hybrid.api;singleton:=true
+Bundle-SymbolicName: org.eclipse.osbp.osgi.hybrid.api
 Bundle-Version: 0.9.0.qualifier
 Bundle-Vendor: Eclipse OSBP
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.slf4j.api;bundle-version="1.7.2",
  org.apache.log4j,
- com.vaadin.server;bundle-version="[7.5.7,7.7.0)",
+ com.vaadin.server;bundle-version="[7.7.6,7.8.0)",
  javax.inject;bundle-version="1.0.0",
- javax.annotation;bundle-version="[1.1.0,1.2.0)",
  org.apache.commons.codec,
  org.eclipse.e4.core.contexts,
  org.eclipse.e4.core.services,
  org.eclipse.e4.ui.model.workbench,
  org.eclipse.e4.ui.workbench,
  org.eclipse.osgi.services,
- org.eclipse.core.databinding,
+ org.eclipse.core.databinding;bundle-version="[1.6.0,1.7.0)",
  org.eclipse.core.runtime,
- org.eclipse.core.databinding.beans,
+ org.eclipse.core.databinding.beans;bundle-version="[1.3.100,1.4.0)",
  org.apache.httpcomponents.httpcore,
  org.apache.httpcomponents.httpclient,
  org.jsoup,
  org.eclipse.osbp.runtime.web.vaadin.databinding;bundle-version="[0.9.0,0.10.0)",
- refresher.osgi;bundle-version="[1.2.3.7,1.2.4)",
+ refresher.osgi;bundle-version="[1.2.3,1.2.4)",
  org.eclipse.osbp.preferences;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.webserver.messagequeue;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.persistence;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.utils;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.dsl.dto.lib;bundle-version="[0.9.0,0.10.0)",
- org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)"
+ org.eclipse.osbp.gitinfo;bundle-version="[0.9.0,0.10.0)",
+ com.vaadin.shared;bundle-version="[7.7.6,7.8.0)"
 Export-Package: org.eclipse.osbp.osgi.hybrid.api;version="0.9.0"
-Import-Package: javax.jms;version="1.1.0",
+Import-Package: javax.annotation,
+ javax.jms;version="1.1.0",
  org.apache.commons.lang3,
  org.eclipse.e4.core.di.annotations,
  org.eclipse.e4.core.di.extensions,
@@ -40,14 +39,17 @@
  org.eclipse.emf.ecore,
  org.eclipse.emf.ecore.util,
  org.eclipse.osbp.bpm.api;version="0.9.0",
+ org.eclipse.osbp.core.api.persistence;version="0.9.0",
  org.eclipse.osbp.dsl.common.datatypes;version="0.9.0",
  org.eclipse.osbp.ecview.extension.api;version="0.9.0",
  org.eclipse.osbp.ecview.extension.model;version="0.9.0",
  org.eclipse.osbp.ecview.extension.strategy;version="0.9.0",
  org.eclipse.osbp.eventbroker;version="0.9.0",
  org.eclipse.osbp.ui.api.themes;version="0.9.0",
- org.eclipse.osbp.ui.api.useraccess,
+ org.eclipse.osbp.ui.api.useraccess;version="0.9.0",
+ org.eclipse.osbp.utils.session;version="0.9.0",
  org.osgi.service.event;version="1.3.0"
 Bundle-Activator: org.eclipse.osbp.osgi.hybrid.api.Activator
 Service-Component: OSGI-INF/*.xml
 Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
diff --git a/org.eclipse.osbp.osgi.hybrid.api/build.properties b/org.eclipse.osbp.osgi.hybrid.api/build.properties
index 72a2fec..20e4ef5 100644
--- a/org.eclipse.osbp.osgi.hybrid.api/build.properties
+++ b/org.eclipse.osbp.osgi.hybrid.api/build.properties
@@ -1,6 +1,10 @@
 source.. = src/
 output.. = target/classes/
-bin.includes = about.properties,  about.mappings,  about.ini,  about.html,  META-INF/,\
+bin.includes = about.properties,\
+               about.mappings,\
+               about.ini,\
+               about.html,\
+               META-INF/,\
                .,\
                OSGI-INF/,\
                .classpath,\
diff --git a/org.eclipse.osbp.osgi.hybrid.api/pom.xml b/org.eclipse.osbp.osgi.hybrid.api/pom.xml
index c9c648e..167766e 100644
--- a/org.eclipse.osbp.osgi.hybrid.api/pom.xml
+++ b/org.eclipse.osbp.osgi.hybrid.api/pom.xml
@@ -20,4 +20,13 @@
     </parent>
     <artifactId>org.eclipse.osbp.osgi.hybrid.api</artifactId>
     <packaging>eclipse-plugin</packaging>
+	<dependencies>
+		<dependency>
+			<groupId>org.eclipse.osbp.dependencies</groupId>
+			<artifactId>
+				org.eclipse.osbp.dependencies.bundle.activemq.all.osgi
+			</artifactId>
+			<version>5.14.5-SNAPSHOT</version>
+		</dependency>
+	</dependencies>
 </project>
diff --git a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/AbstractHybridVaaclipseView.java b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/AbstractHybridVaaclipseView.java
index 56e7016..66be602 100644
--- a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/AbstractHybridVaaclipseView.java
+++ b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/AbstractHybridVaaclipseView.java
@@ -13,8 +13,6 @@
 package org.eclipse.osbp.osgi.hybrid.api;
 
 import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -23,33 +21,24 @@
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 
-import org.apache.commons.lang3.StringUtils;
 import org.eclipse.e4.core.contexts.IEclipseContext;
-import org.eclipse.e4.core.di.extensions.EventUtils;
 import org.eclipse.e4.core.services.events.IEventBroker;
 import org.eclipse.e4.ui.model.application.MApplication;
 import org.eclipse.e4.ui.model.application.ui.MUIElement;
 import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
-import org.eclipse.e4.ui.workbench.modeling.EModelService;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.e4.ui.workbench.modeling.IPartListener;
 import org.eclipse.osbp.bpm.api.IBlipBPMConstants;
+import org.eclipse.osbp.core.api.persistence.IPersistenceService;
 import org.eclipse.osbp.dsl.common.datatypes.IDto;
-import org.eclipse.osbp.eventbroker.EventBrokerMsg;
-import org.eclipse.osbp.persistence.IPersistenceService;
 import org.eclipse.osbp.runtime.web.vaadin.databinding.VaadinObservables;
 import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
 import org.eclipse.osbp.ui.api.themes.IThemeResourceService.ThemeResourceType;
-import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Permission;
-import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.PermissionResult;
+import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization;
 import org.eclipse.osbp.ui.api.useraccess.AbstractPosition;
-import org.eclipse.osbp.ui.api.useraccess.IPermissionList;
-import org.eclipse.osbp.utils.common.IEntityIdModificationListenerView;
 import org.eclipse.osbp.webserver.messagequeue.ECXMqMessageAttribute;
 import org.eclipse.osbp.webserver.messagequeue.ECXMqMessageEvent;
-import org.osgi.service.event.Event;
-import org.osgi.service.event.EventHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -60,7 +49,7 @@
 import com.vaadin.ui.UI;
 import com.vaadin.ui.VerticalLayout;
 
-public abstract class AbstractHybridVaaclipseView implements IHybridVaadinVaaclipseListener, IPartListener, IEntityIdModificationListenerView {
+public abstract class AbstractHybridVaaclipseView implements IHybridVaadinVaaclipseListener, IPartListener {
 	
 	@Inject
 	IEventBroker eventBroker;
@@ -68,37 +57,24 @@
 	@Inject
 	protected IPersistenceService persistenceService;
 
-	//
-	// @Inject
-	// private AbstractBlipBPMFunctionProvider taskProvider;
-	//
-	// @Inject
-	// protected IBPMTaskClient taskClient;
-	//
-	// private String workloadDtoFqn;
-	// private IDto initialWorkloadDto;
-	// private Class<?> operativeDtoClass;
-	// private List<IDto> initialOperativeDtos;
-
 	private static final Logger LOGGER = LoggerFactory.getLogger(AbstractHybridVaaclipseView.class);
 
-	public static enum RenderMode {
+	public enum RenderMode {
 		SYNCHRONOUSLY, ASYNCHRONOUSLY
 	}
 
-	private final IEclipseContext fEclipseContext;
-	private final MApplication fE4App;
-	private final VerticalLayout fParent;
+	private IEclipseContext fEclipseContext;
+	private MApplication fE4App;
+	private VerticalLayout fParent;
 	private boolean fViewInitialized;
-	protected final EventHandler fModifiedEntityIdsListener;
-	private Map<String, Set<Object>> fListeningForEntityIdsModifications = new HashMap<>();
 
-	private RenderMode renderMode = RenderMode.ASYNCHRONOUSLY;
+	private RenderMode renderMode = RenderMode.SYNCHRONOUSLY;
 	private boolean firstTime = true;
 	private int pollingInterval = 2000;
 
 	private RecursiveFocusBlurListener fRecursiveFocusBlurListener;
 
+	public AbstractHybridVaaclipseView() {}
 	/**
 	 * <b><i><u>Warning:</u> never use initializing class attributes in the definition!<br>
 	 * Due to Java specific internals the overriden method createView() will be called before that initializing will be done!<br>
@@ -113,24 +89,6 @@
 		fEclipseContext = context;
 		fViewInitialized = false;
 		fParent = parent;
-		fModifiedEntityIdsListener = new EventHandler() {
-
-			@Override
-			public void handleEvent(Event event) {
-				Object data = event.getProperty(EventUtils.DATA);
-				// --- only if data contains an event broker message ---
-				if (data instanceof EventBrokerMsg) {
-					EventBrokerMsg eventBrokerMsg = (EventBrokerMsg) data;
-					// eventBrokerMsg.getInt() == 1 means INSERT and no id check is required
-					// otherwise it is an UPDATE and a id check is mandatory
-					if (eventBrokerMsg.getInt() == 1) {
-						refreshViewDueToModifiedEntityId(eventBrokerMsg.getName(), eventBrokerMsg.getId());
-					} else {
-						checkOnModifiedEntityId(eventBrokerMsg, true);
-					}
-				}
-			}
-		};
 		fRecursiveFocusBlurListener = RecursiveFocusBlurListener.attachFor(fParent);
 	}
 
@@ -161,97 +119,6 @@
 		area.addComponent(msg);
 	}
 
-	private String beautifyEntityName(String entityName) {
-		return StringUtils.strip(entityName.replace('.', '/'), "/").toLowerCase();
-	}
-
-	private Object beautifyEntityId(Object id) {
-		if (id instanceof String) {
-			id = ((String) id).trim();
-			try {
-				Double.parseDouble((String) id);
-				// --- if it's a double ---
-				id = StringUtils.removeEnd((String) id, "0");
-				id = StringUtils.removeEnd((String) id, ".");
-			} catch (Exception e) {
-				// NOTHING CAN BE DONE
-			}
-		}
-		return id;
-	}
-
-	@Override
-	public void resetListeningForEntityIdsModifications() {
-		fListeningForEntityIdsModifications = null;
-	}
-
-	public boolean broadcastEntityIdModified(String packageName, String entityName, String id) {
-		if (eventBroker != null) {
-			return eventBroker.send(EventBrokerMsg.REFRESH_VIEW + EventBrokerMsg.getEntityIdModifiedCategory(packageName, entityName), new EventBrokerMsg(id, entityName));
-		} else {
-			return false;
-		}
-	}
-
-	@Override
-	public boolean checkOnModifiedEntityId(EventBrokerMsg message, boolean doRefresh) {
-		return checkOnModifiedEntityId(message.getName(), message.getId(), doRefresh);
-	}
-
-	@Override
-	public boolean checkOnModifiedEntityId(String entityName, Object id, boolean doRefresh) {
-		// --- check if the entity sent is known ---
-		entityName = beautifyEntityName(entityName);
-		id = beautifyEntityId(id);
-		Set<Object> ids = fListeningForEntityIdsModifications.get(entityName);
-		if (ids instanceof Set) {
-			// --- if the id for that entity is known ---
-			if (ids.contains(id)) {
-				// --- force refresh of the report ---
-				if (doRefresh) {
-					refreshViewDueToModifiedEntityId(entityName, id);
-				}
-				return true;
-			}
-		}
-		return false;
-	}
-
-	@Override
-	public void refreshViewDueToModifiedEntityId(String entity, Object id) {
-		addEntityIdToModifyListener(entity, id);
-	}
-
-	@Override
-	public void addEntityIdToModifyListener(String entityName, Object id) {
-		// --- build the entity map if necessary ---
-		if (fListeningForEntityIdsModifications == null) {
-			fListeningForEntityIdsModifications = new HashMap<>();
-		}
-		entityName = beautifyEntityName(entityName);
-		Set<Object> ids = fListeningForEntityIdsModifications.get(entityName);
-		// --- build the ids set if necessary ---
-		if (ids == null) {
-			ids = new HashSet<>();
-			fListeningForEntityIdsModifications.put(entityName, ids);
-		}
-		// --- put the primary key ---
-		ids.add(beautifyEntityId(id));
-	}
-
-	@Override
-	public void removeEntityIdFromModifyListener(String entityName, Object id) {
-		// --- build the entity map if necessary ---
-		if (fListeningForEntityIdsModifications != null) {
-			Set<Object> ids = fListeningForEntityIdsModifications.get(beautifyEntityName(entityName));
-			// --- build the ids set if necessary ---
-			if (ids != null) {
-				// --- put the primary key ---
-				ids.remove(id);
-			}
-		}
-	}
-
 	public final MApplication getApplication() {
 		return fE4App;
 	}
@@ -265,7 +132,7 @@
 	}
 
 	public final MPart getPart() {
-		return (MPart) fEclipseContext.get(MPart.class);
+		return fEclipseContext.get(MPart.class);
 	}
 
 	public final String getProcessWorkloadDtoFqn() {
@@ -284,6 +151,7 @@
 		return (String) getTransientDataVariable(IBlipBPMConstants.VARIABLE_TASK_OPERATIVE_DTO_FQN);
 	}
 
+	@SuppressWarnings("unchecked")
 	public final List<IDto> getTaskInitialOperativeDtos() {
 		return (List<IDto>) getTransientDataVariable(IBlipBPMConstants.VARIABLE_TASK_OPERATIVE_DTOS);
 	}
@@ -308,7 +176,7 @@
 	}
 
 	public final IPersistenceService getPersistenceService() {
-		return (IPersistenceService) fEclipseContext.get(IPersistenceService.class);
+		return fEclipseContext.get(IPersistenceService.class);
 	}
 
 	protected final boolean isViewInitialized() {
@@ -321,9 +189,9 @@
 	 * 
 	 * @param parent
 	 */
-	abstract protected void createView(final VerticalLayout parent);
+	protected abstract void createView(final VerticalLayout parent);
 
-	abstract protected void createComponents();
+	protected abstract void createComponents();
 
 	// renderData is used for components that are not fully embedded in vaadin's connector structure
 	// and must be repainted when parent window resizes
@@ -366,14 +234,14 @@
 		}
 	}
 
-	private IThemeResourceService getThemeResourceService() {
+	public IThemeResourceService getThemeResourceService() {
 		if (fEclipseContext.containsKey(IThemeResourceService.class)) {
 			return fEclipseContext.get(IThemeResourceService.class);
 		}
 		return null;
 	}
 
-	private EPartService getPartService() {
+	public EPartService getPartService() {
 		if (fEclipseContext.containsKey(EPartService.class)) {
 			return fEclipseContext.get(EPartService.class);
 		}
@@ -381,16 +249,18 @@
 	}
 
 	protected void preInit() {
-		getPartService().addPartListener(this);
-		HybridVaadinVaaclipseConnector.instance(fEclipseContext).addListener(this);
-		HybridVaadinVaaclipseConnector.instance(fEclipseContext).setE4Application(fE4App);
+		EPartService partService = getPartService();
+		if(partService != null) {
+			partService.addPartListener(this);
+			HybridVaadinVaaclipseConnector.instance(fEclipseContext).addListener(this);
+			HybridVaadinVaaclipseConnector.instance(fEclipseContext).setE4Application(fE4App);
+		}
 	}
 
 	@PreDestroy
 	public void preDestroy() {
 		fRecursiveFocusBlurListener.detach();
 		HybridVaadinVaaclipseConnector.instance(fEclipseContext).removeListener(this);
-		fListeningForEntityIdsModifications = null;
 	}
 
 	/**
@@ -410,6 +280,7 @@
 	 * @param authenticated
 	 *            true if the user is authenticated now!
 	 */
+	@Override
 	public void setAuthenticated(boolean authenticated) {
 		// now send the list of perspectives
 		HybridVaadinVaaclipseConnector.instance(fEclipseContext).updatePerspectiveList();
@@ -431,12 +302,8 @@
 		return HybridVaadinVaaclipseConnector.instance(fEclipseContext).getRoles();
 	}
 
-	protected final IPermissionList getAuthenticatedPermissions() {
-		return HybridVaadinVaaclipseConnector.instance(fEclipseContext).getPermissions();
-	}
-
-	protected final PermissionResult isAuthenticatedPermitted(Permission permission) {
-		return HybridVaadinVaaclipseConnector.instance(fEclipseContext).isPermitted(permission);
+	protected final AbstractAuthorization getAuthenticatedPermissions() {
+		return HybridVaadinVaaclipseConnector.instance(fEclipseContext).getAuthorization();
 	}
 
 	protected final Set<String> getAllUsers() {
@@ -473,18 +340,15 @@
 	public final boolean onMessage(ECXMqMessageEvent event, Map<ECXMqMessageAttribute, Object> body) {
 		boolean retcode = false;
 		switch (event) {
-		// !!! handled by connector ...
-		case TRY_AUTHENTICATE:
-		case DISPOSE:
-		case LOGOUT:
-			break;
-		// ... handled by connector !!!
 		case FOCUS_PERSPECTIVE:
 			retcode = HybridVaadinVaaclipseConnector.instance(fEclipseContext).onFocusPerspective(body.get(ECXMqMessageAttribute.PERSPECTIVE_ID).toString());
 			break;
 		case REQUEST_ICON:
 			retcode = HybridVaadinVaaclipseConnector.instance(fEclipseContext).requestIcon(body.get(ECXMqMessageAttribute.PERSPECTIVE_ID).toString());
 			break;
+		case TRY_AUTHENTICATE:
+		case DISPOSE:
+		case LOGOUT:
 		default:
 			break;
 		}
@@ -498,7 +362,7 @@
 		if (active instanceof MPerspective) {
 			HybridVaadinVaaclipseConnector.instance(fEclipseContext).updatePerspectiveList();
 			HybridVaadinVaaclipseConnector.instance(fEclipseContext).updateFocusPerspective(active.getElementId());
-		} else if ((part != null || getPartService().getActivePart() != null)) {
+		} else if (part != null || getPartService().getActivePart() != null) {
 			LOGGER.debug("part activated:" + (part == null ? "<null>" : part.getElementId() + " '" + part.getLabel() + "'"));
 			List<MPerspective> existing = HybridVaadinVaaclipseConnector.instance(fEclipseContext).findPerspectives();
 			for (MPerspective perspective : existing) {
diff --git a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/HybridVaadinVaaclipseConnector.java b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/HybridVaadinVaaclipseConnector.java
index 35eebf8..125523c 100644
--- a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/HybridVaadinVaaclipseConnector.java
+++ b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/HybridVaadinVaaclipseConnector.java
@@ -43,10 +43,8 @@
 import org.eclipse.osbp.osgi.hybrid.api.IEventForNextRefresh.TryToAuthenticate;
 import org.eclipse.osbp.preferences.ProductConfiguration;
 import org.eclipse.osbp.ui.api.themes.IThemeResourceService;
-import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.Permission;
-import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization.PermissionResult;
+import org.eclipse.osbp.ui.api.useraccess.AbstractAuthorization;
 import org.eclipse.osbp.ui.api.useraccess.AbstractPosition;
-import org.eclipse.osbp.ui.api.useraccess.IPermissionList;
 import org.eclipse.osbp.ui.api.useraccess.IUserAccessService;
 import org.eclipse.osbp.utils.session.VaadinSessionAttributes;
 import org.eclipse.osbp.webserver.messagequeue.CXMqConsumer;
@@ -614,25 +612,12 @@
 	/**
 	 * @return the permission list for the authenticated session, otherwise null
 	 */
-	public IPermissionList getPermissions() {
+	public AbstractAuthorization getAuthorization() {
 		if 	(HybridServiceBinder.getUserAccessService() == null) {
 			return null;
 		}
 		else {
-			return HybridServiceBinder.getUserAccessService().getPermissions();
-		}
-	}
-
-	/**
-	 * @param permission the permission to be checked
-	 * @return true if the permission is permitted for the actual session
-	 */
-	public PermissionResult isPermitted(Permission permission) {
-		if 	(HybridServiceBinder.getUserAccessService() == null) {
-			return null;
-		}
-		else {
-			return HybridServiceBinder.getUserAccessService().isPermitted(permission);
+			return HybridServiceBinder.getUserAccessService().getAuthorization();
 		}
 	}
 
@@ -729,7 +714,7 @@
 	 * @param username name of the user
 	 * @return the permission list for the user; null will be returned if the session is not authenticated
 	 */
-	public IPermissionList findPermissionsForUser(String username) {
+	public AbstractAuthorization findPermissionsForUser(String username) {
 		if	(!isAuthenticated()) {
 			return null;
 		}
diff --git a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/IHybridVaadinVaaclipseListener.java b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/IHybridVaadinVaaclipseListener.java
index d61f7f7..63e45cb 100644
--- a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/IHybridVaadinVaaclipseListener.java
+++ b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/IHybridVaadinVaaclipseListener.java
@@ -16,4 +16,4 @@
 
 public interface IHybridVaadinVaaclipseListener extends ICXMqMessageListener {
 	void setAuthenticated(boolean authenticated);
-}
+}
\ No newline at end of file
diff --git a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/RecursiveFocusBlurListener.java b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/RecursiveFocusBlurListener.java
index fe236af..739e408 100644
--- a/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/RecursiveFocusBlurListener.java
+++ b/org.eclipse.osbp.osgi.hybrid.api/src/org/eclipse/osbp/osgi/hybrid/api/RecursiveFocusBlurListener.java
@@ -21,6 +21,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import org.eclipse.osbp.ui.api.themes.EnumCssClass;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,9 +43,6 @@
 import com.vaadin.ui.HasComponents.ComponentDetachEvent;
 import com.vaadin.ui.HasComponents.ComponentDetachListener;
 
-import org.eclipse.osbp.utils.theme.EnumCssClass;
-
-
 public class RecursiveFocusBlurListener implements ComponentAttachListener, ComponentDetachListener {
 
 	private static final Logger LOGGER = LoggerFactory.getLogger(RecursiveFocusBlurListener.class);