You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/02/07 00:55:38 UTC

svn commit: r504378 - in /incubator/tuscany/java/sca: kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/ kernel/core/src/main/java/org/apache/tuscany/core/property/ kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/ kern...

Author: rfeng
Date: Tue Feb  6 15:55:37 2007
New Revision: 504378

URL: http://svn.apache.org/viewvc?view=rev&rev=504378
Log:
Update databinding extensions to depend on the latest kernel

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
    incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml
    incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml
    incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml
    incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
    incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
    incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml
    incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java Tue Feb  6 15:55:37 2007
@@ -21,12 +21,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.tuscany.spi.idl.ElementInfo;
-import org.apache.tuscany.spi.idl.TypeInfo;
 import org.osoa.sca.annotations.Service;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -41,11 +36,11 @@
     @Override
     public List<Node> getChildElements(Node parent) throws XML2JavaMapperException {
         NodeList nodeList = parent.getChildNodes();
-        ArrayList<Node> nodeArrayList = new ArrayList<Node>(nodeList.getLength());
-        for (int count = 0 ; count < nodeList.getLength() ; ++count) {
+        List<Node> nodeArrayList = new ArrayList<Node>(nodeList.getLength());
+        for (int count = 0; count < nodeList.getLength(); ++count) {
             nodeArrayList.add(nodeList.item(count));
         }
-        
+
         return nodeArrayList;
     }
 
@@ -64,11 +59,7 @@
 
     @Override
     public boolean isTextElement(Node element) throws XML2JavaMapperException {
-        if (element.getNodeType() == 3) {
-            return true;
-        } else {
-            return false;
-        }
+        return element.getNodeType() == Node.TEXT_NODE;
     }
 
     public Class getSourceType() {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java Tue Feb  6 15:55:37 2007
@@ -21,11 +21,8 @@
 import javax.xml.namespace.QName;
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.Transformer;
 import org.apache.tuscany.spi.databinding.extension.DOMHelper;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
 import org.osoa.sca.annotations.Service;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -55,9 +52,9 @@
 
     @Override
     public Node createElement(QName qName) throws Java2XMLMapperException {
-        String qualifedName = 
-                (qName.getPrefix() == null ||  qName.getPrefix().length() <= 0) ? qName.getLocalPart() : 
-                    qName.getPrefix() + COLON + qName.getLocalPart();
+        String qualifedName =
+            (qName.getPrefix() == null || qName.getPrefix().length() <= 0) ? qName.getLocalPart()
+                : qName.getPrefix() + COLON + qName.getLocalPart();
         return factory.createElementNS(qName.getNamespaceURI(), qualifedName);
     }
 

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java Tue Feb  6 15:55:37 2007
@@ -48,12 +48,12 @@
     public static final String PERIOD = ".";
     public static final String FWD_SLASH = "/";
     public static final String HTTP = "http://";
-    public static int prefix_count = 1;
+    private static int prefixCount = 1;
     
-    protected SimpleTypeMapperExtension<T> mapper;
+    protected SimpleTypeMapperExtension mapper;
 
     public JavaBean2XMLTransformer() {
-        this.mapper = new SimpleTypeMapperExtension<T>();
+        this.mapper = new SimpleTypeMapperExtension();
     }
 
     public T transform(Object source, TransformationContext context) {
@@ -204,16 +204,6 @@
         }
     }
     
-    private QName resolveQualifiedElementName(Class javaType) {
-        if (javaType.isArray()) {
-            return new QName(HTTP + javaType.getComponentType().getPackage().getName().replace(PERIOD, FWD_SLASH),
-                             javaType.getComponentType().getSimpleName(), getNexPrefix());
-        } else {
-            return new QName(HTTP + javaType.getPackage().getName().replace(PERIOD, FWD_SLASH),
-                             javaType.getSimpleName(), getNexPrefix());
-        }
-    }
-    
     private String resolveFieldFromMethod(String methodName) {
         StringBuffer fieldName = new StringBuffer();
         fieldName.append(Character.toLowerCase(methodName.charAt(GET.length())));
@@ -222,7 +212,7 @@
     }
     
     public String getNexPrefix() {
-        return PREFIX + prefix_count++;
+        return PREFIX + prefixCount++;
     }
     
     public abstract T createElement(QName qName) throws Java2XMLMapperException;

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java Tue Feb  6 15:55:37 2007
@@ -45,10 +45,10 @@
 
     public static final String SET = "set";
 
-    protected SimpleTypeMapperExtension<T> mapper;
+    protected SimpleTypeMapperExtension mapper;
 
     public XML2JavaBeanTransformer() {
-        this.mapper = new SimpleTypeMapperExtension<T>();
+        this.mapper = new SimpleTypeMapperExtension();
     }
 
     public Object transform(T source, TransformationContext context) {
@@ -66,7 +66,7 @@
 
     public Object toJavaObject(TypeInfo xmlType, T xmlElement, TransformationContext context) {
         if (xmlType.isSimpleType()) {
-            return mapper.toSimpleJavaObject(xmlType, getText(xmlElement), context);
+            return mapper.toJavaObject(xmlType, getText(xmlElement), context);
         } else {
             Class<?> javaType = (Class<?>) context.getTargetDataType().getLogical();
             return createJavaObject(xmlElement, javaType, context);
@@ -78,7 +78,7 @@
         throws XML2JavaMapperException {
         List<T> childElements = getChildElements(element);
         if (childElements.size() == 1 && isTextElement(childElements.get(0))) {
-            return (L) mapper.toSimpleJavaObject(mapper.getXMLType(javaType),
+            return (L) mapper.toJavaObject(mapper.getXMLType(javaType),
                                                  getText(childElements.get(0)),
                                                  context);
         } else {

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java Tue Feb  6 15:55:37 2007
@@ -56,7 +56,7 @@
             if (xmlType == null) {
                 throw new IllegalArgumentException("Complex property is not supported.");
             }
-            instance = (P)typeMapper.toSimpleJavaObject(xmlType, text, null);
+            instance = (P)typeMapper.toJavaObject(xmlType, text, null);
         }
         return instance;
     }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java Tue Feb  6 15:55:37 2007
@@ -55,9 +55,15 @@
     WrapperHandler getWrapperHandler();
 
     /**
-     * make a copy of the input object
+     * Make a copy of the object for "pass-by-value" semantics
      * @param source object to copy 
      * @return copy of the object passed in as argument
      */
     Object copy(Object object);
+    
+    /**
+     * Get the type mapper for simple types
+     * @return The databinding-specific simple type mapper
+     */
+    SimpleTypeMapper getSimpleTypeMapper();
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java Tue Feb  6 15:55:37 2007
@@ -24,7 +24,7 @@
 /**
  * Type Mapper between XML schema simple data types and java objects
  */
-public interface SimpleTypeMapper<T> {
+public interface SimpleTypeMapper {
     /**
      * Parse the XML lexical representation into a java object 
      * @param simpleType The XSD simple type
@@ -32,7 +32,7 @@
      * @param context The context of the transformation
      * @return A java object for the XML value
      */
-    Object toJavaObject(TypeInfo simpleType, T value, TransformationContext context);
+    Object toJavaObject(TypeInfo simpleType, String value, TransformationContext context);
     /**
      * Create the XML lexical representation for a java object
      * @param simpleType The XSD simple type

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java Tue Feb  6 15:55:37 2007
@@ -36,6 +36,7 @@
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.databinding.DataBinding;
 import org.apache.tuscany.spi.databinding.DataBindingRegistry;
+import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
 import org.apache.tuscany.spi.databinding.WrapperHandler;
 import org.apache.tuscany.spi.model.DataType;
 
@@ -169,6 +170,10 @@
 
         };
         return ois;
+    }
+
+    public SimpleTypeMapper getSimpleTypeMapper() {
+        return new SimpleTypeMapperExtension();
     }
 
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java Tue Feb  6 15:55:37 2007
@@ -35,11 +35,11 @@
     protected SimpleTypeMapper mapper;
 
     public SimpleType2JavaTransformer() {
-        this.mapper = new SimpleTypeMapperExtension<Node>();
+        this.mapper = new SimpleTypeMapperExtension();
     }
 
     public SimpleType2JavaTransformer(SimpleTypeMapper mapper) {
-        this.mapper = (mapper != null) ? mapper : new SimpleTypeMapperExtension<Node>();
+        this.mapper = (mapper != null) ? mapper : new SimpleTypeMapperExtension();
     }
 
     public Object transform(T source, TransformationContext context) {
@@ -50,7 +50,7 @@
             simpleType = (TypeInfo)element.getType();
         }
         
-        return mapper.toJavaObject(simpleType, source, context);
+        return mapper.toJavaObject(simpleType, getText(source), context);
     }
 
     public Class getTargetType() {

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java Tue Feb  6 15:55:37 2007
@@ -33,15 +33,12 @@
 import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.idl.TypeInfo;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
 
-public class SimpleTypeMapperExtension<T> extends XSDDataTypeConverter implements
-        SimpleTypeMapper<T> {
-    
+public class SimpleTypeMapperExtension extends XSDDataTypeConverter implements SimpleTypeMapper {
+
     public static final int BASE64_ENCODING = 1;
     public static final int HEXBIN_ENCODING = 2;
-    
+
     public static final String SET = "set";
 
     public static final Map<Class, String> JAVA2XML = new HashMap<Class, String>();
@@ -102,26 +99,21 @@
 
     public static final QName XSD_NCNAME = new QName(URI_2001_SCHEMA_XSD, "NCName");
 
-    public static final QName XSD_NEGATIVEINTEGER =
-            new QName(URI_2001_SCHEMA_XSD, "negativeInteger");
+    public static final QName XSD_NEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "negativeInteger");
 
     public static final QName XSD_NMTOKEN = new QName(URI_2001_SCHEMA_XSD, "NMTOKEN");
 
     public static final QName XSD_NMTOKENS = new QName(URI_2001_SCHEMA_XSD, "NMTOKENS");
 
-    public static final QName XSD_NONNEGATIVEINTEGER =
-            new QName(URI_2001_SCHEMA_XSD, "nonNegativeInteger");
+    public static final QName XSD_NONNEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonNegativeInteger");
 
-    public static final QName XSD_NONPOSITIVEINTEGER =
-            new QName(URI_2001_SCHEMA_XSD, "nonPositiveInteger");
+    public static final QName XSD_NONPOSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonPositiveInteger");
 
-    public static final QName XSD_NORMALIZEDSTRING =
-            new QName(URI_2001_SCHEMA_XSD, "normalizedString");
+    public static final QName XSD_NORMALIZEDSTRING = new QName(URI_2001_SCHEMA_XSD, "normalizedString");
 
     public static final QName XSD_NOTATION = new QName(URI_2001_SCHEMA_XSD, "NOTATION");
 
-    public static final QName XSD_POSITIVEINTEGER =
-            new QName(URI_2001_SCHEMA_XSD, "positiveInteger");
+    public static final QName XSD_POSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "positiveInteger");
 
     public static final QName XSD_QNAME = new QName(URI_2001_SCHEMA_XSD, "QName");
 
@@ -148,14 +140,12 @@
     public static final QName XSD_YEARMONTH = new QName(URI_2001_SCHEMA_XSD, "gYearMonth");
 
     private static final String[] XSD_TYPE_NAMES =
-    {"string", "boolean", "double", "float", "int", "integer", "long", "short", "byte",
-        "decimal", "base64Binary", "hexBinary", "anySimpleType", "anyType", "any",
-        "QName", "dateTime", "date", "time", "normalizedString", "token",
-        "unsignedLong", "unsignedInt", "unsignedShort", "unsignedByte",
-        "positiveInteger", "negativeInteger", "nonNegativeInteger",
-        "nonPositiveInteger", "gYearMonth", "gMonthDay", "gYear", "gMonth", "gDay",
-        "duration", "Name", "NCName", "NMTOKEN", "NMTOKENS", "NOTATION", "ENTITY",
-        "ENTITIES", "IDREF", "IDREFS", "anyURI", "language", "ID"};
+    {"string", "boolean", "double", "float", "int", "integer", "long", "short", "byte", "decimal", "base64Binary",
+     "hexBinary", "anySimpleType", "anyType", "any", "QName", "dateTime", "date", "time", "normalizedString",
+     "token", "unsignedLong", "unsignedInt", "unsignedShort", "unsignedByte", "positiveInteger", "negativeInteger",
+     "nonNegativeInteger", "nonPositiveInteger", "gYearMonth", "gMonthDay", "gYear", "gMonth", "gDay", "duration",
+     "Name", "NCName", "NMTOKEN", "NMTOKENS", "NOTATION", "ENTITY", "ENTITIES", "IDREF", "IDREFS", "anyURI",
+     "language", "ID"};
 
     static {
         for (String type : XSD_TYPE_NAMES) {
@@ -228,7 +218,7 @@
         XML2JAVA.put("NOTATION", javax.xml.namespace.QName.class);
     }
 
-    private int byteEncoding  = BASE64_ENCODING;
+    private int byteEncoding = BASE64_ENCODING;
     private DatatypeFactory factory;
 
     public SimpleTypeMapperExtension() {
@@ -252,9 +242,7 @@
         return XSD_SIMPLE_TYPES.get(JAVA2XML.get(javaType));
     }
 
-    public Object toSimpleJavaObject(TypeInfo simpleType,
-                                     String literal,
-                                     TransformationContext context) {
+    public Object toJavaObject(TypeInfo simpleType, String literal, TransformationContext context) {
         /**
          * <ul>
          * <li>xsd:string --- java.lang.String
@@ -277,8 +265,10 @@
          * <li>xsd:time --- javax.xml.datatype.XMLGregorianCalendar
          * <li>xsd:date --- javax.xml.datatype.XMLGregorianCalendar
          * <li>xsd:g* --- javax.xml.datatype.XMLGregorianCalendar
-         * <li>xsd:anySimpleType (for xsd:element of this type)a java.lang.Object
-         * <li>xsd:anySimpleType (for xsd:attribute of this type) java.lang.String
+         * <li>xsd:anySimpleType (for xsd:element of this type)a
+         * java.lang.Object
+         * <li>xsd:anySimpleType (for xsd:attribute of this type)
+         * java.lang.String
          * <li>xsd:duration javax.xml.datatype.Duration
          * <li>xsd:NOTATION javax.xml.namespace.QName
          * </ul>
@@ -293,7 +283,7 @@
         }
         TypeInfo baseType = simpleType;
         while (baseType.getBaseType() != null) {
-            baseType = (TypeInfo) baseType.getBaseType();
+            baseType = (TypeInfo)baseType.getBaseType();
         }
 
         QName type = baseType.getQName();
@@ -341,15 +331,11 @@
             return parseBase64Binary(value);
         } else if (type.equals(XSD_QNAME)) {
             NamespaceContext namespaceContext =
-                    (NamespaceContext) ((context != null) ? context.getMetadata()
-                                                                   .get(NamespaceContext.class)
-                            : null);
+                (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
             return parseQName(value, namespaceContext);
         } else if (type.equals(XSD_NOTATION)) {
             NamespaceContext namespaceContext =
-                    (NamespaceContext) ((context != null) ? context.getMetadata()
-                                                                   .get(NamespaceContext.class)
-                            : null);
+                (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
             return parseQName(value, namespaceContext);
         } else if (type.equals(XSD_YEAR)) {
             return factory.newXMLGregorianCalendar(value);
@@ -369,12 +355,8 @@
     @SuppressWarnings("deprecation")
     private XMLGregorianCalendar toXMLGregorianCalendar(Date date) {
         GregorianCalendar c =
-                new GregorianCalendar(date.getYear(),
-                                      date.getMonth(),
-                                      date.getDate(),
-                                      date.getHours(),
-                                      date.getMinutes(),
-                                      date.getSeconds());
+            new GregorianCalendar(date.getYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(),
+                                  date.getSeconds());
         return factory.newXMLGregorianCalendar(c);
     }
 
@@ -385,17 +367,17 @@
     public String toXMLLiteral(TypeInfo simpleType, Object obj, TransformationContext context) {
         if (obj instanceof Float || obj instanceof Double) {
             if (obj instanceof Float) {
-                return printDouble(((Float) obj).floatValue());
+                return printDouble(((Float)obj).floatValue());
             } else {
-                return printDouble(((Double) obj).doubleValue());
+                return printDouble(((Double)obj).doubleValue());
             }
         } else if (obj instanceof GregorianCalendar) {
-            GregorianCalendar calendar = (GregorianCalendar) obj;
+            GregorianCalendar calendar = (GregorianCalendar)obj;
             return toXMLGregorianCalendar(calendar).toXMLFormat();
         } else if (obj instanceof Date) {
-            return toXMLGregorianCalendar((Date) obj).toXMLFormat();
+            return toXMLGregorianCalendar((Date)obj).toXMLFormat();
         } else if (obj instanceof XMLGregorianCalendar) {
-            return ((XMLGregorianCalendar) obj).toXMLFormat();
+            return ((XMLGregorianCalendar)obj).toXMLFormat();
         } else if (obj instanceof byte[]) {
             if (simpleType != null) {
                 if (simpleType.getQName().equals(XSD_BASE64)) {
@@ -405,39 +387,21 @@
                 }
             }
             if (byteEncoding == BASE64_ENCODING) {
-                return printBase64Binary((byte[]) obj);
+                return printBase64Binary((byte[])obj);
             } else if (byteEncoding == HEXBIN_ENCODING) {
-                return printHexBinary((byte[]) obj);
+                return printHexBinary((byte[])obj);
             }
         } else if (obj instanceof QName) {
             NamespaceContext namespaceContext =
-                    (NamespaceContext) ((context != null) ? context.getMetadata()
-                                                                   .get(NamespaceContext.class)
-                            : null);
-            return printQName((QName) obj, namespaceContext);
+                (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
+            return printQName((QName)obj, namespaceContext);
         }
         return obj.toString();
     }
 
     public static boolean isSimpleXSDType(QName typeName) {
-        return typeName.getNamespaceURI().equals(URI_2001_SCHEMA_XSD)
-                && XSD_SIMPLE_TYPES.get(typeName.getLocalPart()) != null;
-    }
-
-    protected String getText(T source) {
-        Node sourceNode = (Node) source;
-        if (source instanceof Document) {
-            sourceNode = ((Document) sourceNode).getDocumentElement();
-        }
-        return sourceNode.getTextContent();
-    }
-
-    public Object toJavaObject(TypeInfo simpleType, T xmlNode, TransformationContext context) {
-        if (simpleType.isSimpleType()) {
-            return toSimpleJavaObject(simpleType, getText(xmlNode), context);
-        } else {
-            throw new IllegalArgumentException("Complex XML Types not supported by SimpleTypeMapperExtension");
-        }
+        return typeName.getNamespaceURI().equals(URI_2001_SCHEMA_XSD) 
+            && XSD_SIMPLE_TYPES.get(typeName.getLocalPart()) != null;
     }
 
     public int getByteEncoding() {

Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java Tue Feb  6 15:55:37 2007
@@ -48,6 +48,18 @@
         SAMPLE_VALUES.put("duration", new String[] {"P8M3DT7H33M2S", "P5Y2M10DT15H"});
         SAMPLE_VALUES.put("float", new String[] {"3.1415292", "INF", "NaN"});
         SAMPLE_VALUES.put("gDay", "---11");
+        /*
+         * The value space of xsd:gMonth is the period of one calendar month recurring 
+         * each calendar year (such as the month of April). Its lexical space should 
+         * follow the ISO 8601 syntax for such periods (i.e., -- MM) with an optional 
+         * time zone.
+         * Tip: There's a typo in the W3C XML Schema Recommendation, in which the format 
+         * is defined as -- MM -- --. Even though an erratum should be published to 
+         * bring the W3C XML Schema inline with ISO 8601, most current schema processors 
+         * expect the (bogus) -- MM -- -- format.
+         * 
+         * The test might be broken in JDK 1.6
+         */
         SAMPLE_VALUES.put("gMonth", "--02--");
         SAMPLE_VALUES.put("gMonthDay", "--02-14");
         SAMPLE_VALUES.put("gYear", "1999");
@@ -96,14 +108,14 @@
             Object value = SAMPLE_VALUES.get(name);
             if (value instanceof String[]) {
                 for (String s : (String[])value) {
-                    Object obj = extension.toSimpleJavaObject(simpleType, s, context);
+                    Object obj = extension.toJavaObject(simpleType, s, context);
                     String str = extension.toXMLLiteral(simpleType, obj, context);
                     assertNotNull(str);
                     // assertTrue("[" + name + "] " + s + " " + str,
                     // str.contains((String) s));
                 }
             } else if (value instanceof String) {
-                Object obj = extension.toSimpleJavaObject(simpleType, (String)value, context);
+                Object obj = extension.toJavaObject(simpleType, (String)value, context);
                 String str = extension.toXMLLiteral(simpleType, obj, context);
                 assertNotNull(str);
                 // assertTrue("[" + name + "] " + value + " " + str,

Modified: incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml Tue Feb  6 15:55:37 2007
@@ -32,7 +32,7 @@
         <dependency>
             <groupId>org.apache.tuscany.sca.kernel</groupId>
             <artifactId>tuscany-spi</artifactId>
-				<version>0.1-pre-spec-SNAPSHOT</version>
+            <version>1.0-incubator-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
 

Modified: incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml Tue Feb  6 15:55:37 2007
@@ -55,7 +55,7 @@
         <dependency>
             <groupId>org.apache.tuscany.sca.kernel</groupId>
             <artifactId>tuscany-spi</artifactId>
-				<version>0.1-pre-spec-SNAPSHOT</version>
+            <version>1.0-incubator-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -67,7 +67,7 @@
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-impl</artifactId>
-            <version>2.0.4</version>
+            <version>2.0.5</version>
             <scope>runtime</scope>
             <!-- Relacing stax 1.0 with stax 1.0.1 -->
             <exclusions>

Modified: incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml Tue Feb  6 15:55:37 2007
@@ -32,7 +32,7 @@
         <dependency>
             <groupId>org.apache.tuscany.sca.kernel</groupId>
             <artifactId>tuscany-spi</artifactId>
-				<version>0.1-pre-spec-SNAPSHOT</version>
+            <version>1.0-incubator-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
 
@@ -46,7 +46,6 @@
         <dependency>
             <groupId>org.apache.tuscany.sca.kernel</groupId>
             <artifactId>core</artifactId>
-				<version>0.1-pre-spec-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>
         

Modified: incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java Tue Feb  6 15:55:37 2007
@@ -20,6 +20,8 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 import java.net.URI;
 import java.net.URL;
 
@@ -81,13 +83,14 @@
             helperContext = SDOUtil.createHelperContext();
         }
 
-        importFactory(reader, deploymentContext);
+        importFactory(reader, deploymentContext, helperContext);
         importWSDL(reader, deploymentContext, helperContext);
         LoaderUtil.skipToEndElement(reader);
         return new SDOType(helperContext);
     }
 
-    private void importFactory(XMLStreamReader reader, DeploymentContext deploymentContext) throws LoaderException {
+    private void importFactory(XMLStreamReader reader, DeploymentContext deploymentContext, HelperContext helperContext)
+        throws LoaderException {
         String factoryName = reader.getAttributeValue(null, "factory");
         if (factoryName != null) {
             ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
@@ -105,6 +108,13 @@
                 Thread.currentThread().setContextClassLoader(oldCL);
             }
         }
+    }
+    
+    private static void register(Class<?> factoryClass, HelperContext helperContext) throws Exception {
+        Field field = factoryClass.getField("INSTANCE");
+        Object instance = field.get(null);
+        Method regMethod = factoryClass.getMethod("register", new Class[] {HelperContext.class});
+        regMethod.invoke(instance, helperContext);
     }
 
     private void importWSDL(XMLStreamReader reader, DeploymentContext deploymentContext, HelperContext helperContext)

Modified: incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java Tue Feb  6 15:55:37 2007
@@ -21,6 +21,7 @@
 
 import javax.xml.namespace.QName;
 
+import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
 import org.apache.tuscany.spi.databinding.WrapperHandler;
 import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
 import org.apache.tuscany.spi.model.DataType;
@@ -31,7 +32,7 @@
 import commonj.sdo.helper.XSDHelper;
 
 /**
- * 
+ * SDO Databinding 
  */
 public class SDODataBinding extends DataBindingExtension {
     private WrapperHandler<Object> wrapperHandler;
@@ -60,6 +61,10 @@
     @Override
     public WrapperHandler getWrapperHandler() {
         return wrapperHandler;
+    }
+    
+    public SimpleTypeMapper getSimpleTypeMapper() {
+        return new SDOSimpleTypeMapper();
     }
 
 }

Modified: incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml Tue Feb  6 15:55:37 2007
@@ -46,7 +46,7 @@
         <dependency>
             <groupId>org.apache.tuscany.sca.kernel</groupId>
             <artifactId>tuscany-spi</artifactId>
-				<version>0.1-pre-spec-SNAPSHOT</version>
+            <version>1.0-incubator-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
 		<dependency>
@@ -92,7 +92,7 @@
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-impl</artifactId>
-            <version>2.0.4</version>
+            <version>2.0.5</version>
             <scope>test</scope>
             <!-- Relacing stax 1.0 with stax 1.0.1 -->
             <exclusions>
@@ -106,7 +106,6 @@
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>test</artifactId>
-				<version>0.1-pre-spec-SNAPSHOT</version>
             <scope>test</scope>
         </dependency>    
 	</dependencies>

Modified: incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml Tue Feb  6 15:55:37 2007
@@ -32,7 +32,7 @@
         <dependency>
             <groupId>org.apache.tuscany.sca.kernel</groupId>
             <artifactId>tuscany-spi</artifactId>
-				<version>0.1-pre-spec-SNAPSHOT</version>
+            <version>1.0-incubator-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
         <dependency>
@@ -41,7 +41,6 @@
             <version>2.1.0</version>
             <scope>compile</scope>
         </dependency>
-
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org