You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sc...@apache.org on 2011/02/15 16:50:40 UTC

svn commit: r1070946 - /tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java

Author: scottkurz
Date: Tue Feb 15 15:50:40 2011
New Revision: 1070946

URL: http://svn.apache.org/viewvc?rev=1070946&view=rev
Log:
Fix wrapper clone to include clone of unwrapped info.

Modified:
    tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java

Modified: tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java?rev=1070946&r1=1070945&r2=1070946&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java Tue Feb 15 15:50:40 2011
@@ -193,6 +193,28 @@ public class WrapperInfo implements Clon
         if (outputWrapperType != null) {
             copy.outputWrapperType = (DataType<XMLType>)outputWrapperType.clone();
         }
+        if (unwrappedInputType != null) {
+            List<DataType> clonedLogicalTypes = new ArrayList<DataType>();
+            for (DataType t : unwrappedInputType.getLogical()) {
+                DataType type = (DataType) t.clone();
+                clonedLogicalTypes.add(type);
+            }
+            DataType<List<DataType>> clonedUnwrappedInputType =
+                new DataTypeImpl<List<DataType>>(unwrappedInputType.getPhysical(), clonedLogicalTypes);
+            clonedUnwrappedInputType.setDataBinding(unwrappedInputType.getDataBinding());
+            copy.unwrappedInputType = clonedUnwrappedInputType;
+        }
+        if (unwrappedOutputType != null) {
+            List<DataType> clonedLogicalTypes = new ArrayList<DataType>();
+            for (DataType t : unwrappedOutputType.getLogical()) {
+                DataType type = (DataType) t.clone();
+                clonedLogicalTypes.add(type);
+            }
+            DataType<List<DataType>> clonedUnwrappedOutputType =
+                new DataTypeImpl<List<DataType>>(unwrappedOutputType.getPhysical(), clonedLogicalTypes);
+            clonedUnwrappedOutputType.setDataBinding(unwrappedOutputType.getDataBinding());
+            copy.unwrappedOutputType = clonedUnwrappedOutputType;
+        }
         return copy;
 
     }