You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by dj...@apache.org on 2012/09/05 23:49:30 UTC

svn commit: r1381406 - /felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java

Author: djencks
Date: Wed Sep  5 21:49:30 2012
New Revision: 1381406

URL: http://svn.apache.org/viewvc?rev=1381406&view=rev
Log:
FELIX-3645 logging and formatting in ImmediateComponentHolder

Modified:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java?rev=1381406&r1=1381405&r2=1381406&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ImmediateComponentHolder.java Wed Sep  5 21:49:30 2012
@@ -31,6 +31,7 @@ import org.apache.felix.scr.impl.manager
 import org.apache.felix.scr.impl.manager.ServiceFactoryComponentManager;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.osgi.service.component.ComponentConstants;
+import org.osgi.service.log.LogService;
 
 
 /**
@@ -270,6 +271,8 @@ public class ImmediateComponentHolder im
      */
     public void configurationUpdated( final String pid, final Dictionary props )
     {
+        log( LogService.LOG_DEBUG, "ImmediateComponentHolder configuration updated for pid {0} with properties {1}",
+                new Object[] {pid, props}, null);
         // FELIX-2231: nothing to do any more, all components have been disposed off
         if (m_singleComponent == null) {
             return;
@@ -277,10 +280,12 @@ public class ImmediateComponentHolder im
 
         if ( pid.equals( getComponentMetadata().getConfigurationPid() ) )
         {
+            log( LogService.LOG_DEBUG, "ImmediateComponentHolder reconfiguring single component for pid {0} ",
+                    new Object[] {pid}, null);
             final boolean release = m_singleComponent.obtainReadLock( "ImmediateComponentHolder.configurationUpdated.1" );
             try
             {
-// singleton configuration has pid equal to component name
+                // singleton configuration has pid equal to component name
                 m_singleComponent.reconfigure( props );
             }
             finally
@@ -297,6 +302,8 @@ public class ImmediateComponentHolder im
             final ImmediateComponentManager icm = getComponentManager( pid );
             if ( icm != null )
             {
+                log( LogService.LOG_DEBUG, "ImmediateComponentHolder reconfiguring existing component for pid {0} ",
+                        new Object[] {pid}, null);
                 final boolean release = icm.obtainReadLock( "ImmediateComponentHolder.configurationUpdated.2" );
                 try
                 {
@@ -318,11 +325,15 @@ public class ImmediateComponentHolder im
                 if ( !m_singleComponent.hasConfiguration() )
                 {
                     // configure the single instance if this is not configured
+                    log( LogService.LOG_DEBUG, "ImmediateComponentHolder configuring the unconfigured single component for pid {0} ",
+                            new Object[] {pid}, null);
                     newIcm = m_singleComponent;
                 }
                 else
                 {
                     // otherwise create a new instance to provide the config to
+                    log( LogService.LOG_DEBUG, "ImmediateComponentHolder configuring a new component for pid {0} ",
+                            new Object[] {pid}, null);
                     newIcm = createComponentManager();
                 }
 
@@ -548,4 +559,23 @@ public class ImmediateComponentHolder im
             return cm;
         }
     }
+
+    private void log( int level, String message, Throwable ex )
+    {
+        BundleComponentActivator activator = getActivator();
+        if ( activator != null )
+        {
+            activator.log( level, message, getComponentMetadata(), ex );
+        }
+    }
+
+    private void log( int level, String message, Object[] arguments, Throwable ex )
+    {
+        BundleComponentActivator activator = getActivator();
+        if ( activator != null )
+        {
+            activator.log( level, message, arguments, getComponentMetadata(), ex );
+        }
+    }
+
 }