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 2011/06/20 12:19:09 UTC
svn commit: r1137588 - in /felix/trunk/dependencymanager/compat:
changelog.txt
src/main/java/org/apache/felix/dependencymanager/DependencyManager.java
src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java
Author: pderop
Date: Mon Jun 20 10:19:09 2011
New Revision: 1137588
URL: http://svn.apache.org/viewvc?rev=1137588&view=rev
Log:
FELIX-3005 (Compatibility API does not add components in DependencyManager)
Modified:
felix/trunk/dependencymanager/compat/changelog.txt
felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/DependencyManager.java
felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java
Modified: felix/trunk/dependencymanager/compat/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/compat/changelog.txt?rev=1137588&r1=1137587&r2=1137588&view=diff
==============================================================================
--- felix/trunk/dependencymanager/compat/changelog.txt (original)
+++ felix/trunk/dependencymanager/compat/changelog.txt Mon Jun 20 10:19:09 2011
@@ -1,3 +1,12 @@
+Changes from 3.0.0 to 3.0.1
+---------------------------
+
+** Bug
+
+ [FELIX-3005] - Compatibility API does not add components in DependencyManager
+
+** Improvement
+
Release 3.0.0
-------------
Modified: felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/DependencyManager.java?rev=1137588&r1=1137587&r2=1137588&view=diff
==============================================================================
--- felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/DependencyManager.java (original)
+++ felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/DependencyManager.java Mon Jun 20 10:19:09 2011
@@ -20,6 +20,7 @@ package org.apache.felix.dependencymanag
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
import org.osgi.framework.BundleContext;
@@ -32,7 +33,6 @@ import org.osgi.framework.BundleContext;
public class DependencyManager
{
private org.apache.felix.dm.DependencyManager m_delegate;
- private List m_services = Collections.synchronizedList(new ArrayList());
/**
* Creates a new dependency manager.
@@ -53,8 +53,8 @@ public class DependencyManager
*/
public void add(Service service)
{
- m_services.add(service);
- service.start();
+ org.apache.felix.dependencymanager.impl.ServiceImpl serviceImpl = (org.apache.felix.dependencymanager.impl.ServiceImpl)service;
+ ((org.apache.felix.dm.DependencyManager) m_delegate).add(serviceImpl.getDelegate());
}
/**
@@ -65,8 +65,8 @@ public class DependencyManager
*/
public void remove(Service service)
{
- service.stop();
- m_services.remove(service);
+ org.apache.felix.dependencymanager.impl.ServiceImpl impl = (org.apache.felix.dependencymanager.impl.ServiceImpl)service;
+ ((org.apache.felix.dm.DependencyManager) m_delegate).remove(impl.getDelegate());
}
/**
@@ -101,7 +101,14 @@ public class DependencyManager
*/
public List getServices()
{
- return Collections.unmodifiableList(m_services);
+ List list = new ArrayList();
+ List components = m_delegate.getComponents();
+ Iterator it = components.iterator();
+ while (it.hasNext()) {
+ org.apache.felix.dm.Component c = (org.apache.felix.dm.Component) it.next();
+ list.add(new org.apache.felix.dependencymanager.impl.ServiceImpl(c));
+ }
+ return Collections.unmodifiableList(list);
}
/**
Modified: felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java?rev=1137588&r1=1137587&r2=1137588&view=diff
==============================================================================
--- felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java (original)
+++ felix/trunk/dependencymanager/compat/src/main/java/org/apache/felix/dependencymanager/impl/ServiceImpl.java Mon Jun 20 10:19:09 2011
@@ -29,6 +29,7 @@ import org.apache.felix.dependencymanage
import org.apache.felix.dependencymanager.DependencyManager;
import org.apache.felix.dependencymanager.Service;
import org.apache.felix.dependencymanager.ServiceStateListener;
+import org.apache.felix.dm.Component;
import org.osgi.framework.ServiceRegistration;
/**
@@ -48,6 +49,10 @@ public class ServiceImpl implements Serv
m_delegate = dmDelegate.createComponent();
}
+ public ServiceImpl(Component c) {
+ m_delegate = c;
+ }
+
public Service add(Dependency dependency)
{
if (dependency instanceof ServiceDependencyImpl)
@@ -236,4 +241,8 @@ public class ServiceImpl implements Serv
{
m_delegate.stop();
}
+
+ public Component getDelegate() {
+ return m_delegate;
+ }
}