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/12/22 13:00:52 UTC

svn commit: r1647295 - in /felix/sandbox/pderop/dependencymanager-prototype: ./ cnf/localrepo/ org.apache.felix.dependencymanager.itest/ org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ org.apache.felix.dependencymanager.itest/sr...

Author: pderop
Date: Mon Dec 22 12:00:51 2014
New Revision: 1647295

URL: http://svn.apache.org/r1647295
Log:
- fixed bug in some tests using ResourceProviders (the ResourceProvider.change method was not using filters)
- the integration tests (core+runtime) are not using anymore multi-bundles
- fixed FELIX2955_ShellCommandTest.java, which is now starting/stoping/restarting the dm runtime bundle
- added shell in runtime.itest/bnd.bnd, because under gradle, the core itests is also executed (by dependency)
- updated the README in order to explain how to build/test using gradle

Now, all tests (junit + itests) can be run with gradle like this:

  gradle org.apache.felix.dependencymanager:test org.apache.felix.dependencymanager.shell:test
  gradle org.apache.felix.dependencymanager.runtime.itest:check


Added:
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceProvider.java
Removed:
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/api.bnd
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/bundle.bnd
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/bundle/
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/tests.bnd
Modified:
    felix/sandbox/pderop/dependencymanager-prototype/README
    felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml
    felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml.sha
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/bnd.bnd
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2348_ResourceAdapterTest.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2955_ShellCommandTest.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FilterIndexResourceAdapterTest.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest2.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterTest.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceDependencyTest.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ServiceUpdateTest.java
    felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd

