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 2012/05/31 18:43:49 UTC
svn commit: r1344808 - in
/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl: Activator.java
config/ScrConfiguration.java
Author: fmeschbe
Date: Thu May 31 16:43:49 2012
New Revision: 1344808
URL: http://svn.apache.org/viewvc?rev=1344808&view=rev
Log:
FELIX-3016 Activator.log should also obey dynamically configured log level
Modified:
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java
felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java?rev=1344808&r1=1344807&r2=1344808&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/Activator.java Thu May 31 16:43:49 2012
@@ -49,10 +49,7 @@ public class Activator implements Bundle
static final String PACKAGEADMIN_CLASS = "org.osgi.service.packageadmin.PackageAdmin";
// Our configuration from bundle context properties and Config Admin
- private ScrConfiguration m_configuration;
-
- // Flag that sets error messages
- private static int m_logLevel = LogService.LOG_DEBUG;
+ private static ScrConfiguration m_configuration = new ScrConfiguration();
// this bundle's context
private static BundleContext m_context;
@@ -96,10 +93,7 @@ public class Activator implements Bundle
m_componentRegistry = new ComponentRegistry( context );
// get the configuration
- m_configuration = new ScrConfiguration( context );
-
- // configure logging from context properties
- m_logLevel = m_configuration.getLogLevel();
+ m_configuration.start( context );
// log SCR startup
log( LogService.LOG_INFO, context.getBundle(), " Version = "
@@ -386,7 +380,7 @@ public class Activator implements Bundle
*/
public static void log( int level, Bundle bundle, String message, Throwable ex )
{
- if ( m_logLevel >= level )
+ if ( m_configuration.getLogLevel() >= level )
{
Object logger = ( m_logService != null ) ? m_logService.getService() : null;
if ( logger == null )
Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java?rev=1344808&r1=1344807&r2=1344808&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java Thu May 31 16:43:49 2012
@@ -25,6 +25,7 @@ import java.util.Hashtable;
import org.apache.felix.scr.impl.Activator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceRegistration;
import org.osgi.service.log.LogService;
@@ -78,19 +79,26 @@ public class ScrConfiguration
private static final String PROP_SHOWERRORS = "ds.showerrors";
- private final BundleContext bundleContext;
-
private int logLevel;
private boolean factoryEnabled;
private boolean keepInstances;
- public ScrConfiguration( BundleContext bundleContext )
+ private BundleContext bundleContext;
+
+ private ServiceRegistration managedService;
+
+ public ScrConfiguration( )
{
+ // default configuration
+ configure( null );
+ }
+
+ public void start(final BundleContext bundleContext){
this.bundleContext = bundleContext;
- // default configuration
+ // reconfigure from bundle context properties
configure( null );
// listen for Configuration Admin configuration
@@ -102,14 +110,32 @@ public class ScrConfiguration
props);
}
+ public void stop() {
+ if (this.managedService != null) {
+ this.managedService.unregister();
+ this.managedService = null;
+ }
+
+ this.bundleContext = null;
+ }
+
// Called from the ScrManagedService.updated method to reconfigure
void configure( Dictionary config )
{
if ( config == null )
{
- logLevel = getDefaultLogLevel();
- factoryEnabled = getDefaultFactoryEnabled();
- keepInstances = getDefaultKeepInstances();
+ if ( this.bundleContext == null )
+ {
+ logLevel = LogService.LOG_ERROR;
+ factoryEnabled = false;
+ keepInstances = false;
+ }
+ else
+ {
+ logLevel = getDefaultLogLevel();
+ factoryEnabled = getDefaultFactoryEnabled();
+ keepInstances = getDefaultKeepInstances();
+ }
}
else
{