You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2016/05/20 13:45:32 UTC

svn commit: r1744739 - in /felix/trunk/scr/src: main/java/org/apache/felix/scr/impl/ main/java/org/apache/felix/scr/impl/config/ main/java/org/apache/felix/scr/impl/helper/ main/java/org/apache/felix/scr/impl/manager/ main/java/org/apache/felix/scr/imp...

Author: gnodet
Date: Fri May 20 13:45:27 2016
New Revision: 1744739

URL: http://svn.apache.org/viewvc?rev=1744739&view=rev
Log:
[FELIX-5243] Refactor to isolate manager, helper and metadata packages

Isolate metadata package by using the Bundle instead of the ComponentHolder for checking target
Introduce a ScrConfiguration interface
Only keep ScrConfigurationImpl and related classes into the config package, move other classes to manager
Move PackageAdmin support into ClassUtils

Added:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfigurationImpl.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ConfigAdminTracker.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigAdminTracker.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentActivator.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentActivator.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContainer.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentContainer.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentHolder.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentHolder.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ReferenceManager.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ReferenceManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegionConfigurationSupport.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/RegionConfigurationSupport.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ScrConfiguration.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/TargetedPID.java
      - copied, changed from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/TargetedPID.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfigurationSupportTest.java
      - copied, changed from r1744738, felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfigurationSupportTest.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java
      - copied, changed from r1744738, felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfiguredComponentHolderTest.java
Removed:
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentActivator.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentContainer.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentHolder.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigAdminTracker.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ReferenceManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/RegionConfigurationSupport.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/TargetedPID.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfigurationSupportTest.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfiguredComponentHolderTest.java
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/BundleComponentActivator.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedService.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceMetaTypeProvider.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceServiceFactory.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ClassUtils.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/Logger.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ReferenceMetadata.java
    felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/ActivateMethodTest.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java
    felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.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=1744739&r1=1744738&r2=1744739&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 Fri May 20 13:45:27 2016
@@ -26,7 +26,8 @@ import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.felix.scr.impl.config.ScrConfiguration;
+import org.apache.felix.scr.impl.config.ScrConfigurationImpl;
+import org.apache.felix.scr.impl.helper.ClassUtils;
 import org.apache.felix.scr.impl.helper.SimpleLogger;
 import org.apache.felix.scr.impl.runtime.ServiceComponentRuntimeImpl;
 import org.apache.felix.utils.extender.AbstractExtender;
@@ -54,14 +55,10 @@ public class Activator extends AbstractE
     //  name of the LogService class (this is a string to not create a reference to the class)
     static final String LOGSERVICE_CLASS = "org.osgi.service.log.LogService";
 
-    // name of the PackageAdmin class (this is a string to not create a reference to the class)
-    static final String PACKAGEADMIN_CLASS = "org.osgi.service.packageadmin.PackageAdmin";
-
     // Our configuration from bundle context properties and Config Admin
-    private static ScrConfiguration m_configuration;
+    private ScrConfigurationImpl m_configuration;
 
-    // this bundle's context
-    private static BundleContext m_context;
+    private BundleContext m_context;
 
     //Either this bundle's context or the framework bundle context, depending on the globalExtender setting.
     private BundleContext m_globalContext;
@@ -72,9 +69,6 @@ public class Activator extends AbstractE
     // the log service to log messages to
     private volatile ServiceTracker<LogService, LogService> m_logService;
 
-    // the package admin service (see BindMethod.getParameterClass)
-    private static volatile ServiceTracker<?, ?> m_packageAdmin;
-
     // map of BundleComponentActivator instances per Bundle indexed by Bundle id
     private Map<Long, BundleComponentActivator> m_componentBundles;
 
@@ -90,7 +84,7 @@ public class Activator extends AbstractE
 
     public Activator()
     {
-        m_configuration = new ScrConfiguration(this);
+        m_configuration = new ScrConfigurationImpl( this );
         setSynchronous(true);
     }
 
@@ -112,6 +106,8 @@ public class Activator extends AbstractE
         m_logService.open();
         // get the configuration
         m_configuration.start(m_context); //this will call restart, which calls super.start.
+        // set bundle context for PackageAdmin tracker
+        ClassUtils.setBundleContext( context );
     }
 
     public void restart(boolean globalExtender)
@@ -126,7 +122,7 @@ public class Activator extends AbstractE
         {
             m_globalContext = m_context;
         }
