Author: rfeng
Date: Thu Oct 12 11:43:45 2006
New Revision: 463371

URL: http://svn.apache.org/viewvc?view=rev&rev=463371
Log:
Fix the default xmlType for a java property annotation

Modified:
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/PropertyProcessor.java
    
incubator/tuscany/java/spec/sca/src/main/java/org/osoa/sca/annotations/Property.java

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/PropertyProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/PropertyProcessor.java?view=diff&rev=463371&r1=463370&r2=463371
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/PropertyProcessor.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/processor/PropertyProcessor.java
 Thu Oct 12 11:43:45 2006
@@ -24,7 +24,9 @@
 
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.databinding.extension.SimpleTypeMapperExtension;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.idl.TypeInfo;
 import org.apache.tuscany.spi.implementation.java.AbstractPropertyProcessor;
 import 
org.apache.tuscany.spi.implementation.java.ImplementationProcessorService;
 import org.apache.tuscany.spi.implementation.java.JavaMappedProperty;
@@ -41,7 +43,8 @@
  * @version $Rev$ $Date$
  */
 public class PropertyProcessor extends AbstractPropertyProcessor<Property> {
-
+    private SimpleTypeMapperExtension typeMapper = new 
SimpleTypeMapperExtension();
+    
     public PropertyProcessor(@Autowire ImplementationProcessorService service) 
{
         super(Property.class, service);
     }
@@ -55,7 +58,15 @@
                                     CompositeComponent parent,
                                     DeploymentContext context) {
         
property.setOverride(OverrideOptions.valueOf(annotation.override().toUpperCase()));
-        property.setXmlType(QName.valueOf(annotation.xmlType()));
+        String xmlType = annotation.xmlType();
+        if (xmlType != null && xmlType.length() != 0) {
+            property.setXmlType(QName.valueOf(annotation.xmlType()));
+        } else {
+            TypeInfo type = typeMapper.getXMLType(property.getJavaType());
+            if (type != null) {
+                property.setXmlType(type.getQName());
+            }
+        }
     }
 
     public <T> void visitConstructor(CompositeComponent parent, Constructor<T> 
constructor,

Modified: 
incubator/tuscany/java/spec/sca/src/main/java/org/osoa/sca/annotations/Property.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/spec/sca/src/main/java/org/osoa/sca/annotations/Property.java?view=diff&rev=463371&r1=463370&r2=463371
==============================================================================
--- 
incubator/tuscany/java/spec/sca/src/main/java/org/osoa/sca/annotations/Property.java
 (original)
+++ 
incubator/tuscany/java/spec/sca/src/main/java/org/osoa/sca/annotations/Property.java
 Thu Oct 12 11:43:45 2006
@@ -49,6 +49,6 @@
     /**
      * The XML Type in a QName format
      */
-    public String xmlType() default "{http://www.w3.org/2001/XMLSchema}string";;
+    public String xmlType() default "";
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to