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;
         }