Search in sources :

Example 11 with DependencyGraph

use of org.apache.felix.dm.diagnostics.DependencyGraph in project felix by apache.

the class DiagnosticsTest method testWithoutComponents.

public void testWithoutComponents() throws Exception {
    DependencyGraph graph = DependencyGraph.getGraph(ComponentState.ALL, DependencyState.ALL);
    assertTrue(checkComponentCount(0, graph.getAllComponents().size()));
    assertTrue(graph.getAllDependencies().isEmpty());
}
Also used : DependencyGraph(org.apache.felix.dm.diagnostics.DependencyGraph)

Example 12 with DependencyGraph

use of org.apache.felix.dm.diagnostics.DependencyGraph in project felix by apache.

the class DiagnosticsTest method testMissingCustomDependencies.

public void testMissingCustomDependencies() {
    DependencyManager dm = getDM();
    Component component0 = dm.createComponent().setImplementation(C0.class).add(dm.createServiceDependency().setService(S1.class).setRequired(true)).add(dm.createServiceDependency().setService(S2.class).setRequired(true));
    Component component1 = dm.createComponent().setImplementation(S1Impl1.class).setInterface(S1.class.getName(), null).add(ToggleDependency.create());
    m_dm.add(component0);
    m_dm.add(component1);
    DependencyGraph graph = DependencyGraph.getGraph(ComponentState.UNREGISTERED, DependencyState.REQUIRED_UNAVAILABLE);
    List<MissingDependency> missingCustomDependencies = graph.getMissingCustomDependencies();
    assertEquals(1, missingCustomDependencies.size());
    MissingDependency missingCustomeDependency = missingCustomDependencies.get(0);
    assertTrue(missingCustomeDependency.getType().equals("toggle"));
    assertTrue(missingCustomeDependency.getName().equals("false"));
    List<MissingDependency> missingDependencies = graph.getMissingDependencies("service");
    assertEquals(1, missingDependencies.size());
}
Also used : MissingDependency(org.apache.felix.dm.diagnostics.MissingDependency) DependencyManager(org.apache.felix.dm.DependencyManager) DependencyGraph(org.apache.felix.dm.diagnostics.DependencyGraph) Component(org.apache.felix.dm.Component)

Aggregations

DependencyGraph (org.apache.felix.dm.diagnostics.DependencyGraph)12 Component (org.apache.felix.dm.Component)10 DependencyManager (org.apache.felix.dm.DependencyManager)9 ComponentDeclaration (org.apache.felix.dm.ComponentDeclaration)6 MissingDependency (org.apache.felix.dm.diagnostics.MissingDependency)6 ServiceDependency (org.apache.felix.dm.ServiceDependency)3 CircularDependency (org.apache.felix.dm.diagnostics.CircularDependency)3 ArrayList (java.util.ArrayList)1 Properties (java.util.Properties)1 StringTokenizer (java.util.StringTokenizer)1 ComponentDependencyDeclaration (org.apache.felix.dm.ComponentDependencyDeclaration)1 ConfigurationDependency (org.apache.felix.dm.ConfigurationDependency)1 Descriptor (org.apache.felix.service.command.Descriptor)1 Bundle (org.osgi.framework.Bundle)1 Filter (org.osgi.framework.Filter)1 InvalidSyntaxException (org.osgi.framework.InvalidSyntaxException)1