diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany')
-rw-r--r-- | sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java | 15 |
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; |