summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java')
-rw-r--r--sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java79
1 files changed, 40 insertions, 39 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 350135d974..c1fa4d4e4c 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
@@ -63,14 +63,15 @@ public class OperationImpl implements Operation {
private List<PolicySet> policySets = new ArrayList<PolicySet>();
private List<Intent> requiredIntents = new ArrayList<Intent>();
private ExtensionType type;
- private DataType<List<DataType>> outputType;
- private boolean hasHolders;
+ private DataType<List<DataType>> outputType;
+ private boolean hasMultipleOutputs;
/**
* @param name
*/
public OperationImpl() {
- inputType = new DataTypeImpl<List<DataType>>("idl:input", Object[].class, new ArrayList<DataType>());
+ inputType = new DataTypeImpl<List<DataType>>(IDL_INPUT, Object[].class, new ArrayList<DataType>());
+ outputType = new DataTypeImpl<List<DataType>>(IDL_OUTPUT, Object[].class, new ArrayList<DataType>());
faultTypes = new ArrayList<DataType>();
faultBeans = new HashMap<QName, List<DataType<XMLType>>>();
}
@@ -123,15 +124,15 @@ public class OperationImpl implements Operation {
* @return the outputType
*/
public DataType<List<DataType>> getOutputType() {
- return this.outputType;
+ return this.outputType;
}
-
+
/**
* @param outputType the outputType to set
*/
public void setOutputType(DataType<List<DataType>> outputType) {
- this.outputType = outputType;
+ this.outputType = outputType;
}
/**
@@ -237,24 +238,24 @@ public class OperationImpl implements Operation {
copy.inputType = clonedInputType;
if ( outputType != null ) {
- List<DataType> clonedLogicalOutputTypes = new ArrayList<DataType>();
- for ( DataType t : outputType.getLogical()) {
- if ( t == null ) {
- clonedLogicalOutputTypes.add(null);
- } else {
- DataType type = (DataType) t.clone();
- clonedLogicalOutputTypes.add(type);
- }
- }
- DataType<List<DataType>> clonedOutputType =
- new DataTypeImpl<List<DataType>>(outputType.getPhysical(), clonedLogicalOutputTypes);
- clonedOutputType.setDataBinding(outputType.getDataBinding());
- copy.outputType = clonedOutputType;
+ List<DataType> clonedLogicalOutputTypes = new ArrayList<DataType>();
+ for ( DataType t : outputType.getLogical()) {
+ if ( t == null ) {
+ clonedLogicalOutputTypes.add(null);
+ } else {
+ DataType type = (DataType) t.clone();
+ clonedLogicalOutputTypes.add(type);
+ }
+ }
+ DataType<List<DataType>> clonedOutputType =
+ new DataTypeImpl<List<DataType>>(outputType.getPhysical(), clonedLogicalOutputTypes);
+ clonedOutputType.setDataBinding(outputType.getDataBinding());
+ copy.outputType = clonedOutputType;
}
copy.attributes = new ConcurrentHashMap<Object, Object>();
copy.attributes.putAll(attributes);
-
+
// [rfeng] We need to clone the wrapper as it holds the databinding information
if (wrapper != null) {
copy.wrapper = (WrapperInfo)wrapper.clone();
@@ -287,24 +288,24 @@ public class OperationImpl implements Operation {
return attributes;
}
- /**
- * Indicates if this operation is an async server style of operation
- * @return true if the operation is async server style
- */
- public boolean isAsyncServer() {
- return false;
- }
-
- public List<ParameterMode> getParameterModes() {
- return this.parameterModes;
- }
-
- public boolean hasHolders() {
- return this.hasHolders;
- }
-
- public void setHasHolders(boolean value) {
- this.hasHolders = value;
- }
+ /**
+ * Indicates if this operation is an async server style of operation
+ * @return true if the operation is async server style
+ */
+ public boolean isAsyncServer() {
+ return false;
+ }
+
+ public List<ParameterMode> getParameterModes() {
+ return this.parameterModes;
+ }
+
+ public boolean hasArrayWrappedOutput() {
+ return this.hasMultipleOutputs;
+ }
+
+ public void setHasArrayWrappedOutput(boolean value) {
+ this.hasMultipleOutputs = value;
+ }
}