Author: rfeng
Date: Wed Dec  6 10:42:09 2006
New Revision: 483175

URL: http://svn.apache.org/viewvc?view=rev&rev=483175
Log:
Fix IndexOutOfBoundsException for void output

Modified:
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java?view=diff&rev=483175&r1=483174&r2=483175
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Output2OutputTransformer.java
 Wed Dec  6 10:42:09 2006
@@ -149,11 +149,13 @@
                 WrapperInfo wrapper = targetOp.getWrapper();
                 Object targetWrapper =
                     
targetWrapperHandler.create(wrapper.getOutputWrapperElement(), context);
-                if (response == null) {
+
+                List<ElementInfo> childElements = 
wrapper.getOutputChildElements();
+                if (childElements.isEmpty()) {
+                    // void output
                     return targetWrapper;
                 }
-
-                ElementInfo argElement = 
wrapper.getOutputChildElements().get(0);
+                ElementInfo argElement = childElements.get(0);
                 DataType<QName> argType = wrapper.getUnwrappedOutputType();
                 Object child = response;
                 child = mediator.mediate(response, sourceType.getLogical(), 
argType, context.getMetadata());
@@ -163,6 +165,10 @@
                 // Wrapped to Unwrapped
                 Object sourceWrapper = response;
                 List<ElementInfo> childElements = 
sourceOp.getWrapper().getOutputChildElements();
+                if (childElements.isEmpty()) {
+                    // The void output
+                    return null;
+                }
                 ElementInfo childElement = childElements.get(0);
 
                 targetWrapperHandler = 
getWapperHandler(targetType.getLogical().getDataBinding());



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to