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/08/18 14:52:26 UTC

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

Author: slaws
Date: Tue Aug 18 12:52:25 2009
New Revision: 805398

URL: http://svn.apache.org/viewvc?rev=805398&view=rev
Log:
Raise an error if two composites with the same name are found (ASM_6001). Also remove code marked with FIXME that causes composites to be added twice under normal conditions. 

Modified:
    tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java
    tuscany/java/sca/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties
    tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java

Modified: tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java?rev=805398&r1=805397&r2=805398&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java (original)
+++ tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java Tue Aug 18 12:52:25 2009
@@ -41,15 +41,24 @@
 
     private Contribution contribution;
     private Map<QName, Composite> map = new HashMap<QName, Composite>();
+    private Monitor monitor;
 
     public CompositeModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories, Monitor monitor) {
         this.contribution = contribution;
+        this.monitor = monitor;
     }
 
     public void addModel(Object resolved) {
         Composite composite = (Composite)resolved;
-        // FIXME: What if two composites with the same QName are added?
-        map.put(composite.getName(), composite);
+        if (map.containsKey(composite.getName())){
+            Monitor.error(monitor, 
+                          this, 
+                          "assembly-validation-messages", 
+                          "DuplicateCompositeName", 
+                          composite.getName().toString());
+        } else {
+            map.put(composite.getName(), composite);
+        }
     }
 
     public Object removeModel(Object resolved) {

Modified: tuscany/java/sca/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties?rev=805398&r1=805397&r2=805398&view=diff
==============================================================================
--- tuscany/java/sca/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties (original)
+++ tuscany/java/sca/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties Tue Aug 18 12:52:25 2009
@@ -27,3 +27,4 @@
 ContributionReadException = ContributionReadException occured due to : {0}
 ContributionWriteException = ContributionWriteException occured due to : {0}
 XMLStreamException = XMLStreamException occured due to : {0}
+DuplicateCompositeName = Found more than one composite with the name : {0}

Modified: tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java?rev=805398&r1=805397&r2=805398&view=diff
==============================================================================
--- tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java (original)
+++ tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java Tue Aug 18 12:52:25 2009
@@ -318,8 +318,7 @@
             attached = true;
         }
         contribution.getDeployables().add(composite);
-        // REVIEW: Is it needed?
-        contribution.getModelResolver().addModel(composite);
+
         return attached;
     }
 
@@ -541,6 +540,7 @@
             for (Composite composite : contribution.getDeployables()) {
                 // Include the node composite in the top-level composite
                 tempComposite.getIncludes().add(composite);
+                logger.log(Level.INFO, "Adding composite: " + composite.getName() + " to domain");
             }
         }