Package org.apache.felix.ipojo

Examples of org.apache.felix.ipojo.PrimitiveInstanceDescription


        ComponentInstance instance = pojo.getComponentInstance();
        assertNotNull(instance);
        assertEquals("Check component instance name", instance.getInstanceName(), compName);
        assertEquals("Check component factory name", instance.getFactory().getName(), factName);
        assertNotNull("Instance description not null", instance.getInstanceDescription());
        PrimitiveInstanceDescription id = (PrimitiveInstanceDescription) instance.getInstanceDescription();
        assertTrue("Check instance state", id.getState() == ComponentInstance.VALID);
        assertEquals("Check created pojo count", id.getCreatedObjects().length, 1);
        assertEquals("Check instance description name", id.getName(), compName);

        ci.dispose();

        // Check that there is no more FooService
        ref = osgiHelper.getServiceReference(FooService.class.getName());
View Full Code Here


    // GetComponentInstance
    ComponentInstance instance = pojo.getComponentInstance();
    assertEquals("Check component instance name", instance.getInstanceName(), compName);
    assertEquals("Check component factory name", instance.getFactory().getName(), factName);
    assertNotNull("Instance description not null", instance.getInstanceDescription());
    PrimitiveInstanceDescription id = (PrimitiveInstanceDescription) instance.getInstanceDescription();
    assertTrue("Check instance state", id.getState() == ComponentInstance.VALID);
    assertEquals("Check created pojo count", id.getCreatedObjects().length, 1);
    assertEquals("Check instance description name", id.getName(), compName);
   
    ci.dispose();
   
    // Check that there is no more FooService
    ref = getServiceReference(FooService.class.getName());
View Full Code Here

    }
   
    public void testSimpleDependency() {
        ServiceReference arch_dep = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), instance1.getInstanceName());
        assertNotNull("Check architecture availability", arch_dep);
        PrimitiveInstanceDescription id_dep = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.INVALID);
       
        // Check dependency handler invalidity
        DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
        assertFalse("Check dependency handler invalidity", dhd.isValid());
       
        // Check dependency metadata
        assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
        assertEquals("Check dependency id", dhd.getDependencies()[0].getId(), FooService.class.getName());
        assertFalse("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
        assertFalse("Check dependency optionality", dhd.getDependencies()[0].isOptional());
        assertNull("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences());
        assertFalse("Check dependency proxy", dhd.getDependencies()[0].isProxy());

        fooProvider1.start();
       
        ServiceReference arch_ps = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps);
        PrimitiveInstanceDescription id_ps = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);       
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
       
        ServiceReference cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance1.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        CheckService cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps = ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        ProvidedServiceHandlerDescription psh = getPSDesc(id_ps);
        assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
        assertEquals("Check POJO creation", id_ps.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
       
        fooProvider1.stop();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.INVALID);
        dhd = getDependencyDesc(id_dep);
        assertFalse("Check dependency handler invalidity", dhd.isValid());
       
        fooProvider1.start();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        arch_ps = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps);
        //id_ps = ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);
        psh = getPSDesc(id_ps);
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        assertTrue("Check dependency handler validity", dhd.isValid());
       
        assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
View Full Code Here

    }
   
    public void testProxiedSimpleDependency() {
        ServiceReference arch_dep = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), instance5.getInstanceName());
        assertNotNull("Check architecture availability", arch_dep);
        PrimitiveInstanceDescription id_dep = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.INVALID);
       
        // Check dependency handler invalidity
        DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
        assertFalse("Check dependency handler invalidity", dhd.isValid());
       
        // Check dependency metadata
        assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
        assertEquals("Check dependency id", dhd.getDependencies()[0].getId(), FooService.class.getName());
        assertFalse("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
        assertFalse("Check dependency optionality", dhd.getDependencies()[0].isOptional());
        assertNull("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences());
        assertTrue("Check dependency proxy", dhd.getDependencies()[0].isProxy());
       
        fooProvider1.start();
       
        ServiceReference arch_ps = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps);
        PrimitiveInstanceDescription id_ps = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);              
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
       
        ServiceReference cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance5.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        CheckService cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps = ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        ProvidedServiceHandlerDescription psh = getPSDesc(id_ps);
        assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
        assertEquals("Check POJO creation", id_ps.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
       
        fooProvider1.stop();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.INVALID);
        dhd = getDependencyDesc(id_dep);
        assertFalse("Check dependency handler invalidity", dhd.isValid());
       
        fooProvider1.start();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        arch_ps = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps);
        //id_ps = ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);
        psh = getPSDesc(id_ps);
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        assertTrue("Check dependency handler validity", dhd.isValid());
       
        assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
