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]