catch up with development
diff --git a/org.eclipse.osbp.xtext.dialogdsl/emf-gen/org/eclipse/osbp/xtext/dialogdsl/DialogDSLPackage.java b/org.eclipse.osbp.xtext.dialogdsl/emf-gen/org/eclipse/osbp/xtext/dialogdsl/DialogDSLPackage.java
index 911fdcd..f8d4a13 100644
--- a/org.eclipse.osbp.xtext.dialogdsl/emf-gen/org/eclipse/osbp/xtext/dialogdsl/DialogDSLPackage.java
+++ b/org.eclipse.osbp.xtext.dialogdsl/emf-gen/org/eclipse/osbp/xtext/dialogdsl/DialogDSLPackage.java
@@ -260,7 +260,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIALOG_PACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT = OSBPTypesPackage.LPACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT;
+	int DIALOG_PACKAGE___ERESOLVE_PROXY__OBJECT = OSBPTypesPackage.LPACKAGE___ERESOLVE_PROXY__INTERNALEOBJECT;
 
 	/**
 	 * The number of operations of the '<em>Dialog Package</em>' class.
diff --git a/org.eclipse.osbp.xtext.dialogdsl/src/org/eclipse/osbp/xtext/dialogdsl/common/AbstractECViewDialog.java b/org.eclipse.osbp.xtext.dialogdsl/src/org/eclipse/osbp/xtext/dialogdsl/common/AbstractECViewDialog.java
index 5619db4..be97442 100644
--- a/org.eclipse.osbp.xtext.dialogdsl/src/org/eclipse/osbp/xtext/dialogdsl/common/AbstractECViewDialog.java
+++ b/org.eclipse.osbp.xtext.dialogdsl/src/org/eclipse/osbp/xtext/dialogdsl/common/AbstractECViewDialog.java
@@ -29,7 +29,6 @@
 
 import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.e4.core.di.annotations.Optional;
-import org.eclipse.e4.core.di.extensions.EventUtils;
 import org.eclipse.e4.core.services.events.IEventBroker;
 import org.eclipse.e4.ui.di.Focus;
 import org.eclipse.e4.ui.model.application.MApplication;
@@ -87,8 +86,6 @@
 import org.eclipse.osbp.vaaclipse.common.ecview.api.IECViewContainer;
 import org.eclipse.osbp.xtext.action.DialogActionEnum;
 import org.eclipse.osbp.xtext.action.common.IToolbarAction;
-import org.osgi.service.event.Event;
-import org.osgi.service.event.EventHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -179,12 +176,6 @@
 	/** The strategy event handler. */
 	private StrategyEventHandler strategyEventHandler;
 
-	/** The dispatch action handler. */
-	private EventHandler dispatchActionHandler;
-
-	/** The dispatch new ok handler. */
-	private EventHandler dispatchNewOkHandler;
-
 	/** The view context. */
 	// ecview stuff
 	private IViewContext viewContext;
@@ -287,28 +278,6 @@
 		strategyEventHandler = new StrategyEventHandler();
 
 		selectDialog = new SelectDialog();
-
-		dispatchActionHandler = new EventHandler() {
-
-			@Override
-			public void handleEvent(Event event) {
-				EventBrokerMsg msg = (EventBrokerMsg) event
-						.getProperty(org.eclipse.e4.core.di.extensions.EventUtils.DATA);
-				log.debug("dispatch action received in Company for " + msg.getName());
-			}
-		};
-		dispatchNewOkHandler = new EventHandler() {
-			@Override
-			public void handleEvent(Event event) {
-				if (selectWindow != null) {
-					selectWindow.close();
-					UI.getCurrent().removeWindow(selectWindow);
-					selectWindow = null;
-				}
-				EventBrokerMsg msg = (EventBrokerMsg) event.getProperty(EventUtils.DATA);
-				createNew(msg.getName());
-			}
-		};
 	}
 
 	@Override
@@ -728,6 +697,14 @@
 	@Override
 	public void receiveEvent(final EventDispatcherEvent event) {
 		switch (event.getCommand()) {
+		case OK:
+			if (selectWindow != null) {
+				selectWindow.close();
+				UI.getCurrent().removeWindow(selectWindow);
+				selectWindow = null;
+			}
+			createNew("");
+			break;
 		case SELECT:
 			if (viewContext != null && !event.getSender().equals(getViewId())
 					&& (event.getTopic().equals(getBaseDtoName()) || event.getTopic().equals(getPrimaryKey()))) {
@@ -799,8 +776,7 @@
 						Map<String, String> subTypes = dslMetadataService
 								.getAllTypeNames(user.getLocale().toLanguageTag(), dtoFQN);
 						if (subTypes.size() > 1) {
-							selectWindow = selectDialog.init(eventBroker, subTypes, dtoFQN, "Select SubType", "Ok",
-									getUUID());
+							selectWindow = selectDialog.init(eventDispatcher, getClass().getCanonicalName(), uuid, subTypes, dtoFQN, dslMetadataService.translate(user.getLocale().toLanguageTag(), "Select SubType"), dslMetadataService.translate(user.getLocale().toLanguageTag(), "Ok"));
 							UI.getCurrent().addWindow(selectWindow);
 						} else {
 							createNew(dtoFQN);
@@ -835,22 +811,14 @@
 	 * Subscribe.
 	 */
 	protected void subscribe() {
-		if (toolbarHelper != null) {
-			eventBroker.subscribe(
-					EventBrokerMsg.ACTION_BUTTON_EXECUTE_PREFIX + toolbarHelper.getClass().getSimpleName() + getUUID(),
-					dispatchActionHandler);
-		}
 		eventBroker.subscribe(EventBrokerMsg.DIALOG_STRATEGY_CHANGED, strategyEventHandler);
-		eventBroker.subscribe(EventBrokerMsg.QUERY_ANSWER + getUUID(), dispatchNewOkHandler);
 	}
 
 	/**
 	 * Unsubscribe.
 	 */
 	protected void unsubscribe() {
-		eventBroker.unsubscribe(dispatchActionHandler);
 		eventBroker.unsubscribe(strategyEventHandler);
-		eventBroker.unsubscribe(dispatchNewOkHandler);
 	}
 
 	@PostConstruct