@Override public void stop(ModuleContext context) throws Exception { MBeanServer server = ServiceLocator.getRequiredService(context, MBeanServer.class); server.unregisterMBean(getObjectName(context.getModule())); }
public static <T> T getRequiredService(ModuleContext moduleContext, Class<T> type) { T service = getService(moduleContext, type); IllegalStateAssertion.assertNotNull(service, "Service not available: " + type.getName()); return service; }
public static <T> T awaitService(ModuleContext moduleContext, Class<T> type) { return awaitService(moduleContext, type, null, DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS); }
@Override public void stop(ModuleContext context) throws Exception { MBeanServer server = ServiceLocator.getRequiredService(context, MBeanServer.class); server.unregisterMBean(getObjectName(context.getModule())); }
protected void loadInitialConfigurations(ModuleContext syscontext) { ConfigurationAdmin configAdmin = ServiceLocator.getService(ConfigurationAdmin.class); if (configAdmin != null) { String configs = (String) getProperty(Constants.RUNTIME_CONFIGURATIONS_DIR); if (configs != null) { File configsDir = Paths.get(configs).toFile(); if (configsDir.isDirectory()) { initConfigurationAdmin(syscontext, configsDir.getAbsoluteFile()); } else { LOGGER.warn("Invalid configuration directory: {}", configsDir); } } } }
public static <T> T awaitService(Class<T> type, String filterspec, long timeout, TimeUnit unit) { ModuleContext moduleContext = RuntimeLocator.getRequiredRuntime().getModuleContext(); return awaitService(moduleContext, type, filterspec, timeout, unit); }
public static <T> T getRequiredService(Class<T> type) { return getRequiredService(RuntimeLocator.getRequiredRuntime().getModuleContext(), type); }
public static <T> T awaitService(Class<T> type) { ModuleContext moduleContext = RuntimeLocator.getRequiredRuntime().getModuleContext(); return awaitService(moduleContext, type, null, DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS); }
IllegalArgumentAssertion.assertTrue(configsDir.isDirectory(), "Invalid configuration directory: " + configsDir); ConfigurationAdmin configAdmin = ServiceLocator.getRequiredService(ConfigurationAdmin.class);
public static <T> T awaitService(Class<T> type, String filterspec) { ModuleContext moduleContext = RuntimeLocator.getRequiredRuntime().getModuleContext(); return awaitService(moduleContext, type, filterspec, DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS); }
@Override public void start(final ModuleContext context) throws Exception { MBeanServer server = ServiceLocator.getRequiredService(context, MBeanServer.class); ModuleStateA moduleState = new ModuleStateA() { @Override public String getModuleState() { return context.getModule().getState().toString(); } }; StandardMBean mbean = new StandardMBean(moduleState, ModuleStateA.class); server.registerMBean(mbean, getObjectName(context.getModule())); }
public static <T> T awaitService(Class<T> type, long timeout, TimeUnit unit) { ModuleContext moduleContext = RuntimeLocator.getRequiredRuntime().getModuleContext(); return awaitService(moduleContext, type, null, timeout, unit); }
@Override public void start(final ModuleContext context) throws Exception { MBeanServer server = ServiceLocator.getRequiredService(context, MBeanServer.class); ModuleStateB moduleState = new ModuleStateB() { @Override public String getModuleState() { return context.getModule().getState().toString(); } }; StandardMBean mbean = new StandardMBean(moduleState, ModuleStateB.class); server.registerMBean(mbean, getObjectName(context.getModule())); }
@Test public void testRepositoryContent() throws Exception { Requirement freq = new IdentityRequirementBuilder("camel.core.feature", (String) null).getRequirement(); Repository repository = ServiceLocator.getRequiredService(Repository.class); Collection<Capability> providers = repository.findProviders(freq); Assert.assertEquals("One provider", 1, providers.size()); } }
@Test public void testServletThroughSystemContext() throws Exception { Runtime runtime = RuntimeLocator.getRequiredRuntime(); Module module = runtime.getModule(getClass().getClassLoader()); HttpService httpService = ServiceLocator.getRequiredService(HttpService.class); String reqspec = "/gravia/servlet?test=module"; // Verify that the alias is not yet available assertNotAvailable(reqspec); // Register the test servlet and make a call String servletAlias = getRuntimeAwareAlias("/servlet"); httpService.registerServlet(servletAlias, new HttpServiceServlet(module), null, null); Assert.assertEquals("http-service:1.0.0", performCall(reqspec)); // Unregister the servlet alias httpService.unregister(servletAlias); assertNotAvailable(reqspec); // Verify that the alias is not available any more assertNotAvailable(reqspec); }
/** * Provision a resource from an input stream. * * The client controlls the resource identity * The installed resource is self sufficient - no additional dependency mapping needed. */ @Test public void testProvisionStreamResource() throws Exception { Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class); ResourceIdentity identityA = ResourceIdentity.fromString(RESOURCE_A); ResourceBuilder builderA = provisioner.getContentResourceBuilder(identityA, deployer.getDeployment(RESOURCE_A)); ResourceHandle handle = provisioner.installResource(builderA.getResource()); try { // Verify that the module got installed Runtime runtime = RuntimeLocator.getRequiredRuntime(); Module module = runtime.getModule(identityA); Assert.assertNotNull("Module not null", module); Assert.assertEquals("ACTIVE " + module, State.ACTIVE, module.getState()); // Verify that the module activator was called MBeanServer server = ServiceLocator.getRequiredService(MBeanServer.class); Assert.assertTrue("MBean registered", server.isRegistered(getObjectName(module))); Assert.assertEquals("ACTIVE", server.getAttribute(getObjectName(module), "ModuleState")); } finally { handle.uninstall(); } }
public void testSharedStreamResource() throws Exception { List<ResourceHandle> handles = new ArrayList<>(); Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class); ResourceIdentity identityB = ResourceIdentity.fromString(RESOURCE_B); ResourceBuilder builderB = provisioner.getContentResourceBuilder(identityB, deployer.getDeployment(RESOURCE_B)); MBeanServer server = ServiceLocator.getRequiredService(MBeanServer.class); Assert.assertTrue("MBean registered", server.isRegistered(getObjectName(moduleB1))); Assert.assertEquals("ACTIVE", server.getAttribute(getObjectName(moduleB1), "ModuleState"));
@Test public void testModuleLifecycle() throws Exception { // Verify that the Runtime service is registered Runtime runtime = ServiceLocator.getRequiredService(Runtime.class); Module modA = runtime.getModule(getClass().getClassLoader()); Assert.assertEquals(Module.State.ACTIVE, modA.getState()); String symbolicName = modA.getHeaders().get("Bundle-SymbolicName"); Assert.assertEquals("simple-module", symbolicName); ModuleContext context = modA.getModuleContext(); Module sysmodule = runtime.getModule(0); symbolicName = sysmodule.getHeaders().get("Bundle-SymbolicName"); Assert.assertNotNull("System bundle symbolic name not null", symbolicName); ServiceReference<String> sref = context.getServiceReference(String.class); String service = context.getService(sref); Assert.assertEquals("Hello", service); modA.stop(); Assert.assertEquals(Module.State.INSTALLED, modA.getState()); modA.uninstall(); Assert.assertEquals(Module.State.UNINSTALLED, modA.getState()); try { modA.start(); Assert.fail("IllegalStateException expected"); } catch (IllegalStateException ex) { // expected } }
public void testMultipleContentCapabilities() throws Exception { Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class); MBeanServer server = ServiceLocator.getRequiredService(MBeanServer.class); Assert.assertTrue("MBean registered", server.isRegistered(getObjectName(module))); Assert.assertEquals("ACTIVE", server.getAttribute(getObjectName(module), "ModuleState"));
public void testAbstractFeature() throws Exception { Provisioner provisioner = ServiceLocator.getRequiredService(Provisioner.class);