View Full Code Here

    }
   
    public void testOptionalDependency() {
        ServiceReference arch_dep = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), instance2.getInstanceName());
        assertNotNull("Check architecture availability", arch_dep);
        PrimitiveInstanceDescription id_dep = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.VALID);
       
        // Check dependency handler invalidity
        DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler invalidity", dhd.isValid());
       
        // Check dependency metadata
        assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
        assertEquals("Check dependency id", dhd.getDependencies()[0].getId(), "FooService");
        assertFalse("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
        assertTrue("Check dependency optionality", dhd.getDependencies()[0].isOptional());
        assertNull("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences());
       
        fooProvider1.start();
       
        ServiceReference arch_ps = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps);
        PrimitiveInstanceDescription id_ps = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);       
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
       
        ServiceReference cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance2.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        CheckService cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps = ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        ProvidedServiceHandlerDescription psh = getPSDesc(id_ps);
        assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
        assertEquals("Check POJO creation", id_ps.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
       
        fooProvider1.stop();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler invalidity", dhd.isValid());
       
        fooProvider1.start();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        arch_ps = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps);
        //id_ps = ((Architecture) getContext().getService(arch_ps)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps.getState() == ComponentInstance.VALID);
        psh = getPSDesc(id_ps);
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        assertTrue("Check dependency handler validity", dhd.isValid());
       
        assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
View Full Code Here

    }
   
    public void testMultipleDependency() {
        ServiceReference arch_dep = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), instance3.getInstanceName());
        assertNotNull("Check architecture availability", arch_dep);
        PrimitiveInstanceDescription id_dep = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.INVALID);
       
        // Check dependency handler invalidity
        DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
        DependencyDescription dd = getDependencyDescBySpecification(id_dep, FooService.class.getName());
        assertFalse("Check dependency handler invalidity", dhd.isValid());
        assertTrue("Check dependency invalidity", dd.getState() == Dependency.UNRESOLVED);

       
        // Check dependency metadata
        assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
        assertTrue("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
        assertFalse("Check dependency optionality", dhd.getDependencies()[0].isOptional());
        assertNull("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences());
       
        assertEquals("Check dependency interface", dd.getSpecification(), FooService.class.getName());
        assertTrue("Check dependency cardinality", dd.isMultiple());
        assertFalse("Check dependency optionality", dd.isOptional());
        assertNull("Check dependency ref -1", dd.getServiceReferences());
        assertFalse("Check dependency proxy", dhd.getDependencies()[0].isProxy());

        fooProvider1.start();
       
        ServiceReference arch_ps1 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps1);
        PrimitiveInstanceDescription id_ps1 = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        assertTrue("Check instance validity - 1", id_ps1.getState() == ComponentInstance.VALID);       
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
        assertEquals("Check used ref - 1 (" + dhd.getDependencies()[0].getUsedServices().size() + ")", dhd.getDependencies()[0].getUsedServices().size(), 0);
       
        ServiceReference cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance3.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        CheckService cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        ProvidedServiceHandlerDescription psh = getPSDesc(id_ps1);
        assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
        assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 2", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
       
        // Start a second foo service provider
        fooProvider2.start();
       
        arch_ps1 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        ServiceReference arch_ps2 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider2.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps1);
        assertNotNull("Check architecture 2 availability", arch_ps2);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        PrimitiveInstanceDescription id_ps2 = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_ps2)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
        assertTrue("Check instance 2 invalidity - 1", id_ps2.getState() == ComponentInstance.VALID);
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 3 ", dhd.getDependencies()[0].getServiceReferences().size(), 2);
        assertEquals("Check used ref - 2 ", dhd.getDependencies()[0].getUsedServices().size(), 1); // provider 2 not already used
       
        cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance3.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        //id_ps2 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        ProvidedServiceHandlerDescription psh1 = getPSDesc(id_ps1);
        ProvidedServiceHandlerDescription psh2 = getPSDesc(id_ps2);
        assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
        assertEquals("Check POJO creation", id_ps2.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 3.1", dhd.getDependencies()[0].getUsedServices().contains(psh1.getProvidedServices()[0].getServiceReference()));
        assertTrue("Check service reference - 3.2", dhd.getDependencies()[0].getUsedServices().contains(psh2.getProvidedServices()[0].getServiceReference()));
        assertEquals("Check used ref - 3 ("+dhd.getDependencies()[0].getUsedServices().size()+")", dhd.getDependencies()[0].getUsedServices().size(), 2);
       
        fooProvider2.stop();
       
        arch_ps1 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps1);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        assertTrue("Check instance validity - 1", id_ps1.getState() == ComponentInstance.VALID);       
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
        assertEquals("Check used ref - 4 ", dhd.getDependencies()[0].getUsedServices().size(), 1);
       
        cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance3.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        psh = getPSDesc(id_ps1);
        assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
        assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
        assertEquals("Check used ref - 5 ", dhd.getDependencies()[0].getUsedServices().size(), 1);
       
        fooProvider1.stop();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertFalse("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertFalse("Check dependency handler invalidity", dhd.isValid());
       
        fooProvider2.start();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        arch_ps2 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider2.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps1);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
       
        assertTrue("Check instance invalidity - 1", id_ps2.getState() == ComponentInstance.VALID);
       
        psh = getPSDesc(id_ps2);
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        assertTrue("Check dependency handler validity", dhd.isValid());
       
