private void logModules(Report report) { for (ModuleInfo m : Lookup.getDefault().lookupAll(ModuleInfo.class)) { String moduleStr = ""; SpecificationVersion specVersion = m.getSpecificationVersion(); if (specVersion != null) { moduleStr = m.getCodeName() + " [" + specVersion.toString() + "]"; } else { moduleStr = m.getCodeName(); } if (m.isEnabled()) { report.addEnabledModule(moduleStr); } else { report.addDisabledModule(moduleStr); } } }
private static void initImageIO() { // todo - actually this should be done in the activator of ceres-jai which does not exist yet Lookup.Result<ModuleInfo> moduleInfos = Lookup.getDefault().lookupResult(ModuleInfo.class); String ceresJaiCodeName = "org.esa.snap.ceres.jai"; Optional<? extends ModuleInfo> info = moduleInfos.allInstances().stream().filter( moduleInfo -> ceresJaiCodeName.equals(moduleInfo.getCodeName())).findFirst(); if (info.isPresent()) { ClassLoader classLoader = info.get().getClassLoader(); IIORegistry iioRegistry = IIORegistry.getDefaultInstance(); iioRegistry.registerServiceProviders(IIORegistry.lookupProviders(ImageReaderSpi.class, classLoader)); iioRegistry.registerServiceProviders(IIORegistry.lookupProviders(ImageWriterSpi.class, classLoader)); } else { LOG.warning(String.format("Module '%s' not found. Not able to load image-IO services.", ceresJaiCodeName)); } }
sb.append(info.getDisplayName()); sb.append('('); //NOI18N sb.append(info.getCodeName()); sb.append(")\n"); //NOI18N
private static void startModuleSpy (final ModuleSpy spy) { // trying to hang a listener on monitor module res = Lookup.getDefault().lookup(new Lookup.Template(ModuleInfo.class)); java.util.Iterator it = res.allInstances ().iterator (); final String moduleId = spy.getModuleId(); boolean found = false; while (it.hasNext ()) { org.openide.modules.ModuleInfo mi = (ModuleInfo)it.next (); if (mi.getCodeName ().startsWith(moduleId)) { httpMonitorInfo=mi; spy.setEnabled(mi.isEnabled()); monitorInfoListener = new MonitorInfoListener(spy); httpMonitorInfo.addPropertyChangeListener(monitorInfoListener); found=true; break; } } // hanging a listener to the lookup result monitorLookupListener = new MonitorLookupListener(spy,httpMonitorInfo); res.addLookupListener(monitorLookupListener); }
public void resultChanged(LookupEvent lookupEvent) { java.util.Iterator it = res.allInstances ().iterator (); boolean moduleFound=false; while (it.hasNext ()) { ModuleInfo mi = (ModuleInfo)it.next (); if (mi.getCodeName ().startsWith(spy.getModuleId())) { spy.setEnabled(mi.isEnabled()); if (httpMonitorInfo==null) { httpMonitorInfo=mi; monitorInfoListener = new MonitorInfoListener(spy); httpMonitorInfo.addPropertyChangeListener(monitorInfoListener); } moduleFound=true; break; } } if (!moduleFound) { if (httpMonitorInfo!=null) { httpMonitorInfo.removePropertyChangeListener(monitorInfoListener); httpMonitorInfo=null; spy.setEnabled(false); } } }