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/20 23:43:29 UTC

svn commit: r530928 - in /incubator/tuscany/java/sca/modules: core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/ implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/ interface-java-xml/src...

Author: rfeng
Date: Fri Apr 20 14:43:28 2007
New Revision: 530928

URL: http://svn.apache.org/viewvc?view=rev&rev=530928
Log:
Set output type to null for void return type

Modified:
    incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PassByValueInvoker.java
    incubator/tuscany/java/sca/modules/interface-java-xml/src/main/java/org/apache/tuscany/interfacedef/java/introspect/DefaultJavaInterfaceIntrospector.java

Modified: incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java?view=diff&rev=530928&r1=530927&r2=530928
==============================================================================
--- incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/DataBindingJavaInterfaceProcessor.java Fri Apr 20 14:43:28 2007
@@ -61,7 +61,7 @@
         }
         DataType outputType = operation.getOutputType();
         DataType<List<DataType>> inputType = operation.getInputType();
-        if (outputType != null || inputType == null) {
+        if (outputType == null || inputType == null) {
             return;
         }
         if (inputType.getLogical().size() != 1) {
@@ -128,7 +128,8 @@
                 dataBindingRegistry.introspectType(d, method.getAnnotations());
             }
 
-            introspectWrapperStyle(operation);
+            // FIXME: Do we want to heuristically check the wrapper style?
+            // introspectWrapperStyle(operation);
         }
     }
 }

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PassByValueInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PassByValueInvoker.java?view=diff&rev=530928&r1=530927&r2=530928
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PassByValueInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PassByValueInvoker.java Fri Apr 20 14:43:28 2007
@@ -29,9 +29,7 @@
 import org.apache.tuscany.interfacedef.Operation;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.extension.TargetInvokerExtension;
 import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
 
 /**
  * An interceptor to enforce pass-by-value semantics for remotable interfaces
@@ -58,10 +56,10 @@
     public Message invoke(Message msg) {
         Object obj = msg.getBody();
         msg.setBody(copy((Object[])obj));
-        
+
         Message result = super.invoke(msg);
 
-        if (!result.isFault()) {
+        if (!result.isFault() && operation.getOutputType() != null) {
             String dataBindingId = operation.getOutputType().getDataBinding();
             DataBinding dataBinding = registry.getDataBinding(dataBindingId);
             result.setBody(copy(result.getBody(), dataBinding));

Modified: incubator/tuscany/java/sca/modules/interface-java-xml/src/main/java/org/apache/tuscany/interfacedef/java/introspect/DefaultJavaInterfaceIntrospector.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java-xml/src/main/java/org/apache/tuscany/interfacedef/java/introspect/DefaultJavaInterfaceIntrospector.java?view=diff&rev=530928&r1=530927&r2=530928
==============================================================================
--- incubator/tuscany/java/sca/modules/interface-java-xml/src/main/java/org/apache/tuscany/interfacedef/java/introspect/DefaultJavaInterfaceIntrospector.java (original)
+++ incubator/tuscany/java/sca/modules/interface-java-xml/src/main/java/org/apache/tuscany/interfacedef/java/introspect/DefaultJavaInterfaceIntrospector.java Fri Apr 20 14:43:28 2007
@@ -122,7 +122,10 @@
                 conversationSequence = Operation.ConversationSequence.CONVERSATION_CONTINUE;
             }
 
-            DataType<Class> returnDataType = new DataTypeImpl<Class>(UNKNOWN_DATABINDING, returnType, returnType);
+            // Set outputType to null for void
+            DataType<Class> returnDataType = returnType == void.class ? null
+                                                                     : new DataTypeImpl<Class>(UNKNOWN_DATABINDING,
+                                                                                               returnType, returnType);
             List<DataType> paramDataTypes = new ArrayList<DataType>(paramTypes.length);
             for (Class paramType : paramTypes) {
                 paramDataTypes.add(new DataTypeImpl<Class>(UNKNOWN_DATABINDING, paramType, paramType));



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