View Full Code Here

    }
   
    public void testMultipleOptionalDependency() {
        ServiceReference arch_dep = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), instance4.getInstanceName());
        assertNotNull("Check architecture availability", arch_dep);
        PrimitiveInstanceDescription id_dep = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_dep.getState() == ComponentInstance.VALID);
       
        // Check dependency handler invalidity
        DependencyHandlerDescription dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler invalidity", dhd.isValid());
       
        // Check dependency metadata
        assertEquals("Check dependency interface", dhd.getDependencies()[0].getInterface(), FooService.class.getName());
        assertTrue("Check dependency cardinality", dhd.getDependencies()[0].isMultiple());
        assertTrue("Check dependency optionality", dhd.getDependencies()[0].isOptional());
        assertNull("Check dependency ref -1", dhd.getDependencies()[0].getServiceReferences());
       
        fooProvider1.start();
       
        ServiceReference arch_ps1 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps1);
        PrimitiveInstanceDescription id_ps1 = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);       
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
       
        ServiceReference cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance4.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        CheckService cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        ProvidedServiceHandlerDescription psh = getPSDesc(id_ps1);
        assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
        assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 1", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));
       
        // Start a second foo service provider
        fooProvider2.start();
       
        arch_ps1 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        ServiceReference arch_ps2 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider2.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps1);
        assertNotNull("Check architecture 2 availability", arch_ps2);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        PrimitiveInstanceDescription id_ps2 = (PrimitiveInstanceDescription) ((Architecture) getContext().getService(arch_ps2)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);
        assertTrue("Check instance 2 invalidity - 1", id_ps2.getState() == ComponentInstance.VALID);
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 3 ", dhd.getDependencies()[0].getServiceReferences().size(), 2);
       
        cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance4.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        //id_ps2 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        ProvidedServiceHandlerDescription psh1 = getPSDesc(id_ps1);
        ProvidedServiceHandlerDescription psh2 = getPSDesc(id_ps2);
        assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
        assertEquals("Check POJO creation", id_ps2.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 2.1", dhd.getDependencies()[0].getUsedServices().contains(psh1.getProvidedServices()[0].getServiceReference()));
        assertTrue("Check service reference - 2.2", dhd.getDependencies()[0].getUsedServices().contains(psh2.getProvidedServices()[0].getServiceReference()));
       
        fooProvider2.stop();
       
        arch_ps1 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider1.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps1);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps1.getState() == ComponentInstance.VALID);       
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler validity", dhd.isValid());
        assertEquals("Check dependency ref - 2 ", dhd.getDependencies()[0].getServiceReferences().size(), 1);
       
        cs_ref = Utils.getServiceReferenceByName(getContext(), CheckService.class.getName(), instance4.getInstanceName());
        assertNotNull("Check CheckService availability", cs_ref);
        cs = (CheckService) getContext().getService(cs_ref);
        assertTrue("check CheckService invocation", cs.check());
       
        // Check object graph
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        psh = getPSDesc(id_ps1);
        assertEquals("Check Service Reference equality", psh.getProvidedServices()[0].getServiceReference(), dhd.getDependencies()[0].getServiceReference());
        assertEquals("Check POJO creation", id_ps1.getCreatedObjects().length, 1);
        assertTrue("Check service reference - 3", dhd.getDependencies()[0].getUsedServices().contains(psh.getProvidedServices()[0].getServiceReference()));

        fooProvider1.stop();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        assertTrue("Check instance invalidity - 2", id_dep.getState() == ComponentInstance.VALID);
        dhd = getDependencyDesc(id_dep);
        assertTrue("Check dependency handler invalidity", dhd.isValid());
       
        fooProvider2.start();
       
        //id_dep = ((Architecture) getContext().getService(arch_dep)).getInstanceDescription();
        dhd = getDependencyDesc(id_dep);
        arch_ps2 = Utils.getServiceReferenceByName(getContext(), Architecture.class.getName(), fooProvider2.getInstanceName());
        assertNotNull("Check architecture availability", arch_ps2);
        //id_ps1 = ((Architecture) getContext().getService(arch_ps1)).getInstanceDescription();
        assertTrue("Check instance invalidity - 1", id_ps2.getState() == ComponentInstance.VALID);
        psh = getPSDesc(id_ps2);
        assertTrue("Check instance validity", id_dep.getState() == ComponentInstance.VALID);
        assertTrue("Check dependency handler validity", dhd.isValid());
       
        assertEquals("Check dependency ref -3", dhd.getDependencies()[0].getServiceReferences().size(), 1);
