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]