Author: rfeng
Date: Fri Sep 14 11:06:23 2007
New Revision: 575766
URL: http://svn.apache.org/viewvc?rev=575766&view=rev
Log:
Create the source interface contract if target is not a java interface
Modified:
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java
Modified:
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java?rev=575766&r1=575765&r2=575766&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
(original)
+++
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java
Fri Sep 14 11:06:23 2007
@@ -134,14 +134,19 @@
private InterfaceContract getInterfaceContract(InterfaceContract
interfaceContract, Class<?> businessInterface)
throws CloneNotSupportedException, InvalidInterfaceException {
Interface interfaze = interfaceContract.getInterface();
+ boolean compatible = false;
if (interfaze instanceof JavaInterface) {
Class<?> cls = ((JavaInterface)interfaze).getJavaClass();
- if (!businessInterface.isAssignableFrom(cls)) {
- // The interface is not assignable from the interface contract
- interfaceContract =
(InterfaceContract)interfaceContract.clone();
-
interfaceContract.setInterface(javaInterfaceFactory.createJavaInterface(businessInterface));
+ if (businessInterface.isAssignableFrom(cls)) {
+ compatible = true;
}
}
+ if (!compatible) {
+ // The interface is not assignable from the interface contract
+ interfaceContract = (InterfaceContract)interfaceContract.clone();
+
interfaceContract.setInterface(javaInterfaceFactory.createJavaInterface(businessInterface));
+ }
+
return interfaceContract;
}
Modified:
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java?rev=575766&r1=575765&r2=575766&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java
Fri Sep 14 11:06:23 2007
@@ -308,14 +308,19 @@
private InterfaceContract getInterfaceContract(InterfaceContract
interfaceContract, Class<?> businessInterface)
throws CloneNotSupportedException, InvalidInterfaceException {
Interface interfaze = interfaceContract.getInterface();
+ boolean compatible = false;
if (interfaze instanceof JavaInterface) {
Class<?> cls = ((JavaInterface)interfaze).getJavaClass();
- if (!businessInterface.isAssignableFrom(cls)) {
- // The interface is not assignable from the interface contract
- interfaceContract =
(InterfaceContract)interfaceContract.clone();
-
interfaceContract.setInterface(javaInterfaceFactory.createJavaInterface(businessInterface));
+ if (businessInterface.isAssignableFrom(cls)) {
+ compatible = true;
}
}
+ if (!compatible) {
+ // The interface is not assignable from the interface contract
+ interfaceContract = (InterfaceContract)interfaceContract.clone();
+
interfaceContract.setInterface(javaInterfaceFactory.createJavaInterface(businessInterface));
+ }
+
return interfaceContract;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]