You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by fm...@apache.org on 2009/02/06 17:13:48 UTC

svn commit: r741611 - in /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl: BundleComponentActivator.java ComponentMetadata.java XmlHandler.java

Author: fmeschbe
Date: Fri Feb  6 16:13:48 2009
New Revision: 741611

URL: http://svn.apache.org/viewvc?rev=741611&view=rev
Log:
FELIX-639 Just log on duplicate reference names instead of throwing

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java?rev=741611&r1=741610&r2=741611&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/BundleComponentActivator.java Fri Feb  6 16:13:48 2009
@@ -165,7 +165,7 @@
                         m_componentRegistry.checkComponentName( metadata.getName() );
 
                         // validate the component metadata
-                        metadata.validate();
+                        metadata.validate( this );
 
                         // Request creation of the component manager
                         ComponentManager manager;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java?rev=741611&r1=741610&r2=741611&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentMetadata.java Fri Feb  6 16:13:48 2009
@@ -27,6 +27,7 @@
 import java.util.List;
 
 import org.osgi.service.component.ComponentException;
+import org.osgi.service.log.LogService;
 
 
 /**
@@ -318,6 +319,15 @@
      */
     void validate()
     {
+        validate( null );
+    }
+
+
+    /**
+     * Method used to verify if the semantics of this metadata are correct
+     */
+    void validate( BundleComponentActivator bundleComponentActivator )
+    {
         // nothing to do if already validated
         if ( m_validated )
         {
@@ -363,7 +373,11 @@
             // flag duplicates
             if ( !refs.add( refMeta.getName() ) )
             {
-                throw validationFailure( "Detected duplicate reference name: \"" + refMeta.getName() + "\"" );
+                if ( bundleComponentActivator != null )
+                {
+                    bundleComponentActivator.log( LogService.LOG_WARNING, "Detected duplicate reference name: \""
+                        + refMeta.getName() + "\"", this, null );
+                }
             }
         }
 

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java?rev=741611&r1=741610&r2=741611&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/XmlHandler.java Fri Feb  6 16:13:48 2009
@@ -259,9 +259,6 @@
             if ( localName.equals( "component" ) )
             {
                 this.isComponent = false;
-                // When the closing tag for a component is found, the component is validated to check if
-                // the implementation class has been set
-                m_currentComponent.validate();
             }
             else if ( localName.equals( "property" ) && m_pendingProperty != null )
             {