Bug 468058 - NPE thrown when creating Join Condition expression for
ForEach activity
diff --git a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/AbstractStyledTextExpressionSection.java b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/AbstractStyledTextExpressionSection.java
index e3a9687..6d48d09 100644
--- a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/AbstractStyledTextExpressionSection.java
+++ b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/AbstractStyledTextExpressionSection.java
@@ -244,6 +244,9 @@
if( this.modelUpdate.get())
return;
+
+ if (getExpressionTarget()==null)
+ return;
CompoundCommand result = new CompoundCommand();
Expression exp = BPELFactory.eINSTANCE.createCondition();
diff --git a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/JoinConditionSection.java b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/JoinConditionSection.java
index b2b0cf2..665de0b 100644
--- a/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/JoinConditionSection.java
+++ b/plugins/org.eclipse.bpel.ui.noEmbeddedEditors/src/org/eclipse/bpel/ui/properties/JoinConditionSection.java
@@ -11,6 +11,7 @@
package org.eclipse.bpel.ui.properties;
import org.eclipse.bpel.model.Activity;
+import org.eclipse.bpel.model.BPELFactory;
import org.eclipse.bpel.model.BPELPackage;
import org.eclipse.bpel.model.Targets;
import org.eclipse.bpel.ui.expressions.IEditorConstants;
@@ -26,21 +27,6 @@
/*
* (non-Javadoc)
* @see org.eclipse.bpel.ui.properties.ExpressionSection
- * #addAllAdapters()
- */
- @Override
- protected void addAllAdapters() {
- super.addAllAdapters();
-
- Activity activity = getModel();
- Targets targets = activity.getTargets();
- if( targets != null )
- this.fAdapters[0].addToObject( targets );
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.bpel.ui.properties.ExpressionSection
* #getExpressionType()
*/
@Override
@@ -59,6 +45,20 @@
return activity.getTargets();
}
+ @Override
+ protected void saveExpressionToModel() {
+
+ if( this.modelUpdate.get())
+ return;
+
+ if (getExpressionTarget()==null) {
+ Targets targets = BPELFactory.eINSTANCE.createTargets();
+ Activity activity = getModel();
+ activity.setTargets(targets);
+ }
+ super.saveExpressionToModel();
+ }
+
/*
* (non-Javadoc)
* @see org.eclipse.bpel.ui.properties.ExpressionSection