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/04/12 23:51:53 UTC

svn commit: r528248 - in /incubator/tuscany/java/sca/modules: databinding-jaxb/ databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/ databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/ databinding-sdo-axiom/ databinding-s...

Author: rfeng
Date: Thu Apr 12 14:51:52 2007
New Revision: 528248

URL: http://svn.apache.org/viewvc?view=rev&rev=528248
Log:
Get databinding-jaxb built

Modified:
    incubator/tuscany/java/sca/modules/databinding-jaxb/pom.xml
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXWSJavaInterfaceProcessor.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java
    incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandlerTestCase.java
    incubator/tuscany/java/sca/modules/databinding-sdo-axiom/pom.xml
    incubator/tuscany/java/sca/modules/databinding-sdo/pom.xml
    incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/pom.xml?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/pom.xml Thu Apr 12 14:51:52 2007
@@ -34,7 +34,11 @@
             <artifactId>tuscany-databinding</artifactId>
             <version>1.0-incubating-SNAPSHOT</version>
         </dependency>
-
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-interface-java-xml</artifactId>
+            <version>1.0-incubating-SNAPSHOT</version>
+        </dependency>            
         <dependency>
             <groupId>javax.xml.bind</groupId>
             <artifactId>jaxb-api</artifactId>
@@ -116,7 +120,7 @@
                 <executions>
                     <execution>
                         <id>generate-jaxb</id>
-                        <phase>generate-test-sources</phase>
+                        <phase>generate-sources</phase>
                         <goals>
                             <goal>generate</goal>
                         </goals>

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java Thu Apr 12 14:51:52 2007
@@ -31,9 +31,8 @@
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.Operation;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.util.XMLType;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.TransformationException;
 
@@ -50,31 +49,16 @@
         if (tContext == null)
             throw new TransformationException("JAXB context is not set for the transformation.");
 
+        DataType<?> bindingContext = source ? tContext.getSourceDataType() : tContext.getTargetDataType();
         // FIXME: We should check the context path or classes
         // FIXME: What should we do if JAXB is an intermediate node?
-        DataType<?> bindingContext = source ? tContext.getSourceDataType() : tContext.getTargetDataType();
-        String contextPath = (String)bindingContext.getMetadata(JAXB_CONTEXT_PATH);
-        if (contextPath == null) {
-            Operation op = (Operation)bindingContext.getOperation();
-            contextPath = op != null ? (String)op.getMetaData().get(JAXB_CONTEXT_PATH) : null;
-        }
+
+        String contextPath = null;
         JAXBContext context = null;
