Package org.jboss.forge.furnace.addons

Examples of org.jboss.forge.furnace.addons.AddonRegistry


   }

   @Test
   public void testMissingTypedLookupReturnsEmptyInstance() throws Exception
   {
      AddonRegistry registry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();
      Imported<AddonDependencyEntry> instance = registry.getServices(AddonDependencyEntry.class);
      Assert.assertNotNull(instance);
      Assert.assertFalse(instance.isAmbiguous());
      Assert.assertTrue(instance.isUnsatisfied());
   }
View Full Code Here


   }

   @Test
   public void testTypedLookupReturnsProperType() throws Exception
   {
      AddonRegistry registry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();
      Imported<PublishedService> instance = registry.getServices(PublishedService.class);
      Assert.assertNotNull(instance);
      PublishedService service = instance.get();
      Assert.assertNotNull(service);
   }
View Full Code Here

   }

   @Test
   public void testTypedLookupCanBeIterated() throws Exception
   {
      AddonRegistry registry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();
      Imported<PublishedService> instance = registry.getServices(PublishedService.class);
      Assert.assertFalse(instance.isAmbiguous());
      Assert.assertFalse(instance.isUnsatisfied());
      Iterator<PublishedService> iterator = instance.iterator();
      Assert.assertTrue(iterator.hasNext());
      Assert.assertNotNull(iterator.next());
View Full Code Here

   }

   @Test(expected = IllegalStateException.class)
   public void testGetWhenAmbiguousThrowsException() throws Exception
   {
      AddonRegistry registry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();
      Imported<PublishedService> instance = registry.getServices(PublishedService.class.getName());
      Assert.assertTrue(instance.isAmbiguous());
      instance.get();
   }
View Full Code Here

   }

   @Test
   public void testNameLookupReturnsAllMatches() throws Exception
   {
      AddonRegistry registry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();
      Imported<PublishedService> instance = registry.getServices(PublishedService.class.getName());
      Assert.assertTrue(instance.isAmbiguous());
      Assert.assertFalse(instance.isUnsatisfied());

      Assert.assertNotNull(instance);
      Iterator<PublishedService> iterator = instance.iterator();
View Full Code Here

   }

   @Test
   public void testAmbiguousSelect() throws Exception
   {
      AddonRegistry registry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();
      Imported<PublishedService> instance = registry.getServices(PublishedService.class.getName());
      Assert.assertTrue(instance.isAmbiguous());
      PublishedService service = instance.selectExact(PublishedService.class);
      Assert.assertNotNull(service);
   }
View Full Code Here

   }

   @Test(expected = IllegalStateException.class)
   public void testAmbiguousGetThrowsException() throws Exception
   {
      AddonRegistry registry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();
      Imported<PublishedService> instance = registry.getServices(PublishedService.class.getName());
      Assert.assertTrue(instance.isAmbiguous());
      instance.get();
      Assert.fail("Should not have been able to resolve.");
   }
