Package org.apache.aries.blueprint.di

Examples of org.apache.aries.blueprint.di.Repository


            } else {
                continue;
            }
            // Update repository with recipes processed by the processors
            untrackServiceReferences();
            Repository tmpRepo = new RecipeBuilder(this, tempRecipeIdSpace).createRepository();
           
            LOGGER.debug("Updating blueprint repository");
           
            for (String name : repository.getNames()) {
                if (repository.getInstance(name) == null) {
                    LOGGER.debug("Removing uninstantiated recipe {}", new Object[] { name });
                    repository.removeRecipe(name);
                } else {
                    LOGGER.debug("Recipe {} is already instantiated", new Object[] { name });
                }
            }
           
            for (String name : tmpRepo.getNames()) {
                if (repository.getInstance(name) == null) {
                    LOGGER.debug("Adding new recipe {}", new Object[] { name });
                    Recipe r = tmpRepo.getRecipe(name);
                    if (r != null) {
                        repository.putRecipe(name, r);
                    }
                } else {
                    LOGGER.debug("Recipe {} is already instantiated and cannot be updated", new Object[] { name });
View Full Code Here


            getSatisfiableDependenciesMap(true);
            trackServiceReferences();       
        }
    }
    private void updateUninstantiatedRecipes() {
        Repository tmpRepo = new RecipeBuilder(this, tempRecipeIdSpace).createRepository();
       
        LOGGER.debug("Updating blueprint repository");
       
        for (String name : repository.getNames()) {
            if (repository.getInstance(name) == null) {
                LOGGER.debug("Removing uninstantiated recipe {}", new Object[] { name });
                repository.removeRecipe(name);
            } else {
                LOGGER.debug("Recipe {} is already instantiated", new Object[] { name });
            }
        }
       
        for (String name : tmpRepo.getNames()) {
            if (repository.getInstance(name) == null) {
                LOGGER.debug("Adding new recipe {}", new Object[] { name });
                Recipe r = tmpRepo.getRecipe(name);
                if (r != null) {
                    repository.putRecipe(name, r);
                }
            } else {
                LOGGER.debug("Recipe {} is already instantiated and cannot be updated", new Object[] { name });
View Full Code Here

        }
    }
   
    private Object createRecipe(Recipe recipe) {
        String name = recipe.getName();
        Repository repo = blueprintContainer.getRepository();
        if (repo.getRecipe(name) != recipe) {
            repo.putRecipe(name, recipe);
        }
        return repo.create(name);
    }
View Full Code Here

        }
    }
   
    private Object createRecipe(Recipe recipe) {
        String name = recipe.getName();
        Repository repo = blueprintContainer.getRepository();
        if (repo.getRecipe(name) != recipe) {
            repo.putRecipe(name, recipe);
        }
        return repo.create(name);
    }
View Full Code Here

            @Override
            protected boolean isProxyClass(Class<?> aClass) {
                return false;
            }
        };
        Repository repository = new TestBlueprintContainer(registry, proxyManager).getRepository();
       
        repository.create("refItf");

        try {
            repository.create("refClsErr");
            fail("Should have failed");
        } catch (ComponentDefinitionException e) {

        }

        repository.create("refClsOk");
    }
View Full Code Here

public class BeanLoadingTest extends AbstractBlueprintTest {

    public void testLoadSimpleBean() throws Exception {
        ComponentDefinitionRegistryImpl registry = parse("/test-bean-classes.xml");
        Repository repository = new TestBlueprintContainer(registry)
                .getRepository();

        Object obj = repository.create("simpleBean");
        assertNotNull(obj);
        assertTrue(obj instanceof SimpleBean);
    }
View Full Code Here

        assertTrue(obj instanceof SimpleBean);
    }

    public void testLoadSimpleBeanNested() throws Exception {
        ComponentDefinitionRegistryImpl registry = parse("/test-bean-classes.xml");
        Repository repository = new TestBlueprintContainer(registry)
                .getRepository();

        Object obj = repository.create("simpleBeanNested");
        assertNotNull(obj);
        assertTrue(obj instanceof SimpleBean.Nested);
    }
View Full Code Here

public class WiringTest extends AbstractBlueprintTest {