Modified: felix/sandbox/pderop/dependencymanager-prototype/README
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/README?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/README (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/README Mon Dec 22 12:00:51 2014
@@ -6,27 +6,55 @@ Dependency Manager 4.0.0 general README
 - org.apache.felix.dependencymanager.benchmark/README
 - doc/A_Glance_At_DependencyManager.odp gives a quick overview of Dependency Manager, including new features.
 
-* to compile:
+* to compile under eclipse/bndtools
 
 - Install either Eclipse Kepler SR2 (+ Java8 support which is needed by benchmark sub project) or Eclipse Luna.
 - Install java7/Java8 JREs in Eclipse (Window -> Preferences -> Java -> Installed JREs). 
-  (Use JRE 1.7 as the default JRE)
+  (Use JRE 1.7 as the default JRE; the Jdk1.8 is only required for the org.apache.felix.dependencymanager.benchmark project)
 - Open BndTools perpective.
 - Import Dependency Manager into Eclipse.
 
-* To run tests:
+* To run tests (under eclipse/bndtools)
 
 - Click on org.apache.felix.dependencymanager project and run it as "JUnit test".
+- Click on org.apache.felix.dependencymanager.shell and run it as "JUnit test"
 - Click on org.apache.felix.dependencymanager.itest and run it as "Bnd OSGi Test Launcer (Junit)".
 - Click on org.apache.felix.dependencymanager.runtime.itest and run it as ""Bnd OSGi Test Launcer (Junit)".
-- Click on org.apache.felix.dependencymanager.shell and run it as "JUnit test"
 
-* To execute samples:
+* To execute samples (under eclipse/bndtools)
 
 - Click on org.apache.felix.dependencymanager.samples and run it as "Bnd OSGi Run Launcher"
 
-* To execute the benchmark (requires Jdk1.8)
+* To execute the benchmark (under eclipse/bndtools; requires Jdk1.8)
 
 - Click on org.apache.felix.dependencymanager.benchmark and run it as ""Bnd OSGi Run Launcher"
 More informations on the benchmark can be found from org.apache.felix.dependencymanager.benchmark/README file.
 
+* to compile with gradle:
+
+- Install Jdk1.7
+- Install gradle (at least 2.1)
+- compile Dependendency Manager bundles (core,shell,runtime,annotations):
+  
+  gradle org.apache.felix.dependencymanager:jar org.apache.felix.dependencymanager.shell:jar org.apache.felix.dependencymanager.runtime:jar org.apache.felix.dependencymanager.annotation:jar
+
+- Then compile the samples (optional)
+ 
+  gradle gradle org.apache.felix.dependencymanager.samples:jar
+
+- Then compile the benchmark (optional):
+
+  install jdk1.8
+  gradle org.apache.felix.dependencymanager.benchmark:jar
+
+* to run tests (junit + integration tests) with gradle:
+
+- run junit tests:
+
+  gradle org.apache.felix.dependencymanager:test org.apache.felix.dependencymanager.shell:test
+
+- run integration tests (the following will run the core + runtime itests):
+
+  gradle org.apache.felix.dependencymanager.runtime.itest:check
+
+ 

Modified: felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
Binary files - no diff available.

Modified: felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml.sha
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml.sha?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml.sha (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/cnf/localrepo/index.xml.sha Mon Dec 22 12:00:51 2014
@@ -1 +1 @@
-c86ef139973958be47edbdb34306a593d72d94af2501e019cba340f7231a1acd
\ No newline at end of file
+09a12ca8f1b8f15ad30c28c3ba3059a0704aab4369f13a87d0e152326baf0980
\ No newline at end of file

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/bnd.bnd?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/bnd.bnd (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/bnd.bnd Mon Dec 22 12:00:51 2014
@@ -4,7 +4,8 @@
 	org.apache.felix.dependencymanager;version=latest,\
 	org.apache.felix.dependencymanager.shell;version=latest,\
 	org.apache.felix.log;version=1.0.1,\
-	org.apache.felix.configadmin;version=1.8.1
+	org.apache.felix.configadmin;version=1.8.1,\
+	org.apache.felix.dependencymanager.runtime;version=latest
 -runee: JavaSE-1.7
 -runvm: -ea
 -runfw: org.apache.felix.framework
@@ -17,5 +18,7 @@
 	${junit}
 -runsystempackages: \
 	sun.reflect
--sub: \
-	*.bnd
\ No newline at end of file
+Test-Cases:  \
+	${classes;CONCRETE;EXTENDS;junit.framework.TestCase}
+Export-Package: \
+	org.apache.felix.dm.itest
\ No newline at end of file

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2348_ResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2348_ResourceAdapterTest.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2348_ResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2348_ResourceAdapterTest.java Mon Dec 22 12:00:51 2014
@@ -27,7 +27,9 @@ public class FELIX2348_ResourceAdapterTe
         Ensure e = new Ensure();
         m.add(m.createResourceAdapterService("(&(path=/path/to/*.txt)(host=localhost))", false, null, "changed")
               .setImplementation(new ResourceAdapter(e)));
-        m.add(m.createComponent().setImplementation(new ResourceProvider(e)).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
+        URL resourceURL = new URL("file://localhost/path/to/file1.txt");
+        m.add(m.createComponent().setImplementation(new ResourceProvider(context, resourceURL))
+        	   .add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
         e.waitForStep(3, 5000);
         m.clear();
      }
@@ -54,69 +56,5 @@ public class FELIX2348_ResourceAdapterTe
                 Assert.fail("We should not have gotten this exception.");
             }
         }
-    }
-    
-    static class ResourceProvider {
-        private volatile BundleContext m_context;
-        private final Ensure m_ensure;
-        private final Map m_handlers = new HashMap();
-        private URL[] m_resources;
-
-        public ResourceProvider(Ensure ensure) throws MalformedURLException {
-            m_ensure = ensure;
-            m_resources = new URL[] {
-                new URL("file://localhost/path/to/file1.txt")
-            };
-        }
-        
-        public void add(ServiceReference ref, ResourceHandler handler) {
-            String filterString = (String) ref.getProperty("filter");
-            Filter filter = null;
-            if (filterString != null) {
-                try {
-                    filter = m_context.createFilter(filterString);
-                }
-                catch (InvalidSyntaxException e) {
-                    Assert.fail("Could not create filter for resource handler: " + e);
-                    return;
-                }
-            }
-            synchronized (m_handlers) {
-                m_handlers.put(handler, filter);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                    handler.added(m_resources[i]);
-                }
-            }
-        }
-
-        public void remove(ServiceReference ref, ResourceHandler handler) {
-            Filter filter;
-            synchronized (m_handlers) {
-                filter = (Filter) m_handlers.remove(handler);
-            }
-            removeResources(handler, filter);
-        }
-
-        private void removeResources(ResourceHandler handler, Filter filter) {
-                for (int i = 0; i < m_resources.length; i++) {
-                    if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                        handler.removed(m_resources[i]);
-                    }
-                }
-            }
-
-        public void destroy() {
-            Entry[] handlers;
-            synchronized (m_handlers) {
-                handlers = (Entry[]) m_handlers.entrySet().toArray(new Entry[m_handlers.size()]);
-            }
-            for (int i = 0; i < handlers.length; i++) {
-                removeResources((ResourceHandler) handlers[i].getKey(), (Filter) handlers[i].getValue());
-            }
-            
-            System.out.println("DESTROY..." + m_handlers.size());
-        }
-    }
+    }    
 }

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2955_ShellCommandTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2955_ShellCommandTest.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2955_ShellCommandTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FELIX2955_ShellCommandTest.java Mon Dec 22 12:00:51 2014
@@ -35,48 +35,49 @@ public class FELIX2955_ShellCommandTest
 
     public void testShellCommands() throws Throwable {
     	try {
-        m_myBundleId = context.getBundle().getBundleId();
-        for (Bundle b : context.getBundles()) {
-            if (b.getSymbolicName().equals("org.apache.felix.dependencymanager.itest.bundle")) {
-                m_testBundle = b;
-                b.stop();
-                break;
-            }
-        }
-        DependencyManager m = getDM();
-        // helper class that ensures certain steps get executed in sequence
-        Ensure e = new Ensure();
+    		m_myBundleId = context.getBundle().getBundleId();
+    		for (Bundle b : context.getBundles()) {
+    			if (b.getSymbolicName().equals("org.apache.felix.dependencymanager.runtime")) {
+    				m_testBundle = b;
+    				b.stop();
+    				break;
+    			}
+    		}
+    		DependencyManager m = getDM();
+    		// helper class that ensures certain steps get executed in sequence
+    		Ensure e = new Ensure();
         
-        Component shellClient = m.createComponent();
-        Component missing = m.createComponent();
+    		Component shellClient = m.createComponent();
+    		Component missing = m.createComponent();
         
-        long shellClientId = shellClient.getComponentDeclaration().getId();
-        long missingId = missing.getComponentDeclaration().getId();
-        shellClient.setImplementation(new ShellClient(e, shellClientId, missingId))
-            .add(m.createServiceDependency()
-                .setService(CommandProcessor.class)
-                .setRequired(true)
-            );
-        m.add(shellClient);
-        e.waitForStep(3, 5000);
-        // now create a component with a missing dependency
-        missing.setImplementation(new Object() { public String toString() { return "Object"; }})
-            .add(m.createServiceDependency()
-                .setService(Missing.class) // Warning: don't use Object, or Runnable, which are already registered by bndtools ?
-                .setRequired(true)
-            );
-        m.add(missing);
-        e.step(4);
-        e.waitForStep(5, 5000);
-        m.remove(missing);
-        // now start/stop our test bundle, which publishes a service that uses the dependency manager
-        m_testBundle.start();
-        m_testBundle.stop();
-        e.step(6);
-        e.waitForStep(7, 5000);
-        e.ensure();
-        m.remove(shellClient);
-        m.clear();
+    		long shellClientId = shellClient.getComponentDeclaration().getId();
+    		long missingId = missing.getComponentDeclaration().getId();
+    		shellClient.setImplementation(new ShellClient(e, shellClientId, missingId))
+    				   .add(m.createServiceDependency()
+    						   .setService(CommandProcessor.class)
+    						   .setRequired(true));
+            
+    		m.add(shellClient);
+    		e.waitForStep(3, 5000);
+    		// now create a component with a missing dependency
+    		missing.setImplementation(new Object() { public String toString() { return "Object"; }})
+    			   .add(m.createServiceDependency()
+    					 .setService(Missing.class) // Warning: don't use Object, or Runnable, which are already registered by bndtools ?
+    					 .setRequired(true));
+            
+    		m.add(missing);
+    		e.step(4);
+    		e.waitForStep(5, 5000);
+    		m.remove(missing);
+    		// now start/stop our test bundle, which publishes a service that uses the dependency manager
+    		m_testBundle.start();
+    		m_testBundle.stop();
+    		e.step(6);
+    		e.waitForStep(7, 5000);
+    		e.ensure();
+    		m.remove(shellClient);
+    		m_testBundle.start(); // restart the runtime bundle
+    		m.clear();
     	} 
     	
     	catch (Throwable t) {

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FilterIndexResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FilterIndexResourceAdapterTest.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FilterIndexResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/FilterIndexResourceAdapterTest.java Mon Dec 22 12:00:51 2014
@@ -30,7 +30,7 @@ public class FilterIndexResourceAdapterT
       // helper class that ensures certain steps get executed in sequence
       Ensure e = new Ensure();
       // create a resource provider
-      ResourceProvider provider = new ResourceProvider(e);
+      ResourceProvider provider = new ResourceProvider(context, new URL("file://localhost/path/to/file1.txt"));
       // activate it
       m.add(m.createComponent().setImplementation(provider).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
       // create a resource adapter for our single resource
@@ -74,81 +74,5 @@ public class FilterIndexResourceAdapterT
       public void changed() {
           m_ensure.step(4);
       }
-  }
-  
-  static class ResourceProvider {
-      private volatile BundleContext m_context;
-      private final Map m_handlers = new HashMap();
-      private URL[] m_resources;
-
-      public ResourceProvider(Ensure ensure) throws MalformedURLException {
-          m_resources = new URL[] {
-              new URL("file://localhost/path/to/file1.txt")
-          };
-      }
-      
-      public void change() {
-          ResourceHandler[] handlers;
-          synchronized (m_handlers) {
-              handlers = (ResourceHandler[]) m_handlers.keySet().toArray(new ResourceHandler[m_handlers.size()]);
-          }
-          for (int i = 0; i < m_resources.length; i++) {
-              for (int j = 0; j < handlers.length; j++) {
-                  ResourceHandler handler = handlers[j];
-                  handler.changed(m_resources[i]);
-              }
-          }
-      }
-
-      public void add(ServiceReference ref, ResourceHandler handler) {
-          System.out.println("RP.add: " + ServiceUtil.toString(ref));
-          String filterString = (String) ref.getProperty("filter");
-          Filter filter = null;
-          if (filterString != null) {
-              try {
-                  filter = m_context.createFilter(filterString);
-              }
-              catch (InvalidSyntaxException e) {
-                  Assert.fail("Could not create filter for resource handler: " + e);
-                  return;
-              }
-          }
-          synchronized (m_handlers) {
-              m_handlers.put(handler, filter);
-          }
-          for (int i = 0; i < m_resources.length; i++) {
-              if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                  handler.added(m_resources[i]);
-              }
-          }
-      }
-
-      public void remove(ServiceReference ref, ResourceHandler handler) {
-          Filter filter;
-          synchronized (m_handlers) {
-              filter = (Filter) m_handlers.remove(handler);
-          }
-          removeResources(handler, filter);
-      }
-
-      private void removeResources(ResourceHandler handler, Filter filter) {
-              for (int i = 0; i < m_resources.length; i++) {
-                  if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                      handler.removed(m_resources[i]);
-                  }
-              }
-          }
-
-      public void destroy() {
-          Entry[] handlers;
-          synchronized (m_handlers) {
-              handlers = (Entry[]) m_handlers.entrySet().toArray(new Entry[m_handlers.size()]);
-          }
-          for (int i = 0; i < handlers.length; i++) {
-              removeResources((ResourceHandler) handlers[i].getKey(), (Filter) handlers[i].getValue());
-          }
-          
-          System.out.println("DESTROY..." + m_handlers.size());
-      }
-  }
+  }  
 }

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest.java Mon Dec 22 12:00:51 2014
@@ -4,7 +4,6 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import junit.framework.Assert;
 
