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;