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/28 14:59:41 UTC
svn commit: r1598000 -
/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/AspectServiceImpl.java
Author: pderop
Date: Wed May 28 12:59:40 2014
New Revision: 1598000
URL: http://svn.apache.org/r1598000
Log:
. Don't activate debug by default. Fixed a bug when aspect service properties are modified, this is making work the AspectWithPropagationTest
Modified:
felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/AspectServiceImpl.java
Modified: felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/AspectServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/AspectServiceImpl.java?rev=1598000&r1=1597999&r2=1598000&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/AspectServiceImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/dm/src/dm/impl/AspectServiceImpl.java Wed May 28 12:59:40 2014
@@ -21,7 +21,9 @@ package dm.impl;
import java.util.ArrayList;
import java.util.Dictionary;
import java.util.Enumeration;
+import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import org.osgi.framework.Constants;
@@ -122,7 +124,7 @@ public class AspectServiceImpl extends F
ServiceDependency aspectDependency = (ServiceDependencyImpl)
m_manager.createServiceDependency().setService(m_aspectInterface, createAspectFilter(ref)).setRequired(true);
- aspectDependency.setDebug("aspect " + m_ranking);
+ //aspectDependency.setDebug("aspect " + m_ranking);
aspectDependency.setCallbacks(new CallbackProxy(aspectDependency, ref),
m_add != null ? "addAspect" : null,
@@ -145,7 +147,7 @@ public class AspectServiceImpl extends F
.setCallbacks(m_callbackObject, m_init, m_start, m_stop, m_destroy) // if not set, no effect
.add(aspectDependency);
- service.setDebug("aspectimpl-" + m_ranking);
+ //service.setDebug("aspectimpl-" + m_ranking);
configureAutoConfigState(service, m_component);
@@ -158,7 +160,25 @@ public class AspectServiceImpl extends F
}
return service;
}
-
+
+ /**
+ * Modify some specific aspect service properties.
+ */
+ @Override
+ public void setServiceProperties(Dictionary props) {
+ Map<Object, Component> services = super.getServices();
+ Iterator it = services.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ ServiceReference originalServiceRef = (ServiceReference) entry.getKey();
+ Component c = (Component) entry.getValue();
+ // m_serviceProperties is already set to the new service properties; and the getServiceProperties will
+ // merge m_serviceProperties with the original service properties.
+ Dictionary newProps = getServiceProperties(originalServiceRef);
+ c.setServiceProperties(newProps);
+ }
+ }
+
private String[] getServiceInterfaces() {
List<String> serviceNames = new ArrayList<>();
// Of course, we provide the aspect interface.