diff options
Diffstat (limited to '')
-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); + } } } |