Revert old OModel classes and enhanced migration

Reset all changes of old OModel classes.
Enhance object model migration support so that old persisted object models 
(without extension activity support) can be migrated to the new object model.
Changed GEMFILE so that a fixed version of buildr (1.5.3) is used due to some 
problems with buildr version 1.5.5.
Reset .gitignore file.


Project: http://git-wip-us.apache.org/repos/asf/ode/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/b31d36a4
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/b31d36a4
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/b31d36a4

Branch: refs/heads/master
Commit: b31d36a408d362a35af8e5769e8fb2554eabec4f
Parents: 4286643
Author: hahnml <[email protected]>
Authored: Thu Jan 11 11:20:04 2018 +0100
Committer: hahnml <[email protected]>
Committed: Thu Jan 11 11:20:04 2018 +0100

----------------------------------------------------------------------
 .gitignore                                      |   2 -
 Gemfile                                         |   2 +-
 .../bpel/obj/migrate/DeepEqualityHelper.java    |   2 +-
 .../bpel/obj/migrate/DomElementComparator.java  |   2 +-
 .../bpel/obj/migrate/EqualityComparator.java    |   2 +-
 .../obj/migrate/ExtensibeImplEqualityComp.java  |   2 +-
 .../apache/ode/bpel/obj/migrate/OmOld2new.java  | 162 +++++++++++++------
 .../java/org/apache/ode/bpel/o/OAssign.java     |  58 +------
 .../apache/ode/bpel/o/OExtensionActivity.java   |  42 -----
 .../java/org/apache/ode/bpel/o/OProcess.java    |  15 --
 10 files changed, 118 insertions(+), 171 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index c7cf71d..27225ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,5 +22,3 @@ derby.log
 Gemfile.lock
 spoon
 *.log
-.m2/
-tmp/

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/Gemfile
----------------------------------------------------------------------
diff --git a/Gemfile b/Gemfile
index 7c016bc..043be3d 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'buildr', '>= 1.5.3'
+gem 'buildr', '= 1.5.3'
 
 # rspec dependencies for check()
 gem 'rspec-expectations',   '= 2.14.3'

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DeepEqualityHelper.java
----------------------------------------------------------------------
diff --git 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DeepEqualityHelper.java
 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DeepEqualityHelper.java
