You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/08/05 23:28:23 UTC

svn commit: r562968 - in /incubator/tuscany/java/sca/modules: ./ policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ policy/src/main/java/org/apache/tuscany/sca/policy/ policy/src/main/java/org/apache/tuscany/sca/policy/impl/

Author: rfeng
Date: Sun Aug  5 14:28:20 2007
New Revision: 562968

URL: http://svn.apache.org/viewvc?view=rev&rev=562968
Log:
Fix the IntentImp.hashCode, toString and a few issues in SCADefinitionsBuilderImpl to not exclude resolved intents

Modified:
    incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java
    incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/SCADefinitionsBuilderImpl.java
    incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java
    incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java
    incubator/tuscany/java/sca/modules/pom.xml

Modified: incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java?view=diff&rev=562968&r1=562967&r2=562968
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java Sun Aug  5 14:28:20 2007
@@ -67,6 +67,7 @@
                 
                 int qualifierIndex = policyIntentName.lastIndexOf(QUALIFIER);
                 Intent qualifiableIntent = policyFactory.createIntent();
+                qualifiableIntent.setUnresolved(true);
                 qualifiableIntent.setName(getQNameValue(reader, 
                                                         policyIntentName.substring(0, qualifierIndex)));
                 
@@ -245,6 +246,7 @@
                 QName qname = getQNameValue(reader, tokens.nextToken());
                 Intent intent = policyFactory.createIntent();
                 intent.setName(qname);
+                intent.setUnresolved(true);
                 requiredIntents.add(intent);
             }
         }

