You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/07/21 21:14:20 UTC
svn commit: r558370 - in /incubator/tuscany/java/sca/modules:
assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/
core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/
core/src/main/java/org/apache/tuscany/sca/co...
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: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org