summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/assembly-xml/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/assembly-xml/src/main/java')
-rw-r--r--sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java b/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
index ed62e0a406..c1513d9306 100644
--- a/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
+++ b/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
@@ -217,7 +217,20 @@ public class PolicySetProcessor extends BaseStAXArtifactProcessor implements StA
PolicyExpression exp = policyFactory.createPolicyExpression();
exp.setName(name);
exp.setPolicy(extension);
- policySet.getPolicies().add(exp);
+ // check that all the policies in the policy set are
+ // expressed in the same language. Compare against the
+ // first expression we added
+ if ((policySet.getPolicies().size() > 0) &&
+ (!policySet.getPolicies().get(0).getName().equals(name))){
+ error(monitor,
+ "PolicyLanguageMissmatch",
+ reader,
+ policySet.getName(),
+ policySet.getPolicies().get(0).getName(),
+ name);
+ } else {
+ policySet.getPolicies().add(exp);
+ }
}
}
break;