View Full Code Here

     * @param instance the instance on which searching the dependency
     * @return the dependency description attached to this dependency or
     * <code>null</code> if the dependency cannot be found.
     */
    public DependencyDescription getDependencyDescription(ComponentInstance instance) {
        PrimitiveInstanceDescription desc = (PrimitiveInstanceDescription) instance.getInstanceDescription();
        if (m_id != null) {
            return desc.getDependency(m_id);
        }
        if (m_specification != null) {
            return desc.getDependency(m_specification);
        }
        DependencyDescription[] deps = desc.getDependencies();
        if (deps.length == 1) {
            return deps[0];
        }
        // Cannot determine the dependency.
        return null;
View Full Code Here

     * the property value
     * @return the property value or <code>null</code>
     * if not found.
     */
    public Object getPropertyValue(ComponentInstance instance) {
        PrimitiveInstanceDescription desc = (PrimitiveInstanceDescription) instance.getInstanceDescription();
        ProvidedServiceDescription[] pss = desc.getProvidedServices();
        for (int i = 0; i < pss.length; i++) {
            // Check with the name
            if (m_name != null && pss[i].getProperties().containsKey(m_name)) {
                return pss[i].getProperties().get(m_name);
            }
View Full Code Here

     * Gets the provided service description associated with the current service.
     * @param instance the instance on which looking for the provided service description
     * @return the provided service description or <code>null</code> if not found.
     */
    public ProvidedServiceDescription getProvidedServiceDescription(ComponentInstance instance) {
        PrimitiveInstanceDescription desc = (PrimitiveInstanceDescription) instance.getInstanceDescription();
        ProvidedServiceDescription[] pss = desc.getProvidedServices();
        if (pss.length == 0) {
            return null;
        }

        if (pss.length == 1) {
View Full Code Here

TOP

Related Classes of org.apache.felix.ipojo.PrimitiveInstanceDescription

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.