Author: scottkurz
Date: Mon Jun 27 15:42:44 2011
New Revision: 1140211
URL: http://svn.apache.org/viewvc?rev=1140211&view=rev
Log:
Swap incorrectly-ordered sourceOperation, targetOperation in
MediatoryImpl.copyOutput to reflect conventions. Adjust var names for clarity.
TODO - add test of binding-sca-runtime which exposes the previous error.
Modified:
tuscany/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
Modified:
tuscany/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java?rev=1140211&r1=1140210&r2=1140211&view=diff
==============================================================================
---
tuscany/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
(original)
+++
tuscany/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
Mon Jun 27 15:42:44 2011
@@ -328,7 +328,7 @@ public class MediatorImpl implements Med
context.put(TARGET_OPERATION, sourceOperation);
}
if (context.get(BODY_TYPE) == null) {
- context.put(BODY_TYPE, BODY_TYPE_FAULT);
+ context.put(BODY_TYPE, BODY_TYPE_FAULT);
}
@@ -408,7 +408,7 @@ public class MediatorImpl implements Med
context.put(TARGET_OPERATION, sourceOperation);
}
if (context.get(BODY_TYPE) == null) {
- context.put(BODY_TYPE, BODY_TYPE_OUTPUT);
+ context.put(BODY_TYPE, BODY_TYPE_OUTPUT);
}
return mediate(output, targetType, sourceType, context);
@@ -438,7 +438,7 @@ public class MediatorImpl implements Med
context.put(TARGET_OPERATION, targetOperation);
}
if (context.get(BODY_TYPE) == null) {
- context.put(BODY_TYPE, BODY_TYPE_INPUT);
+ context.put(BODY_TYPE, BODY_TYPE_INPUT);
}
return mediate(input, sourceType, targetType, context);
@@ -589,18 +589,23 @@ public class MediatorImpl implements Med
}
public Object copyOutput(Object data, Operation sourceOperation, Operation
targetOperation) {
- if ( data == null )
- return null;
- Object[] output = null;
-
- if ( !sourceOperation.hasArrayWrappedOutput() ) {
- output = new Object[] {data};
- } else {
- output = (Object[])data;
- }
+
+ // Rename the parameters so we can more easily remember which
direction we're going in.
+ Operation fromOperation = targetOperation;
+ Operation toOperation = sourceOperation;
+
+ if ( data == null )
+ return null;
+ Object[] output = null;
+
+ if ( !fromOperation.hasArrayWrappedOutput() ) {
+ output = new Object[] {data};
+ } else {
+ output = (Object[])data;
+ }
- List<DataType> outputTypes =
sourceOperation.getOutputType().getLogical();
- List<DataType> outputTypesTarget = targetOperation == null ? null :
targetOperation.getOutputType().getLogical();
+ List<DataType> outputTypes =
fromOperation.getOutputType().getLogical();
+ List<DataType> outputTypesTarget = toOperation == null ? null :
toOperation.getOutputType().getLogical();
Object[] copy = new Object[output.length];
Map<Object, Object> map = new IdentityHashMap<Object, Object>();
for (int i = 0, size = output.length; i < size; i++) {
@@ -616,17 +621,17 @@ public class MediatorImpl implements Med
copy(arg,
outputTypes.get(i),
outputTypesTarget == null ? null :
outputTypesTarget.get(i),
- sourceOperation,
- targetOperation);
+ fromOperation,
+ toOperation);
map.put(arg, copiedArg);
copy[i] = copiedArg;
}
}
}
- if ( !targetOperation.hasArrayWrappedOutput()) {
- return copy[0];
+ if ( !toOperation.hasArrayWrappedOutput()) {
+ return copy[0];
} else {
- return copy;
+ return copy;
}
}
@@ -635,21 +640,26 @@ public class MediatorImpl implements Med
}
public Object copyFault(Object fault, Operation sourceOperation, Operation
targetOperation) {
+
+ // Rename the parameters so we can more easily remember which
direction we're going in.
+ Operation fromOperation = targetOperation;
+ Operation toOperation = sourceOperation;
+
if (faultExceptionMapper == null) {
return fault;
}
- List<DataType> fts = targetOperation.getFaultTypes();
+ List<DataType> fts = fromOperation.getFaultTypes();
for (int i = 0; i < fts.size(); i++) {
DataType et = fts.get(i);
if (et.getPhysical().isInstance(fault)) {
Throwable ex = (Throwable)fault;
- DataType<DataType> exType = findFaultDataType(targetOperation,
fault);
+ DataType<DataType> exType = findFaultDataType(fromOperation,
fault);
DataType faultType = getFaultType(exType);
- Object faultInfo = faultExceptionMapper.getFaultInfo(ex,
faultType.getPhysical(), targetOperation);
- DataType targetExType =
findSourceFaultDataType(sourceOperation, exType);
+ Object faultInfo = faultExceptionMapper.getFaultInfo(ex,
faultType.getPhysical(), fromOperation);
+ DataType targetExType = findSourceFaultDataType(toOperation,
exType);
DataType targetFaultType = getFaultType(targetExType);
- faultInfo = copy(faultInfo, faultType, targetFaultType,
targetOperation, sourceOperation);
- fault = faultExceptionMapper.wrapFaultInfo(targetExType,
ex.getMessage(), faultInfo, ex.getCause(), sourceOperation);
+ faultInfo = copy(faultInfo, faultType, targetFaultType,
fromOperation, toOperation);
+ fault = faultExceptionMapper.wrapFaultInfo(targetExType,
ex.getMessage(), faultInfo, ex.getCause(), toOperation);
return fault;
}
}