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();