diff options
2 files changed, 27 insertions, 51 deletions
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 @@ class TableDSLJvmModelInferrer extends AbstractModelInferrer { 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 @@ class TableDSLJvmModelInferrer extends AbstractModelInferrer { 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 @@ public class TableDSLJvmModelInferrer extends AbstractModelInferrer { _builder.append("MPerspective perspective = eclipseContext.get(MPerspective.class);"); _builder.newLine(); _builder.append("\t\t"); + _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"); + _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"); + _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 @@ public class TableDSLJvmModelInferrer extends AbstractModelInferrer { _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 @@ public class TableDSLJvmModelInferrer extends AbstractModelInferrer { _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 @@ public class TableDSLJvmModelInferrer extends AbstractModelInferrer { _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"); |