@@ -20,7 +19,7 @@ import org.osgi.framework.Filter;
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
 
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes", "unused"})
+@SuppressWarnings({"deprecation", "unused"})
 public class ResourceAdapterDependencyAddAndRemoveTest extends TestBase {
     public void testBasicResourceAdapter() throws Exception {
         DependencyManager m = getDM();
@@ -33,7 +32,7 @@ public class ResourceAdapterDependencyAd
                 .setImplementation(new ServiceProvider(e)));
         
         // create and add a resource provider
-        ResourceProvider provider = new ResourceProvider(e);
+        ResourceProvider provider = new ResourceProvider(context, new URL("file://localhost/path/to/file1.txt"));
         m.add(m.createComponent()
                 .setImplementation(provider)
                 .add(m.createServiceDependency()
@@ -85,88 +84,7 @@ public class ResourceAdapterDependencyAd
             m_ensure = e;
         }
     }
-    
-    class ResourceProvider {
-        private volatile BundleContext m_context;
-        private final Ensure m_ensure;
-        private final Map m_handlers = new HashMap();
-        private URL[] m_resources;
-
-        public ResourceProvider(Ensure ensure) throws MalformedURLException {
-            m_ensure = ensure;
-            m_resources = new URL[] {
-                new URL("file://localhost/path/to/file1.txt")
-            };
-        }
         
-        public void change() {
-            ResourceHandler[] handlers;
-            synchronized (m_handlers) {
-                handlers = (ResourceHandler[]) m_handlers.keySet().toArray(new ResourceHandler[m_handlers.size()]);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                for (int j = 0; j < handlers.length; j++) {
-                    ResourceHandler handler = handlers[j];
-                    handler.changed(m_resources[i]);
-                }
-            }
-        }
-
-        public void add(ServiceReference ref, ResourceHandler handler) {
-            debug("ResourceProvider.add(ref=%s, handler=%s", ref, handler);
-            String filterString = (String) ref.getProperty("filter");
-            Filter filter = null;
-            if (filterString != null) {
-                try {
-                    filter = m_context.createFilter(filterString);
-                }
-                catch (InvalidSyntaxException e) {
-                    Assert.fail("Could not create filter for resource handler: " + e);
-                    return;
-                }
-            }
-            synchronized (m_handlers) {
-                m_handlers.put(handler, filter);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                    handler.added(m_resources[i]);
-                }
-            }
-        }
-
-        public void remove(ServiceReference ref, ResourceHandler handler) {
-            Filter filter;
-            synchronized (m_handlers) {
-                debug("ResourceProvider.remove: ref=%s, handler=%s, handlers=%s", ref, handler, m_handlers);
-                filter = (Filter) m_handlers.remove(handler);
-            }
-            removeResources(handler, filter);
-        }
-
-        private void removeResources(ResourceHandler handler, Filter filter) {
-                for (int i = 0; i < m_resources.length; i++) {
-                    if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                        handler.removed(m_resources[i]);
-                    }
-                }
-            }
-
-        public void destroy() {
-            debug("ResourceProvider:%s", m_handlers);
-            Entry[] handlers;
-            synchronized (m_handlers) {
-                debug("ResourceProvider.destroy: handlers=%s", m_handlers);
-                handlers = (Entry[]) m_handlers.entrySet().toArray(new Entry[m_handlers.size()]);
-            }
-            for (int i = 0; i < handlers.length; i++) {
-                removeResources((ResourceHandler) handlers[i].getKey(), (Filter) handlers[i].getValue());
-            }
-            
-            debug("DESTROY...%d", m_handlers.size());
-        }
-    }
-    
     static interface ServiceInterface {
         public void invoke();
     }

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest2.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest2.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest2.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterDependencyAddAndRemoveTest2.java Mon Dec 22 12:00:51 2014
@@ -28,7 +28,7 @@ public class ResourceAdapterDependencyAd
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a resource provider
-        ResourceProvider provider = new ResourceProvider(e);
+        ResourceProvider provider = new ResourceProvider(context, new URL("file://localhost/path/to/file1.txt"));
         // activate it
         Hashtable props = new Hashtable();
         props.put("id", "1");
