summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/builder/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/builder/src/main/java')
-rw-r--r--sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java b/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java
index 23bd33e806..d67cb65bb0 100644
--- a/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java
+++ b/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java
@@ -1509,6 +1509,15 @@ public class ComponentBuilderImpl {
if (topInterfaceContract == null) {
topContract.setInterfaceContract(bottomInterfaceContract);
} else if (bottomInterfaceContract != null) {
+ // apply remotable override if it has been specified in the SCDL for the
+ // higher level contract
+ if (topInterfaceContract.getInterface().isRemotableSetFromSCDL() == true){
+ if (bottomInterfaceContract.getInterface().isRemotable() == false &&
+ topInterfaceContract.getInterface().isRemotable() == true){
+ bottomInterfaceContract.getInterface().setRemotable(true);
+ }
+ }
+
// Check that the top and bottom interface contracts are compatible
boolean isCompatible = true;
String incompatibilityReason = "";
@@ -1569,6 +1578,14 @@ public class ComponentBuilderImpl {
if (topInterfaceContract == null) {
topContract.setInterfaceContract(bottomInterfaceContract);
} else if (bottomInterfaceContract != null) {
+ // apply remotable override if it has been specified in the SCDL for the
+ // higher level contract
+ if (topInterfaceContract.getInterface().isRemotableSetFromSCDL() == true){
+ if (bottomInterfaceContract.getInterface().isRemotable() == false &&
+ topInterfaceContract.getInterface().isRemotable() == true){
+ bottomInterfaceContract.getInterface().setRemotable(true);
+ }
+ }
// Check that the top and bottom interface contracts are compatible
boolean isCompatible = true;
String incompatibilityReason = "";