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