Modified: incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/SCADefinitionsBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/SCADefinitionsBuilderImpl.java?view=diff&rev=562968&r1=562967&r2=562968
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/SCADefinitionsBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/SCADefinitionsBuilderImpl.java Sun Aug  5 14:28:20 2007
@@ -38,152 +38,171 @@
  *
  */
 public class SCADefinitionsBuilderImpl implements SCADefinitionsBuilder {
-    
+
     public void build(SCADefinitions scaDefns) throws SCADefinitionsBuilderException {
         Map<QName, Intent> definedIntents = new HashMap<QName, Intent>();
-        for ( Intent intent : scaDefns.getPolicyIntents() ) {
+        for (Intent intent : scaDefns.getPolicyIntents()) {
             definedIntents.put(intent.getName(), intent);
         }
-        
+
         Map<QName, PolicySet> definedPolicySets = new HashMap<QName, PolicySet>();
-        for ( PolicySet policySet : scaDefns.getPolicySets() ) {
+        for (PolicySet policySet : scaDefns.getPolicySets()) {
             definedPolicySets.put(policySet.getName(), policySet);
         }
         buildPolicyIntents(scaDefns, definedIntents);
         buildPolicySets(scaDefns, definedPolicySets, definedIntents);
     }
-    
-    private void buildPolicyIntents(SCADefinitions scaDefns, Map<QName, Intent> definedIntents) throws SCADefinitionsBuilderException {
+
+    private void buildPolicyIntents(SCADefinitions scaDefns, Map<QName, Intent> definedIntents)
+        throws SCADefinitionsBuilderException {
         for (Intent policyIntent : scaDefns.getPolicyIntents()) {
-            if ( policyIntent instanceof ProfileIntent ) {
+            if (policyIntent instanceof ProfileIntent) {
                 buildProfileIntent((ProfileIntent)policyIntent, definedIntents);
-            } 
-        
-            if ( policyIntent instanceof QualifiedIntent ) {
+            }
+
+            if (policyIntent instanceof QualifiedIntent) {
                 buildQualifiedIntent((QualifiedIntent)policyIntent, definedIntents);
             }
         }
     }
-    
-    private void buildPolicySets(SCADefinitions scaDefns, 
-                                 Map<QName, PolicySet> definedPolicySets, 
+
+    private void buildPolicySets(SCADefinitions scaDefns,
+                                 Map<QName, PolicySet> definedPolicySets,
                                  Map<QName, Intent> definedIntents) throws SCADefinitionsBuilderException {
-        
-        for ( PolicySet policySet : scaDefns.getPolicySets() ) {
+
+        for (PolicySet policySet : scaDefns.getPolicySets()) {
             buildProvidedIntents(policySet, definedIntents);
             buildIntentsInMappedPolicies(policySet, definedIntents);
             buildReferredPolicySets(policySet, definedPolicySets);
         }
-        
-        for ( PolicySet policySet : scaDefns.getPolicySets() ) {
-            for ( PolicySet referredPolicySet : policySet.getReferencedPolicySets() ) {
+
+        for (PolicySet policySet : scaDefns.getPolicySets()) {
+            for (PolicySet referredPolicySet : policySet.getReferencedPolicySets()) {
                 includeReferredPolicySets(policySet, referredPolicySet);
             }
         }
     }
-    
-    private void buildProfileIntent(ProfileIntent policyIntent, Map<QName, Intent> definedIntents) throws SCADefinitionsBuilderException {
+
+    private void buildProfileIntent(ProfileIntent policyIntent, Map<QName, Intent> definedIntents)
+        throws SCADefinitionsBuilderException {
         //FIXME: Need to check for cyclic references first i.e an A requiring B and then B requiring A... 
-        if (policyIntent != null ) {
+        if (policyIntent != null) {
             //resolve all required intents
-            List<Intent> requiredIntents = new ArrayList<Intent>(); 
+            List<Intent> requiredIntents = new ArrayList<Intent>();
             for (Intent requiredIntent : policyIntent.getRequiredIntents()) {
-                if ( requiredIntent.isUnresolved() ) {
+                if (requiredIntent.isUnresolved()) {
                     Intent resolvedRequiredIntent = definedIntents.get(requiredIntent.getName());
-                    if ( resolvedRequiredIntent != null ) {
-                        requiredIntents.add(resolvedRequiredIntent); 
+                    if (resolvedRequiredIntent != null) {
+                        requiredIntents.add(resolvedRequiredIntent);
                     } else {
-                        throw new SCADefinitionsBuilderException("Required Intent - " + requiredIntent + 
-                                                             " not found for ProfileIntent " + policyIntent);
-                        
+                        throw new SCADefinitionsBuilderException("Required Intent - " + requiredIntent
+                            + " not found for ProfileIntent "
+                            + policyIntent);
+
                     }
+                } else {
+                    requiredIntents.add(requiredIntent);
                 }
             }
             policyIntent.getRequiredIntents().clear();
             policyIntent.getRequiredIntents().addAll(requiredIntents);
         }
     }
-    
-    private void buildQualifiedIntent(QualifiedIntent policyIntent, Map<QName, Intent> definedIntents) throws SCADefinitionsBuilderException {
+
+    private void buildQualifiedIntent(QualifiedIntent policyIntent, Map<QName, Intent> definedIntents)
+        throws SCADefinitionsBuilderException {
         if (policyIntent != null) {
             //resolve the qualifiable intent
             Intent qualifiableIntent = policyIntent.getQualifiableIntent();
-            if ( qualifiableIntent.isUnresolved() ) {
+            if (qualifiableIntent.isUnresolved()) {
                 Intent resolvedQualifiableIntent = definedIntents.get(qualifiableIntent.getName());
-                
-                if ( resolvedQualifiableIntent != null ) {
+
+                if (resolvedQualifiableIntent != null) {
                     policyIntent.setQualifiableIntent(resolvedQualifiableIntent);
                 } else {
-                    throw new SCADefinitionsBuilderException("Qualifiable Intent - " + qualifiableIntent + 
-                                                             " not found for QualifiedIntent " + policyIntent);
+                    throw new SCADefinitionsBuilderException("Qualifiable Intent - " + qualifiableIntent
+                        + " not found for QualifiedIntent "
+                        + policyIntent);
                 }
-                    
+
             }
         }
     }
-    
-    private void buildProvidedIntents(PolicySet policySet, Map<QName, Intent> definedIntents) throws SCADefinitionsBuilderException {
-        if (policySet != null ) {
+
+    private void buildProvidedIntents(PolicySet policySet, Map<QName, Intent> definedIntents)
+        throws SCADefinitionsBuilderException {
+        if (policySet != null) {
             //resolve all provided intents
-            List<Intent> providedIntents = new ArrayList<Intent>(); 
+            List<Intent> providedIntents = new ArrayList<Intent>();
             for (Intent providedIntent : policySet.getProvidedIntents()) {
-                if ( providedIntent.isUnresolved() ) {
+                if (providedIntent.isUnresolved()) {
                     Intent resolvedProvidedIntent = definedIntents.get(providedIntent.getName());
-                        if ( resolvedProvidedIntent != null ) {
-                            providedIntents.add(resolvedProvidedIntent); 
-                        } else {
-                            throw new SCADefinitionsBuilderException("Provided Intent - " + providedIntent + 
-                                                                     " not found for PolicySet " + policySet);
-                                
-                        }
+                    if (resolvedProvidedIntent != null) {
+                        providedIntents.add(resolvedProvidedIntent);
+                    } else {
+                        throw new SCADefinitionsBuilderException("Provided Intent - " + providedIntent
+                            + " not found for PolicySet "
+                            + policySet);
+
+                    }
+                } else {
+                    providedIntents.add(providedIntent);
                 }
             }
             policySet.getProvidedIntents().clear();
             policySet.getProvidedIntents().addAll(providedIntents);
         }
     }
-    
-    private void buildIntentsInMappedPolicies(PolicySet policySet, Map<QName, Intent> definedIntents) throws SCADefinitionsBuilderException {
-        Map<Intent, List<Policy>> mappedPolicies = new Hashtable<Intent, List<Policy>>();   
-        for ( Intent mappedIntent : policySet.getMappedPolicies().keySet() ) {
-            if ( mappedIntent.isUnresolved() ) {
+
+    private void buildIntentsInMappedPolicies(PolicySet policySet, Map<QName, Intent> definedIntents)
+        throws SCADefinitionsBuilderException {
+        Map<Intent, List<Policy>> mappedPolicies = new Hashtable<Intent, List<Policy>>();
+        for (Map.Entry<Intent, List<Policy>> entry : policySet.getMappedPolicies().entrySet()) {
+            Intent mappedIntent = entry.getKey();
+            if (mappedIntent.isUnresolved()) {
                 Intent resolvedMappedIntent = definedIntents.get(mappedIntent.getName());
-                
-                if ( resolvedMappedIntent != null ) {
-                    mappedPolicies.put(resolvedMappedIntent, policySet.getMappedPolicies().get(mappedIntent));
+
+                if (resolvedMappedIntent != null) {
+                    mappedPolicies.put(resolvedMappedIntent, entry.getValue());
                 } else {
-                    throw new SCADefinitionsBuilderException("Mapped Intent - " + mappedIntent + 
-                                                             " not found for PolicySet " + policySet);
-                        
+                    throw new SCADefinitionsBuilderException("Mapped Intent - " + mappedIntent
+                        + " not found for PolicySet "
+                        + policySet);
+
                 }
+            } else {
+                mappedPolicies.put(mappedIntent, entry.getValue());
             }
         }
-        
+
         policySet.getMappedPolicies().clear();
         policySet.getMappedPolicies().putAll(mappedPolicies);
     }
-    
-    
-    private void buildReferredPolicySets(PolicySet policySet, Map<QName, PolicySet> definedPolicySets) throws SCADefinitionsBuilderException {
-
-        List<PolicySet> referredPolicySets = new ArrayList<PolicySet>(); 
-        for ( PolicySet referredPolicySet : policySet.getReferencedPolicySets() ) {
-            if ( referredPolicySet.isUnresolved() ) {
+
+    private void buildReferredPolicySets(PolicySet policySet, Map<QName, PolicySet> definedPolicySets)
+        throws SCADefinitionsBuilderException {
+
+        List<PolicySet> referredPolicySets = new ArrayList<PolicySet>();
+        for (PolicySet referredPolicySet : policySet.getReferencedPolicySets()) {
+            if (referredPolicySet.isUnresolved()) {
                 PolicySet resolvedReferredPolicySet = definedPolicySets.get(referredPolicySet.getName());
-                if ( resolvedReferredPolicySet != null ) {
+                if (resolvedReferredPolicySet != null) {
                     referredPolicySets.add(resolvedReferredPolicySet);
                 } else {
-                    throw new SCADefinitionsBuilderException("Referred PolicySet - " + referredPolicySet +
-                                                             "not found for PolicySet - " + policySet);
+                    throw new SCADefinitionsBuilderException("Referred PolicySet - " + referredPolicySet
+                        + "not found for PolicySet - "
+                        + policySet);
                 }
+            } else {
+                referredPolicySets.add(referredPolicySet);
             }
         }
         policySet.getReferencedPolicySets().clear();
         policySet.getReferencedPolicySets().addAll(referredPolicySets);
     }
-    
+
     private void includeReferredPolicySets(PolicySet policySet, PolicySet referredPolicySet) {
-        for ( PolicySet furtherReferredPolicySet : referredPolicySet.getReferencedPolicySets() ) {
+        for (PolicySet furtherReferredPolicySet : referredPolicySet.getReferencedPolicySets()) {
             includeReferredPolicySets(referredPolicySet, furtherReferredPolicySet);
         }
         policySet.getPolicies().addAll(referredPolicySet.getPolicies());

Modified: incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java?view=diff&rev=562968&r1=562967&r2=562968
==============================================================================
--- incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java (original)
+++ incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java Sun Aug  5 14:28:20 2007
@@ -72,13 +72,6 @@
     List<QName> getConstrains();
 
     /**
-     * Returns the list of required intents.
-     * 
-     * @return
-     */
-    List<Intent> getRequiredIntents();
-
-    /**
      * Returns the list of children qualified intents.
      * 
      * @return the list of children qualified intents.

Modified: incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java?view=diff&rev=562968&r1=562967&r2=562968
==============================================================================
--- incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java (original)
+++ incubator/tuscany/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java Sun Aug  5 14:28:20 2007
@@ -37,11 +37,11 @@
     private static final String DOMAIN_SEPARATOR = ".";
     private QName name;
     private List<Operation> operations = new ArrayList<Operation>();
-    private List<QName> constrains;
+    private List<QName> constrains = new ArrayList<QName>();
     private String description;
-    private List<Intent> qualifiedIntents;
-    private List<Intent> requiredIntents;
-    private boolean unresolved;
+    private List<Intent> qualifiedIntents = new ArrayList<Intent>();;
+    // private List<Intent> requiredIntents = new ArrayList<Intent>();;
+    private boolean unresolved = true;
     private String domain;
     private String[] qualifiedNames;
 
@@ -95,10 +95,6 @@
         return qualifiedIntents;
     }
 
-    public List<Intent> getRequiredIntents() {
-        return requiredIntents;
-    }
-
     public boolean isUnresolved() {
         return unresolved;
     }
@@ -107,23 +103,44 @@
         this.unresolved = unresolved;
     }
 
+    /**
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        QName intentName = getName();
+        result = prime * result + ((intentName == null) ? 0 : intentName.hashCode());
+        return result;
+    }
+
+    /**
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
     public boolean equals(Object obj) {
-        if (obj == this) {
+        if (this == obj) {
             return true;
-        } else {
-            if (obj instanceof IntentImpl) {
-                if (getName() != null) {
-                    return getName().equals(((IntentImpl)obj).getName());
-                } else {
-                    return ((IntentImpl)obj).getName() == null;
-                }
-            } else {
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (!(obj instanceof IntentImpl)) {
+            return false;
+        }
+        final IntentImpl other = (IntentImpl)obj;
+        if (getName() == null) {
+            if (other.getName() != null) {
                 return false;
             }
+        } else if (!getName().equals(other.getName())) {
+            return false;
         }
+        return true;
     }
-    
+
     public String toString() {
-        return name.toString();
+        return String.valueOf(getName());
     }
 }

Modified: incubator/tuscany/java/sca/modules/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/pom.xml?view=diff&rev=562968&r1=562967&r2=562968
==============================================================================
--- incubator/tuscany/java/sca/modules/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/pom.xml Sun Aug  5 14:28:20 2007
@@ -102,7 +102,7 @@
                 <module>maven-java2wsdl</module>
                 <module>maven-wsdl2java</module>
                 <module>policy</module>
-		<!--module>policy-xml</module-->
+		<module>policy-xml</module>
                 <module>sca-api</module>
                 <module>topology</module>
                 <module>topology-xml</module>



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org