You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2010/09/08 12:07:33 UTC
svn commit: r994964 [1/2] - in /felix/trunk/dependencymanager/core: ./
src/main/java/org/apache/felix/dm/ src/main/java/org/apache/felix/dm/impl/
src/main/java/org/apache/felix/dm/impl/dependencies/
src/main/java/org/apache/felix/dm/impl/tracker/ src/m...
Author: marrs
Date: Wed Sep 8 10:07:32 2010
New Revision: 994964
URL: http://svn.apache.org/viewvc?rev=994964&view=rev
Log:
Big refactoring, renamed "Service" to "Component" whenever it was referring to the thing that has dependencies and registers itself as a service.
Added:
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Component.java
- copied, changed from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Service.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDeclaration.java
- copied, changed from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponent.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDependencyDeclaration.java
- copied, changed from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponentDependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentStateListener.java
- copied, changed from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceStateListener.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java
- copied, changed from r993264, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ServiceImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/tracker/
- copied from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/tracker/
Removed:
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Service.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponent.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponentDependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceStateListener.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ServiceImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/tracker/
Modified:
felix/trunk/dependencymanager/core/pom.xml
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/BundleDependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ConfigurationDependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Dependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyActivatorBase.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyService.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/PropertyMetaData.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ResourceDependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceDependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AbstractDecorator.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AspectServiceImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/BundleAdapterServiceImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/FactoryConfigurationAdapterServiceImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/FilterService.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ResourceAdapterServiceImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/BundleDependencyImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ConfigurationDependencyImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ResourceDependencyImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ServiceDependencyImpl.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/tracker/AbstractTracked.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/tracker/BundleTracker.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/tracker/BundleTrackerCustomizer.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/tracker/ServiceTracker.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/tracker/ServiceTrackerCustomizer.java
Modified: felix/trunk/dependencymanager/core/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/pom.xml?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/pom.xml (original)
+++ felix/trunk/dependencymanager/core/pom.xml Wed Sep 8 10:07:32 2010
@@ -50,7 +50,7 @@
<Bundle-Name>Apache Felix Dependency Manager</Bundle-Name>
<Bundle-Description>A bundle that provides a run-time service dependency manager.</Bundle-Description>
<Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
- <Export-Package>org.apache.felix.dm;version="3.0.0"</Export-Package>
+ <Export-Package>org.apache.felix.dm;version="3.0.0",org.apache.felix.dm.tracker;version="3.0.0"</Export-Package>
<Import-Package>!org.apache.felix.dm,*</Import-Package>
<Private-Package>org.apache.felix.dm.impl,org.apache.felix.dm.impl.dependencies,org.apache.felix.dm.impl.tracker,org.apache.felix.dm.impl.metatype</Private-Package>
<!-- Uncomment this line to include source code in the bundle.
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/BundleDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/BundleDependency.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/BundleDependency.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/BundleDependency.java Wed Sep 8 10:07:32 2010
@@ -13,54 +13,54 @@ package org.apache.felix.dm;
import org.osgi.framework.Bundle;
-public interface BundleDependency extends Dependency, ServiceComponentDependency
+public interface BundleDependency extends Dependency, ComponentDependencyDeclaration
{
/**
- * Sets the callbacks for this service. These callbacks can be used as hooks whenever a
+ * Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a
* dependency is added or removed. When you specify callbacks, the auto configuration feature
* is automatically turned off, because we're assuming you don't need it in this case.
*
- * @param added the method to call when a service was added
- * @param removed the method to call when a service was removed
- * @return this service dependency
+ * @param added the method to call when a bundle was added
+ * @param removed the method to call when a bundle was removed
+ * @return this bundle dependency
*/
BundleDependency setCallbacks(String added, String removed);
/**
- * Sets the callbacks for this service. These callbacks can be used as hooks whenever a
+ * Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a
* dependency is added, changed or removed. When you specify callbacks, the auto configuration
* feature is automatically turned off, because we're assuming you don't need it in this case.
*
- * @param added the method to call when a service was added
- * @param changed the method to call when a service was changed
- * @param removed the method to call when a service was removed
- * @return this service dependency
+ * @param added the method to call when a bundle was added
+ * @param changed the method to call when a bundle was changed
+ * @param removed the method to call when a bundle was removed
+ * @return this bundle dependency
*/
BundleDependency setCallbacks(String added, String changed, String removed);
/**
- * Sets the callbacks for this service. These callbacks can be used as hooks whenever a
+ * Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a
* dependency is added or removed. They are called on the instance you provide. When you
* specify callbacks, the auto configuration feature is automatically turned off, because
* we're assuming you don't need it in this case.
*
* @param instance the instance to call the callbacks on
- * @param added the method to call when a service was added
- * @param removed the method to call when a service was removed
- * @return this service dependency
+ * @param added the method to call when a bundle was added
+ * @param removed the method to call when a bundle was removed
+ * @return this bundle dependency
*/
BundleDependency setCallbacks(Object instance, String added, String removed);
/**
- * Sets the callbacks for this service. These callbacks can be used as hooks whenever a
+ * Sets the callbacks for this dependency. These callbacks can be used as hooks whenever a
* dependency is added, changed or removed. They are called on the instance you provide. When
* you specify callbacks, the auto configuration feature is automatically turned off, because
* we're assuming you don't need it in this case.
*
* @param instance the instance to call the callbacks on
- * @param added the method to call when a service was added
- * @param changed the method to call when a service was changed
- * @param removed the method to call when a service was removed
+ * @param added the method to call when a bundle was added
+ * @param changed the method to call when a bundle was changed
+ * @param removed the method to call when a bundle was removed
* @return this service dependency
*/
BundleDependency setCallbacks(Object instance, String added, String changed, String removed);
Copied: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Component.java (from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Service.java)
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Component.java?p2=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Component.java&p1=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Service.java&r1=993248&r2=994964&rev=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Service.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Component.java Wed Sep 8 10:07:32 2010
@@ -24,63 +24,67 @@ import java.util.List;
import org.osgi.framework.ServiceRegistration;
/**
- * Service interface.
+ * Component interface. Components are the main building blocks for OSGi applications.
+ * They can publish themselves as a service, and they can have dependencies. These
+ * dependencies will influence their life cycle as component will only be activated
+ * when all required dependencies are available.
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
-public interface Service {
+public interface Component {
/**
- * Adds a new dependency to this service.
+ * Adds a new dependency to this component.
*
* @param dependency the dependency to add
- * @return this service
+ * @return this component
*/
- public Service add(Dependency dependency);
- public Service add(List dependencies);
+ public Component add(Dependency dependency);
+ public Component add(List dependencies);
/**
- * Removes a dependency from this service.
+ * Removes a dependency from this component.
*
* @param dependency the dependency to remove
- * @return this service
+ * @return this component
*/
- public Service remove(Dependency dependency);
+ public Component remove(Dependency dependency);
/**
- * Sets the public interface under which this service should be registered
+ * Sets the public interface under which this component should be registered
* in the OSGi service registry.
*
* @param serviceName the name of the service interface
* @param properties the properties for this service
- * @return this service
+ * @return this component
*/
- public Service setInterface(String serviceName, Dictionary properties);
+ public Component setInterface(String serviceName, Dictionary properties);
/**
- * Sets the public interfaces under which this service should be registered
+ * Sets the public interfaces under which this component should be registered
* in the OSGi service registry.
*
* @param serviceNames the names of the service interface
- * @param properties the properties for this service
- * @return this service
+ * @param properties the properties for these services
+ * @return this component
*/
- public Service setInterface(String[] serviceNames, Dictionary properties);
+ public Component setInterface(String[] serviceNames, Dictionary properties);
/**
- * Sets the implementation for this service. You can actually specify
+ * Sets the implementation for this component. You can actually specify
* an instance you have instantiated manually, or a <code>Class</code>
* that will be instantiated using its default constructor when the
- * required dependencies are resolved (effectively giving you a lazy
- * instantiation mechanism).
+ * required dependencies are resolved, effectively giving you a lazy
+ * instantiation mechanism.
*
* There are four special methods that are called when found through
- * reflection to give you some life-cycle management options:
+ * reflection to give you life cycle management options:
* <ol>
- * <li><code>init()</code> is invoked right after the instance has been
- * created, and before any dependencies are resolved, and can be used to
- * initialize the internal state of the instance</li>
- * <li><code>start()</code> is invoked after the required dependencies
- * are resolved and injected, and before the service is registered</li>
+ * <li><code>init()</code> is invoked after the instance has been
+ * created and dependencies have been resolved, and can be used to
+ * initialize the internal state of the instance or even to add more
+ * dependencies based on runtime state</li>
+ * <li><code>start()</code> is invoked right before the service is
+ * registered</li>
* <li><code>stop()</code> is invoked right after the service is
* unregistered</li>
* <li><code>destroy()</code> is invoked after all dependencies are
@@ -93,10 +97,10 @@ public interface Service {
* fine-grained control, you can register as a service state listener too.
*
* @param implementation the implementation
- * @return this service
- * @see ServiceStateListener
+ * @return this component
+ * @see ComponentStateListener
*/
- public Service setImplementation(Object implementation);
+ public Component setImplementation(Object implementation);
/**
* Returns a list of dependencies.
@@ -106,75 +110,92 @@ public interface Service {
public List getDependencies();
/**
- * Returns the service registration for this service. The method
+ * Returns the service registration for this component. The method
* will return <code>null</code> if no service registration is
- * available.
+ * available, for example if this component is not registered as a
+ * service at all.
*
* @return the service registration
*/
public ServiceRegistration getServiceRegistration();
/**
- * Returns the service instance for this service. The method will
- * return <code>null</code> if no service instance is available.
+ * Returns the component instance for this component. The method will
+ * return <code>null</code> if no component instance is available.
*
- * @return the service instance
+ * @return the component instance
*/
public Object getService();
/**
- * Returns the service properties associated with the service.
+ * Returns the service properties associated with the component.
*
* @return the properties or <code>null</code> if there are none
*/
public Dictionary getServiceProperties();
/**
- * Sets the service properties associated with the service. If the service
+ * Sets the service properties associated with the component. If the service
* was already registered, it will be updated.
*
* @param serviceProperties the properties
*/
- public Service setServiceProperties(Dictionary serviceProperties);
+ public Component setServiceProperties(Dictionary serviceProperties);
/**
* Sets the names of the methods used as callbacks. These methods, when found, are
- * invoked as part of the life-cycle management of the service implementation. The
- * methods should not have any parameters.
+ * invoked as part of the life cycle management of the component implementation. The
+ * dependency manager will look for a method of this name with the following signatures,
+ * in this order:
+ * <ol>
+ * <li>method(Component component)</li>
+ * <li>method()</li>
+ * </ol>
*
* @param init the name of the init method
* @param start the name of the start method
* @param stop the name of the stop method
* @param destroy the name of the destroy method
- * @return the service instance
+ * @return the component
+ */
+ public Component setCallbacks(String init, String start, String stop, String destroy);
+ /**
+ * Sets the names of the methods used as callbacks. These methods, when found, are
+ * invoked on the specified instance as part of the life cycle management of the component
+ * implementation.
+ * <p>
+ * See setCallbacks(String init, String start, String stop, String destroy) for more
+ * information on the signatures. Specifying an instance means you can create a manager
+ * that will be invoked whenever the life cycle of a component changes and this manager
+ * can then decide how to expose this life cycle to the actual component, offering an
+ * important indirection when developing your own component models.
*/
- public Service setCallbacks(String init, String start, String stop, String destroy);
- public Service setCallbacks(Object instance, String init, String start, String stop, String destroy);
+ public Component setCallbacks(Object instance, String init, String start, String stop, String destroy);
// listener
/**
- * Adds a service state listener to this service.
+ * Adds a component state listener to this component.
*
* @param listener the state listener
*/
- public void addStateListener(ServiceStateListener listener);
+ public void addStateListener(ComponentStateListener listener);
/**
- * Removes a service state listener from this service.
+ * Removes a component state listener from this component.
*
* @param listener the state listener
*/
- public void removeStateListener(ServiceStateListener listener);
+ public void removeStateListener(ComponentStateListener listener);
/**
- * Starts the service. This activates the dependency tracking mechanism
- * for this service.
+ * Starts the component. This activates the dependency tracking mechanism
+ * for this component.
*/
public void start();
/**
- * Stops the service. This deactivates the dependency tracking mechanism
- * for this service.
+ * Stops the component. This deactivates the dependency tracking mechanism
+ * for this component.
*/
public void stop();
@@ -183,28 +204,28 @@ public interface Service {
* both the factory class and method to invoke. The method should return
* the implementation, and can use any method to create it. Actually, this
* can be used together with <code>setComposition</code> to create a
- * composition of instances that work together to implement a service. The
+ * composition of instances that work together to implement a component. The
* factory itself can also be instantiated lazily by not specifying an
* instance, but a <code>Class</code>.
*
* @param factory the factory instance or class
* @param createMethod the name of the create method
*/
- public Service setFactory(Object factory, String createMethod);
+ public Component setFactory(Object factory, String createMethod);
/**
* Sets the factory to use to create the implementation. You specify the
* method to invoke. The method should return the implementation, and can
* use any method to create it. Actually, this can be used together with
* <code>setComposition</code> to create a composition of instances that
- * work together to implement a service.
+ * work together to implement a component.
* <p>
* Note that currently, there is no default for the factory, so please use
* <code>setFactory(factory, createMethod)</code> instead.
*
* @param createMethod the name of the create method
*/
- public Service setFactory(String createMethod);
+ public Component setFactory(String createMethod);
/**
* Sets the instance and method to invoke to get back all instances that
@@ -215,7 +236,7 @@ public interface Service {
* @param instance the instance that has the method
* @param getMethod the method to invoke
*/
- public Service setComposition(Object instance, String getMethod);
+ public Component setComposition(Object instance, String getMethod);
/**
* Sets the method to invoke on the service implementation to get back all
@@ -225,44 +246,44 @@ public interface Service {
*
* @param getMethod the method to invoke
*/
- public Service setComposition(String getMethod);
+ public Component setComposition(String getMethod);
/**
- * Returns the composition instances that make up this service, or just the
- * service instance if it does not have a composition, or an empty array if
- * the service has not even been instantiated.
+ * Returns the composition instances that make up this component, or just the
+ * component instance if it does not have a composition, or an empty array if
+ * the component has not even been instantiated.
*/
public Object[] getCompositionInstances();
/**
- * Returns the dependency manager associated with this service.
+ * Returns the dependency manager associated with this component.
*/
public DependencyManager getDependencyManager();
/**
- * Configures auto configuration of injected classes in the service instance.
+ * Configures auto configuration of injected classes in the component instance.
* The following injections are currently performed, unless you explicitly
* turn them off:
* <dl>
* <dt>BundleContext</dt><dd>the bundle context of the bundle</dd>
* <dt>ServiceRegistration</dt><dd>the service registration used to register your service</dd>
* <dt>DependencyManager</dt><dd>the dependency manager instance</dd>
- * <dt>Service</dt><dd>the service instance of the dependency manager</dd>
+ * <dt>Component</dt><dd>the component instance of the dependency manager</dd>
* </dl>
*
* @param clazz the class (from the list above)
* @param autoConfig <code>false</code> to turn off auto configuration
*/
- public Service setAutoConfig(Class clazz, boolean autoConfig);
+ public Component setAutoConfig(Class clazz, boolean autoConfig);
/**
- * Configures auto configuration of injected classes in the service instance.
+ * Configures auto configuration of injected classes in the component instance.
*
* @param clazz the class (from the list above)
* @param instanceName the name of the instance to inject the class into
* @see setAutoConfig(Class, boolean)
*/
- public Service setAutoConfig(Class clazz, String instanceName);
+ public Component setAutoConfig(Class clazz, String instanceName);
/**
* Returns the status of auto configuration of the specified class.
Copied: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDeclaration.java (from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponent.java)
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDeclaration.java?p2=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDeclaration.java&p1=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponent.java&r1=993248&r2=994964&rev=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponent.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDeclaration.java Wed Sep 8 10:07:32 2010
@@ -19,24 +19,24 @@
package org.apache.felix.dm;
/**
- * Describes a service component. Service components form descriptions of services
+ * Describes a component. Component declarations form descriptions of components
* that are managed by the dependency manager. They can be used to query their state
* for monitoring tools. The dependency manager shell command is an example of
* such a tool.
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
-public interface ServiceComponent {
+public interface ComponentDeclaration {
/** Names for the states of this component. */
public static final String[] STATE_NAMES = { "unregistered", "registered" };
/** State constant for an unregistered component. */
public static final int STATE_UNREGISTERED = 0;
/** State constant for a registered component. */
public static final int STATE_REGISTERED = 1;
- /** Returns a list of dependencies associated with this service component. */
- public ServiceComponentDependency[] getComponentDependencies();
- /** Returns the name of this service component. */
+ /** Returns a list of dependencies associated with this component. */
+ public ComponentDependencyDeclaration[] getComponentDependencies();
+ /** Returns the name of this component. */
public String getName();
- /** Returns the state of this service component. */
+ /** Returns the state of this component. */
public int getState();
}
Copied: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDependencyDeclaration.java (from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponentDependency.java)
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDependencyDeclaration.java?p2=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDependencyDeclaration.java&p1=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponentDependency.java&r1=993248&r2=994964&rev=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceComponentDependency.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentDependencyDeclaration.java Wed Sep 8 10:07:32 2010
@@ -19,14 +19,14 @@
package org.apache.felix.dm;
/**
- * Describes a service component dependency. They form descriptions of dependencies
+ * Describes a component dependency. They form descriptions of dependencies
* that are managed by the dependency manager. They can be used to query their state
* for monitoring tools. The dependency manager shell command is an example of
* such a tool.
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
-public interface ServiceComponentDependency {
+public interface ComponentDependencyDeclaration {
/** Names for the states of this dependency. */
public static final String[] STATE_NAMES = {
"optional unavailable",
Copied: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentStateListener.java (from r993248, felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceStateListener.java)
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentStateListener.java?p2=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentStateListener.java&p1=felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceStateListener.java&r1=993248&r2=994964&rev=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceStateListener.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ComponentStateListener.java Wed Sep 8 10:07:32 2010
@@ -18,46 +18,45 @@
*/
package org.apache.felix.dm;
-
/**
- * This interface can be used to register a service state listener. Service
- * state listeners are called whenever a service state changes. You get notified
- * when the service is starting, started, stopping and stopped. Each callback
- * includes a reference to the service in question.
+ * This interface can be used to register a component state listener. Component
+ * state listeners are called whenever a component state changes. You get notified
+ * when the component is starting, started, stopping and stopped. Each callback
+ * includes a reference to the component in question.
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
-public interface ServiceStateListener {
+public interface ComponentStateListener {
/**
- * Called when the service is starting. At this point, the required
+ * Called when the component is starting. At this point, the required
* dependencies have been injected, but the service has not been registered
* yet.
*
- * @param service the service
+ * @param component the component
*/
- public void starting(Service service);
+ public void starting(Component component);
/**
- * Called when the service is started. At this point, the service has been
+ * Called when the component is started. At this point, the component has been
* registered.
*
- * @param service the service
+ * @param component the component
*/
- public void started(Service service);
+ public void started(Component component);
/**
- * Called when the service is stopping. At this point, the service is still
+ * Called when the component is stopping. At this point, the component is still
* registered.
*
- * @param service the service
+ * @param component the component
*/
- public void stopping(Service service);
+ public void stopping(Component component);
/**
- * Called when the service is stopped. At this point, the service has been
+ * Called when the component is stopped. At this point, the component has been
* unregistered.
*
- * @param service the service
+ * @param component the component
*/
- public void stopped(Service service);
+ public void stopped(Component component);
}
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ConfigurationDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ConfigurationDependency.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ConfigurationDependency.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ConfigurationDependency.java Wed Sep 8 10:07:32 2010
@@ -11,12 +11,11 @@
*/
package org.apache.felix.dm;
-
/**
* Configuration dependency that can track the availability of a (valid) configuration. To use
* it, specify a PID for the configuration. The dependency is always required, because if it is
* not, it does not make sense to use the dependency manager. In that scenario, simply register
- * your service as a <code>ManagedService(Factory)</code> and handle everything yourself. Also,
+ * your component as a <code>ManagedService(Factory)</code> and handle everything yourself. Also,
* only managed services are supported, not factories. There are a couple of things you need to
* be aware of when implementing the <code>updated(Dictionary)</code> method:
* <ul>
@@ -30,7 +29,7 @@ package org.apache.felix.dm;
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
-public interface ConfigurationDependency extends Dependency, ServiceComponentDependency
+public interface ConfigurationDependency extends Dependency, ComponentDependencyDeclaration
{
ConfigurationDependency setCallback(String callback);
@@ -72,5 +71,4 @@ public interface ConfigurationDependency
ConfigurationDependency add(PropertyMetaData properties);
ConfigurationDependency setInstanceBound(boolean isInstanceBound);
-
}
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Dependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Dependency.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Dependency.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/Dependency.java Wed Sep 8 10:07:32 2010
@@ -20,25 +20,24 @@ package org.apache.felix.dm;
import java.util.Dictionary;
-
/**
- * Generic dependency for a service. A dependency can be required or not.
- * A dependency will be activated by the service it belongs to. The service
+ * Generic dependency for a component. A dependency can be required or not.
+ * A dependency will be activated by the component it belongs to. The component
* will call the <code>start(Service service)</code> and
* <code>stop(Service service)</code> methods.
*
* After it has been started, a dependency must callback
- * the associated service's <code>dependencyAvailable()</code> and
+ * the associated component's <code>dependencyAvailable()</code> and
* <code>dependencyUnavailable()</code>
* methods. State changes of the dependency itself may only be made as long as
- * the dependency is not 'active', meaning it is associated with a running service.
+ * the dependency is not 'active', meaning it is associated with a running component.
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
public interface Dependency {
/**
* Returns <code>true</code> if this a required dependency. Required dependencies
- * are dependencies that must be available before the service can be activated.
+ * are dependencies that must be available before the component can be activated.
*
* @return <code>true</code> if the dependency is required
*/
@@ -61,11 +60,11 @@ public interface Dependency {
/**
* Returns <code>true>code> if auto configuration is enabled for this dependency.
- * Auto configuration means that a dependency is injected in the service instance
+ * Auto configuration means that a dependency is injected in the component instance
* when it's available, and if it's unavailable, a "null object" will be inserted
* instead.
*
- * @return <code>true>code> if auto configuration is enabled for this dependency
+ * @return <code>true</code> if auto configuration is enabled for this dependency
*/
public boolean isAutoConfig();
@@ -84,7 +83,7 @@ public interface Dependency {
public Object getAutoConfigInstance();
/**
- * Returns the name of the member in the class of the service instance
+ * Returns the name of the member in the class of the component instance
* to inject into. If you specify this, not all members of the right
* type will be injected, only the member whose name matches.
*
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyActivatorBase.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyActivatorBase.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyActivatorBase.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyActivatorBase.java Wed Sep 8 10:07:32 2010
@@ -20,8 +20,8 @@ package org.apache.felix.dm;
import java.util.List;
+import org.apache.felix.dm.impl.ComponentImpl;
import org.apache.felix.dm.impl.Logger;
-import org.apache.felix.dm.impl.ServiceImpl;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
@@ -40,7 +40,7 @@ public abstract class DependencyActivato
private Logger m_logger;
/**
- * Initialize the dependency manager. Here you can add all services and their dependencies.
+ * Initialize the dependency manager. Here you can add all components and their dependencies.
* If something goes wrong and you do not want your bundle to be started, you can throw an
* exception. This exception will be passed on to the <code>start()</code> method of the
* bundle activator, causing the bundle not to start.
@@ -52,9 +52,10 @@ public abstract class DependencyActivato
public abstract void init(BundleContext context, DependencyManager manager) throws Exception;
/**
- * Destroy the dependency manager. Here you can remove all services and their dependencies.
+ * Destroy the dependency manager. Here you can remove all components and their dependencies.
* Actually, the base class will clean up your dependencies anyway, so most of the time you
* don't need to do anything here.
+ * <p>
* If something goes wrong and you do not want your bundle to be stopped, you can throw an
* exception. This exception will be passed on to the <code>stop()</code> method of the
* bundle activator, causing the bundle not to stop.
@@ -121,12 +122,12 @@ public abstract class DependencyActivato
}
/**
- * Creates a new service.
+ * Creates a new component.
*
- * @return the new service
+ * @return the new component
*/
- public Service createService() {
- return m_manager.createService();
+ public Component createComponent() {
+ return m_manager.createComponent();
}
/**
@@ -158,8 +159,9 @@ public abstract class DependencyActivato
}
/**
- * Creates a new configuration property MetaData.
- * @return a new configuration property MetaData
+ * Creates a new configuration property metadata.
+ *
+ * @return the configuration property metadata
*/
public PropertyMetaData createPropertyMetaData() {
return m_manager.createPropertyMetaData();
@@ -173,55 +175,92 @@ public abstract class DependencyActivato
public BundleDependency createBundleDependency() {
return m_manager.createBundleDependency();
}
-
+
+ /**
+ * Creates a new resource dependency.
+ *
+ * @return the resource dependency
+ */
public ResourceDependency createResourceDependency() {
return m_manager.createResourceDependency();
}
- public Service createAspectService(Class serviceInterface, String serviceFilter, int ranking, String attributeName) {
+ /**
+ * Creates a new aspect service.
+ *
+ * @return the aspect service
+ */
+ public Component createAspectService(Class serviceInterface, String serviceFilter, int ranking, String attributeName) {
return m_manager.createAspectService(serviceInterface, serviceFilter, ranking, attributeName);
}
-
- public Service createAdapterService(Class serviceInterface, String serviceFilter) {
+
+ /**
+ * Creates a new adapter service.
+ *
+ * @return the adapter service
+ */
+ public Component createAdapterService(Class serviceInterface, String serviceFilter) {
return m_manager.createAdapterService(serviceInterface, serviceFilter);
}
-
- public Service createResourceAdapter(String resourceFilter, boolean propagate, Object callbackInstance, String callbackChanged) {
+
+ /**
+ * Creates a new resource adapter service.
+ *
+ * @return the resource adapter service
+ */
+ public Component createResourceAdapter(String resourceFilter, boolean propagate, Object callbackInstance, String callbackChanged) {
return m_manager.createResourceAdapterService(resourceFilter, propagate, callbackInstance, callbackChanged);
}
-
- public Service createResourceAdapter(String resourceFilter, Object propagateCallbackInstance, String propagateCallbackMethod, Object callbackInstance, String callbackChanged) {
+
+ /**
+ * Creates a new resource adapter service.
+ *
+ * @return the resource adapter service
+ */
+ public Component createResourceAdapter(String resourceFilter, Object propagateCallbackInstance, String propagateCallbackMethod, Object callbackInstance, String callbackChanged) {
return m_manager.createResourceAdapterService(resourceFilter, propagateCallbackInstance, propagateCallbackMethod, callbackInstance, callbackChanged);
}
- public Service createBundleAdapterService(int bundleStateMask, String bundleFilter, boolean propagate) {
+ /**
+ * Creates a new bundle adapter service.
+ *
+ * @return the bundle adapter service
+ */
+ public Component createBundleAdapterService(int bundleStateMask, String bundleFilter, boolean propagate) {
return m_manager.createBundleAdapterService(bundleStateMask, bundleFilter, propagate);
}
- public Service createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate) {
+ /**
+ * Creates a new factory configuration adapter service.
+ *
+ * @return the factory configuration adapter service
+ */
+ public Component createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate) {
return m_manager.createFactoryConfigurationAdapterService(factoryPid, update, propagate);
}
- public Service createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate,
- String heading, String desc, String localization, PropertyMetaData[] propertiesMetaData)
- {
- return m_manager.createFactoryConfigurationAdapterService(factoryPid, update, propagate,
- heading, desc, localization, propertiesMetaData);
+ /**
+ * Creates a new factory configuration adapter service.
+ *
+ * @return the factory configuration adapter service
+ */
+ public Component createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate, String heading, String desc, String localization, PropertyMetaData[] propertiesMetaData) {
+ return m_manager.createFactoryConfigurationAdapterService(factoryPid, update, propagate, heading, desc, localization, propertiesMetaData);
}
/**
- * Cleans up all services and their dependencies.
+ * Cleans up all components and their dependencies.
*
* @param manager the dependency manager
*/
private void cleanup(DependencyManager manager) {
List services = manager.getServices();
for (int i = services.size() - 1; i >= 0; i--) {
- Service service = (Service) services.get(i);
+ Component service = (Component) services.get(i);
manager.remove(service);
// remove any state listeners that are still registered
- if (service instanceof ServiceImpl) {
- ServiceImpl si = (ServiceImpl) service;
+ if (service instanceof ComponentImpl) {
+ ComponentImpl si = (ComponentImpl) service;
si.removeStateListeners();
}
}
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyManager.java Wed Sep 8 10:07:32 2010
@@ -25,10 +25,10 @@ import java.util.List;
import org.apache.felix.dm.impl.AdapterServiceImpl;
import org.apache.felix.dm.impl.AspectServiceImpl;
import org.apache.felix.dm.impl.BundleAdapterServiceImpl;
+import org.apache.felix.dm.impl.ComponentImpl;
import org.apache.felix.dm.impl.FactoryConfigurationAdapterServiceImpl;
import org.apache.felix.dm.impl.Logger;
import org.apache.felix.dm.impl.ResourceAdapterServiceImpl;
-import org.apache.felix.dm.impl.ServiceImpl;
import org.apache.felix.dm.impl.dependencies.BundleDependencyImpl;
import org.apache.felix.dm.impl.dependencies.ConfigurationDependencyImpl;
import org.apache.felix.dm.impl.dependencies.ResourceDependencyImpl;
@@ -38,8 +38,8 @@ import org.apache.felix.dm.impl.metatype
import org.osgi.framework.BundleContext;
/**
- * The dependency manager manages all services and their dependencies. Using
- * this API you can declare all services and their dependencies. Under normal
+ * The dependency manager manages all components and their dependencies. Using
+ * this API you can declare all components and their dependencies. Under normal
* circumstances, you get passed an instance of this class through the
* <code>DependencyActivatorBase</code> subclass you use as your
* <code>BundleActivator</code>, but it is also possible to create your
@@ -76,7 +76,7 @@ public class DependencyManager {
*
* @param service the service to add
*/
- public void add(Service service) {
+ public void add(Component service) {
m_services.add(service);
service.start();
}
@@ -87,7 +87,7 @@ public class DependencyManager {
*
* @param service the service to remove
*/
- public void remove(Service service) {
+ public void remove(Component service) {
service.stop();
m_services.remove(service);
}
@@ -97,8 +97,8 @@ public class DependencyManager {
*
* @return the new service
*/
- public Service createService() {
- return new ServiceImpl(m_context, this, m_logger);
+ public Component createComponent() {
+ return new ComponentImpl(m_context, this, m_logger);
}
/**
@@ -129,8 +129,9 @@ public class DependencyManager {
}
/**
- * Creates a new configuration property MetaData.
- * @return a new Configuration property MetaData.
+ * Creates a new configuration property metadata.
+ *
+ * @return the configuration property metadata.
*/
public PropertyMetaData createPropertyMetaData() {
return new PropertyMetaDataImpl();
@@ -175,10 +176,10 @@ public class DependencyManager {
* @param serviceFilter the filter condition to use with the service interface
* @param ranking the level used to organize the aspect chain ordering
* @param attributeName the aspect implementation field name where to inject original service.
- * If null, any field matching the original service will be injected.
+ * If null, any field matching the original service will be injected.
* @return a service that acts as a factory for generating aspects
*/
- public Service createAspectService(Class serviceInterface, String serviceFilter, int ranking, String attributeName) {
+ public Component createAspectService(Class serviceInterface, String serviceFilter, int ranking, String attributeName) {
return new AspectServiceImpl(this, serviceInterface, serviceFilter, ranking, attributeName);
}
@@ -204,7 +205,7 @@ public class DependencyManager {
* @param serviceFilter the filter condition to use with the service interface
* @return a service that acts as a factory for generating adapters
*/
- public Service createAdapterService(Class serviceInterface, String serviceFilter) {
+ public Component createAdapterService(Class serviceInterface, String serviceFilter) {
return new AdapterServiceImpl(this, serviceInterface, serviceFilter);
}
@@ -234,11 +235,11 @@ public class DependencyManager {
* @return a service that acts as a factory for generating resource adapters
* @see Resource
*/
- public Service createResourceAdapterService(String resourceFilter, boolean propagate, Object callbackInstance, String callbackChanged) {
+ public Component createResourceAdapterService(String resourceFilter, boolean propagate, Object callbackInstance, String callbackChanged) {
return new ResourceAdapterServiceImpl(this, resourceFilter, propagate, callbackInstance, callbackChanged);
}
- public Service createResourceAdapterService(String resourceFilter, Object propagateCallbackInstance, String propagateCallbackMethod, Object callbackInstance, String callbackChanged) {
+ public Component createResourceAdapterService(String resourceFilter, Object propagateCallbackInstance, String propagateCallbackMethod, Object callbackInstance, String callbackChanged) {
return new ResourceAdapterServiceImpl(this, resourceFilter, propagateCallbackInstance, propagateCallbackMethod, callbackInstance, callbackChanged);
}
@@ -269,7 +270,7 @@ public class DependencyManager {
* @param propagate <code>true</code> if properties from the bundle should be propagated to the service
* @return a service that acts as a factory for generating bundle adapters
*/
- public Service createBundleAdapterService(int bundleStateMask, String bundleFilter, boolean propagate) {
+ public Component createBundleAdapterService(int bundleStateMask, String bundleFilter, boolean propagate) {
return new BundleAdapterServiceImpl(this, bundleStateMask, bundleFilter, propagate);
}
@@ -296,7 +297,7 @@ public class DependencyManager {
* @param propagate true if public factory configuration should be propagated to the adapter service properties
* @return a service that acts as a factory for generating the managed service factory configuration adapter
*/
- public Service createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate) {
+ public Component createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate) {
return new FactoryConfigurationAdapterServiceImpl(this, factoryPid, update, propagate);
}
@@ -346,7 +347,7 @@ public class DependencyManager {
* @param propertiesMetaData Array of MetaData regarding configuration properties
* @return a service that acts as a factory for generating the managed service factory configuration adapter
*/
- public Service createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate,
+ public Component createFactoryConfigurationAdapterService(String factoryPid, String update, boolean propagate,
String heading, String desc, String localization,
PropertyMetaData[] propertiesMetaData)
{
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyService.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyService.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyService.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/DependencyService.java Wed Sep 8 10:07:32 2010
@@ -51,5 +51,5 @@ public interface DependencyService {
*/
public void invokeCallbackMethod(Object[] instances, String methodName, Class[][] signatures, Object[][] parameters);
- public Service getServiceInterface();
+ public Component getServiceInterface();
}
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/PropertyMetaData.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/PropertyMetaData.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/PropertyMetaData.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/PropertyMetaData.java Wed Sep 8 10:07:32 2010
@@ -14,19 +14,18 @@ package org.apache.felix.dm;
/**
* This interface defines meta data regarding a given configuration property.
*/
-public interface PropertyMetaData
-{
+public interface PropertyMetaData {
/**
* The label used to display the property. Example: "Log Level".
* @return The label used to display the property (may be localized)
*/
- PropertyMetaData setHeading(String heading);
+ public PropertyMetaData setHeading(String heading);
/**
* The key of a ConfigurationAdmin property. Example: "printer.logLevel"
* @return The Configuration Admin property name
*/
- PropertyMetaData setId(String id);
+ public PropertyMetaData setId(String id);
/**
* Returns the property primitive type. If must be either one of the following types:<p>
@@ -41,7 +40,7 @@ public interface PropertyMetaData
* <li>Boolean.class</li>
* </ul>
*/
- PropertyMetaData setType(Class type);
+ public PropertyMetaData setType(Class type);
/**
* Returns a default for this property. The object must be of the appropriate type as defined by the cardinality and getType().
@@ -50,14 +49,14 @@ public interface PropertyMetaData
* If the cardinality is 1, it must contain 0 or 1 elements. If it is -5, it must contain from 0 to max 5 elements. Note that
* the special case of a 0 cardinality, meaning a single value, does not allow arrays or vectors of 0 elements.
*/
- PropertyMetaData setDefaults(String[] defaults);
+ public PropertyMetaData setDefaults(String[] defaults);
/**
* Returns the property description. The description may be localized and must describe the semantics of this type and any
* constraints. Example: "Select the log level for the Printer Service".
* @return a localizable description of the property.
*/
- PropertyMetaData setDescription(String description);
+ public PropertyMetaData setDescription(String description);
/**
* Return the cardinality of this property. The OSGi environment handles multi valued properties in arrays ([]) or in Vector objects.
@@ -71,16 +70,16 @@ public interface PropertyMetaData
* <li> x = 0 1 occurrence required</li>
* </ul>
*/
- PropertyMetaData setCardinality(int cardinality);
+ public PropertyMetaData setCardinality(int cardinality);
/**
* Tells if this property is required or not.
*/
- PropertyMetaData setRequired(boolean required);
+ public PropertyMetaData setRequired(boolean required);
/**
* Return a list of valid options for this property (the labels may be localized).
* @return the list of valid options for this property.
*/
- PropertyMetaData addOption(String optionLabel, String optionValue);
+ public PropertyMetaData addOption(String optionLabel, String optionValue);
}
\ No newline at end of file
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ResourceDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ResourceDependency.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ResourceDependency.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ResourceDependency.java Wed Sep 8 10:07:32 2010
@@ -21,7 +21,7 @@ package org.apache.felix.dm;
import java.net.URL;
-public interface ResourceDependency extends Dependency, ServiceComponentDependency, ResourceHandler {
+public interface ResourceDependency extends Dependency, ComponentDependencyDeclaration, ResourceHandler {
/**
* Sets the callbacks for this service. These callbacks can be used as hooks whenever a
* dependency is added or removed. When you specify callbacks, the auto configuration
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceDependency.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceDependency.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/ServiceDependency.java Wed Sep 8 10:07:32 2010
@@ -25,7 +25,7 @@ import org.osgi.framework.ServiceReferen
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
-public interface ServiceDependency extends Dependency, ServiceComponentDependency {
+public interface ServiceDependency extends Dependency, ComponentDependencyDeclaration {
/**
* Sets the name of the service that should be tracked.
*
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AbstractDecorator.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AbstractDecorator.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AbstractDecorator.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AbstractDecorator.java Wed Sep 8 10:07:32 2010
@@ -27,8 +27,8 @@ import java.util.Map;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
-import org.apache.felix.dm.ServiceStateListener;
+import org.apache.felix.dm.Component;
+import org.apache.felix.dm.ComponentStateListener;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -39,7 +39,7 @@ public abstract class AbstractDecorator
protected volatile DependencyManager m_manager;
private final Map m_services = new HashMap();
- public abstract Service createService(Object[] properties);
+ public abstract Component createService(Object[] properties);
/**
* Extra method, which may be used by sub-classes, when adaptee has changed.
@@ -60,35 +60,35 @@ public abstract class AbstractDecorator
}
Iterator i = services.values().iterator();
while (i.hasNext()) {
- ((Service) i.next()).setServiceProperties(serviceProperties);
+ ((Component) i.next()).setServiceProperties(serviceProperties);
}
}
/**
* Remove a StateListener from all already instantiated services.
*/
- public void addStateListener(ServiceStateListener listener) {
+ public void addStateListener(ComponentStateListener listener) {
Map services = new HashMap();
synchronized (this) {
services.putAll(m_services);
}
Iterator i = services.values().iterator();
while (i.hasNext()) {
- ((Service) i.next()).addStateListener(listener);
+ ((Component) i.next()).addStateListener(listener);
}
}
/**
* Remove a StateListener from all already instantiated services.
*/
- public void removeStateListener(ServiceStateListener listener) {
+ public void removeStateListener(ComponentStateListener listener) {
Map services = new HashMap();
synchronized (this) {
services.putAll(m_services);
}
Iterator i = services.values().iterator();
while (i.hasNext()) {
- ((Service) i.next()).removeStateListener(listener);
+ ((Component) i.next()).removeStateListener(listener);
}
}
@@ -102,7 +102,7 @@ public abstract class AbstractDecorator
}
Iterator i = services.values().iterator();
while (i.hasNext()) {
- ((Service) i.next()).add(d);
+ ((Component) i.next()).add(d);
}
}
@@ -116,7 +116,7 @@ public abstract class AbstractDecorator
}
Iterator i = services.values().iterator();
while (i.hasNext()) {
- ((Service) i.next()).add(dependencies);
+ ((Component) i.next()).add(dependencies);
}
}
@@ -130,16 +130,16 @@ public abstract class AbstractDecorator
}
Iterator i = services.values().iterator();
while (i.hasNext()) {
- ((Service) i.next()).remove(d);
+ ((Component) i.next()).remove(d);
}
}
// callbacks for FactoryConfigurationAdapterImpl
public void updated(String pid, Dictionary properties) throws ConfigurationException {
try {
- Service service;
+ Component service;
synchronized (this) {
- service = (Service) m_services.get(pid);
+ service = (Component) m_services.get(pid);
}
if (service == null) {
service = createService(new Object[] { properties });
@@ -164,9 +164,9 @@ public abstract class AbstractDecorator
}
public void deleted(String pid) {
- Service service = null;
+ Component service = null;
synchronized (this) {
- service = (Service) m_services.remove(pid);
+ service = (Component) m_services.remove(pid);
}
if (service != null)
{
@@ -176,13 +176,13 @@ public abstract class AbstractDecorator
// callbacks for resources
public void added(URL resource) {
- Service newService = createService(new Object[] { resource });
+ Component newService = createService(new Object[] { resource });
m_services.put(resource, newService);
m_manager.add(newService);
}
public void removed(URL resource) {
- Service newService = (Service) m_services.remove(resource);
+ Component newService = (Component) m_services.remove(resource);
if (newService == null) {
System.out.println("Service should not be null here, dumping stack.");
Thread.dumpStack();
@@ -194,13 +194,13 @@ public abstract class AbstractDecorator
// callbacks for services
public void added(ServiceReference ref, Object service) {
- Service newService = createService(new Object[] { ref, service });
+ Component newService = createService(new Object[] { ref, service });
m_services.put(ref, newService);
m_manager.add(newService);
}
public void removed(ServiceReference ref, Object service) {
- Service newService = (Service) m_services.remove(ref);
+ Component newService = (Component) m_services.remove(ref);
if (newService == null) {
System.out.println("Service should not be null here, dumping stack.");
Thread.dumpStack();
@@ -212,13 +212,13 @@ public abstract class AbstractDecorator
// callbacks for bundles
public void added(Bundle bundle) {
- Service newService = createService(new Object[] { bundle });
+ Component newService = createService(new Object[] { bundle });
m_services.put(bundle, newService);
m_manager.add(newService);
}
public void removed(Bundle bundle) {
- Service newService = (Service) m_services.remove(bundle);
+ Component newService = (Component) m_services.remove(bundle);
if (newService == null) {
System.out.println("Service should not be null here, dumping stack.");
Thread.dumpStack();
@@ -231,19 +231,19 @@ public abstract class AbstractDecorator
public void stop() {
Iterator i = m_services.values().iterator();
while (i.hasNext()) {
- m_manager.remove((Service) i.next());
+ m_manager.remove((Component) i.next());
}
m_services.clear();
}
- public void configureAutoConfigState(Service target, Service source) {
+ public void configureAutoConfigState(Component target, Component source) {
configureAutoConfigState(target, source, BundleContext.class);
configureAutoConfigState(target, source, ServiceRegistration.class);
configureAutoConfigState(target, source, DependencyManager.class);
- configureAutoConfigState(target, source, Service.class);
+ configureAutoConfigState(target, source, Component.class);
}
- private void configureAutoConfigState(Service target, Service source, Class clazz) {
+ private void configureAutoConfigState(Component target, Component source, Class clazz) {
String name = source.getAutoConfigInstance(clazz);
if (name != null) {
target.setAutoConfig(clazz, name);
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AdapterServiceImpl.java Wed Sep 8 10:07:32 2010
@@ -23,8 +23,8 @@ import java.util.Properties;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
-import org.apache.felix.dm.ServiceStateListener;
+import org.apache.felix.dm.Component;
+import org.apache.felix.dm.ComponentStateListener;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
@@ -42,7 +42,7 @@ public class AdapterServiceImpl extends
*/
public AdapterServiceImpl(DependencyManager dm, Class adapteeInterface, String adapteeFilter)
{
- super(dm.createService()); // This service will be filtered by our super class, allowing us to take control.
+ super(dm.createComponent()); // This service will be filtered by our super class, allowing us to take control.
m_service.setImplementation(new AdapterImpl(adapteeInterface, adapteeFilter))
.add(dm.createServiceDependency()
.setService(adapteeInterface, adapteeFilter)
@@ -59,7 +59,7 @@ public class AdapterServiceImpl extends
m_adapteeFilter = adapteeFilter;
}
- public Service createService(Object[] properties) {
+ public Component createService(Object[] properties) {
ServiceReference ref = (ServiceReference) properties[0];
Properties props = new Properties();
String[] keys = ref.getPropertyKeys();
@@ -81,7 +81,7 @@ public class AdapterServiceImpl extends
}
List dependencies = m_service.getDependencies();
dependencies.remove(0);
- Service service = m_manager.createService()
+ Component service = m_manager.createComponent()
.setInterface(m_serviceInterfaces, props)
.setImplementation(m_serviceImpl)
.setFactory(m_factory, m_factoryCreateMethod) // if not set, no effect
@@ -99,7 +99,7 @@ public class AdapterServiceImpl extends
}
for (int i = 0; i < m_stateListeners.size(); i ++) {
- service.addStateListener((ServiceStateListener) m_stateListeners.get(i));
+ service.addStateListener((ComponentStateListener) m_stateListeners.get(i));
}
return service;
}
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AspectServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AspectServiceImpl.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AspectServiceImpl.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/AspectServiceImpl.java Wed Sep 8 10:07:32 2010
@@ -25,9 +25,9 @@ import java.util.Properties;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
+import org.apache.felix.dm.Component;
import org.apache.felix.dm.ServiceDependency;
-import org.apache.felix.dm.ServiceStateListener;
+import org.apache.felix.dm.ComponentStateListener;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
@@ -38,7 +38,7 @@ import org.osgi.framework.ServiceReferen
public class AspectServiceImpl extends FilterService {
public AspectServiceImpl(DependencyManager dm, Class aspectInterface, String aspectFilter, int ranking, String autoConfig)
{
- super(dm.createService()); // This service will be filtered by our super class, allowing us to take control.
+ super(dm.createComponent()); // This service will be filtered by our super class, allowing us to take control.
m_service.setImplementation(new AspectImpl(aspectInterface, aspectFilter, ranking, autoConfig))
.add(dm.createServiceDependency()
.setService(aspectInterface, createDependencyFilterForAspect(aspectFilter))
@@ -73,14 +73,14 @@ public class AspectServiceImpl extends F
m_field = field;
}
- public Service createService(Object[] params) {
+ public Component createService(Object[] params) {
List dependencies = m_service.getDependencies();
// remove our internal dependency
dependencies.remove(0);
// replace it with one that points to the specific service that just was passed in
Properties serviceProperties = getServiceProperties(params);
String[] serviceInterfaces = getServiceInterfaces();
- Service service = m_manager.createService()
+ Component service = m_manager.createComponent()
.setInterface(serviceInterfaces, serviceProperties)
.setImplementation(m_serviceImpl)
.setFactory(m_factory, m_factoryCreateMethod) // if not set, no effect
@@ -95,7 +95,7 @@ public class AspectServiceImpl extends F
}
for (int i = 0; i < m_stateListeners.size(); i++) {
- service.addStateListener((ServiceStateListener) m_stateListeners.get(i));
+ service.addStateListener((ComponentStateListener) m_stateListeners.get(i));
}
return service;
}
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/BundleAdapterServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/BundleAdapterServiceImpl.java?rev=994964&r1=994963&r2=994964&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/BundleAdapterServiceImpl.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/BundleAdapterServiceImpl.java Wed Sep 8 10:07:32 2010
@@ -24,8 +24,8 @@ import java.util.Properties;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.Service;
-import org.apache.felix.dm.ServiceStateListener;
+import org.apache.felix.dm.Component;
+import org.apache.felix.dm.ComponentStateListener;
import org.osgi.framework.Bundle;
/**
@@ -39,7 +39,7 @@ public class BundleAdapterServiceImpl ex
*/
public BundleAdapterServiceImpl(DependencyManager dm, int bundleStateMask, String bundleFilter, boolean propagate)
{
- super(dm.createService()); // This service will be filtered by our super class, allowing us to take control.
+ super(dm.createComponent()); // This service will be filtered by our super class, allowing us to take control.
m_service.setImplementation(new BundleAdapterImpl(bundleStateMask, bundleFilter, propagate))
.add(dm.createBundleDependency()
.setFilter(bundleFilter)
@@ -58,7 +58,7 @@ public class BundleAdapterServiceImpl ex
m_propagate = propagate;
}
- public Service createService(Object[] properties) {
+ public Component createService(Object[] properties) {
Bundle bundle = (Bundle) properties[0];
Properties props = new Properties();
if (m_serviceProperties != null) {
@@ -72,7 +72,7 @@ public class BundleAdapterServiceImpl ex
// the first dependency is always the dependency on the bundle, which
// will be replaced with a more specific dependency below
dependencies.remove(0);
- Service service = m_manager.createService()
+ Component service = m_manager.createComponent()
.setInterface(m_serviceInterfaces, props)
.setImplementation(m_serviceImpl)
.setFactory(m_factory, m_factoryCreateMethod) // if not set, no effect
@@ -91,7 +91,7 @@ public class BundleAdapterServiceImpl ex
}
for (int i = 0; i < m_stateListeners.size(); i ++) {
- service.addStateListener((ServiceStateListener) m_stateListeners.get(i));
+ service.addStateListener((ComponentStateListener) m_stateListeners.get(i));
}
return service;
}