@Override public String toString() { return "Bundle[" + module.getIdentity() + "]"; } }
public String toString() { return "ModuleContext[" + module.getIdentity() + "]"; } }
private ServiceFactoryHolder<S> getFactoryHolder(Module module) { return factoryValues != null ? factoryValues.get(module.getIdentity()) : null; }
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { PrintWriter out = res.getWriter(); out.print(module.getIdentity().getSymbolicName()); out.close(); } }
@Override public final Module getModule(ResourceIdentity identity) { for (Module module : modules.values()) { if (module.getIdentity().equals(identity)) return module; } return null; }
EmbeddedLogService(Module module) { LOGGER = LoggerFactory.getLogger(module.getIdentity().toString()); }
@Override public String getLocation() { return module.getIdentity().toString(); }
@Override public String toString() { return "BundleContext[" + moduleContext.getModule().getIdentity() + "]"; }
private File getStorageDir(Module module) { String identity = module.getIdentity().toString().replace(':', '-').replace('/', '-'); File moduleDir = new File(storageArea + "/module-" + identity); if (moduleDir.exists() == false) moduleDir.mkdirs(); String filePath = moduleDir.getAbsolutePath(); try { filePath = moduleDir.getCanonicalPath(); } catch (IOException ex) { // ignore } return new File(filePath); }
@Override public String getSymbolicName() { return module.getIdentity().getSymbolicName(); }
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException { PrintWriter out = res.getWriter(); String type = req.getParameter("test"); if ("param".equals(type)) { String value = req.getParameter("param"); out.print("Hello: " + value); } else if ("init".equals(type)) { String key = req.getParameter("init"); String value = getInitParameter(key); out.print(key + "=" + value); } else if ("module".equals(type)) { out.print(module.getIdentity()); } else { throw new IllegalArgumentException("Invalid 'test' parameter: " + type); } out.close(); } }
private ObjectName getObjectName(Module module) throws MalformedObjectNameException { ResourceIdentity identity = module.getIdentity(); return new ObjectName("test:name=" + identity.getSymbolicName() + ",version=" + identity.getVersion()); } }
private ObjectName getObjectName(Module module) throws MalformedObjectNameException { ResourceIdentity identity = module.getIdentity(); return new ObjectName("test:name=" + identity.getSymbolicName() + ",version=" + identity.getVersion()); } }
private ObjectName getObjectName(Module module) throws MalformedObjectNameException { ResourceIdentity identity = module.getIdentity(); return new ObjectName("test:name=" + identity.getSymbolicName() + ",version=" + identity.getVersion()); }
@Override public Set<Module> getModules(String symbolicName, VersionRange range) { Set<Module> result = getModules(); Iterator<Module> iterator = result.iterator(); while(iterator.hasNext()) { ResourceIdentity modid = iterator.next().getIdentity(); if (symbolicName != null && !symbolicName.equals(modid.getSymbolicName())) { iterator.remove(); } if (range != null && !range.includes(modid.getVersion())) { iterator.remove(); } } return result; }
protected void doShutdown() { for (Module module : getModules()) { if (!module.getIdentity().equals(systemIdentity)) { module.uninstall(); } } }
@Override public Version getVersion() { String version = module.getIdentity().getVersion().toString(); return Version.parseVersion(version); }
S getScopedValue(Module module) { // For non-factory services, return the value if (valueProvider.isFactoryValue() == false) return valueProvider.getValue(); S result = null; // [TODO] #46 Remove workaround for Endless loop on class defined failed // https://issues.jboss.org/browse/LOGMGR-88 ClassLoader tccl = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader(null); try { ServiceFactoryHolder<S> factoryHolder = getFactoryHolder(module); if (factoryHolder == null) { ServiceFactory factory = (ServiceFactory) valueProvider.getValue(); factoryHolder = new ServiceFactoryHolder<S>(module, factory); factoryValues.put(module.getIdentity(), factoryHolder); } result = factoryHolder.getService(); } catch (Throwable th) { String message = "Cannot get factory value from: " + this; ServiceException ex = new ServiceException(message, ServiceException.FACTORY_EXCEPTION, th); LOGGER.error(message, ex); } } finally { Thread.currentThread().setContextClassLoader(tccl); } return result; }