/** * Sets the modules modules. It will fire a "subModules" property change * event. * * @param children * the modules modules to set. */ public void setSubModules(List<Module> children) { List<Module> oldValue = null; if (getSubModules() != null) { oldValue = new ArrayList<Module>(getSubModules()); } this.subModules = children; updateParentsAndFireSubModulesChanged(oldValue, getSubModules()); }
/** * Sets the parent module. It will fire a "parent" property change event. * * @param parent * the parent module to set or null if none. */ public void setParent(Module parent) { if (ObjectUtils.equals(this.parent, parent)) { return; } Module oldParent = getParent(); if (getParent() != null) { getParent().removeSubModule(this); } this.parent = parent; if (getParent() != null && !getParent().getSubModules().contains(this)) { getParent().addSubModule(this); } firePropertyChange("parent", oldParent, getParent()); }
/** * Configures the key used to translate actual internationalized module * description. The resulting translation will generally be leveraged as a * toolTip on the UI side but its use may be extended for online help. * * @param description * the module's description. */ public void setDescription(String description) { if (ObjectUtils.equals(this.description, description)) { return; } String oldValue = getDescription(); this.description = description; firePropertyChange(DESCRIPTION, oldValue, getDescription()); if (this.i18nDescription == null) { setI18nDescription(name); } }
private ISecurityHandler getSecurityHandler() { if (securityHandler != null) { return securityHandler; } if (getParent() != null) { return getParent().getSecurityHandler(); } return null; }
/** * Sets the dirty. * * @param dirty * the dirty to set. * @internal */ protected void setDirty(boolean dirty) { boolean oldDirty = isDirty(); String oldI18nName = getI18nName(); this.dirty = dirty; firePropertyChange(DIRTY, oldDirty, isDirty()); firePropertyChange(I18N_NAME, oldI18nName, getI18nName()); }
/** * Gets the i18nName. * * @return the i18nName. */ public String getI18nName() { String dirtyMarker = ""; if (isDirty() && isDisplayDirtyState()) { dirtyMarker = DIRTY_MARKER; } if (i18nName != null) { return i18nName + dirtyMarker; } return getName(); }
private void translateModule(Module module) { module.setI18nName(getTranslation(module.getName(), getLocale())); module.setI18nDescription(getTranslation(module.getDescription(), getLocale())); module.setI18nPageHeaderDescription(getTranslation(module.getPageHeaderDescription(), getLocale())); if (module.getSubModules() != null) { for (Module subModule : module.getSubModules()) { translateModule(subModule); } } }
private void translateModule(Module module) { module.setI18nName(getTranslationProvider().getTranslation( module.getName(), getLocale())); module.setI18nDescription(getTranslationProvider().getTranslation( module.getDescription(), getLocale())); if (module.getSubModules() != null) { for (Module subModule : module.getSubModules()) { translateModule(subModule); } } }
if (((oldSelectedWorkspaceName == null && workspaceName == null) || ObjectUtils.equals(oldSelectedWorkspaceName, workspaceName)) && ((currentModule == null && module == null) || ObjectUtils.equals(currentModule, module))) { if (currentModule != null && module != null && ObjectUtils.equals(currentModule.getParent(), module.getParent())) { return; navigationContext.put(ActionContextConstants.FROM_MODULE, currentModule); navigationContext.put(ActionContextConstants.TO_MODULE, module); execute(currentModule.getExitAction(), navigationContext); execute(getOnModuleExitAction(), navigationContext); if (!module.isStarted()) { if (getOnModuleStartupAction() != null) { execute(getOnModuleStartupAction(), getModuleActionContext(workspaceName)); if (module.getStartupAction() != null) { execute(module.getStartupAction(), getModuleActionContext(workspaceName)); module.setStarted(true); String newSelectedWorkspaceName = getSelectedWorkspaceName(); pinModule(newSelectedWorkspaceName, module); navigationContext.put(ActionContextConstants.TO_MODULE, module); execute(getOnModuleEnterAction(), navigationContext); execute(module.getEntryAction(), navigationContext);
private void removeFromSubModules(Module parentModule, Object removedObject) { if (parentModule.getSubModules() != null) { for (Module module : new ArrayList<>(parentModule.getSubModules())) { if (module instanceof BeanModule && removedObject.equals(((BeanModule) module).getModuleObject())) { parentModule.removeSubModule(module); } } } } }
/** * Compute dirtiness in depth. * * @param backendController * the backend controller * @return true if the module or one of its sub-module is dirty */ public boolean refreshDirtinessInDepth(IBackendController backendController) { boolean depthDirtyness = false; if (getSubModules() != null) { for (Module subModule : getSubModules()) { if (subModule.refreshDirtinessInDepth(backendController)) { depthDirtyness = true; } } } if (isDisplayDirtyState()) { depthDirtyness = depthDirtyness || isLocallyDirty(backendController); } setDirty(depthDirtyness); return depthDirtyness; }
/** * Gets the modules sub-modules. * * @return the list of modules modules. */ public List<Module> getSubModules() { return getSubModules(false); }
/** * 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; } }
private void prepareModuleCards(Map<String, IViewDescriptor> moduleCards, List<Module> modules, IModuleViewDescriptorFactory moduleDescriptorViewFactory) { if (modules != null) { for (Module module : modules) { if (module.getProjectedViewDescriptor() != null) { moduleCards.put(module.getName(), moduleDescriptorViewFactory .createProjectedViewDescriptor(module)); if (module instanceof BeanCollectionModule) { BeanModule fakeBeanModule = new BeanModule(); fakeBeanModule .setProjectedViewDescriptor(((BeanCollectionModule) module) .getElementViewDescriptor()); fakeBeanModule .setComponentDescriptor(((BeanCollectionModule) module) .getElementComponentDescriptor()); moduleCards.put(module.getName() + ELEMENT_SUFFIX, moduleDescriptorViewFactory .createProjectedViewDescriptor(fakeBeanModule)); } } prepareModuleCards(moduleCards, module.getSubModules(), moduleDescriptorViewFactory); } } } }
/** * Configures the key used to translate actual internationalized module name. * The resulting translation will be leveraged as the module label on the UI * side. * * @param name * the module's name. */ public void setName(String name) { if (ObjectUtils.equals(this.name, name)) { return; } String oldValue = getName(); this.name = name; firePropertyChange(NAME, oldValue, getName()); if (this.i18nName == null) { setI18nName(name); } }
private void selectedModuleChanged(String workspaceName, ICompositeValueConnector selectedConnector) { selectedModuleConnectors.put(workspaceName, selectedConnector); if (selectedConnector != null && selectedConnector.getConnectorValue() instanceof Module) { Module selectedModule = (Module) selectedConnector.getConnectorValue(); if (!selectedModule.isStarted() && selectedModule.getStartupAction() != null) { execute(selectedModule.getStartupAction(), createEmptyContext()); selectedModule.setStarted(true); } } }
/** * Finds the existing module for a module object or name. * * @param rootModule * the root module to start the search from. * @param moduleObject * the module object. * @param moduleName * the module name. * @return the stack of modules containing the found module. */ protected Module findModule(Module rootModule, String moduleName, Object moduleObject) { if (moduleName != null && moduleName.equals(rootModule.getName())) { return rootModule; } if (moduleObject != null && (rootModule instanceof BeanModule) && moduleObject.equals(((BeanModule) rootModule).getModuleObject())) { return rootModule; } if (rootModule.getSubModules() != null) { for (Module sub : rootModule.getSubModules()) { Module parentModule = findModule(sub, moduleName, moduleObject); if (parentModule != null) { return parentModule; } } } return null; }
/** * Restart a given module and its sticky children. * * @param module the module * @param actionHandler the action handler * @param context the context * @return the boolean */ protected boolean restartModule(Module module, IActionHandler actionHandler, Map<String, Object> context) { List<Module> subModules = module.getSubModules(); if (subModules != null) { Collection<Module> modulesToRemove = new ArrayList<>(); for (Module subModule : subModules) { if (module.isSubModuleSticky(subModule)) { restartModule(subModule, actionHandler, context); } else { cleanSubModules(subModule); modulesToRemove.add(subModule); } } removeModulesFromParent(module, modulesToRemove); } boolean startupResult = true; if (module.getStartupAction() != null) { startupResult = actionHandler.execute(module.getStartupAction(), context); } return startupResult; }
/** * Stores the internationalized workspace description for use in the UI as * toolTip for instance. * * @param i18nDescription * the i18nDescription to set. * @internal */ public void setI18nDescription(String i18nDescription) { if (ObjectUtils.equals(this.i18nDescription, i18nDescription)) { return; } String oldValue = getI18nDescription(); this.i18nDescription = i18nDescription; firePropertyChange(I18N_DESCRIPTION, oldValue, getI18nDescription()); if (this.description == null) { setDescription(i18nDescription); } }
String modulePermId = module.getPermId(); if (modulePermId != null) { if (path != null) { if (module.getViewDescriptor() != null) { process(module.getViewDescriptor(), null); if (module.getSubModules() != null) { for (Module subModule : module.getSubModules()) { process(subModule, modulePermId);