You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/05/30 19:14:02 UTC

svn commit: r1598676 - in /felix/sandbox/pderop/dependencymanager-prototype: dm.runtime/src/dm/runtime/ dm/src/dm/ dm/src/dm/impl/

Author: pderop
Date: Fri May 30 17:14:02 2014
New Revision: 1598676

URL: http://svn.apache.org/r1598676
Log:
Did some cleanup: 

- Removed the Component.setExecutor method. For now, this method is not needed, and may not even be needed even if one day we add support for parallel executors.
- Removed Component.getExecutor method
- Removed Component.getService() method, because getInstances[0] returns the main component instance


Modified:
    felix/sandbox/pderop/dependencymanager-prototype/dm.runtime/src/dm/runtime/ServiceLifecycleHandler.java
    felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/Component.java
    felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java
    felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FactoryConfigurationAdapterImpl.java
    felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FilterComponent.java

Modified: felix/sandbox/pderop/dependencymanager-prototype/dm.runtime/src/dm/runtime/ServiceLifecycleHandler.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/dm.runtime/src/dm/runtime/ServiceLifecycleHandler.java?rev=1598676&r1=1598675&r2=1598676&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/dm.runtime/src/dm/runtime/ServiceLifecycleHandler.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/dm.runtime/src/dm/runtime/ServiceLifecycleHandler.java Fri May 30 17:14:02 2014
@@ -136,7 +136,7 @@ public class ServiceLifecycleHandler
     public void init(Component c)
         throws Exception
     {
-        Object serviceInstance = c.getService();
+        Object serviceInstance = c.getInstances()[0];
         DependencyManager dm = c.getDependencyManager();
 
         // Check if a lifecycle controller is defined for this service. If true, then 

Modified: felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/Component.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/Component.java?rev=1598676&r1=1598675&r2=1598676&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/Component.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/Component.java Fri May 30 17:14:02 2014
@@ -20,7 +20,6 @@ public interface Component {
     public Component setAutoConfig(Class<?> clazz, boolean autoConfig);
     public Component setAutoConfig(Class<?> clazz, String instanceName);
     public ServiceRegistration getServiceRegistration();
-    public Object getService(); // TODO do we really need this method (getInstances[0] returns the main component instance) ?
     public Object[] getInstances();
     public Dictionary getServiceProperties();
     public Component setServiceProperties(Dictionary<?,?> serviceProperties);
@@ -32,9 +31,6 @@ public interface Component {
 	public Component setComposition(String getMethod);
 	public DependencyManager getDependencyManager();
 	public ComponentDeclaration getComponentDeclaration();
-	public Component setExecutor(Executor executor);
 	
-	// TODO ASPECTS: Methods added for debugging AspectRaceTest, but we might just leave the 'debug' features in there.
-	public Executor getExecutor();
-	public void setDebug(String string);
+	public void setDebug(String label);
 }

Modified: felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java?rev=1598676&r1=1598675&r2=1598676&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/ComponentImpl.java Fri May 30 17:14:02 2014
@@ -137,16 +137,6 @@ public class ComponentImpl implements Co
 		return m_executor;
 	}
 	
-	public Component setExecutor(Executor executor) {
-	    // TODO. This method is used when the user want to provide a custom executor (for example, one from an actor
-	    // library, or a queuing library like hawtdispatch "Serial Queues". However, we still have to decorate the executor
-	    // with one which detects reentrant scheduling (in DM4, tasks scheduled internally from within DM4 must be executed
-	    // immediately (inline execution). To ensure this, the custom executor could be decorated with one, which could use
-	    // a thread local with a flag telling if the current thread is already being executed from within DM4.
-	    m_executor = executor;
-	    return this;
-	}
-	
 	@Override
 	public Component add(final Dependency ... dependencies) {
 		getExecutor().execute(new Runnable() {
@@ -914,11 +904,6 @@ public class ComponentImpl implements Co
 	}
 
 	@Override
-	public Object getService() {
-		return m_componentInstance;
-	}
-
-	@Override
 	public Dictionary getServiceProperties() {
 		if (m_serviceProperties != null) {
 			// Applied patch from FELIX-4304

Modified: felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FactoryConfigurationAdapterImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FactoryConfigurationAdapterImpl.java?rev=1598676&r1=1598675&r2=1598676&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FactoryConfigurationAdapterImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FactoryConfigurationAdapterImpl.java Fri May 30 17:14:02 2014
@@ -141,7 +141,7 @@ public class FactoryConfigurationAdapter
         public void updateService(Object[] properties) {
             Dictionary cmSettings = (Dictionary) properties[0];
             Component service = (Component) properties[1];
-            Object impl = service.getService();
+            Object impl = service.getInstances()[0];
            
             try {
                 InvocationUtil.invokeCallbackMethod(impl, m_update, 

Modified: felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FilterComponent.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FilterComponent.java?rev=1598676&r1=1598675&r2=1598676&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FilterComponent.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/FilterComponent.java Fri May 30 17:14:02 2014
@@ -72,11 +72,13 @@ public class FilterComponent implements 
                 return this;
             }
         }
-        // Ok, the list contains no required dependencies: add optionals dependencies in already instantiated
-        // services.
-        AbstractDecorator ad = (AbstractDecorator) m_component.getService();
-        if (ad != null) {
-            ad.addDependency(dependencies);
+        // Ok, the list contains no required dependencies: add optionals dependencies in already instantiated services.
+        Object[] instances = m_component.getInstances();
+        if (instances.length > 0) {
+            AbstractDecorator ad = (AbstractDecorator) instances[0];
+            if (ad != null) {
+                ad.addDependency(dependencies);
+            }
         }
         return this;
     }
@@ -84,9 +86,12 @@ public class FilterComponent implements 
     public Component add(ComponentStateListener listener) {
         m_stateListeners.add(listener);
         // Add the listener to all already instantiated services.
-        AbstractDecorator ad = (AbstractDecorator) m_component.getService();
-        if (ad != null) {
-            ad.addStateListener(listener);
+        Object[] instances = m_component.getInstances();
+        if (instances.length > 0) {
+            AbstractDecorator ad = (AbstractDecorator) instances[0];
+            if (ad != null) {
+                ad.addStateListener(listener);
+            }
         }
         return this;
     }
@@ -95,10 +100,6 @@ public class FilterComponent implements 
         return m_component.getDependencies();
     }
 
-    public Object getService() {
-        return m_component.getService();
-    }
-
     public String getClassName() {
         return m_component.getClassName();
     }
@@ -118,10 +119,12 @@ public class FilterComponent implements 
         // we have nothing to do.
         if (!((DependencyContext) dependency).isRequired())
         {
-            AbstractDecorator ad = (AbstractDecorator) m_component.getService();
-            if (ad != null)
-            {
-                ad.removeDependency(dependency);
+            Object[] instances = m_component.getInstances();
+            if (instances.length > 0) {
+                AbstractDecorator ad = (AbstractDecorator) instances[0];
+                if (ad != null) {
+                    ad.removeDependency(dependency);
+                }
             }
         }
         return this;
@@ -130,9 +133,12 @@ public class FilterComponent implements 
     public Component remove(ComponentStateListener listener) {
         m_stateListeners.remove(listener);
         // Remove the listener from all already instantiated services.
-        AbstractDecorator ad = (AbstractDecorator) m_component.getService();
-        if (ad != null) {
-            ad.removeStateListener(listener);
+        Object[] instances = m_component.getInstances();
+        if (instances.length > 0) {
+            AbstractDecorator ad = (AbstractDecorator) instances[0];
+            if (ad != null) {
+                ad.removeStateListener(listener);
+            }
         }
         return this;
     }
@@ -202,9 +208,12 @@ public class FilterComponent implements 
         }
         // Set the properties to all already instantiated services.
         if (serviceProperties != null) {
-            AbstractDecorator ad = (AbstractDecorator) m_component.getService();
-            if (ad != null) {
-                ad.setServiceProperties(serviceProperties);
+            Object[] instances = m_component.getInstances();
+            if (instances.length > 0) {
+                AbstractDecorator ad = (AbstractDecorator) instances[0];
+                if (ad != null) {
+                    ad.setServiceProperties(serviceProperties);
+                }
             }
         }
         return this;
@@ -273,11 +282,6 @@ public class FilterComponent implements 
         return m_component.getExecutor();
     }
     
-    public Component setExecutor(Executor executor) {
-        m_component.setExecutor(executor);
-        return this;
-    }
-
     @Override
     public boolean isAvailable() {
         return m_component.isAvailable();