-        if (m_packageAdmin != null)
+        if (ClassUtils.m_packageAdmin != null)
         {
             log(LogService.LOG_INFO, m_bundle,
                 "Stopping to restart with new globalExtender setting: " + globalExtender,
@@ -233,16 +229,7 @@ public class Activator extends AbstractE
             m_logService.close();
             m_logService = null;
         }
-
-        // close the PackageAdmin tracker now
-        if (m_packageAdmin != null)
-        {
-            m_packageAdmin.close();
-            m_packageAdmin = null;
-        }
-
-        // remove the reference to the component context
-        m_context = null;
+        ClassUtils.close();
     }
 
     //---------- Component Management -----------------------------------------
@@ -587,21 +574,4 @@ public class Activator extends AbstractE
         }
     }
 
-    public static Object getPackageAdmin()
-    {
-        if (m_packageAdmin == null)
-        {
-            synchronized (Activator.class)
-            {
-                if (m_packageAdmin == null)
-                {
-                    m_packageAdmin = new ServiceTracker(m_context, PACKAGEADMIN_CLASS,
-                        null);
-                    m_packageAdmin.open();
-                }
-            }
-        }
-
-        return m_packageAdmin.getService();
-    }
 }
\ No newline at end of file

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=1744739&r1=1744738&r2=1744739&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 May 20 13:45:27 2016
@@ -35,11 +35,11 @@ import java.util.concurrent.CountDownLat
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.apache.felix.scr.impl.config.ComponentActivator;
-import org.apache.felix.scr.impl.config.ComponentHolder;
-import org.apache.felix.scr.impl.config.ConfigAdminTracker;
-import org.apache.felix.scr.impl.config.RegionConfigurationSupport;
-import org.apache.felix.scr.impl.config.ScrConfiguration;
+import org.apache.felix.scr.impl.manager.ComponentActivator;
+import org.apache.felix.scr.impl.manager.ComponentHolder;
+import org.apache.felix.scr.impl.helper.ConfigAdminTracker;
+import org.apache.felix.scr.impl.manager.RegionConfigurationSupport;
+import org.apache.felix.scr.impl.manager.ScrConfiguration;
 import org.apache.felix.scr.impl.helper.SimpleLogger;
 import org.apache.felix.scr.impl.manager.AbstractComponentManager;
 import org.apache.felix.scr.impl.manager.DependencyManager;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ComponentRegistry.java Fri May 20 13:45:27 2016
@@ -29,11 +29,11 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
-import org.apache.felix.scr.impl.config.ComponentActivator;
-import org.apache.felix.scr.impl.config.ComponentHolder;
-import org.apache.felix.scr.impl.config.ConfigurableComponentHolder;
-import org.apache.felix.scr.impl.config.RegionConfigurationSupport;
-import org.apache.felix.scr.impl.config.TargetedPID;
+import org.apache.felix.scr.impl.manager.ComponentActivator;
+import org.apache.felix.scr.impl.manager.ComponentHolder;
+import org.apache.felix.scr.impl.manager.ConfigurableComponentHolder;
+import org.apache.felix.scr.impl.manager.RegionConfigurationSupport;
+import org.apache.felix.scr.impl.metadata.TargetedPID;
 import org.apache.felix.scr.impl.helper.SimpleLogger;
 import org.apache.felix.scr.impl.manager.AbstractComponentManager;
 import org.apache.felix.scr.impl.manager.DependencyManager;
