diff options
author | bdaniel <bdaniel@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-14 22:32:24 +0000 |
---|---|---|
committer | bdaniel <bdaniel@13f79535-47bb-0310-9956-ffa450edef68> | 2010-11-14 22:32:24 +0000 |
commit | ebc9f8e8938b56b0564ca447fef38ba42db689dd (patch) | |
tree | 91f7ad5ea13a1a5e1b4776e31d1f9c845addbab0 /sca-java-2.x/trunk/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor | |
parent | 5670f96c39fb938bfc6951dcb87d623a2d03bf8d (diff) |
TUSCANY-3664 Add support for multiple operation output types
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1035090 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor')
-rw-r--r-- | sca-java-2.x/trunk/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/sca-java-2.x/trunk/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java b/sca-java-2.x/trunk/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java index 23f133b0a2..0ab01fbe0b 100644 --- a/sca-java-2.x/trunk/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java +++ b/sca-java-2.x/trunk/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java @@ -104,16 +104,22 @@ public class DataBindingJavaInterfaceProcessor implements JavaInterfaceVisitor { i++; } if (operation.getOutputType() != null) { - DataType<?> d = operation.getOutputType(); - if (d.getDataBinding() == null) { - d.setDataBinding(dataBindingId); - } + for ( org.apache.tuscany.sca.interfacedef.DataType<?> d : operation.getOutputType().getLogical()) { + if ( d != null ) { + // The DataType is null for void operations + if ( d.getDataBinding() == null ) { + d.setDataBinding(dataBindingId); + } + dataBindingRegistry.introspectType(d, operation); + } + } + org.apache.tuscany.sca.databinding.annotation.DataType dt = method.getAnnotation(org.apache.tuscany.sca.databinding.annotation.DataType.class); if (dt != null) { - d.setDataBinding(dt.value()); + operation.getOutputType().getLogical().get(0).setDataBinding(dt.value()); } - dataBindingRegistry.introspectType(d, operation); + } } } |