for (DependencyManager manager : DependencyManager.getDependencyManagers()) { components.addAll(manager.getComponents());
private void buildComponentNodes() { List<DependencyManager> dependencyManagers = DependencyManager.getDependencyManagers(); for(DependencyManager dm : dependencyManagers) { List<Component> components = dm.getComponents(); for(Component c : components) { ComponentDeclaration cd = c.getComponentDeclaration(); if(componentMustBeAddedToGraph(cd)) { m_componentToNode.put(cd, new ComponentNode(cd)); } } } }
System.out.println(" - Dependency managers: " + DependencyManager.getDependencyManagers().size()); System.out.println(" - Components: " + numberOfComponents); if (!nodeps) {
@Test public void testComponentThatDependsOnAOtheComponentShouldRegisterAsFailure() { OUT.println("testComponentThatDependsOnAOtheComponentShouldRegisterAsFailure"); setupEmptyBundles(); DependencyManager dm = new DependencyManager(m_bundleContext); DependencyManager.getDependencyManagers().add(dm); Component component = dm.createComponent() .setImplementation(Object.class) .setInterface(Object.class.getName(), null) .add(dm.createServiceDependency().setService(Math.class).setRequired(true)); dm.add(component); dme.wtf(); String output = outContent.toString(); assertTrue(output.contains("1 unregistered")); assertTrue(output.contains("java.lang.Math")); // remove the mess dm.remove(component); }
@Test public void testComponentThatHaveCycliclyDependencyOnAOtheComponentShouldRegisterAsFailure() { OUT.println("testComponentThatHaveCycliclyDependencyOnAOtheComponentShouldRegisterAsFailure"); setupEmptyBundles(); DependencyManager dm = new DependencyManager(m_bundleContext); DependencyManager.getDependencyManagers().add(dm); Component component1 = dm.createComponent() .setImplementation(Cipher.class) .setInterface(Cipher.class.getName(), null) .add(dm.createServiceDependency().setService(Math.class).setRequired(true)); dm.add(component1); Component component2 = dm.createComponent() .setImplementation(Math.class) .setInterface(Math.class.getName(), null) .add(dm.createServiceDependency().setService(Cipher.class).setRequired(true)); dm.add(component2); dme.wtf(); String output = outContent.toString(); assertTrue(output.contains("-> java.lang.Math -> javax.crypto.Cipher -> java.lang.Math") || output.contains("-> javax.crypto.Cipher -> java.lang.Math -> javax.crypto.Cipher")); // remove the mess dm.remove(component1); dm.remove(component2); }