@@ -306,7 +306,8 @@ public class ComponentRegistry
             {
                 for (ComponentHolder<?> holder: set)
                 {
-                    if (targetedPid.matchesTarget(holder))
+                    Bundle bundle = holder.getActivator().getBundleContext().getBundle();
+                    if (targetedPid.matchesTarget(bundle))
                     {
                         componentHoldersUsingPid.add( holder );
                     }

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/ScrCommand.java Fri May 20 13:45:27 2016
@@ -20,7 +20,6 @@ package org.apache.felix.scr.impl;
 
 import java.io.PrintWriter;
 import java.lang.reflect.Array;
-import java.lang.reflect.Constructor;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -33,7 +32,8 @@ import java.util.Map.Entry;
 import java.util.TreeMap;
 import java.util.regex.Pattern;
 
-import org.apache.felix.scr.impl.config.ScrConfiguration;
+import org.apache.felix.scr.impl.config.ScrConfigurationImpl;
+import org.apache.felix.scr.impl.manager.ScrConfiguration;
 import org.apache.felix.scr.info.ScrInfo;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -93,13 +93,13 @@ public class ScrCommand implements ScrIn
 
     private final BundleContext bundleContext;
     private final ServiceComponentRuntime scrService;
-    private final ScrConfiguration scrConfiguration;
+    private final ScrConfigurationImpl scrConfiguration;
 
     private ServiceRegistration<ScrInfo> reg;
     private ServiceRegistration<?> gogoReg;
     private ServiceRegistration<?> shellReg;
 
-    static ScrCommand register(BundleContext bundleContext, ServiceComponentRuntime scrService, ScrConfiguration scrConfiguration)
+    static ScrCommand register(BundleContext bundleContext, ServiceComponentRuntime scrService, ScrConfigurationImpl scrConfiguration)
     {
         final ScrCommand cmd = new ScrCommand(bundleContext, scrService, scrConfiguration);
 
@@ -108,7 +108,7 @@ public class ScrCommand implements ScrIn
     }
 
     //used by ComponentTestBase
-    protected ScrCommand(BundleContext bundleContext, ServiceComponentRuntime scrService, ScrConfiguration scrConfiguration)
+    protected ScrCommand(BundleContext bundleContext, ServiceComponentRuntime scrService, ScrConfigurationImpl scrConfiguration)
     {
         this.bundleContext = bundleContext;
         this.scrService = scrService;

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfigurationImpl.java (from r1744738, 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/ScrConfigurationImpl.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfigurationImpl.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrConfiguration.java&r1=1744738&r2=1744739&rev=1744739&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/ScrConfigurationImpl.java Fri May 20 13:45:27 2016
@@ -24,6 +24,7 @@ import java.util.Hashtable;
 
 import org.apache.felix.scr.impl.Activator;
 import org.apache.felix.scr.impl.ScrCommand;
+import org.apache.felix.scr.impl.manager.ScrConfiguration;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
@@ -53,29 +54,11 @@ import org.osgi.service.log.LogService;
  * <a href="http://felix.apache.org/site/apache-felix-service-component-runtime.html">Apache Felix Service Component Runtime</a>
  * documentation page for detailed information.
  */
-public class ScrConfiguration
+public class ScrConfigurationImpl implements ScrConfiguration
 {
 
     private static final String VALUE_TRUE = Boolean.TRUE.toString();
 
-    public static final String PID = "org.apache.felix.scr.ScrService";
-
-    public static final String PROP_FACTORY_ENABLED = "ds.factory.enabled";
-
-    public static final String PROP_DELAYED_KEEP_INSTANCES = "ds.delayed.keepInstances";
-
-    public static final String PROP_INFO_SERVICE = "ds.info.service";
-
-    public static final String PROP_LOCK_TIMEOUT = "ds.lock.timeout.milliseconds";
-
-    public static final String PROP_STOP_TIMEOUT = "ds.stop.timeout.milliseconds";
-
-    public static final long DEFAULT_LOCK_TIMEOUT_MILLISECONDS = 5000;
-
-    public static final long DEFAULT_STOP_TIMEOUT_MILLISECONDS = 60000;
-
-    public static final String PROP_LOGLEVEL = "ds.loglevel";
-
     private static final String LOG_LEVEL_DEBUG = "debug";
 
     private static final String LOG_LEVEL_INFO = "info";
@@ -88,8 +71,6 @@ public class ScrConfiguration
 
     private static final String PROP_SHOWERRORS = "ds.showerrors";
 
-    public static final String PROP_GLOBAL_EXTENDER="ds.global.extender";
-
     private final Activator activator;
 
     private int logLevel;
@@ -97,9 +78,9 @@ public class ScrConfiguration
     private boolean factoryEnabled;
 
     private boolean keepInstances;
-    
+
     private boolean infoAsService;
-    
+
     private long lockTimeout = DEFAULT_LOCK_TIMEOUT_MILLISECONDS;
 
     private long stopTimeout = DEFAULT_STOP_TIMEOUT_MILLISECONDS;
@@ -109,10 +90,10 @@ public class ScrConfiguration
     private BundleContext bundleContext;
 
     private ServiceRegistration<ManagedService> managedService;
-    
+
     private ScrCommand scrCommand;
 
-    public ScrConfiguration( Activator activator )
+    public ScrConfigurationImpl(Activator activator )
     {
         this.activator = activator;
     }

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedService.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedService.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedService.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedService.java Fri May 20 13:45:27 2016
@@ -38,14 +38,14 @@ import org.osgi.service.cm.ManagedServic
 public class ScrManagedService implements ManagedService
 {
 
-    private final ScrConfiguration scrConfiguration;
+    private final ScrConfigurationImpl scrConfiguration;
 
-    protected final ScrConfiguration getScrConfiguration()
+    protected final ScrConfigurationImpl getScrConfiguration()
     {
         return scrConfiguration;
     }
 
-    public ScrManagedService(final ScrConfiguration scrConfiguration)
+    public ScrManagedService(final ScrConfigurationImpl scrConfiguration)
     {
         this.scrConfiguration = scrConfiguration;
     }

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceMetaTypeProvider.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceMetaTypeProvider.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceMetaTypeProvider.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceMetaTypeProvider.java Fri May 20 13:45:27 2016
@@ -21,6 +21,7 @@ package org.apache.felix.scr.impl.config
 import java.io.InputStream;
 import java.util.ArrayList;
 
+import org.apache.felix.scr.impl.manager.ScrConfiguration;
 import org.osgi.service.metatype.AttributeDefinition;
 import org.osgi.service.metatype.MetaTypeProvider;
 import org.osgi.service.metatype.ObjectClassDefinition;
@@ -43,12 +44,12 @@ class ScrManagedServiceMetaTypeProvider
     implements MetaTypeProvider
 {
 
-    static ScrManagedService create(final ScrConfiguration scrConfiguration)
+    static ScrManagedService create(final ScrConfigurationImpl scrConfiguration)
     {
         return new ScrManagedServiceMetaTypeProvider(scrConfiguration);
     }
 
-    private ScrManagedServiceMetaTypeProvider(final ScrConfiguration scrConfiguration)
+    private ScrManagedServiceMetaTypeProvider(final ScrConfigurationImpl scrConfiguration)
     {
         super(scrConfiguration);
     }

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceServiceFactory.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceServiceFactory.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceServiceFactory.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ScrManagedServiceServiceFactory.java Fri May 20 13:45:27 2016
@@ -38,10 +38,10 @@ import org.osgi.service.log.LogService;
  */
 public class ScrManagedServiceServiceFactory implements ServiceFactory<ScrManagedService>
 {
-    private final ScrConfiguration scrConfiguration;
+    private final ScrConfigurationImpl scrConfiguration;
     private final SimpleLogger logger;
 
-    public ScrManagedServiceServiceFactory(final ScrConfiguration scrConfiguration, final SimpleLogger logger)
+    public ScrManagedServiceServiceFactory(final ScrConfigurationImpl scrConfiguration, final SimpleLogger logger)
     {
         this.scrConfiguration = scrConfiguration;
         this.logger = logger;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/BindMethod.java Fri May 20 13:45:27 2016
@@ -29,8 +29,6 @@ import java.util.Map;
 import org.apache.felix.scr.impl.manager.ComponentContextImpl;
 import org.apache.felix.scr.impl.manager.RefPair;
 import org.apache.felix.scr.impl.metadata.DSVersion;
-import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
-import org.apache.felix.scr.impl.metadata.ReferenceMetadata.ReferenceScope;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.log.LogService;
 

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ClassUtils.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ClassUtils.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ClassUtils.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ClassUtils.java Fri May 20 13:45:27 2016
@@ -23,12 +23,13 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.felix.scr.impl.Activator;
+import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.component.ComponentServiceObjects;
 import org.osgi.service.log.LogService;
 import org.osgi.service.packageadmin.ExportedPackage;
 import org.osgi.service.packageadmin.PackageAdmin;
+import org.osgi.util.tracker.ServiceTracker;
 
 
 /**
@@ -37,6 +38,9 @@ import org.osgi.service.packageadmin.Pac
 public class ClassUtils
 {
 
+    // name of the PackageAdmin class (this is a string to not create a reference to the class)
+    private static final String PACKAGEADMIN_CLASS = "org.osgi.service.packageadmin.PackageAdmin";
+
     private static final Class<?> OBJECT_CLASS = Object.class;
 
     public static final Class<?> SERVICE_REFERENCE_CLASS = ServiceReference.class;
@@ -49,6 +53,11 @@ public class ClassUtils
     public static final Class<?> COLLECTION_CLASS = Collection.class;
     public static final Class<?> LIST_CLASS = List.class;
 
+    // this bundle's context
+    private static BundleContext m_context;
+    // the package admin service (see BindMethod.getParameterClass)
+    public static volatile ServiceTracker<?, ?> m_packageAdmin;
+
     /**
      * Returns the class object representing the class of the field reference
      * The class loader of the component class is used to load the service class.
@@ -105,7 +114,7 @@ public class ClassUtils
         }
 
         // try to load the class with the help of the PackageAdmin service
-        PackageAdmin pa = ( PackageAdmin ) Activator.getPackageAdmin();
+        PackageAdmin pa = ( PackageAdmin ) getPackageAdmin();
         if ( pa != null )
         {
             final String referenceClassPackage = className.substring( 0, className
@@ -160,4 +169,40 @@ public class ClassUtils
         }
         return OBJECT_CLASS;
     }
+
+    public static void setBundleContext( BundleContext bundleContext )
+    {
+        ClassUtils.m_context = bundleContext;
+    }
+
+    public static Object getPackageAdmin()
+    {
+        if (m_packageAdmin == null)
+        {
+            synchronized (ClassUtils.class)
+            {
+                if (m_packageAdmin == null)
+                {
+                    m_packageAdmin = new ServiceTracker(m_context, PACKAGEADMIN_CLASS,
+                        null);
+                    m_packageAdmin.open();
+                }
+            }
+        }
+
+        return m_packageAdmin.getService();
+    }
+
+    public static void close()
+    {
+        // close the PackageAdmin tracker now
+        if (m_packageAdmin != null)
+        {
+            m_packageAdmin.close();
+            m_packageAdmin = null;
+        }
+
+        // remove the reference to the component context
+        m_context = null;
+    }
 }

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ConfigAdminTracker.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigAdminTracker.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ConfigAdminTracker.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ConfigAdminTracker.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigAdminTracker.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigAdminTracker.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/ConfigAdminTracker.java Fri May 20 13:45:27 2016
@@ -16,8 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.helper;
 
+import org.apache.felix.scr.impl.manager.ComponentActivator;
+import org.apache.felix.scr.impl.manager.RegionConfigurationSupport;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cm.ConfigurationAdmin;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/Logger.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/Logger.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/Logger.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/helper/Logger.java Fri May 20 13:45:27 2016
@@ -59,7 +59,7 @@ public interface Logger
      * @param level The log level of the messages. This corresponds to the log
      *          levels defined by the OSGi LogService.
      * @param message The message to print
-     * @param metadata The {@link org.apache.felix.scr.impl.metadata.ComponentMetadata} whose processing caused
+     * @param metadata The {@link ComponentMetadata} whose processing caused
  *          the message. This may be <code>null</code> if the component
  *          metadata is not known or applicable.
      * @param componentId

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java Fri May 20 13:45:27 2016
@@ -40,11 +40,6 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
-import org.apache.felix.scr.impl.config.ComponentActivator;
-import org.apache.felix.scr.impl.config.ComponentContainer;
-import org.apache.felix.scr.impl.config.ComponentManager;
-import org.apache.felix.scr.impl.config.ReferenceManager;
-import org.apache.felix.scr.impl.config.ScrConfiguration;
 import org.apache.felix.scr.impl.helper.ComponentMethods;
 import org.apache.felix.scr.impl.helper.MethodResult;
 import org.apache.felix.scr.impl.helper.SimpleLogger;

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentActivator.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentActivator.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentActivator.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentActivator.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentActivator.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentActivator.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentActivator.java Fri May 20 13:45:27 2016
@@ -16,13 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 import org.apache.felix.scr.impl.helper.Logger;
-import org.apache.felix.scr.impl.manager.AbstractComponentManager;
-import org.apache.felix.scr.impl.manager.DependencyManager;
-import org.apache.felix.scr.impl.manager.ExtendedServiceEvent;
-import org.apache.felix.scr.impl.manager.ExtendedServiceListenerContext;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.cm.ConfigurationAdmin;

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContainer.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentContainer.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContainer.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContainer.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentContainer.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentContainer.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContainer.java Fri May 20 13:45:27 2016
@@ -16,9 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
-import org.apache.felix.scr.impl.manager.SingleComponentManager;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 
 public interface ComponentContainer<S>

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentContextImpl.java Fri May 20 13:45:27 2016
@@ -24,7 +24,6 @@ import java.util.concurrent.CountDownLat
 import java.util.concurrent.TimeUnit;
 
 import org.apache.felix.scr.component.ExtComponentContext;
-import org.apache.felix.scr.impl.config.ComponentActivator;
 import org.apache.felix.scr.impl.helper.ComponentServiceObjectsHelper;
 import org.apache.felix.scr.impl.helper.ReadOnlyDictionary;
 import org.osgi.framework.Bundle;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java Fri May 20 13:45:27 2016
@@ -27,11 +27,10 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.felix.scr.component.ExtFactoryComponentInstance;
-import org.apache.felix.scr.impl.config.TargetedPID;
-import org.apache.felix.scr.impl.config.ComponentContainer;
 import org.apache.felix.scr.impl.helper.ComponentMethods;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
+import org.apache.felix.scr.impl.metadata.TargetedPID;
 import org.osgi.framework.Constants;
 import org.osgi.service.component.ComponentConstants;
 import org.osgi.service.component.ComponentException;

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentHolder.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentHolder.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentHolder.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentHolder.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentHolder.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentHolder.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentHolder.java Fri May 20 13:45:27 2016
@@ -16,13 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 
 import java.util.Dictionary;
 import java.util.List;
 
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
+import org.apache.felix.scr.impl.metadata.TargetedPID;
 import org.osgi.util.promise.Promise;
 
 
@@ -58,7 +59,7 @@ public interface ComponentHolder<S>
      * @param pid The PID of the deleted configuration
      * @param factoryPid The factory PID of the deleted configuration
      */
-    void configurationDeleted( TargetedPID pid, TargetedPID factoryPid );
+    void configurationDeleted(TargetedPID pid, TargetedPID factoryPid );
 
 
     /**
@@ -116,4 +117,5 @@ public interface ComponentHolder<S>
      * @param reason
      */
     void disposeComponents( int reason );
+
 }

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentManager.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentManager.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java Fri May 20 13:45:27 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 import java.util.List;
 import java.util.Map;

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java Fri May 20 13:45:27 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 
 import java.lang.reflect.InvocationTargetException;
@@ -31,13 +31,9 @@ import java.util.Map;
 
 import org.apache.felix.scr.impl.helper.ComponentMethods;
 import org.apache.felix.scr.impl.helper.SimpleLogger;
-import org.apache.felix.scr.impl.manager.AbstractComponentManager;
-import org.apache.felix.scr.impl.manager.ComponentFactoryImpl;
-import org.apache.felix.scr.impl.manager.PrototypeServiceFactoryComponentManager;
-import org.apache.felix.scr.impl.manager.ServiceFactoryComponentManager;
-import org.apache.felix.scr.impl.manager.SingleComponentManager;
-import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.ServiceMetadata.Scope;
+import org.apache.felix.scr.impl.metadata.ComponentMetadata;
+import org.apache.felix.scr.impl.metadata.TargetedPID;
 import org.osgi.framework.Constants;
 import org.osgi.service.component.ComponentConstants;
 import org.osgi.service.log.LogService;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java Fri May 20 13:45:27 2016
@@ -31,8 +31,6 @@ import java.util.concurrent.CountDownLat
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import org.apache.felix.scr.impl.config.ComponentActivator;
-import org.apache.felix.scr.impl.config.ReferenceManager;
 import org.apache.felix.scr.impl.helper.BindParameters;
 import org.apache.felix.scr.impl.helper.Coercions;
 import org.apache.felix.scr.impl.helper.MethodResult;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java Fri May 20 13:45:27 2016
@@ -18,7 +18,6 @@
  */
 package org.apache.felix.scr.impl.manager;
 
-import org.apache.felix.scr.impl.config.ComponentContainer;
 import org.apache.felix.scr.impl.helper.ComponentMethods;
 import org.osgi.framework.PrototypeServiceFactory;
 

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ReferenceManager.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ReferenceManager.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ReferenceManager.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ReferenceManager.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ReferenceManager.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/ReferenceManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ReferenceManager.java Fri May 20 13:45:27 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 import java.util.List;
 

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegionConfigurationSupport.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/RegionConfigurationSupport.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegionConfigurationSupport.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegionConfigurationSupport.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/RegionConfigurationSupport.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/RegionConfigurationSupport.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/RegionConfigurationSupport.java Fri May 20 13:45:27 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 import java.io.IOException;
 import java.util.Collection;
@@ -29,6 +29,7 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.felix.scr.impl.helper.SimpleLogger;
+import org.apache.felix.scr.impl.metadata.TargetedPID;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;

Added: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ScrConfiguration.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ScrConfiguration.java?rev=1744739&view=auto
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ScrConfiguration.java (added)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ScrConfiguration.java Fri May 20 13:45:27 2016
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.felix.scr.impl.manager;
+
+
+/**
+ * The <code>ScrConfiguration</code> class conveys configuration for the
+ * Felix DS implementation bundle.
+ * <p>
+ * <b>Configuration Source</b>
+ * <p>
+ * <ol>
+ * <li>Framework properties: These are read when the Declarative Services
+ * implementation is first started.</li>
+ * <li>Configuration Admin Service: Properties are provided by means of a
+ * <code>ManagedService</code> with Service PID
+ * <code>org.apache.felix.scr.ScrService</code>. This class uses an OSGi Service Factory
+ * ({@link org.apache.felix.scr.impl.config.ScrManagedServiceServiceFactory})
+ * to register the managed service without requiring the Configuration Admin
+ * Service API to be required upfront.
+ * </li>
+ * </ol>
+ * <p>
+ * See the <i>Configuration</i> section of the
+ * <a href="http://felix.apache.org/site/apache-felix-service-component-runtime.html">Apache Felix Service Component Runtime</a>
+ * documentation page for detailed information.
+ */
+public interface ScrConfiguration
+{
+
+    String PID = "org.apache.felix.scr.ScrService";
+
+    String PROP_FACTORY_ENABLED = "ds.factory.enabled";
+
+    String PROP_DELAYED_KEEP_INSTANCES = "ds.delayed.keepInstances";
+
+    String PROP_INFO_SERVICE = "ds.info.service";
+
+    String PROP_LOCK_TIMEOUT = "ds.lock.timeout.milliseconds";
+
+    String PROP_STOP_TIMEOUT = "ds.stop.timeout.milliseconds";
+
+    long DEFAULT_LOCK_TIMEOUT_MILLISECONDS = 5000;
+
+    long DEFAULT_STOP_TIMEOUT_MILLISECONDS = 60000;
+
+    String PROP_LOGLEVEL = "ds.loglevel";
+
+    String PROP_GLOBAL_EXTENDER="ds.global.extender";
+
+    /**
+     * Returns the current log level.
+     * @return
+     */
+    int getLogLevel();
+
+
+    boolean isFactoryEnabled();
+
+
+    boolean keepInstances();
+    
+    boolean infoAsService();
+
+    long lockTimeout();
+
+    long stopTimeout();
+
+}

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java Fri May 20 13:45:27 2016
@@ -24,7 +24,6 @@ import java.util.Collection;
 import java.util.Dictionary;
 import java.util.IdentityHashMap;
 
-import org.apache.felix.scr.impl.config.ComponentContainer;
 import org.apache.felix.scr.impl.helper.ActivatorParameter;
 import org.apache.felix.scr.impl.helper.ComponentMethods;
 import org.apache.felix.scr.impl.helper.MethodResult;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java Fri May 20 13:45:27 2016
@@ -27,9 +27,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.felix.scr.impl.config.ComponentActivator;
-import org.apache.felix.scr.impl.config.ComponentContainer;
-import org.apache.felix.scr.impl.config.ReferenceManager;
 import org.apache.felix.scr.impl.helper.ActivatorParameter;
 import org.apache.felix.scr.impl.helper.ComponentMethods;
 import org.apache.felix.scr.impl.helper.MethodResult;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java Fri May 20 13:45:27 2016
@@ -29,7 +29,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import org.apache.felix.scr.impl.config.TargetedPID;
 import org.apache.felix.scr.impl.helper.Logger;
 import org.apache.felix.scr.impl.metadata.ServiceMetadata.Scope;
 import org.osgi.service.component.ComponentException;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ReferenceMetadata.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ReferenceMetadata.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ReferenceMetadata.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/ReferenceMetadata.java Fri May 20 13:45:27 2016
@@ -599,7 +599,7 @@ public class ReferenceMetadata
      *  Method used to verify if the semantics of this metadata are correct
      *
      */
-    void validate( final ComponentMetadata componentMetadata, final Logger logger )
+    void validate(final ComponentMetadata componentMetadata, final Logger logger )
     {
         final DSVersion dsVersion = componentMetadata.getDSVersion();
 

Copied: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/TargetedPID.java (from r1744738, felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/TargetedPID.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/TargetedPID.java?p2=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/TargetedPID.java&p1=felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/TargetedPID.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/config/TargetedPID.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/metadata/TargetedPID.java Fri May 20 13:45:27 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.metadata;
 
 import org.osgi.framework.Bundle;
 import org.osgi.framework.Constants;
@@ -138,15 +138,14 @@ public class TargetedPID
      * concurrently been unregistered and the registering bundle is now
      * <code>null</code>.
      *
-     * @param reference <code>ServiceReference</code> to the registered
+     * @param serviceBundle <code>Bundle</code> to the registered
      *      service
      * @return <code>true</code> if the referenced service matches the
      *      target of this PID.
      */
-    public boolean matchesTarget( ComponentHolder<?> holder )
+    public boolean matchesTarget( Bundle serviceBundle )
     {
         // already unregistered
-        final Bundle serviceBundle = holder.getActivator().getBundleContext().getBundle();
         if ( serviceBundle == null )
         {
             return false;

Modified: felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java (original)
+++ felix/trunk/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java Fri May 20 13:45:27 2016
@@ -26,9 +26,9 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.felix.scr.impl.ComponentRegistry;
-import org.apache.felix.scr.impl.config.ComponentHolder;
-import org.apache.felix.scr.impl.config.ComponentManager;
-import org.apache.felix.scr.impl.config.ReferenceManager;
+import org.apache.felix.scr.impl.manager.ComponentHolder;
+import org.apache.felix.scr.impl.manager.ComponentManager;
+import org.apache.felix.scr.impl.manager.ReferenceManager;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
 import org.osgi.dto.DTO;

Modified: felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/ActivateMethodTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/ActivateMethodTest.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/ActivateMethodTest.java (original)
+++ felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/ActivateMethodTest.java Fri May 20 13:45:27 2016
@@ -28,7 +28,7 @@ import java.util.Map;
 import junit.framework.TestCase;
 
 import org.apache.felix.scr.impl.BundleComponentActivator;
-import org.apache.felix.scr.impl.config.ComponentContainer;
+import org.apache.felix.scr.impl.manager.ComponentContainer;
 import org.apache.felix.scr.impl.helper.ActivateMethod;
 import org.apache.felix.scr.impl.helper.ActivatorParameter;
 import org.apache.felix.scr.impl.helper.ComponentMethods;

Modified: felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java (original)
+++ felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/helper/BindMethodTest.java Fri May 20 13:45:27 2016
@@ -23,7 +23,7 @@ import junit.framework.TestCase;
 
 import org.apache.felix.scr.impl.BundleComponentActivator;
 import org.apache.felix.scr.impl.MockBundle;
-import org.apache.felix.scr.impl.config.ComponentContainer;
+import org.apache.felix.scr.impl.manager.ComponentContainer;
 import org.apache.felix.scr.impl.manager.ComponentContextImpl;
 import org.apache.felix.scr.impl.manager.RefPair;
 import org.apache.felix.scr.impl.manager.SingleComponentManager;

Copied: felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfigurationSupportTest.java (from r1744738, felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfigurationSupportTest.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfigurationSupportTest.java?p2=felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfigurationSupportTest.java&p1=felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfigurationSupportTest.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfigurationSupportTest.java (original)
+++ felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfigurationSupportTest.java Fri May 20 13:45:27 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 import junit.framework.TestCase;
 

Copied: felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java (from r1744738, felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfiguredComponentHolderTest.java)
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java?p2=felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java&p1=felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfiguredComponentHolderTest.java&r1=1744738&r2=1744739&rev=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/config/ConfiguredComponentHolderTest.java (original)
+++ felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java Fri May 20 13:45:27 2016
@@ -16,23 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.scr.impl.config;
+package org.apache.felix.scr.impl.manager;
 
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
 import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
 
 import junit.framework.TestCase;
-
 import org.apache.felix.scr.impl.helper.ComponentMethods;
-import org.apache.felix.scr.impl.manager.SingleComponentManager;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.DSVersion;
-import org.apache.felix.scr.impl.xml.XmlHandler;
+import org.apache.felix.scr.impl.metadata.TargetedPID;
 
 
 public class ConfiguredComponentHolderTest extends TestCase

Modified: felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java?rev=1744739&r1=1744738&r2=1744739&view=diff
==============================================================================
--- felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java (original)
+++ felix/trunk/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java Fri May 20 13:45:27 2016
@@ -25,7 +25,6 @@ import static org.junit.Assert.assertSam
 import java.lang.reflect.Field;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.felix.scr.impl.config.ComponentContainer;
 import org.apache.felix.scr.impl.helper.ComponentMethods;
 import org.apache.felix.scr.impl.metadata.ComponentMetadata;
 import org.apache.felix.scr.impl.metadata.DSVersion;