private void removeSubModules(Module module, Collection<Module> subModulesToRemove) { if (!subModulesToRemove.isEmpty()) { module.removeSubModules(subModulesToRemove); for (Module grandSubModuleToRemove : subModulesToRemove) { ((BeanModule) grandSubModuleToRemove).setModuleObject(null); } } } }
private void removeModulesFromParent(Module parentModule, Collection<Module> subModulesToRemove) { parentModule.removeSubModules(subModulesToRemove); for (Module module : subModulesToRemove) { if (module instanceof BeanModule) { ((BeanModule) module).setModuleObject(null); } else if (module instanceof BeanCollectionModule) { ((BeanCollectionModule) module).setModuleObjects(null); } } } }
/** * Gets the current module and restarts it. {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { Module module = (Module) getModuleConnector(context).getConnectorValue(); if (module instanceof BeanCollectionModule && module.getSubModules() != null) { List<Module> beanModulesToRemove = new ArrayList<Module>(); for (Module beanModule : module.getSubModules()) { if (beanModule instanceof BeanModule) { ((BeanModule) beanModule).setModuleObject(null); beanModulesToRemove.add(beanModule); } } module.removeSubModules(beanModulesToRemove); } if (module.getStartupAction() != null) { return actionHandler.execute(module.getStartupAction(), context); } return true; } }