https://bugzilla.redhat.com/show_bug.cgi?id=1189454 - Multiple-Instance
Loop Characteristics and process variables are not linked.
Regression caused by previous commit.
diff --git a/examples/plugins/org.eclipse.bpmn2.modeler.examples.datatypes/META-INF/MANIFEST.MF b/examples/plugins/org.eclipse.bpmn2.modeler.examples.datatypes/META-INF/MANIFEST.MF
index 2374f02..7deb82f 100644
--- a/examples/plugins/org.eclipse.bpmn2.modeler.examples.datatypes/META-INF/MANIFEST.MF
+++ b/examples/plugins/org.eclipse.bpmn2.modeler.examples.datatypes/META-INF/MANIFEST.MF
@@ -16,5 +16,5 @@
org.eclipse.graphiti;bundle-version="0.11.0",
org.eclipse.graphiti.ui;bundle-version="0.11.0",
org.eclipse.bpmn2
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
diff --git a/examples/plugins/org.eclipse.bpmn2.modeler.examples.modelreader/META-INF/MANIFEST.MF b/examples/plugins/org.eclipse.bpmn2.modeler.examples.modelreader/META-INF/MANIFEST.MF
index cf0672b..b04ef87 100644
--- a/examples/plugins/org.eclipse.bpmn2.modeler.examples.modelreader/META-INF/MANIFEST.MF
+++ b/examples/plugins/org.eclipse.bpmn2.modeler.examples.modelreader/META-INF/MANIFEST.MF
@@ -16,4 +16,4 @@
org.eclipse.bpmn2.modeler.core,
org.eclipse.bpmn2.modeler.ui,
org.eclipse.bpmn2
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmImportObjectEditor.java b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmImportObjectEditor.java
index ecc88bb..a0c83c7 100644
--- a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmImportObjectEditor.java
+++ b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmImportObjectEditor.java
@@ -10,34 +10,64 @@
*******************************************************************************/
package org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.property;
+import java.util.Hashtable;
+
+import org.eclipse.bpmn2.Definitions;
+import org.eclipse.bpmn2.ItemDefinition;
import org.eclipse.bpmn2.modeler.core.merrimac.clad.AbstractDetailComposite;
+import org.eclipse.bpmn2.modeler.core.merrimac.dialogs.ComboObjectEditor;
+import org.eclipse.bpmn2.modeler.core.utils.ModelUtil;
import org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.model.drools.ImportType;
import org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.util.JbpmModelUtil;
-import org.eclipse.bpmn2.modeler.ui.property.editors.ItemDefinitionStructureEditor;
+import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.jdt.core.IType;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
-public class JbpmImportObjectEditor extends ItemDefinitionStructureEditor {
+public class JbpmImportObjectEditor extends ComboObjectEditor {
+ private final Definitions definitions;
+
+
public JbpmImportObjectEditor(AbstractDetailComposite parent, EObject object, EStructuralFeature feature) {
- super(parent, object);
+ super(parent, object, feature);
+ definitions = ModelUtil.getDefinitions(object);
}
@Override
- protected boolean canAdd() {
+ protected boolean canCreateNew() {
return true;
}
@Override
- protected void buttonClicked(int buttonId) {
- if (buttonId==ID_ADD_BUTTON) {
- IType type = JbpmModelUtil.showImportDialog(object);
- ImportType imp = JbpmModelUtil.addImport(type, object);
- if (imp!=null)
- setText(imp.getName());
+ protected Hashtable<String, Object> getChoiceOfValues(EObject object, EStructuralFeature feature) {
+ Hashtable<String, Object> choices = new Hashtable<String, Object>();
+ // The object is either an Interface or ImportType, both types reference
+ // a Java implementation class which may be defined in either a drools <import>
+ // or a BPMN2 <itemDefinition>.
+ TreeIterator<EObject> iter = definitions.eAllContents();
+ while (iter.hasNext()) {
+ EObject o = iter.next();
+ String choice = null;
+ if (o instanceof ImportType) {
+ choice = ((ImportType)o).getName();
+ }
+ else if (o instanceof ItemDefinition) {
+ choice = ModelUtil.getStringWrapperTextValue(((ItemDefinition)o).getStructureRef());
+ }
+ if (choice!=null && !choices.containsKey(choice))
+ choices.put(choice, choice);
}
- else
- super.buttonClicked(buttonId);
+ return choices;
+ }
+
+ @Override
+ protected void buttonClicked(int buttonId) {
+ IType type = JbpmModelUtil.showImportDialog(object);
+ ImportType imp = JbpmModelUtil.addImport(type, object);
+ if (imp!=null)
+ setValue(imp.getName());
}
}
diff --git a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmItemDefinitionDetailComposite.java b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmItemDefinitionDetailComposite.java
index 375507d..b727a31 100644
--- a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmItemDefinitionDetailComposite.java
+++ b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmItemDefinitionDetailComposite.java
@@ -46,7 +46,7 @@
String displayName = ExtendedPropertiesProvider.getLabel(object, reference);
if (def.getItemKind().equals(ItemKind.INFORMATION)) {
- JbpmImportObjectEditor editor = new JbpmImportObjectEditor(this,object,reference);
+ JbpmItemDefinitionStructureEditor editor = new JbpmItemDefinitionStructureEditor(this,object,reference);
editor.createControl(parent,displayName);
}
else {
diff --git a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmItemDefinitionStructureEditor.java b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmItemDefinitionStructureEditor.java
new file mode 100644
index 0000000..0a318d9
--- /dev/null
+++ b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/JbpmItemDefinitionStructureEditor.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2011, 2012 Red Hat, Inc.
+ * All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.property;
+
+
+import org.eclipse.bpmn2.modeler.core.merrimac.clad.AbstractDetailComposite;
+import org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.model.drools.ImportType;
+import org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5.util.JbpmModelUtil;
+import org.eclipse.bpmn2.modeler.ui.property.editors.ItemDefinitionStructureEditor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jdt.core.IType;
+
+public class JbpmItemDefinitionStructureEditor extends ItemDefinitionStructureEditor {
+
+ public JbpmItemDefinitionStructureEditor(AbstractDetailComposite parent, EObject object, EStructuralFeature feature) {
+ super(parent, object);
+ }
+
+ @Override
+ protected boolean canAdd() {
+ return true;
+ }
+
+ @Override
+ protected void buttonClicked(int buttonId) {
+ if (buttonId==ID_ADD_BUTTON) {
+ IType type = JbpmModelUtil.showImportDialog(object);
+ ImportType imp = JbpmModelUtil.addImport(type, object);
+ if (imp!=null)
+ setText(imp.getName());
+ }
+ else
+ super.buttonClicked(buttonId);
+ }
+}
diff --git a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/Messages.java b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/Messages.java
index a98b21a..cd80776 100644
--- a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/Messages.java
+++ b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/Messages.java
@@ -38,6 +38,7 @@
public static String JbpmDescriptionPropertySection_Remove_MetaData_Button;
public static String JbpmImportObjectEditor_Browse;
public static String JbpmImportObjectEditor_Invalid_Character;
+ public static String JbpmImportObjectEditor_DuplicateItemDefinition_Error;
public static String JbpmImportTypeDetailComposite_Title;
public static String JbpmInterfacePropertySection_Import_Action;
public static String JbpmIoParametersDetailComposite_Input_Mapping_Title;
diff --git a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/messages.properties b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/messages.properties
index 57af94f..869456a 100644
--- a/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/messages.properties
+++ b/plugins/org.eclipse.bpmn2.modeler.runtime.jboss.jbpm5/src/org/eclipse/bpmn2/modeler/runtime/jboss/jbpm5/property/messages.properties
@@ -31,7 +31,8 @@
JbpmDescriptionPropertySection_MetaData_Value=Value
JbpmDescriptionPropertySection_Remove_MetaData_Button=Remove MetaData
JbpmImportObjectEditor_Browse=Browse Types...
-JbpmImportObjectEditor_Invalid_Character=The characters "{0}" are not valid - expecting a Java Package name
+JbpmImportObjectEditor_Invalid_Character=The character "{0}" is not valid - expecting a Java Package name
+JbpmImportObjectEditor_DuplicateItemDefinition_Error=An Item Definition with this data structure name already exists
JbpmImportTypeDetailComposite_Title=Import
JbpmInterfacePropertySection_Import_Action=Import
JbpmIoParametersDetailComposite_Input_Mapping_Title=Input Data Mapping