summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules')
-rw-r--r--sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java6
-rw-r--r--sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java10
-rw-r--r--sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java9
3 files changed, 16 insertions, 9 deletions
diff --git a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
index c1fa4d4e4c..95256101d0 100644
--- a/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
+++ b/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
@@ -64,7 +64,7 @@ public class OperationImpl implements Operation {
private List<Intent> requiredIntents = new ArrayList<Intent>();
private ExtensionType type;
private DataType<List<DataType>> outputType;
- private boolean hasMultipleOutputs;
+ private boolean hasArrayWrappedOutput;
/**
* @param name
@@ -301,11 +301,11 @@ public class OperationImpl implements Operation {
}
public boolean hasArrayWrappedOutput() {
- return this.hasMultipleOutputs;
+ return this.hasArrayWrappedOutput;
}
public void setHasArrayWrappedOutput(boolean value) {
- this.hasMultipleOutputs = value;
+ this.hasArrayWrappedOutput = value;
}
}
diff --git a/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java b/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java
index 1dcd89ce2a..0b0a6cdee6 100644
--- a/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java
+++ b/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java
@@ -298,13 +298,13 @@ public class JavaInterfaceImpl extends InterfaceImpl implements JavaInterface {
*/
private boolean isAsyncServerOperation( Operation operation ) {
// Async form operations have:
- // 1) void return type
+ // 1) void return type (equivalent to an output logical List of size '0')
// 2) name ending in "Async"
// 3) final parameter which is of ResponseDispatch<?> type
- DataType<?> response = operation.getOutputType().getLogical().get(0);
- if( response != null ) {
- if ( response.getPhysical() != void.class ) return false;
- } // end if
+ int size = operation.getOutputType().getLogical().size();
+ if (size != 0) {
+ return false;
+ }
if ( !operation.getName().endsWith("Async") ) return false;
diff --git a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
index 48aab67ded..739cf4af75 100644
--- a/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
+++ b/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
@@ -38,6 +38,8 @@ import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.interfacedef.DataType;
import org.apache.tuscany.sca.interfacedef.Operation;
+import org.apache.tuscany.sca.interfacedef.ParameterMode;
+
import static org.apache.tuscany.sca.interfacedef.Operation.IDL_INPUT;
import static org.apache.tuscany.sca.interfacedef.Operation.IDL_OUTPUT;
import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
@@ -209,7 +211,12 @@ public class WSDLOperationIntrospectorImpl {
operationModel.setName(operation.getName());
operationModel.setFaultTypes(getFaultTypes());
operationModel.setNonBlocking(oneway);
- operationModel.setInputType(getInputType());
+ DataType<List<DataType>> inputType = getInputType();
+ operationModel.setInputType(inputType);
+ List<ParameterMode> modes = operationModel.getParameterModes();
+ for (DataType dt : inputType.getLogical()) {
+ modes.add(ParameterMode.IN);
+ }
operationModel.setOutputType(getOutputType());
operationModel.setWrapperStyle(isWrapperStyle());