You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sc...@apache.org on 2011/01/20 22:34:57 UTC
svn commit: r1061531 - in /tuscany/sca-java-2.x/trunk/modules:
assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/
interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/
interface-wsdl/src/main/java/org/apache/tuscany/...
Author: scottkurz
Date: Thu Jan 20 21:34:57 2011
New Revision: 1061531
URL: http://svn.apache.org/viewvc?rev=1061531&view=rev
Log:
Fix IndexOutOfBoundsException from TUSCANY-3819 fix.
Modified:
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java
tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
Modified: tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java?rev=1061531&r1=1061530&r2=1061531&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java Thu Jan 20 21:34:57 2011
@@ -64,7 +64,7 @@ public class OperationImpl implements Op
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 Op
}
public boolean hasArrayWrappedOutput() {
- return this.hasMultipleOutputs;
+ return this.hasArrayWrappedOutput;
}
public void setHasArrayWrappedOutput(boolean value) {
- this.hasMultipleOutputs = value;
+ this.hasArrayWrappedOutput = value;
}
}
Modified: tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java?rev=1061531&r1=1061530&r2=1061531&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java Thu Jan 20 21:34:57 2011
@@ -298,13 +298,13 @@ public class JavaInterfaceImpl extends I
*/
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;
Modified: tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java?rev=1061531&r1=1061530&r2=1061531&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java Thu Jan 20 21:34:57 2011
@@ -38,6 +38,8 @@ import org.apache.tuscany.sca.contributi
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 WSDLOperationIntrospectorIm
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());