Author: rfeng
Date: Sat Jul 21 12:14:19 2007
New Revision: 558370
URL: http://svn.apache.org/viewvc?view=rev&rev=558370
Log:
Fix for TUSCANY-1473
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/RuntimeSCAReferenceBindingProvider.java
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
Modified:
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java?view=diff&rev=558370&r1=558369&r2=558370
==============================================================================
---
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
Sat Jul 21 12:14:19 2007
@@ -49,6 +49,7 @@
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
import org.apache.tuscany.sca.assembly.builder.Problem;
import org.apache.tuscany.sca.assembly.builder.Problem.Severity;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
/**
@@ -1583,7 +1584,14 @@
componentReference.getTargets().add(service);
componentReference.getPolicySets().addAll(service.getPolicySets());
componentReference.getRequiredIntents().addAll(service.getRequiredIntents());
-
componentReference.setInterfaceContract(service.getInterfaceContract());
+
+ // FIXME: What interface contract should be used?
+ InterfaceContract interfaceContract = service.getInterfaceContract();
+ Service componentTypeService = service.getService();
+ if (componentTypeService != null &&
componentTypeService.getInterfaceContract() != null) {
+ interfaceContract = componentTypeService.getInterfaceContract();
+ }
+ componentReference.setInterfaceContract(interfaceContract);
componentReference.setMultiplicity(Multiplicity.ONE_ONE);
component.getReferences().add(componentReference);
return componentReference;
Modified:
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java?view=diff&rev=558370&r1=558369&r2=558370
==============================================================================
---
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java
Sat Jul 21 12:14:19 2007
@@ -63,7 +63,8 @@
return false;
}
if (sourceDataBinding == null || targetDataBinding == null) {
- return true;
+ // TODO: If any of the databinding is null, then no transformation
+ return false;
}
return !sourceDataBinding.equals(targetDataBinding);
}
Modified:
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java?view=diff&rev=558370&r1=558369&r2=558370
==============================================================================
---
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
(original)
+++
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java
Sat Jul 21 12:14:19 2007
@@ -88,7 +88,7 @@
if (types.size() == params.length &&
method.getName().equals(operation.getName())) {
for (int i = 0; i < params.length; i++) {
Class<?> clazz = params[i];
- if
(!clazz.equals(operation.getInputType().getLogical().get(i).getPhysical())) {
+ if
(!operation.getInputType().getLogical().get(i).getPhysical().isAssignableFrom(clazz))
{
matched = false;
}
}
Modified:
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/RuntimeSCAReferenceBindingProvider.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/RuntimeSCAReferenceBindingProvider.java?view=diff&rev=558370&r1=558369&r2=558370
==============================================================================
---
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/RuntimeSCAReferenceBindingProvider.java
(original)
+++
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/RuntimeSCAReferenceBindingProvider.java
Sat Jul 21 12:14:19 2007
@@ -93,14 +93,15 @@
if (targetChain != null) {
((Interceptor)sourceChain.getTailInvoker()).setNext(targetChain.getHeadInvoker());
if (!dynamicService) {
-
sourceChain.setTargetOperation(targetChain.getSourceOperation());
+ // FIXME: [rfeng] Change the target
operation will impact the interceptors
+
sourceChain.setTargetOperation(targetChain.getTargetOperation());
}
} else {
throw new RuntimeException("Incompatible
operations for source and target wires");
}
}
if (!dynamicService) {
-
sourceWire.getTarget().setInterfaceContract(targetWire.getSource().getInterfaceContract());
+
sourceWire.getTarget().setInterfaceContract(targetWire.getTarget().getInterfaceContract());
}
}
}
Modified:
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java?view=diff&rev=558370&r1=558369&r2=558370
==============================================================================
---
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java
Sat Jul 21 12:14:19 2007
@@ -42,7 +42,7 @@
return false;
}
// For local case
- return target.getPhysical() == source.getPhysical();
+ return target.getPhysical().isAssignableFrom(source.getPhysical());
} else {
// FIXME: How to test if two remotable data type is compatible?
// return target.getLogical().equals(source.getLogical());
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]