    public void testWiring() throws Exception {
        ComponentDefinitionRegistryImpl registry = parse("/test-wiring.xml");
        Repository repository = new TestBlueprintContainer(registry).getRepository();
       
        Object obj1 = repository.create("pojoA");
        assertNotNull(obj1);
        assertTrue(obj1 instanceof PojoA);
        PojoA pojoa = (PojoA) obj1;
        // test singleton scope
        assertTrue(obj1 == repository.create("pojoA"));
       
        Object obj2 = repository.create("pojoB");
        assertNotNull(obj2);
        assertTrue(obj2 instanceof PojoB);
        PojoB pojob = (PojoB) obj2;
       
        assertNotNull(pojoa.getPojob());
        assertNotNull(pojoa.getPojob().getUri());
       
        assertNotNull(pojoa.getList());
        assertEquals("list value", pojoa.getList().get(0));
        assertEquals(new Integer(55), pojoa.getList().get(2));
        assertEquals(URI.create("http://geronimo.apache.org"), pojoa.getList().get(3));
        Object c0 = pojoa.getList().get(1);
        Object c1 = pojoa.getList().get(4);
        assertNotNull(c0);
        assertNotNull(c1);
        assertEquals(PojoB.class, c0.getClass());
        assertEquals(PojoB.class, c1.getClass());
        assertNotSame(c0, c1);

        assertNotNull(pojoa.getArray());
        assertEquals("list value", pojoa.getArray()[0]);
        assertEquals(pojob, pojoa.getArray()[1]);
        assertEquals(new Integer(55), pojoa.getArray()[2]);
        assertEquals(URI.create("http://geronimo.apache.org"), pojoa.getArray()[3]);
       
        assertNotNull(pojoa.getSet());
        assertTrue(pojoa.getSet().contains("set value"));
        assertTrue(pojoa.getSet().contains(pojob.getUri()));
        assertTrue(pojoa.getSet().contains(URI.create("http://geronimo.apache.org")));
       
        assertNotNull(pojoa.getMap());
        assertEquals("val", pojoa.getMap().get("key"));
        assertEquals(pojob, pojoa.getMap().get(pojob));     
        assertEquals(URI.create("http://geronimo.apache.org"), pojoa.getMap().get(new Integer(5)));
       
        assertNotNull(pojoa.getProps());
        assertEquals("value1", pojoa.getProps().get("key1"));
        assertEquals("value2", pojoa.getProps().get("2"));
        assertEquals("bar", pojoa.getProps().get("foo"));
       
        assertNotNull(pojoa.getNumber());
        assertEquals(new BigInteger("10"), pojoa.getNumber());
       
        assertNotNull(pojoa.getIntArray());
        assertEquals(3, pojoa.getIntArray().length);
        assertEquals(1, pojoa.getIntArray()[0]);
        assertEquals(50, pojoa.getIntArray()[1]);
        assertEquals(100, pojoa.getIntArray()[2]);
       
        assertNotNull(pojoa.getNumberArray());
        assertEquals(4, pojoa.getNumberArray().length);
        assertEquals(new Integer(1), pojoa.getNumberArray()[0]);
        assertEquals(new BigInteger("50"), pojoa.getNumberArray()[1]);
        assertEquals(new Long(100), pojoa.getNumberArray()[2]);
        assertEquals(new Integer(200), pojoa.getNumberArray()[3]);
       
        // test init-method
        assertEquals(true, pojob.getInitCalled());
       
        // test service
        Object obj3 = repository.create("service1");
        assertNotNull(obj3);
        assertTrue(obj3 instanceof ServiceRegistration);   

        ExecutionContext.Holder.setContext((ExecutionContext) repository);
        for(Recipe r : ((ServiceRecipe)repository.getRecipe("service1")).getDependencies()) {
          if(r instanceof MapRecipe) {
            Map m = (Map) r.create();
            assertEquals("value1", m.get("key1"));
            assertEquals("value2", m.get("key2"));
            assertTrue(m.get("key3") instanceof List);
          }
        }
        ExecutionContext.Holder.setContext(null);
       
        // tests 'prototype' scope
        Object obj4 = repository.create("pojoC");
        assertNotNull(obj4);
       
        assertTrue(obj4 != repository.create("pojoC"));
       
        repository.destroy();
       
        // test destroy-method
        assertEquals(true, pojob.getDestroyCalled());
    }
View Full Code Here

        assertEquals(true, pojob.getDestroyCalled());
    }
   
    public void testSetterDisambiguation() throws Exception {
        ComponentDefinitionRegistryImpl registry = parse("/test-wiring.xml");
        Repository repository = new TestBlueprintContainer(registry).getRepository();

        AmbiguousPojo pojo = (AmbiguousPojo) repository.create("ambiguousViaInt");
        assertEquals(5, pojo.getSum());
       
        pojo = (AmbiguousPojo) repository.create("ambiguousViaList");
        assertEquals(7, pojo.getSum());
       
       
    }
View Full Code Here

       
    }
   
    public void testFieldInjection() throws Exception {
      ComponentDefinitionRegistryImpl registry = parse("/test-wiring.xml");
      Repository repository = new TestBlueprintContainer(registry).getRepository();
     
      Object fiTestBean = repository.create("FITestBean");
      assertNotNull(fiTestBean);
      assertTrue(fiTestBean instanceof FITestBean);
     
      FITestBean bean = (FITestBean) fiTestBean;
      // single field injection
      assertEquals("value", bean.getAttr());
      // prefer setter injection to field injection
      assertEquals("IS_LOWER", bean.getUpperCaseAttr());
      // support cascaded injection 'bean.name' via fields
      assertEquals("aName", bean.getBeanName());
     
      // fail if field-injection is not specified
      try {
          repository.create("FIFailureTestBean");
          Assert.fail("Expected exception");
      } catch (ComponentDefinitionException cde) {}
     
      // fail if field-injection is false
      try {
          repository.create("FIFailureTest2Bean");
          Assert.fail("Expected exception");
      } catch (ComponentDefinitionException cde) {}
    }
View Full Code Here

TOP

Related Classes of org.apache.aries.blueprint.di.Repository

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.