Author: rfeng
Date: Tue Dec  5 20:04:03 2006
New Revision: 482885

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

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

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingInteceptor.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingInteceptor.java?view=diff&rev=482885&r1=482884&r2=482885
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingInteceptor.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingInteceptor.java
 Tue Dec  5 20:04:03 2006
@@ -74,7 +74,7 @@
             // We need to figure out what fault type it is and then transform 
it back the source fault type
             // throw new InvocationRuntimeException((Throwable) result);
             return resultMsg;
-        } else if (result != null) {
+        } else {
             // FIXME: Should we fix the Operation model so that getOutputType 
returns DataType<DataType<T>>?
             DataType<DataType> targetType =
                 new DataType<DataType>("idl:output", Object.class, 
targetOperation.getOutputType());

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java?view=diff&rev=482885&r1=482884&r2=482885
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/Input2InputTransformer.java
 Tue Dec  5 20:04:03 2006
@@ -114,7 +114,7 @@
 
         WrapperHandler sourceWrapperHandler = null;
         if (sourceWrapped) {
-            sourceWrapperHandler = 
getWapperHandler(sourceType.getLogical().get(0).getDataBinding(), true);
+            sourceWrapperHandler = 
getWapperHandler(sourceType.getOperation().getDataBinding(), true);
         }
 
         DataType<List<DataType<QName>>> targetType = 
context.getTargetDataType();
@@ -122,7 +122,7 @@
         boolean targetWrapped = targetOp != null && targetOp.isWrapperStyle();
         WrapperHandler targetWrapperHandler = null;
         if (targetWrapped) {
-            targetWrapperHandler = 
getWapperHandler(targetType.getLogical().get(0).getDataBinding(), true);
+            targetWrapperHandler = 
getWapperHandler(targetType.getOperation().getDataBinding(), true);
         }
 
         if ((!sourceWrapped) && targetWrapped) {
@@ -160,13 +160,13 @@
             List<ElementInfo> childElements = 
sourceOp.getWrapper().getInputChildElements();
             Object[] target = new Object[childElements.size()];
 
-            targetWrapperHandler = 
getWapperHandler(targetType.getLogical().get(0).getDataBinding(), false);
+            targetWrapperHandler = 
getWapperHandler(targetType.getOperation().getDataBinding(), false);
             if (targetWrapperHandler != null) {
                 ElementInfo wrapperElement = 
sourceOp.getWrapper().getInputWrapperElement();
                 // Object targetWrapper =
                 // targetWrapperHandler.create(wrapperElement, context);
                 DataType<QName> targetWrapperType =
-                    new 
DataType<QName>(targetType.getLogical().get(0).getDataBinding(), Object.class,
+                    new 
DataType<QName>(targetType.getOperation().getDataBinding(), Object.class,
                                         wrapperElement.getQName());
                 Object targetWrapper =
                     mediator.mediate(sourceWrapper,



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

Reply via email to