@@ -85,82 +85,7 @@ public class ResourceAdapterDependencyAd
             m_dependency = d;
         }
     }
-    
-    static class ResourceProvider {
-        private volatile BundleContext m_context;
-        private final Ensure m_ensure;
-        private final Map m_handlers = new HashMap();
-        private URL[] m_resources;
-
-        public ResourceProvider(Ensure ensure) throws MalformedURLException {
-            m_ensure = ensure;
-            m_resources = new URL[] {
-                new URL("file://localhost/path/to/file1.txt")
-            };
-        }
         
-        public void change() {
-            ResourceHandler[] handlers;
-            synchronized (m_handlers) {
-                handlers = (ResourceHandler[]) m_handlers.keySet().toArray(new ResourceHandler[m_handlers.size()]);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                for (int j = 0; j < handlers.length; j++) {
-                    ResourceHandler handler = handlers[j];
-                    handler.changed(m_resources[i]);
-                }
-            }
-        }
-
-        public void add(ServiceReference ref, ResourceHandler handler) {
-            String filterString = (String) ref.getProperty("filter");
-            Filter filter = null;
-            if (filterString != null) {
-                try {
-                    filter = m_context.createFilter(filterString);
-                }
-                catch (InvalidSyntaxException e) {
-                    Assert.fail("Could not create filter for resource handler: " + e);
-                    return;
-                }
-            }
-            synchronized (m_handlers) {
-                m_handlers.put(handler, filter);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                    handler.added(m_resources[i]);
-                }
-            }
-        }
-
-        public void remove(ServiceReference ref, ResourceHandler handler) {
-            Filter filter;
-            synchronized (m_handlers) {
-                filter = (Filter) m_handlers.remove(handler);
-            }
-            removeResources(handler, filter);
-        }
-
-        private void removeResources(ResourceHandler handler, Filter filter) {
-                for (int i = 0; i < m_resources.length; i++) {
-                    if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                        handler.removed(m_resources[i]);
-                    }
-                }
-            }
-
-        public void destroy() {
-            Entry[] handlers;
-            synchronized (m_handlers) {
-                handlers = (Entry[]) m_handlers.entrySet().toArray(new Entry[m_handlers.size()]);
-            }
-            for (int i = 0; i < handlers.length; i++) {
-                removeResources((ResourceHandler) handlers[i].getKey(), (Filter) handlers[i].getValue());
-            }
-        }
-    }
-    
     static interface ServiceInterface {
         public void invoke();
     }

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterTest.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceAdapterTest.java Mon Dec 22 12:00:51 2014
@@ -26,7 +26,7 @@ public class ResourceAdapterTest extends
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a resource provider
-        ResourceProvider provider = new ResourceProvider(e);
+        ResourceProvider provider = new ResourceProvider(context, new URL("file://localhost/path/to/file1.txt"));
         // activate it
         m.add(m.createComponent().setImplementation(provider).add(m.createServiceDependency().setService(ResourceHandler.class).setCallbacks("add", "remove")));
         // create a resource adapter for our single resource
