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/12/13 20:25:54 UTC
svn commit: r603995 - in /incubator/tuscany/java/sca/modules:
core-databinding/
core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/
databinding/src/main/java/org/apache/tuscany/sca/databinding/
Author: rfeng
Date: Thu Dec 13 11:25:52 2007
New Revision: 603995
URL: http://svn.apache.org/viewvc?rev=603995&view=rev
Log:
Use JAXB to handle the XML copy when the Java object is not Serializable
Modified:
incubator/tuscany/java/sca/modules/core-databinding/pom.xml
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
Modified: incubator/tuscany/java/sca/modules/core-databinding/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/pom.xml?rev=603995&r1=603994&r2=603995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/pom.xml Thu Dec 13 11:25:52 2007
@@ -42,7 +42,7 @@
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-databinding-jaxb</artifactId>
<version>${project.version}</version>
- <scope>runtime</scope>
+ <scope>compile</scope>
</dependency>
<dependency>
Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java?rev=603995&r1=603994&r2=603995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java Thu Dec 13 11:25:52 2007
@@ -19,11 +19,14 @@
package org.apache.tuscany.sca.core.databinding.wire;
+import java.io.Serializable;
import java.util.IdentityHashMap;
import java.util.Map;
import org.apache.tuscany.sca.databinding.DataBinding;
import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
+import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding;
+import org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding;
import org.apache.tuscany.sca.interfacedef.DataType;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Interceptor;
@@ -72,6 +75,10 @@
} else {
String dataBindingId = operation.getInputType().getLogical().get(i).getDataBinding();
DataBinding dataBinding = dataBindings.getDataBinding(dataBindingId);
+ // HACK: Use JAXB to copy non-Serializable beans
+ if (JavaBeansDataBinding.NAME.equals(dataBinding.getName()) && !(args[i] instanceof Serializable)) {
+ dataBinding = dataBindings.getDataBinding(JAXBDataBinding.NAME);
+ }
copiedArg = copy(args[i], dataBinding);
map.put(args[i], copiedArg);
copiedArgs[i] = copiedArg;
Modified: incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java?rev=603995&r1=603994&r2=603995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java (original)
+++ incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java Thu Dec 13 11:25:52 2007
@@ -210,7 +210,7 @@
private boolean introspectArray(DataType dataType, Annotation[] annotations) {
Class physical = dataType.getPhysical();
- if (!physical.isArray()) {
+ if (!physical.isArray() || physical == byte[].class) {
return false;
}
Class componentType = physical.getComponentType();
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org