You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2009/11/11 17:38:32 UTC

svn commit: r834952 - in /tuscany/java/sca/modules: assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ assembly-xml/src/main/resources/org/apache/tuscany/sca/policy/xml/ assembly/src/main/java/org/apache/tuscany/sca/policy/impl/

Author: slaws
Date: Wed Nov 11 16:38:32 2009
New Revision: 834952

URL: http://svn.apache.org/viewvc?rev=834952&view=rev
Log:
Check that the intent maps in a policy set are unique POL_3009

Modified:
    tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
    tuscany/java/sca/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/policy/xml/policy-xml-validation-messages.properties
    tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java

Modified: tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java?rev=834952&r1=834951&r2=834952&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java Wed Nov 11 16:38:32 2009
@@ -194,7 +194,6 @@
                                 readIntentMap(reader, policySet, mappedIntent, context);
                             } else {
                                 error(monitor, "IntentNotSpecified", policySet, policySetName);
-                                //throw new ContributionReadException("Intent Map provides for Intent not specified as provided by parent PolicySet - " + policySetName);
                             }
                         } else {
                             error(monitor, "IntentMapProvidesMissing", reader, policySetName);
@@ -248,7 +247,16 @@
             QName intentName = getQName(reader, INTENT_MAP);
             intentMap.setProvidedIntent(mappedIntent);
 
-            policySet.getIntentMaps().add(intentMap);
+            if (!policySet.getIntentMaps().contains(intentMap)){
+                policySet.getIntentMaps().add(intentMap);
+            } else {
+                Monitor.error(context.getMonitor(), 
+                              this, 
+                              Messages.RESOURCE_BUNDLE, 
+                              "IntentMapIsNotUnique", 
+                              policySet.getName().toString(),
+                              mappedIntent.getName().getLocalPart());
+            }
 
             String qualifierName = null;
             String qualfiedIntentName = null;

Modified: tuscany/java/sca/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/policy/xml/policy-xml-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/policy/xml/policy-xml-validation-messages.properties?rev=834952&r1=834951&r2=834952&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/policy/xml/policy-xml-validation-messages.properties (original)
+++ tuscany/java/sca/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/policy/xml/policy-xml-validation-messages.properties Wed Nov 11 16:38:32 2009
@@ -45,3 +45,4 @@
 MultipleDefaultQualifiers = [POL30004] Intent {0} has more than one qualifier marked as the default qualifier
 QualifierIsNotUnique = [POL30005] The intent {0} has more than one qualifier with the name {1}
 ProfileIntentNameWithPeriod = [POL30006] The profile intent name {0} must not have the character "." in it
+IntentMapIsNotUnique = [POL30010] The policy set {0} has more than one intent map with the name {1}

Modified: tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java?rev=834952&r1=834951&r2=834952&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java (original)
+++ tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java Wed Nov 11 16:38:32 2009
@@ -58,4 +58,21 @@
     public List<Qualifier> getQualifiers() {
         return qualifiers;
     }
+    
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        IntentMapImpl other = (IntentMapImpl)obj;
+        if (providedIntent == null) {
+            if (other.providedIntent != null)
+                return false;
+        } else if (!providedIntent.equals(other.providedIntent))
+            return false;
+        return true;
+    }    
 }