@@ -69,82 +69,5 @@ public class ResourceAdapterTest extends
         public void changed() {
             m_ensure.step(4);
         }
-    }
-    
-    static class ResourceProvider {
-        private volatile BundleContext m_context;
-        private final Ensure m_ensure;
-        private final Map m_handlers = new HashMap();
-        private URL[] m_resources;
-
-        public ResourceProvider(Ensure ensure) throws MalformedURLException {
-            m_ensure = ensure;
-            m_resources = new URL[] {
-                new URL("file://localhost/path/to/file1.txt")
-            };
-        }
-        
-        public void change() {
-            ResourceHandler[] handlers;
-            synchronized (m_handlers) {
-                handlers = (ResourceHandler[]) m_handlers.keySet().toArray(new ResourceHandler[m_handlers.size()]);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                for (int j = 0; j < handlers.length; j++) {
-                    ResourceHandler handler = handlers[j];
-                    handler.changed(m_resources[i]);
-                }
-            }
-        }
-
-        public void add(ServiceReference ref, ResourceHandler handler) {
-            String filterString = (String) ref.getProperty("filter");
-            Filter filter = null;
-            if (filterString != null) {
-                try {
-                    filter = m_context.createFilter(filterString);
-                }
-                catch (InvalidSyntaxException e) {
-                    Assert.fail("Could not create filter for resource handler: " + e);
-                    return;
-                }
-            }
-            synchronized (m_handlers) {
-                m_handlers.put(handler, filter);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                    handler.added(m_resources[i]);
-                }
-            }
-        }
-
-        public void remove(ServiceReference ref, ResourceHandler handler) {
-            Filter filter;
-            synchronized (m_handlers) {
-                filter = (Filter) m_handlers.remove(handler);
-            }
-            removeResources(handler, filter);
-        }
-
-        private void removeResources(ResourceHandler handler, Filter filter) {
-                for (int i = 0; i < m_resources.length; i++) {
-                    if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                        handler.removed(m_resources[i]);
-                    }
-                }
-            }
-
-        public void destroy() {
-            Entry[] handlers;
-            synchronized (m_handlers) {
-                handlers = (Entry[]) m_handlers.entrySet().toArray(new Entry[m_handlers.size()]);
-            }
-            for (int i = 0; i < handlers.length; i++) {
-                removeResources((ResourceHandler) handlers[i].getKey(), (Filter) handlers[i].getValue());
-            }
-            
-            System.out.println("DESTROY..." + m_handlers.size());
-        }
-    }
+    }    
 }

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceDependencyTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceDependencyTest.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceDependencyTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceDependencyTest.java Mon Dec 22 12:00:51 2014
@@ -22,7 +22,7 @@ import org.osgi.framework.ServiceReferen
 
 @SuppressWarnings({"deprecation", "rawtypes", "unused"})
 public class ResourceDependencyTest extends TestBase {
-    public void testResourceDependency() {
+    public void testResourceDependency() throws MalformedURLException {
         DependencyManager m = getDM();
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
@@ -38,7 +38,10 @@ public class ResourceDependencyTest exte
             .add(m.createResourceDependency()
                     .setFilter("(path=*.doc)")
                     .setCallbacks("add", null)); 
-        ResourceProvider provider = new ResourceProvider(e);
+        ResourceProvider provider = new ResourceProvider(context, 
+        		new URL("file://localhost/path/to/file1.txt"),
+                new URL("file://localhost/path/to/file2.txt"),
+                new URL("file://localhost/path/to/file3.doc"));
         Component resourceProvider = m.createComponent()
             .setImplementation(provider)
             .add(m.createServiceDependency()
@@ -61,7 +64,7 @@ public class ResourceDependencyTest exte
         e.waitForStep(4, 5000);
         
         // now change a resource and see if it gets propagated to the consumer
-        provider.changeResource();
+        provider.change(0);
         
         // wait for change callback
         e.waitForStep(5, 5000);
@@ -102,87 +105,6 @@ public class ResourceDependencyTest exte
         }
     }
     
-    class ResourceProvider {
-        private volatile BundleContext m_context;
-        private final Ensure m_ensure;
-        private final Map<ResourceHandler, Filter> m_handlers = new HashMap<ResourceHandler, Filter>();
-        private URL[] m_resources;
-        
-        public ResourceProvider(Ensure ensure) {
-            m_ensure = ensure;
-            try {
-                m_resources = new URL[] {
-                    new URL("file://localhost/path/to/file1.txt"),
-                    new URL("file://localhost/path/to/file2.txt"),
-                    new URL("file://localhost/path/to/file3.doc")
-                };
-            }
-            catch (MalformedURLException e) {
-                throw new IllegalStateException(e);
-            }
-        }
-        
-        public void add(ServiceReference ref, ResourceHandler handler) {
-            String filterString = (String) ref.getProperty("filter");
-            Filter filter;
-            try {
-                filter = m_context.createFilter(filterString);
-            }
-            catch (InvalidSyntaxException e) {
-                Assert.fail("Could not create filter for resource handler: " + e);
-                return;
-            }
-            synchronized (m_handlers) {
-                m_handlers.put(handler, filter);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                if (filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                    handler.added(m_resources[i]);
-                }
-            }
-        }
-
-        public void changeResource() {
-            Filter filter;
-            for (Entry<ResourceHandler, Filter> entry : m_handlers.entrySet()) {
-                for (int i = 0; i < m_resources.length; i++) {
-                    if (i == 0) {
-                        if (entry.getValue().match(ResourceUtil.createProperties(m_resources[i]))) {
-                            entry.getKey().changed(m_resources[i]); 
-                        }
-                    }
-                }
-            }
-        }
-        
-        public void remove(ServiceReference ref, ResourceHandler handler) {
-            debug("ResourceProvider.remove(ref=%s, handler=%s, handlers=%s", ref, handler, m_handlers);
-            Filter filter;
-            synchronized (m_handlers) {
-                filter = (Filter) m_handlers.remove(handler);
-            }
-            removeResources(handler, filter);
-        }
-
-        private void removeResources(ResourceHandler handler, Filter filter) {
-            for (int i = 0; i < m_resources.length; i++) {
-                if (filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                    handler.removed(m_resources[i]);
-                }
-            }
-        }
-
-        public void destroy() {
-            debug("ResourceProvider.destroy: handlers=%s", m_handlers);
-            Entry[] handlers;
-            synchronized (m_handlers) {
-                handlers = (Entry[]) m_handlers.entrySet().toArray(new Entry[m_handlers.size()]);
-            }
-            for (int i = 0; i < handlers.length; i++) {
-                removeResources((ResourceHandler) handlers[i].getKey(), (Filter) handlers[i].getValue());
-            }
-        }
-    }
     
     class ResourceConsumerFactory {
         private final Ensure m_ensure;

Added: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceProvider.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceProvider.java?rev=1647295&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceProvider.java (added)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ResourceProvider.java Mon Dec 22 12:00:51 2014
@@ -0,0 +1,98 @@
+package org.apache.felix.dm.itest;
+
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.Assert;
+
+import org.apache.felix.dm.ResourceHandler;
+import org.apache.felix.dm.ResourceUtil;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+
+class ResourceProvider {
+	final URL[] m_resources;
+    final BundleContext m_context;
+    final Map<ResourceHandler, Filter> m_handlers = new HashMap<>();
+
+	ResourceProvider(BundleContext ctx, URL ... resources) {
+		m_context = ctx;
+		m_resources = resources;
+	}
+	
+    public void change() {
+        for (int i = 0; i < m_resources.length; i++) {
+        	change(i);
+        }    	
+    }
+    
+    public void change(int resourceIndex) {
+        Map<ResourceHandler, Filter> handlers = new HashMap<>();
+        synchronized (m_handlers) {
+            handlers.putAll(m_handlers);
+        }
+        for (Map.Entry<ResourceHandler, Filter> e : handlers.entrySet()) {
+        	ResourceHandler handler = e.getKey();
+        	Filter filter = e.getValue();
+        	if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[resourceIndex]))) {
+        		handler.changed(m_resources[resourceIndex]);
+            }
+        }
+    }
+
+    public void add(ServiceReference ref, ResourceHandler handler) {
+        String filterString = (String) ref.getProperty("filter");
+        Filter filter = null;
+        if (filterString != null) {
+            try {
+                filter = m_context.createFilter(filterString);
+            }
+            catch (InvalidSyntaxException e) {
+                Assert.fail("Could not create filter for resource handler: " + e);
+                return;
+            }
+        }
+        for (int i = 0; i < m_resources.length; i++) {
+            if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
+                synchronized (m_handlers) {
+                    m_handlers.put(handler, filter);
+                }
+                handler.added(m_resources[i]);
+            }
+        }
+    }
+
+    public void remove(ServiceReference ref, ResourceHandler handler) {
+        Filter filter;
+        synchronized (m_handlers) {
+            filter = (Filter) m_handlers.remove(handler);
+        }
+        if (filter != null) {
+        	removeResources(handler, filter);
+        }
+    }
+
+    private void removeResources(ResourceHandler handler, Filter filter) {
+            for (int i = 0; i < m_resources.length; i++) {
+                if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
+                    handler.removed(m_resources[i]);
+                }
+            }
+        }
+
+    public void destroy() {
+        Map<ResourceHandler, Filter> handlers = new HashMap<>();
+        synchronized (m_handlers) {
+            handlers.putAll(m_handlers);
+        }
+
+        for (Map.Entry<ResourceHandler, Filter> e : handlers.entrySet()) {
+            ResourceHandler handler = e.getKey();
+            Filter filter = e.getValue();
+            removeResources(handler, filter);
+        }
+    }
+}

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ServiceUpdateTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ServiceUpdateTest.java?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ServiceUpdateTest.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/ServiceUpdateTest.java Mon Dec 22 12:00:51 2014
@@ -28,7 +28,7 @@ public class ServiceUpdateTest extends T
         // helper class that ensures certain steps get executed in sequence
         Ensure e = new Ensure();
         // create a resource provider
