@Override public void setInitialBundleStartLevel(int startlevel) { checkAdminPermission(getBundle(), AdminPermission.STARTLEVEL); if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } moduleDatabase.setInitialModuleStartLevel(startlevel); }
@Override public void setInitialBundleStartLevel(int startlevel) { checkAdminPermission(getBundle(), AdminPermission.STARTLEVEL); if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } moduleDatabase.setInitialModuleStartLevel(startlevel); }
@Override public void setInitialBundleStartLevel(int startlevel) { checkAdminPermission(getBundle(), AdminPermission.STARTLEVEL); if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } moduleDatabase.setInitialModuleStartLevel(startlevel); }
@Override public void setInitialBundleStartLevel(int startlevel) { checkAdminPermission(getBundle(), AdminPermission.STARTLEVEL); if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } moduleDatabase.setInitialModuleStartLevel(startlevel); }
@Override public void setInitialBundleStartLevel(int startlevel) { checkAdminPermission(getBundle(), AdminPermission.STARTLEVEL); if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } moduleDatabase.setInitialModuleStartLevel(startlevel); }
@Override public void setInitialBundleStartLevel(int startlevel) { checkAdminPermission(getBundle(), AdminPermission.STARTLEVEL); if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } moduleDatabase.setInitialModuleStartLevel(startlevel); }
@Override public void setStartLevel(int startlevel, FrameworkListener... listeners) { checkAdminPermission(getBundle(), AdminPermission.STARTLEVEL); if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } if (activeStartLevel.get() == 0) { throw new IllegalStateException(Msg.ModuleContainer_SystemNotActiveError); } if (debugStartLevel) { Debug.println("StartLevel: setStartLevel: " + startlevel); //$NON-NLS-1$ } // queue start level operation in the background // notice that we only do one start level operation at a time CopyOnWriteIdentityMap<Module, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<>(); dispatchListeners.put(moduleDatabase.getModule(0), listeners); ListenerQueue<Module, FrameworkListener[], Integer> queue = new ListenerQueue<>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the start level job queue.dispatchEventAsynchronous(FRAMEWORK_STARTLEVEL, startlevel); }
@Override public boolean resolveBundles(Collection<Bundle> bundles) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); resolve(modules, false); if (modules == null) { modules = ModuleContainer.this.getModules(); } for (Module module : modules) { if (getWiring(module.getCurrentRevision()) == null) return false; } return true; }
@Override public boolean resolveBundles(Collection<Bundle> bundles) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); resolve(modules, false); if (modules == null) { modules = ModuleContainer.this.getModules(); } for (Module module : modules) { if (getWiring(module.getCurrentRevision()) == null) return false; } return true; }
@Override public boolean resolveBundles(Collection<Bundle> bundles) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); resolve(modules, false); if (modules == null) { modules = ModuleContainer.this.getModules(); } for (Module module : modules) { if (getWiring(module.getCurrentRevision()) == null) return false; } return true; }
@Override public boolean resolveBundles(Collection<Bundle> bundles) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); resolve(modules, false); if (modules == null) { modules = ModuleContainer.this.getModules(); } for (Module module : modules) { if (getWiring(module.getCurrentRevision()) == null) return false; } return true; }
@Override public boolean resolveBundles(Collection<Bundle> bundles) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); resolve(modules, false); if (modules == null) { modules = ModuleContainer.this.getModules(); } for (Module module : modules) { if (getWiring(module.getCurrentRevision()) == null) return false; } return true; }
@Override public boolean resolveBundles(Collection<Bundle> bundles) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); resolve(modules, false); if (modules == null) { modules = ModuleContainer.this.getModules(); } for (Module module : modules) { if (getWiring(module.getCurrentRevision()) == null) return false; } return true; }
void setStartLevel(Module module, int startlevel) { checkAdminPermission(module.getBundle(), AdminPermission.EXECUTE); if (module.getId() == 0) { throw new IllegalArgumentException(Msg.ModuleContainer_SystemStartLevelError); } if (startlevel < 1) { throw new IllegalArgumentException(Msg.ModuleContainer_NegativeStartLevelError + startlevel); } if (module.getStartLevel() == startlevel) { return; // do nothing } moduleDatabase.setStartLevel(module, startlevel); // queue start level operation in the background // notice that we only do one start level operation at a time CopyOnWriteIdentityMap<Module, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<Module, FrameworkListener[]>(); dispatchListeners.put(module, new FrameworkListener[0]); ListenerQueue<Module, FrameworkListener[], Integer> queue = new ListenerQueue<Module, FrameworkListener[], Integer>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the start level job queue.dispatchEventAsynchronous(MODULE_STARTLEVEL, startlevel); }
@Override public void refreshBundles(Collection<Bundle> bundles, FrameworkListener... listeners) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); // queue to refresh in the background // notice that we only do one refresh operation at a time CopyOnWriteIdentityMap<ContainerWiring, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<ModuleContainer.ContainerWiring, FrameworkListener[]>(); dispatchListeners.put(this, listeners); ListenerQueue<ContainerWiring, FrameworkListener[], Collection<Module>> queue = new ListenerQueue<ModuleContainer.ContainerWiring, FrameworkListener[], Collection<Module>>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the refresh job queue.dispatchEventAsynchronous(0, modules); }
@Override public void refreshBundles(Collection<Bundle> bundles, FrameworkListener... listeners) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); // queue to refresh in the background // notice that we only do one refresh operation at a time CopyOnWriteIdentityMap<ContainerWiring, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<ModuleContainer.ContainerWiring, FrameworkListener[]>(); dispatchListeners.put(this, listeners); ListenerQueue<ContainerWiring, FrameworkListener[], Collection<Module>> queue = new ListenerQueue<ModuleContainer.ContainerWiring, FrameworkListener[], Collection<Module>>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the refresh job queue.dispatchEventAsynchronous(0, modules); }
@Override public void refreshBundles(Collection<Bundle> bundles, FrameworkListener... listeners) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); // queue to refresh in the background // notice that we only do one refresh operation at a time CopyOnWriteIdentityMap<ContainerWiring, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<ModuleContainer.ContainerWiring, FrameworkListener[]>(); dispatchListeners.put(this, listeners); ListenerQueue<ContainerWiring, FrameworkListener[], Collection<Module>> queue = new ListenerQueue<ModuleContainer.ContainerWiring, FrameworkListener[], Collection<Module>>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the refresh job queue.dispatchEventAsynchronous(0, modules); }
@Override public void refreshBundles(Collection<Bundle> bundles, FrameworkListener... listeners) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); // queue to refresh in the background // notice that we only do one refresh operation at a time CopyOnWriteIdentityMap<ContainerWiring, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<ModuleContainer.ContainerWiring, FrameworkListener[]>(); dispatchListeners.put(this, listeners); ListenerQueue<ContainerWiring, FrameworkListener[], Collection<Module>> queue = new ListenerQueue<ModuleContainer.ContainerWiring, FrameworkListener[], Collection<Module>>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the refresh job queue.dispatchEventAsynchronous(0, modules); }
@Override public void refreshBundles(Collection<Bundle> bundles, FrameworkListener... listeners) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); // queue to refresh in the background // notice that we only do one refresh operation at a time CopyOnWriteIdentityMap<ContainerWiring, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<>(); dispatchListeners.put(this, listeners); ListenerQueue<ContainerWiring, FrameworkListener[], Collection<Module>> queue = new ListenerQueue<>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the refresh job queue.dispatchEventAsynchronous(0, modules); }
@Override public void refreshBundles(Collection<Bundle> bundles, FrameworkListener... listeners) { checkAdminPermission(getBundle(), AdminPermission.RESOLVE); Collection<Module> modules = getModules(bundles); // queue to refresh in the background // notice that we only do one refresh operation at a time CopyOnWriteIdentityMap<ContainerWiring, FrameworkListener[]> dispatchListeners = new CopyOnWriteIdentityMap<>(); dispatchListeners.put(this, listeners); ListenerQueue<ContainerWiring, FrameworkListener[], Collection<Module>> queue = new ListenerQueue<>(getManager()); queue.queueListeners(dispatchListeners.entrySet(), this); // dispatch the refresh job queue.dispatchEventAsynchronous(0, modules); }