Apply changes back to old OModel classes, migration tests are still failing
Project: http://git-wip-us.apache.org/repos/asf/ode/repo Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/42866430 Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/42866430 Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/42866430 Branch: refs/heads/master Commit: 42866430524a71dd1f5006fd6eb95acbc57c87f7 Parents: cf630ce Author: hahnml <[email protected]> Authored: Wed Nov 29 18:16:39 2017 +0100 Committer: hahnml <[email protected]> Committed: Wed Nov 29 18:16:39 2017 +0100 ---------------------------------------------------------------------- .../java/org/apache/ode/bpel/o/OAssign.java | 58 ++++++++++++++++++-- .../apache/ode/bpel/o/OExtensionActivity.java | 3 - .../java/org/apache/ode/bpel/o/OProcess.java | 21 ++++++- 3 files changed, 72 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ode/blob/42866430/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java ---------------------------------------------------------------------- diff --git a/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java b/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java index 64248a3..eab2c4c 100644 --- a/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java +++ b/bpel-obj/src/main/java/org/apache/ode/bpel/o/OAssign.java @@ -26,12 +26,13 @@ import javax.xml.namespace.QName; import org.apache.ode.bpel.o.OScope.Variable; import org.apache.ode.utils.DOMUtils; +import org.apache.ode.utils.SerializableElement; import org.w3c.dom.Document; public class OAssign extends OActivity { static final long serialVersionUID = -1L ; - public final List<Copy> copy = new ArrayList<Copy>(); + public final List<OAssignOperation> operations = new ArrayList<OAssignOperation>(); public OAssign(OProcess owner, OActivity parent) { super(owner, parent); @@ -41,11 +42,26 @@ public class OAssign extends OActivity { public String toString() { return "{OAssign : " + name + ", joinCondition=" + joinCondition + "}"; } + + /** + * Base class for assign operations. + */ + public static abstract class OAssignOperation extends OBase { + private static final long serialVersionUID = -3042873658302758854L; + + public enum Type { Copy, ExtensionOperation } + + public OAssignOperation(OProcess owner) { + super(owner); + } + + public abstract Type getType(); + } /** * Assignmenet copy entry, i.e. what the assignment consits of. */ - public static class Copy extends OBase { + public static class Copy extends OAssignOperation { private static final long serialVersionUID = 1L; public LValue to; public RValue from; @@ -68,6 +84,36 @@ public class OAssign extends OActivity { to = null; from = null; } + + public Type getType() { + return Type.Copy; + } + } + + /** + * Assignment extension operation entry, i.e. what the assignment consists of. + */ + public static class ExtensionAssignOperation extends OAssignOperation { + private static final long serialVersionUID = 1L; + public SerializableElement nestedElement; + + public ExtensionAssignOperation(OProcess owner) { + super(owner); + } + + public String toString() { + return "{OExtensionAssignOperation; " + nestedElement.getElement().getTagName() + "}"; + } + + @Override + public void dehydrate() { + super.dehydrate(); + nestedElement = null; + } + + public Type getType() { + return Type.ExtensionOperation; + } } public interface LValue { @@ -255,8 +301,12 @@ public class OAssign extends OActivity { @Override public void dehydrate() { super.dehydrate(); - for (Copy copy : this.copy) { - copy.dehydrate(); + for (OAssignOperation operation : this.operations) { + if (operation.getType().equals(OAssignOperation.Type.Copy)) { + ((Copy)operation).dehydrate(); + } else if (operation.getType().equals(OAssignOperation.Type.ExtensionOperation)) { + ((ExtensionAssignOperation)operation).dehydrate(); + } } } } http://git-wip-us.apache.org/repos/asf/ode/blob/42866430/bpel-obj/src/main/java/org/apache/ode/bpel/o/OExtensionActivity.java ---------------------------------------------------------------------- diff --git a/bpel-obj/src/main/java/org/apache/ode/bpel/o/OExtensionActivity.java b/bpel-obj/src/main/java/org/apache/ode/bpel/o/OExtensionActivity.java index deb73cf..ed0b90b 100644 --- a/bpel-obj/src/main/java/org/apache/ode/bpel/o/OExtensionActivity.java +++ b/bpel-obj/src/main/java/org/apache/ode/bpel/o/OExtensionActivity.java @@ -21,8 +21,6 @@ package org.apache.ode.bpel.o; import java.util.ArrayList; import java.util.List; -import javax.xml.namespace.QName; - import org.apache.ode.utils.SerializableElement; /** @@ -36,7 +34,6 @@ public class OExtensionActivity extends OActivity { static final long serialVersionUID = -1L; public final List<OActivity> children = new ArrayList<OActivity>(); public SerializableElement nestedElement; - public QName extensionName; public OExtensionActivity(OProcess owner, OActivity parent) { super(owner, parent); http://git-wip-us.apache.org/repos/asf/ode/blob/42866430/bpel-obj/src/main/java/org/apache/ode/bpel/o/OProcess.java ---------------------------------------------------------------------- diff --git a/bpel-obj/src/main/java/org/apache/ode/bpel/o/OProcess.java b/bpel-obj/src/main/java/org/apache/ode/bpel/o/OProcess.java index 717b9e2..ae9a746 100644 --- a/bpel-obj/src/main/java/org/apache/ode/bpel/o/OProcess.java +++ b/bpel-obj/src/main/java/org/apache/ode/bpel/o/OProcess.java @@ -76,6 +76,9 @@ public class OProcess extends OBase { public final HashMap<URI, OXslSheet> xslSheets = new HashMap<URI, OXslSheet>(); + /** All declared extensions in the process. **/ + public final Set<OExtension> declaredExtensions = new HashSet<OExtension>(); + public OProcess(String bpelVersion) { super(null); this.version = bpelVersion; @@ -114,12 +117,12 @@ public class OProcess extends OBase { return processName; } - @SuppressWarnings("unchecked") - public Collection getExpressionLanguages() { + @SuppressWarnings("rawtypes") + public Collection getExpressionLanguages() { throw new UnsupportedOperationException(); // TODO: implement me! } - @SuppressWarnings("unchecked") + @SuppressWarnings("rawtypes") public List<String> getCorrelators() { // MOVED from ProcessSchemaGenerator List<String> correlators = new ArrayList<String>(); @@ -186,6 +189,18 @@ public class OProcess extends OBase { } } + + public static class OExtension extends OBase { + static final long serialVersionUID = -1L ; + public String namespaceURI; + public boolean mustUnderstand; + + public OExtension(OProcess process) { super(process); } + + public String toString() { + return "{OExtension " + namespaceURI + (mustUnderstand ? " mustUnderstand" : "") + "}"; + } + } public QName getQName() { return new QName(targetNamespace, processName);
