catch up with development

Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.table/src/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.table/src/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.xtend
index 6b35cff..807cf63 100644
--- a/org.eclipse.osbp.xtext.table/src/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.xtend
+++ b/org.eclipse.osbp.xtext.table/src/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.xtend
@@ -834,15 +834,17 @@
 			switch(event.getCommand()) {
 				case SELECT: 
 					MPerspective perspective = eclipseContext.get(MPerspective.class);
-					ArrayList<String> allowedSenderParts = (ArrayList<String>) eclipseContext.getActive(MPart.class).getTransientData().get(IPerspectiveProvider.EventDispatcherConstants.ACCEPTED_SENDERS);
-					if((event.getPerspective() == null || (perspective != null && event.getPerspective().equals(perspective))) && ((allowedSenderParts != null && allowedSenderParts.contains(event.getSender())) || allowedSenderParts == null)){
-						if(!event.getSender().equals("«table.fullyQualifiedName»")) {
-							if(filterGenerator.selectItem(event, getSelectById())) {
-								«IF table.isEmbedded || table.task»
-								createComponents();
-								«ELSE»
-								renderData();
-								«ENDIF»
+					if(perspective != null) {
+						ArrayList<String> allowedSenderParts = (ArrayList<String>) eclipseContext.getActive(MPart.class).getTransientData().get(IPerspectiveProvider.EventDispatcherConstants.ACCEPTED_SENDERS);
+						if((event.getPerspective() == null || (perspective != null && event.getPerspective().equals(perspective))) && ((allowedSenderParts != null && allowedSenderParts.contains(event.getSender())) || allowedSenderParts == null)){
+							if(!event.getSender().equals("«table.fullyQualifiedName»")) {
+								if(filterGenerator.selectItem(event, getSelectById())) {
+									«IF table.isEmbedded || table.task»
+									createComponents();
+									«ELSE»
+									renderData();
+									«ENDIF»
+								}
 							}
 						}
 					}
@@ -2878,18 +2880,12 @@
 										EventDispatcherEvent evnt = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, "«entity.baseType.fullyQualifiedName».«entity.idAttributeName»", "«table.fullyQualifiedName»");
 										evnt.addItem(EventDispatcherDataTag.ID, idObj);
 										eventDispatcher.sendEvent(evnt);
-										
 										«IF !table.isSelectIdOnly »
 										// send all refs too
 										for (String alias : datamartInstance.getPrimaryList().keySet()){
 											if (!"«alias»".equals(alias)){
-												String key = datamartInstance.getPrimaryList().get(alias).getEntityName() + "." + datamartInstance.getPrimaryList().get(alias).getAttributeName();
-												idObj = datamartInstance.getPrimaryListKeys(alias).get(selection);
-												
-												SelectionStore.putSelectionToPerspectiveContext(getPart(),key,idObj);
-												
-												evnt = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, key, "«table.fullyQualifiedName»");
-												evnt.addItem(EventDispatcherDataTag.ID, idObj);
+												evnt = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, datamartInstance.getPrimaryList().get(alias).getEntityName() + "." + datamartInstance.getPrimaryList().get(alias).getAttributeName(), "«table.fullyQualifiedName»");
+												evnt.addItem(EventDispatcherDataTag.ID, datamartInstance.getPrimaryListKeys(alias).get(selection));
 												eventDispatcher.sendEvent(evnt);
 											}
 										}
diff --git a/org.eclipse.osbp.xtext.table/xtend-gen/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.java b/org.eclipse.osbp.xtext.table/xtend-gen/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.java
index 0f9128e..d55ebf4 100644
--- a/org.eclipse.osbp.xtext.table/xtend-gen/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.java
+++ b/org.eclipse.osbp.xtext.table/xtend-gen/org/eclipse/osbp/xtext/table/jvmmodel/TableDSLJvmModelInferrer.java
@@ -1385,31 +1385,37 @@
       _builder.append("MPerspective perspective = eclipseContext.get(MPerspective.class);");
       _builder.newLine();
       _builder.append("\t\t");
-      _builder.append("ArrayList<String> allowedSenderParts = (ArrayList<String>) eclipseContext.getActive(MPart.class).getTransientData().get(IPerspectiveProvider.EventDispatcherConstants.ACCEPTED_SENDERS);");
-      _builder.newLine();
-      _builder.append("\t\t");
-      _builder.append("if((event.getPerspective() == null || (perspective != null && event.getPerspective().equals(perspective))) && ((allowedSenderParts != null && allowedSenderParts.contains(event.getSender())) || allowedSenderParts == null)){");
+      _builder.append("if(perspective != null) {");
       _builder.newLine();
       _builder.append("\t\t\t");
+      _builder.append("ArrayList<String> allowedSenderParts = (ArrayList<String>) eclipseContext.getActive(MPart.class).getTransientData().get(IPerspectiveProvider.EventDispatcherConstants.ACCEPTED_SENDERS);");
+      _builder.newLine();
+      _builder.append("\t\t\t");
+      _builder.append("if((event.getPerspective() == null || (perspective != null && event.getPerspective().equals(perspective))) && ((allowedSenderParts != null && allowedSenderParts.contains(event.getSender())) || allowedSenderParts == null)){");
+      _builder.newLine();
+      _builder.append("\t\t\t\t");
       _builder.append("if(!event.getSender().equals(\"");
       QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(table);
-      _builder.append(_fullyQualifiedName, "\t\t\t");
+      _builder.append(_fullyQualifiedName, "\t\t\t\t");
       _builder.append("\")) {");
       _builder.newLineIfNotEmpty();
-      _builder.append("\t\t\t\t");
+      _builder.append("\t\t\t\t\t");
       _builder.append("if(filterGenerator.selectItem(event, getSelectById())) {");
       _builder.newLine();
       {
         if ((this.isEmbedded(table) || this.isTask(table))) {
-          _builder.append("\t\t\t\t\t");
+          _builder.append("\t\t\t\t\t\t");
           _builder.append("createComponents();");
           _builder.newLine();
         } else {
-          _builder.append("\t\t\t\t\t");
+          _builder.append("\t\t\t\t\t\t");
           _builder.append("renderData();");
           _builder.newLine();
         }
       }
+      _builder.append("\t\t\t\t\t");
+      _builder.append("}");
+      _builder.newLine();
       _builder.append("\t\t\t\t");
       _builder.append("}");
       _builder.newLine();
@@ -6124,9 +6130,6 @@
                   _builder_1.append("\t");
                   _builder_1.append("eventDispatcher.sendEvent(evnt);");
                   _builder_1.newLine();
-                  _builder_1.append("\t\t");
-                  _builder_1.append("\t");
-                  _builder_1.newLine();
                   {
                     boolean _isSelectIdOnly = this.isSelectIdOnly(table);
                     boolean _not = (!_isSelectIdOnly);
@@ -6149,30 +6152,7 @@
                       _builder_1.append("\t\t");
                       _builder_1.append("\t");
                       _builder_1.append("\t\t");
-                      _builder_1.append("String key = datamartInstance.getPrimaryList().get(alias).getEntityName() + \".\" + datamartInstance.getPrimaryList().get(alias).getAttributeName();");
-                      _builder_1.newLine();
-                      _builder_1.append("\t\t");
-                      _builder_1.append("\t");
-                      _builder_1.append("\t\t");
-                      _builder_1.append("idObj = datamartInstance.getPrimaryListKeys(alias).get(selection);");
-                      _builder_1.newLine();
-                      _builder_1.append("\t\t");
-                      _builder_1.append("\t");
-                      _builder_1.append("\t\t");
-                      _builder_1.newLine();
-                      _builder_1.append("\t\t");
-                      _builder_1.append("\t");
-                      _builder_1.append("\t\t");
-                      _builder_1.append("SelectionStore.putSelectionToPerspectiveContext(getPart(),key,idObj);");
-                      _builder_1.newLine();
-                      _builder_1.append("\t\t");
-                      _builder_1.append("\t");
-                      _builder_1.append("\t\t");
-                      _builder_1.newLine();
-                      _builder_1.append("\t\t");
-                      _builder_1.append("\t");
-                      _builder_1.append("\t\t");
-                      _builder_1.append("evnt = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, key, \"");
+                      _builder_1.append("evnt = new EventDispatcherEvent(getContext().get(MPerspective.class), EventDispatcherCommand.SELECT, datamartInstance.getPrimaryList().get(alias).getEntityName() + \".\" + datamartInstance.getPrimaryList().get(alias).getAttributeName(), \"");
                       QualifiedName _fullyQualifiedName_3 = this._iQualifiedNameProvider.getFullyQualifiedName(table);
                       _builder_1.append(_fullyQualifiedName_3, "\t\t\t\t\t");
                       _builder_1.append("\");");
@@ -6180,7 +6160,7 @@
                       _builder_1.append("\t\t");
                       _builder_1.append("\t");
                       _builder_1.append("\t\t");
-                      _builder_1.append("evnt.addItem(EventDispatcherDataTag.ID, idObj);");
+                      _builder_1.append("evnt.addItem(EventDispatcherDataTag.ID, datamartInstance.getPrimaryListKeys(alias).get(selection));");
                       _builder_1.newLine();
                       _builder_1.append("\t\t");
                       _builder_1.append("\t");