-        ResourceProvider provider = new ResourceProvider(e);
+        ResourceProvider provider = new ResourceProvider(context, new URL("file://localhost/path/to/file1.txt"));
         // activate it
         m.add(m.createComponent()
             .setImplementation(new ServiceProvider(e))
@@ -83,80 +83,7 @@ public class ServiceUpdateTest extends T
             
         }
     }
-    
-    static class ResourceProvider {
-        private volatile BundleContext m_context;
-        private final Map m_handlers = new HashMap();
-        private URL[] m_resources;
-
-        public ResourceProvider(Ensure ensure) throws MalformedURLException {
-            m_resources = new URL[] {
-                new URL("file://localhost/path/to/file1.txt")
-            };
-        }
         
-        public void change() {
-            ResourceHandler[] handlers;
-            synchronized (m_handlers) {
-                handlers = (ResourceHandler[]) m_handlers.keySet().toArray(new ResourceHandler[m_handlers.size()]);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                for (int j = 0; j < handlers.length; j++) {
-                    ResourceHandler handler = handlers[j];
-                    handler.changed(m_resources[i]);
-                }
-            }
-        }
-
-        public void add(ServiceReference ref, ResourceHandler handler) {
-            String filterString = (String) ref.getProperty("filter");
-            Filter filter = null;
-            if (filterString != null) {
-                try {
-                    filter = m_context.createFilter(filterString);
-                }
-                catch (InvalidSyntaxException e) {
-                    Assert.fail("Could not create filter for resource handler: " + e);
-                    return;
-                }
-            }
-            synchronized (m_handlers) {
-                m_handlers.put(handler, filter);
-            }
-            for (int i = 0; i < m_resources.length; i++) {
-                if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                    handler.added(m_resources[i]);
-                }
-            }
-        }
-
-        public void remove(ServiceReference ref, ResourceHandler handler) {
-            Filter filter;
-            synchronized (m_handlers) {
-                filter = (Filter) m_handlers.remove(handler);
-            }
-            removeResources(handler, filter);
-        }
-
-        private void removeResources(ResourceHandler handler, Filter filter) {
-                for (int i = 0; i < m_resources.length; i++) {
-                    if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
-                        handler.removed(m_resources[i]);
-                    }
-                }
-            }
-
-        public void destroy() {
-            Entry[] handlers;
-            synchronized (m_handlers) {
-                handlers = (Entry[]) m_handlers.entrySet().toArray(new Entry[m_handlers.size()]);
-            }
-            for (int i = 0; i < handlers.length; i++) {
-                removeResources((ResourceHandler) handlers[i].getKey(), (Filter) handlers[i].getValue());
-            }
-        }
-    }
-    
     static interface ServiceInterface {
         public void invoke();
     }

Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd?rev=1647295&r1=1647294&r2=1647295&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.runtime.itest/bnd.bnd Mon Dec 22 12:00:51 2014
@@ -1,26 +1,29 @@
 -buildpath:  \
 	osgi.core;version='[4.2,5)',\
 	org.apache.felix.dependencymanager;version=latest,\
