summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2012-07-10 08:30:39 +0000
committerantelder <antelder@13f79535-47bb-0310-9956-ffa450edef68>2012-07-10 08:30:39 +0000
commit9bcbce787a3e7ecbc257a773be29edb1ae34f37f (patch)
treeef6684a2bbf3559e76a75beb016a82ce526fecc0
parent5bfe047f0c63a5a345044edfb78e11e8e142b31a (diff)
TUSCANY-4066: Apply fix from Hasan Muhammad to fix WrapperInfo clone does not copy for unwrappedType datatype
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1359519 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java
index 6873943efc..e9b123ddb4 100644
--- a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java
+++ b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java
@@ -146,6 +146,17 @@ public class WrapperInfo implements Cloneable {
if (wrapperType != null) {
copy.wrapperType = (DataType<XMLType>)wrapperType.clone();
}
+ if (unwrappedType != null) {
+ List<DataType> clonedLogicalTypes = new ArrayList<DataType>();
+ for (DataType t : unwrappedType.getLogical()) {
+ DataType type = (DataType) t.clone();
+ clonedLogicalTypes.add(type);
+ }
+ DataType<List<DataType>> clonedUnwrappedType =
+ new DataTypeImpl<List<DataType>>(unwrappedType.getPhysical(), clonedLogicalTypes);
+ clonedUnwrappedType.setDataBinding(unwrappedType.getDataBinding());
+ copy.unwrappedType = clonedUnwrappedType;
+ }
return copy;
}