-        if (contextPath != null) {
+        Class cls = bindingContext.getPhysical();
+        if (cls.getPackage() != null) {
+            contextPath = cls.getPackage().getName();
             context = JAXBContext.newInstance(contextPath);
-        } else {
-            Class[] classes = (Class[])bindingContext.getMetadata(JAXB_CLASSES);
-            if (classes != null) {
-                context = JAXBContext.newInstance(classes);
-            } else {
-                Type type = bindingContext.getPhysical();
-                if (type instanceof Class) {
-                    Class cls = (Class)type;
-                    if (cls.getPackage() != null) {
-                        contextPath = cls.getPackage().getName();
-                        context = JAXBContext.newInstance(contextPath);
-                    }
-                }
-            }
         }
         if (context == null) {
             throw new TransformationException("JAXB context is not set for the transformation.");
@@ -156,7 +140,7 @@
         if (type != null) {
             String typeNamespace = type.namespace();
             String typeName = type.name();
-    
+
             if (typeNamespace.equals("##default") && typeName.equals("")) {
                 XmlRootElement rootElement = javaType.getAnnotation(XmlRootElement.class);
                 if (rootElement != null) {
@@ -171,7 +155,7 @@
             } else {
                 namespace = typeNamespace;
             }
-    
+
             if (typeName.equals("##default")) {
                 name = Introspector.decapitalize(javaType.getSimpleName());
             } else {

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBDataBinding.java Thu Apr 12 14:51:52 2007
@@ -27,8 +27,8 @@
 import javax.xml.bind.JAXBElement;
 import javax.xml.namespace.QName;
 
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.util.XMLType;
 import org.apache.tuscany.spi.databinding.ExceptionHandler;
 import org.apache.tuscany.spi.databinding.extension.DOMHelper;
 import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandler.java Thu Apr 12 14:51:52 2007
@@ -25,9 +25,9 @@
 import javax.xml.namespace.QName;
 import javax.xml.ws.WebFault;
 
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.impl.DataTypeImpl;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.interfacedef.util.XMLType;
 import org.apache.tuscany.spi.databinding.ExceptionHandler;
 
 /**

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandler.java Thu Apr 12 14:51:52 2007
@@ -29,7 +29,7 @@
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
 
-import org.apache.tuscany.idl.util.ElementInfo;
+import org.apache.tuscany.interfacedef.util.ElementInfo;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.TransformationException;
 import org.apache.tuscany.spi.databinding.WrapperHandler;

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXWSJavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXWSJavaInterfaceProcessor.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXWSJavaInterfaceProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXWSJavaInterfaceProcessor.java Thu Apr 12 14:51:52 2007
@@ -20,7 +20,7 @@
 package org.apache.tuscany.databinding.jaxb;
 
 import java.lang.reflect.Method;
-import java.lang.reflect.Type;
+import java.util.HashMap;
 import java.util.Map;
 
 import javax.jws.WebMethod;
@@ -29,42 +29,35 @@
 import javax.xml.ws.RequestWrapper;
 import javax.xml.ws.ResponseWrapper;
 
-import org.apache.tuscany.idl.Operation;
-import org.apache.tuscany.idl.util.ElementInfo;
-import org.apache.tuscany.idl.util.WrapperInfo;
+import org.apache.tuscany.interfacedef.InvalidInterfaceException;
+import org.apache.tuscany.interfacedef.Operation;
+import org.apache.tuscany.interfacedef.java.JavaInterface;
+import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospectorExtension;
+import org.apache.tuscany.interfacedef.util.ElementInfo;
+import org.apache.tuscany.interfacedef.util.WrapperInfo;
 
 /**
  * The databinding annotation processor for java interfaces
  * 
  * @version $Rev$ $Date$
  */
-public class JAXWSJavaInterfaceProcessor extends JavaInterfaceProcessorExtension {
+public class JAXWSJavaInterfaceProcessor implements JavaInterfaceIntrospectorExtension {
 
     public JAXWSJavaInterfaceProcessor() {
         super();
     }
 
-    public void visitInterface(Class<?> clazz, Class<?> callbackClass, Contract contract)
-        throws InvalidServiceContractException {
+    public void visitInterface(JavaInterface contract) throws InvalidInterfaceException {
         if (!contract.isRemotable()) {
             return;
         }
-        Map<String, Operation> operations = contract.getOperations();
-        processInterface(clazz, contract, operations);
-        if (callbackClass != null) {
-            Map<String, Operation> callbackOperations = contract.getCallbackOperations();
-            processInterface(callbackClass, contract, callbackOperations);
+        Class<?> clazz = contract.getJavaClass();
+        Map<String, Operation> operations = new HashMap<String, Operation>();
+        for (Operation op : contract.getOperations()) {
+            operations.put(op.getName(), op);
         }
-    }
-
-    private static String getValue(String value, String defaultValue) {
-        return "".equals(value) ? defaultValue : value;
-    }
-
-    private void processInterface(Class<?> clazz, Contract contract, Map<String, Operation> operations) {
-
         for (Method method : clazz.getMethods()) {
-            Operation<?> operation = operations.get(method.getName());
+            Operation operation = operations.get(method.getName());
 
             WebMethod webMethod = method.getAnnotation(WebMethod.class);
             if (webMethod == null) {
@@ -94,11 +87,15 @@
 
             QName outputWrapper = new QName(ns, name);
 
-            WrapperInfo wrapperInfo =
-                new WrapperInfo(JAXBDataBinding.NAME, new ElementInfo(inputWrapper, null),
-                                new ElementInfo(outputWrapper, null), null, null);
+            WrapperInfo wrapperInfo = new WrapperInfo(JAXBDataBinding.NAME, new ElementInfo(inputWrapper, null),
+                                                      new ElementInfo(outputWrapper, null), null, null);
             operation.setWrapperStyle(true);
             operation.setWrapper(wrapperInfo);
         }
     }
+
+    private static String getValue(String value, String defaultValue) {
+        return "".equals(value) ? defaultValue : value;
+    }
+
 }

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBDataBindingTestCase.java Thu Apr 12 14:51:52 2007
@@ -26,9 +26,9 @@
 
 import junit.framework.TestCase;
 
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.impl.DataTypeImpl;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.interfacedef.util.XMLType;
 
 import com.example.ipo.jaxb.ObjectFactory;
 import com.example.ipo.jaxb.PurchaseOrderType;

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBExceptionHandlerTestCase.java Thu Apr 12 14:51:52 2007
@@ -25,9 +25,9 @@
 
 import org.apache.tuscany.databinding.jaxb.fault.InvalidSymbolFault;
 import org.apache.tuscany.databinding.jaxb.fault.InvalidSymbolFault_Exception;
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.impl.DataTypeImpl;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.interfacedef.util.XMLType;
 
 /**
  * Test case for JAXBExceptionHandler

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java Thu Apr 12 14:51:52 2007
@@ -29,9 +29,9 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
-import org.apache.tuscany.idl.DataType;
-import org.apache.tuscany.idl.impl.DataTypeImpl;
-import org.apache.tuscany.idl.util.XMLType;
+import org.apache.tuscany.interfacedef.DataType;
+import org.apache.tuscany.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.interfacedef.util.XMLType;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.w3c.dom.Node;
 
@@ -78,8 +78,7 @@
     public void testTransform() throws Exception {
         Reader2JAXB t0 = new Reader2JAXB();
 
-        DataType targetDataType = new DataTypeImpl<Class>(Object.class, null);
-        targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
+        DataType targetDataType = new DataTypeImpl<Class>(PurchaseOrderType.class, null);
 
         TransformationContext tContext = createMock(TransformationContext.class);
         expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes();
@@ -87,8 +86,7 @@
 
         Object object1 = t0.transform(new StringReader(IPO_XML), tContext);
 
-        DataType sourceDataType = new DataTypeImpl<Class>(Object.class, null);
-        sourceDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
+        DataType sourceDataType = new DataTypeImpl<Class>(PurchaseOrderType.class, null);
 
         TransformationContext tContext1 = createMock(TransformationContext.class);
         expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes();
@@ -139,7 +137,6 @@
     public void testTransform3() throws Exception {
 
         DataType sourceDataType = new DataTypeImpl<Class>(PurchaseOrderType.class, null);
-        sourceDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
 
         TransformationContext tContext1 = createMock(TransformationContext.class);
         expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes();

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandlerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandlerTestCase.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandlerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBWrapperHandlerTestCase.java Thu Apr 12 14:51:52 2007
@@ -22,7 +22,6 @@
 import java.util.List;
 
 import javax.xml.bind.JAXBElement;
-import javax.xml.namespace.QName;
 
 import junit.framework.TestCase;
 
@@ -33,7 +32,7 @@
  * Test case for JAXBExceptionHandler
  */
 public class JAXBWrapperHandlerTestCase extends TestCase {
-    private static final QName ELEMENT = new QName("http://www.example.com/IPO", "purchaseOrder");
+    // private static final QName ELEMENT = new QName("http://www.example.com/IPO", "purchaseOrder");
     private JAXBWrapperHandler handler;
 
     /**

Modified: incubator/tuscany/java/sca/modules/databinding-sdo-axiom/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo-axiom/pom.xml?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo-axiom/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo-axiom/pom.xml Thu Apr 12 14:51:52 2007
@@ -26,7 +26,7 @@
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>tuscany-databinding-sdo-axiom</artifactId>
-    <name>Apache Tuscany Data Binding for SDO</name>
+    <name>Apache Tuscany Data Binding for SDO/AXIOM</name>
 
     <dependencies>
         <dependency>

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/pom.xml?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/pom.xml Thu Apr 12 14:51:52 2007
@@ -39,6 +39,7 @@
             <artifactId>tuscany-databinding</artifactId>
             <version>1.0-incubating-SNAPSHOT</version>
         </dependency>
+        <!-- FIXME: We might want to create a separate module to host the processor -->
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-implementation-java-xml</artifactId>

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java?view=diff&rev=528248&r1=528247&r2=528248
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/HelperContextProcessor.java Thu Apr 12 14:51:52 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.tuscany.databinding.sdo;
 
+import java.beans.Introspector;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.net.URI;
@@ -60,7 +61,7 @@
         if (!name.startsWith("set")) {
             return name;
         }
-        return Character.toLowerCase(name.charAt(3)) + name.substring(4);
+        return Introspector.decapitalize(name.substring(3));
     }
 
     public void visitMethod(Method method,



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