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); } } } }
private Collection<Module> cleanComponentsFromModules(Module module, Collection<?> componentsToDelete) { if (module instanceof BeanCollectionModule) { List<?> moduleObjects = ((BeanCollectionModule) module).getModuleObjects(); if (moduleObjects != null) { for (Object componentToDelete : componentsToDelete) { if (moduleObjects.contains(componentToDelete)) { ((BeanCollectionModule) module).removeFromModuleObjects(componentToDelete); } } } } Collection<Module> modulesToRemove = new ArrayList<>(); List<Module> subModules = module.getSubModules(); if (subModules != null) { for (Module subModule : subModules) { if (subModule instanceof BeanModule && componentsToDelete.contains( ((BeanModule) subModule).getModuleObject())) { ((BeanModule) subModule).setModuleObject(null); modulesToRemove.add(subModule); } Collection<Module> grandSubModulesToRemove = cleanComponentsFromModules(subModule, componentsToDelete); removeSubModules(subModule, grandSubModulesToRemove); } } return modulesToRemove; }
.getChildConnector(selectedIndices[i]).getConnectorValue(); BeanModule nextSubModule = new BeanModule(); nextSubModule.setModuleObject(nextselectedModuleObject); nextSubModule.setName(String.valueOf(nextselectedModuleObject)); int nextSubModuleIndex = children.indexOf(nextSubModule);
/** * 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; } }
childModule.setModuleObject(childModuleObject); childModule.setI18nName(String.valueOf(childModuleObject)); return childModule;