diff options
author | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-06 12:31:45 +0000 |
---|---|---|
committer | slaws <slaws@13f79535-47bb-0310-9956-ffa450edef68> | 2010-05-06 12:31:45 +0000 |
commit | 79ee3ef4b1e7014231af2627572b03c497063e3a (patch) | |
tree | 39a2948aeb4ad8be0c41891dc80f271d79ff57f7 /sca-java-2.x/trunk/modules/implementation-java/src/main/java | |
parent | 5d02eac6f0ecb65cf887b5870009aaa7e6bafd3f (diff) |
TUSCANY-3530 - first raft of changes to turn on property type checking at deployment time. Required by ASM_5038 and ASM_5039. Still some TODOs including handling elements, composite properties, multiplicity and complex types derived from the component type.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@941695 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/implementation-java/src/main/java')
-rw-r--r-- | sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java b/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java index 635375a4ed..cf01ede748 100644 --- a/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java +++ b/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java @@ -23,6 +23,8 @@ import java.lang.annotation.ElementType; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; import java.util.Collection; import java.util.List; import java.util.Map; @@ -35,6 +37,7 @@ import org.apache.tuscany.sca.implementation.java.JavaImplementation; import org.apache.tuscany.sca.implementation.java.JavaParameterImpl; import org.apache.tuscany.sca.implementation.java.introspect.BaseJavaClassVisitor; import org.apache.tuscany.sca.implementation.java.introspect.JavaIntrospectionHelper; +import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper; /** * Base class for ImplementationProcessors that handle annotations that add @@ -206,6 +209,12 @@ public abstract class AbstractPropertyProcessor<A extends Annotation> extends Ba Class<?> javaType = element.getType(); if (javaType.isArray() || Collection.class.isAssignableFrom(javaType)) { property.setMany(true); + Type type = element.getGenericType(); + if (type instanceof ParameterizedType){ + property.setXSDType(JavaXMLMapper.getXMLType((Class)((ParameterizedType)type).getActualTypeArguments()[0])); + } + } else { + property.setXSDType(JavaXMLMapper.getXMLType(javaType)); } return property; |