View Full Code Here

   }

   @Test
   public void testServiceWithExpectedObjectsDifferentClassLoaders() throws Exception
   {
      AddonRegistry addonRegistry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();

      AddonId depOneId = AddonId.from("test:dep1", "1");
      AddonId depTwoId = AddonId.from("test:dep2", "2");

      Addon depOne = addonRegistry.getAddon(depOneId);
      Addon depTwo = addonRegistry.getAddon(depTwoId);

      ServiceRegistry depOneServiceRegistry = depOne.getServiceRegistry();
      ServiceRegistry depTwoServiceRegistry = depTwo.getServiceRegistry();

      Assert.assertTrue(depOneServiceRegistry.hasService(Aa.class));
      Assert.assertFalse(depOneServiceRegistry.hasService(BB.class));
      Assert.assertFalse(depTwoServiceRegistry.hasService(Aa.class));
      Assert.assertTrue(depTwoServiceRegistry.hasService(BB.class));

      Assert.assertNull(depOneServiceRegistry.getExportedInstance(BB.class.getName()));
      Assert.assertNull(depTwoServiceRegistry.getExportedInstance(Aa.class.getName()));

      Assert.assertNotNull(depOneServiceRegistry.getExportedInstance(Aa.class.getName()));
      Assert.assertNotNull(depTwoServiceRegistry.getExportedInstance(BB.class.getName()));

      Imported<Aa> services = addonRegistry.getServices(Aa.class);
      Assert.assertFalse("Imported<Aa> should have been satisfied", services.isUnsatisfied());
      Assert.assertFalse("Imported<Aa> should not have been ambiguous", services.isAmbiguous());
      Iterator<Aa> iterator = services.iterator();
      Assert.assertTrue(iterator.hasNext());
      Assert.assertThat(iterator.next(), is(instanceOf(Aa.class)));
      Assert.assertFalse(iterator.hasNext());

      Imported<BB> services2 = addonRegistry.getServices(BB.class);
      Assert.assertFalse("Imported<BB> should have been satisfied", services2.isUnsatisfied());
      Assert.assertFalse("Imported<BB> should not have been ambiguous", services2.isAmbiguous());
      Iterator<BB> iterator2 = services2.iterator();
      Assert.assertTrue(iterator2.hasNext());
      Assert.assertThat(iterator2.next(), is(instanceOf(BB.class)));
View Full Code Here

   }

   @Test
   public void testServiceWithExpectedObjectsDifferentClassLoaders() throws Exception
   {
      AddonRegistry addonRegistry = SimpleContainer.getFurnace(this.getClass().getClassLoader()).getAddonRegistry();

      AddonId depOneId = AddonId.from("test:dep1", "1");
      AddonId depTwoId = AddonId.from("test:dep2", "2");

      Addon depOne = addonRegistry.getAddon(depOneId);
      Addon depTwo = addonRegistry.getAddon(depTwoId);

      ServiceRegistry depOneServiceRegistry = depOne.getServiceRegistry();
      ServiceRegistry depTwoServiceRegistry = depTwo.getServiceRegistry();

      Assert.assertTrue(depOneServiceRegistry.hasService(PublishedService.class));
      Assert.assertFalse(depOneServiceRegistry.hasService(PublishedServiceSubtype.class));
      Assert.assertTrue(depTwoServiceRegistry.hasService(PublishedService.class));
      Assert.assertTrue(depTwoServiceRegistry.hasService(PublishedServiceSubtype.class));

      Assert.assertNotNull(depOneServiceRegistry.getExportedInstance(PublishedService.class.getName()));
      Assert.assertNotNull(depTwoServiceRegistry.getExportedInstance(PublishedService.class.getName()));
      Assert.assertNull(depOneServiceRegistry.getExportedInstance(PublishedServiceSubtype.class.getName()));
      Assert.assertNotNull(depTwoServiceRegistry.getExportedInstance(PublishedServiceSubtype.class.getName()));

      Imported<PublishedService> services = addonRegistry.getServices(PublishedService.class);
      Assert.assertFalse("Imported<PublishedService> should have been satisfied", services.isUnsatisfied());
      Assert.assertTrue("Imported<PublishedService> should have been ambiguous", services.isAmbiguous());
      Iterator<PublishedService> iterator = services.iterator();
      Assert.assertTrue(iterator.hasNext());
      Assert.assertThat(iterator.next(), is(instanceOf(PublishedService.class)));
      Assert.assertTrue(iterator.hasNext());
      Assert.assertThat(iterator.next(), is(instanceOf(PublishedService.class)));

      Imported<PublishedServiceSubtype> services2 = addonRegistry.getServices(PublishedServiceSubtype.class);
      Assert.assertFalse("Imported<PublishedServiceSubtype> should have been satisfied", services2.isUnsatisfied());
      Assert.assertFalse("Imported<PublishedServiceSubtype> should not have been ambiguous", services2.isAmbiguous());
      Iterator<PublishedServiceSubtype> iterator2 = services2.iterator();
      Assert.assertTrue(iterator2.hasNext());
      Assert.assertThat(iterator2.next(), is(instanceOf(PublishedServiceSubtype.class)));
View Full Code Here

   }

   @Test(expected = ContainerException.class)
   public void testDoesNotResolveNonService() throws Exception
   {
      AddonRegistry registry = LocalServices.getFurnace(getClass().getClassLoader())
               .getAddonRegistry();

      Imported<MockServiceConsumer> importedByName = registry.getServices(MockServiceConsumer.class.getName());
      Assert.assertTrue(importedByName.isUnsatisfied());
      importedByName.get();
   }
View Full Code Here

TOP

Related Classes of org.jboss.forge.furnace.addons.AddonRegistry

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.