moduleInfo.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(ModuleInfo.PROP_ENABLED )) {
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); } } }
@Messages({ "HpiPluginWarning_problem_displayName=Missing Hudson/Jenkins plugin support", "HpiPluginWarning_problem_description=Hudson/Jenkins plugin development support was removed from NetBeans 7.3. Install https://github.com/stapler/netbeans-stapler-plugin (available from Plugin Portal).", "HpiPluginWarning_unresolved=Automated installation from Plugin Portal not yet implemented; install the “Jenkins Plugin Support” and “Stapler Support” plugins." }) @Override public Collection<? extends ProjectProblem> getProblems() { for (ModuleInfo mi : modules.allInstances()) { if (mi.getCodeNameBase().equals("org.kohsuke.stapler.netbeans.jenkinsdev")) { if (mi.isEnabled()) { return Collections.emptySet(); } else { mi.addPropertyChangeListener(WeakListeners.propertyChange(this, mi)); // XXX better to display a specialized warning continue; } } } return Collections.singleton(ProjectProblem.createWarning(HpiPluginWarning_problem_displayName(), HpiPluginWarning_problem_description(), new ProjectProblemResolverImpl())); }