index a3430c5..e012ac5 100644
--- 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DeepEqualityHelper.java
+++ 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DeepEqualityHelper.java
@@ -287,7 +287,7 @@ public class DeepEqualityHelper{
 
        private EqualityComparator getCustomComparator(Object obj) {
                for (EqualityComparator c : comparators){
-                       if (c.canHanle(obj)){
+                       if (c.canHandle(obj)){
                                return c;
                        }
                }

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DomElementComparator.java
----------------------------------------------------------------------
diff --git 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DomElementComparator.java
 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DomElementComparator.java
index ec4b0ca..f67918f 100644
--- 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DomElementComparator.java
+++ 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/DomElementComparator.java
@@ -76,7 +76,7 @@ public class DomElementComparator implements 
EqualityComparator{
                return str;
        }
        @Override
-       public Boolean canHanle(Object obj) {
+       public Boolean canHandle(Object obj) {
                return obj instanceof Element;
        }
 

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/EqualityComparator.java
----------------------------------------------------------------------
diff --git 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/EqualityComparator.java
 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/EqualityComparator.java
index 69ad056..567c3b8 100644
--- 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/EqualityComparator.java
+++ 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/EqualityComparator.java
@@ -13,7 +13,7 @@ public interface EqualityComparator {
         * decide if the comparator can handle the specified object.
         * Usually called before {@link EqualityComparator#objectsEqual(Object, 
Object)} are invoked.
         */
-       Boolean canHanle(Object obj);
+       Boolean canHandle(Object obj);
        
        void setDeepEquality(DeepEqualityHelper deepEquality);
 }

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/ExtensibeImplEqualityComp.java
----------------------------------------------------------------------
diff --git 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/ExtensibeImplEqualityComp.java
 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/ExtensibeImplEqualityComp.java
index 6f2bd5f..78672a9 100644
--- 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/ExtensibeImplEqualityComp.java
+++ 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/ExtensibeImplEqualityComp.java
@@ -84,7 +84,7 @@ public class ExtensibeImplEqualityComp implements 
EqualityComparator{
                }
        }
        @Override
-       public Boolean canHanle(Object obj) {
+       public Boolean canHandle(Object obj) {
                return obj instanceof ExtensibleImpl;
        }
 

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/OmOld2new.java
----------------------------------------------------------------------
diff --git 
a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/OmOld2new.java 
b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/OmOld2new.java
index 4fedd01..aeb0050 100644
--- a/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/OmOld2new.java
+++ b/bpel-nobj/src/main/java/org/apache/ode/bpel/obj/migrate/OmOld2new.java
@@ -7,6 +7,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -15,70 +16,72 @@ import java.util.Set;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.ode.bpel.obj.ExtensibleImpl;
+import org.apache.ode.bpel.obj.OProcess.OExtension;
 
 /**
  * Migrate from old Omodel classes to new ones.
+ * 
  * @author fangzhen
  * @see ObjectTraverser
  */
-public class OmOld2new extends AbstractObjectVisitor{
-    private static final Logger __log = 
LoggerFactory.getLogger(OmOld2new.class);
-    
+public class OmOld2new extends AbstractObjectVisitor {
+       private static final Logger __log = 
LoggerFactory.getLogger(OmOld2new.class);
+
        private static Map<String, String> beanPkgMap = new HashMap<String, 
String>();
-       static{
+       static {
                beanPkgMap.put("org.apache.ode.bpel.o", 
"org.apache.ode.bpel.obj");
                beanPkgMap.put("org.apache.ode.bpel.elang.xpath10.o", 
"org.apache.ode.bpel.elang.xpath10.obj");
                beanPkgMap.put("org.apache.ode.bpel.elang.xpath20.o", 
"org.apache.ode.bpel.elang.xpath20.obj");
                beanPkgMap.put("org.apache.ode.bpel.elang.xquery10.o", 
"org.apache.ode.bpel.elang.xquery10.obj");
        }
-       
-       public Object visit(Object obj){
+
+       public Object visit(Object obj) {
                __log.debug("migrating object: " + obj.getClass() + "@" + 
System.identityHashCode(obj));
                Object n;
                /*
-                * we use two category of visitXXX methods here. The first  
visitXXX(Object) 
-                * return corresponding new object instance without fulfilling 
its contents, 
-                * which avoids recursively call. And then assign the new 
object. then fill contents.
-                * other wise, on cyclic reference case, the object re-visited 
but hasn't prepared yet.
-                * However, this workaround assumes that the new object is 
mutable, which is true in our case.
+                * we use two category of visitXXX methods here. The first 
visitXXX(Object)
+                * return corresponding new object instance without fulfilling 
its contents,
+                * which avoids recursively call. And then assign the new 
object. then fill
+                * contents. other wise, on cyclic reference case, the object 
re-visited but
+                * hasn't prepared yet. However, this workaround assumes that 
the new object is
+                * mutable, which is true in our case.
                 */
-               if (isMap(obj)){
+               if (isMap(obj)) {
                        n = visitMap(obj);
-               }else if (isCollection(obj)){
+               } else if (isCollection(obj)) {
                        n = visitCollection(obj);
-               }else if (isArray(obj)){
+               } else if (isArray(obj)) {
                        n = visitArray(obj);
-               }else{
+               } else {
                        n = visitPojo(obj);
                }
                rtab.assign(obj, n);
-               
-               if (isMap(obj)){
+
+               if (isMap(obj)) {
                        visitMap(obj, n);
-               }else if (isCollection(obj)){
+               } else if (isCollection(obj)) {
                        visitCollection(obj, n);
-               }else if (isArray(obj)){
+               } else if (isArray(obj)) {
                        visitArray(obj, n);
-               }else{
+               } else {
                        visitPojo(obj, n);
                }
                return n;
        }
 
-
        @Override
        protected boolean isCollection(Object old) {
                return (old instanceof Collection);
        }
 
-       private boolean isOmodelBean(Object old){
+       private boolean isOmodelBean(Object old) {
                Class<?> cls = old.getClass();
-               if (beanPkgMap.containsKey(cls.getPackage().getName()) &&
-                               !cls.getSimpleName().equals("Serializer")){
+               if (beanPkgMap.containsKey(cls.getPackage().getName()) && 
!cls.getSimpleName().equals("Serializer")) {
                        return true;
                }
                return false;
        }
+
        @Override
        public Object visitArray(Object old) {
                throw new UnsupportedOperationException("Create new Array is 
unsupported");
@@ -89,14 +92,14 @@ public class OmOld2new extends AbstractObjectVisitor{
        }
 
        @Override
-       @SuppressWarnings({ "rawtypes"})
+       @SuppressWarnings({ "rawtypes" })
        public Object visitCollection(Object old) {
                Collection o = (Collection) old;
                try {
                        Collection n = o.getClass().newInstance();
                        return n;
-               } catch (Exception e){
-                       //should not get here
+               } catch (Exception e) {
+                       // should not get here
                        e.printStackTrace();
                }
                return null;
@@ -106,7 +109,7 @@ public class OmOld2new extends AbstractObjectVisitor{
        private void visitCollection(Object old, Object nu) {
                Collection o = (Collection) old;
                Collection n = (Collection) nu;
-               for (Object obj : o){
+               for (Object obj : o) {
                        n.add(traverse.traverseObject(obj));
                }
        }
@@ -115,81 +118,135 @@ public class OmOld2new extends AbstractObjectVisitor{
        @SuppressWarnings({ "rawtypes", "unchecked" })
        public Object visitMap(Object old) {
                Map o = (Map) old;
-               try{
+               try {
                        Map n = o.getClass().newInstance();
                        return n;
-               }catch (Exception e){
-                       //should not get here
-                       e.printStackTrace();                    
+               } catch (Exception e) {
+                       // should not get here
+                       e.printStackTrace();
                }
                return null;
        }
+
        @SuppressWarnings({ "unchecked", "rawtypes" })
        private void visitMap(Object obj, Object nu) {
-               Set<Entry> entries = ((Map)obj).entrySet();
-               Map n = (Map)nu;
-               for (Entry e : entries){
+               Set<Entry> entries = ((Map) obj).entrySet();
+               Map n = (Map) nu;
+               for (Entry e : entries) {
                        n.put(traverse.traverseObject(e.getKey()), 
traverse.traverseObject(e.getValue()));
                }
        }
 
        @Override
        public Object visitPojo(Object old) {
-               if (!isOmodelBean(old)){
+               if (!isOmodelBean(old)) {
                        return old;
-               }else{
+               } else {
                        return initiateNew(old);
                }
        }
 
        private void visitPojo(Object old, Object n) {
-               if (isOmodelBean(old)){
-                       constructNewOm(old, n);
+               if (isOmodelBean(old)) {
+                       // @hahnml: We need some special handling for the 
migration of OAssign model
+                       // elements since the new OModel supports extension 
assign operations.
+                       if (old.getClass().getSimpleName().equals("OAssign")) {
+                               constructNewOAssign(old, n);
+                       } else {
+                               constructNewOm(old, n);
+                       }
                }
        }
+
        /**
-        * construct new omodel instances from old ones. Assume 
<code>old</code> is an old OmodelBean
+        * construct new omodel instances from old ones. Assume 
<code>old</code> is an
+        * old OmodelBean
+        * 
         * @param old
         * @return
         */
        private Object constructNewOm(Object old, Object tn) {
                assert tn instanceof ExtensibleImpl;
                ExtensibleImpl n = (ExtensibleImpl) tn;
-               List<Field> fields  = getAllFields(old.getClass());
+               List<Field> fields = getAllFields(old.getClass());
                Map<String, Object> fieldMap = n.getFieldContainer();
-               for (Field f : fields){
-                       if ((f.getModifiers() & Modifier.STATIC) != 0){
-                               continue; //skip static fields
+               for (Field f : fields) {
+                       if ((f.getModifiers() & Modifier.STATIC) != 0) {
+                               continue; // skip static fields
                        }
                        f.setAccessible(true);
-                       try{
+                       try {
                                String fname = f.getName();
                                Object fvalue = f.get(old);
-                               if (fvalue != null){
+                               if (fvalue != null) {
                                        fieldMap.put(fname, 
traverse.traverseObject(fvalue));
-                               }else{
+                               } else {
                                        fieldMap.put(fname, null);
                                }
                        } catch (Exception e) {
                                RuntimeException rte = new RuntimeException(
-                                               "Error when try to construct 
corresponding new Omodel class from old one:"
-                                               +old.getClass() + "; Failed on 
field:" + f.getName());
+                                               "Error when try to construct 
corresponding new Omodel class from old one:" + old.getClass()
+                                                               + "; Failed on 
field:" + f.getName());
                                rte.initCause(e);
                                throw rte;
                        }
                }
+
+               // @hahnml: We need to add the new "declaredExtensions" field 
to the process for
+               // equality.
+               if (old.getClass().getSimpleName().equals("OProcess")) {
+                       fieldMap.put("declaredExtensions", new 
HashSet<OExtension>());
+               }
+
                n.setClassVersion(1);
                n.setOriginalVersion(0);
                return n;
        }
-       
+
+       private Object constructNewOAssign(Object old, Object tn) {
+               assert tn instanceof ExtensibleImpl;
+               ExtensibleImpl n = (ExtensibleImpl) tn;
+               List<Field> fields = getAllFields(old.getClass());
+               Map<String, Object> fieldMap = n.getFieldContainer();
+               for (Field f : fields) {
+                       if ((f.getModifiers() & Modifier.STATIC) != 0) {
+                               continue; // skip static fields
+                       }
+                       f.setAccessible(true);
+                       try {
+                               String fname = f.getName();
+                               Object fvalue = f.get(old);
+
+                               if (fname.equals("copy")) {
+                                       fname = "operation";
+                               }
+
+                               if (fvalue != null) {
+                                       fieldMap.put(fname, 
traverse.traverseObject(fvalue));
+                               } else {
+                                       fieldMap.put(fname, null);
+                               }
+                       } catch (Exception e) {
+                               RuntimeException rte = new RuntimeException(
+                                               "Error when try to construct 
corresponding new Omodel class from old one:" + old.getClass()
+                                                               + "; Failed on 
field:" + f.getName());
+                               rte.initCause(e);
+                               throw rte;
+                       }
+               }
+
+               n.setClassVersion(1);
+               n.setOriginalVersion(0);
+               return n;
+       }
+
        private List<Field> getAllFields(Class cls) {
                return getAllFieldsRec(cls, new ArrayList<Field>());
        }
 
        private List<Field> getAllFieldsRec(Class cls, ArrayList<Field> fields) 
{
                Class par = cls.getSuperclass();
-               if (par != null){
+               if (par != null) {
                        getAllFieldsRec(par, fields);
                }
                fields.addAll(Arrays.asList(cls.getDeclaredFields()));
@@ -205,8 +262,7 @@ public class OmOld2new extends AbstractObjectVisitor{
                        return cons.newInstance();
                } catch (Exception e) {
                        RuntimeException rte = new RuntimeException(
-                                       "Error when try to initiate 
corresponding new Omodel class of old one:"
-                                                       + old.getClass());
+                                       "Error when try to initiate 
corresponding new Omodel class of old one:" + old.getClass());
                        rte.initCause(e);
                        throw rte;
                }

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/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 eab2c4c..64248a3 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,13 +26,12 @@ 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<OAssignOperation> operations = new 
ArrayList<OAssignOperation>();
+    public final List<Copy> copy = new ArrayList<Copy>();
 
     public OAssign(OProcess owner, OActivity parent) {
         super(owner, parent);
@@ -42,26 +41,11 @@ 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 OAssignOperation {
+    public static class Copy extends OBase {
         private static final long serialVersionUID = 1L;
         public LValue to;
         public RValue from;
@@ -84,36 +68,6 @@ 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 {
@@ -301,12 +255,8 @@ public class OAssign extends OActivity {
     @Override
     public void dehydrate() {
         super.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();
-                       }
+        for (Copy copy : this.copy) {
+            copy.dehydrate();
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/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
deleted file mode 100644
index ed0b90b..0000000
--- a/bpel-obj/src/main/java/org/apache/ode/bpel/o/OExtensionActivity.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.ode.bpel.o;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.ode.utils.SerializableElement;
-
-/**
- * Compiled representation of the BPEL <code>&lt;extensionActivity&gt;</code>
- * activity.
- * 
- * @author Tammo van Lessen (University of Stuttgart)
- */
-public class OExtensionActivity extends OActivity {
-
-       static final long serialVersionUID = -1L;
-       public final List<OActivity> children = new ArrayList<OActivity>();
-       public SerializableElement nestedElement;
-
-       public OExtensionActivity(OProcess owner, OActivity parent) {
-               super(owner, parent);
-       }
-       
-}

http://git-wip-us.apache.org/repos/asf/ode/blob/b31d36a4/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 ae9a746..7fe5d31 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,9 +76,6 @@ 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;
@@ -189,18 +186,6 @@ 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);

Reply via email to