-	org.apache.felix.dependencymanager.itest.api;version=latest,\
 	org.apache.felix.dependencymanager.annotation;version=latest,\
 	osgi.cmpn;version=4.2,\
 	${junit},\
-	org.apache.felix.dependencymanager.runtime;version=latest
+	org.apache.felix.dependencymanager.runtime;version=latest,\
+	org.apache.felix.dependencymanager.itest;version=latest
 -runbundles:  \
-	org.apache.felix.configadmin;version=1.8.0,\
+	org.apache.felix.configadmin;version=1.8.1,\
 	org.apache.felix.dependencymanager;version=latest,\
-	org.apache.felix.dependencymanager.itest.api;version=latest,\
 	org.apache.felix.dependencymanager.runtime;version=latest,\
 	org.apache.felix.metatype;version=1.0.4,\
 	org.apache.felix.gogo.runtime;version=0.10.0,\
-	org.apache.felix.log;version=1.0.1
+	org.apache.felix.log;version=1.0.1,\
+	org.apache.felix.dependencymanager.shell;version=latest,\
+	org.apache.felix.dependencymanager.itest;version=latest
 -runee: JavaSE-1.7
 -runfw: org.apache.felix.framework;version='[4.4.0,4.4.0]'
 -runsystempackages: \
 	sun.reflect
 -runvm:-ea
+Private-Package:  \
+	org.apache.felix.dm.runtime.itest.tests,\
+	org.apache.felix.dm.runtime.itest.components
+-plugin: org.apache.felix.dm.annotation.plugin.bnd.AnnotationPlugin;log=debug;\
+		 path:=${workspace}/org.apache.felix.dependencymanager.annotation/generated/org.apache.felix.dependencymanager.annotation.jar
 Test-Cases:  \
 	${classes;CONCRETE;EXTENDS;junit.framework.TestCase}
-
--sub:  \
-	*.bnd
\ No newline at end of file