public static SimulationResponse getSimulationResponse() { Map<String, List<String[]>> status = simulationService.getSimulationStatus(); int entryCount = 0; Map<Integer, HandlerExecutionStatus> executionStatusMap = new HashMap<Integer, HandlerExecutionStatus>(); if (status != null) { for (Map.Entry<String, List<String[]>> e : status.entrySet()) { if (e.getKey() != null && e.getValue() != null) { if (e.getValue().size() > 0) { for (String[] v : e.getValue()) { if (v != null && v.length == 2) { HandlerExecutionStatus executionStatus = new HandlerExecutionStatus(); executionStatus.setHandlerName(e.getKey()); executionStatus.setExecutionStatus(v[0]); int order = Integer.parseInt(v[1]); executionStatusMap.put(order, executionStatus); if (order > entryCount) { entryCount = order; } } } } } } } List<HandlerExecutionStatus> executionStatusList = new LinkedList<HandlerExecutionStatus>(); int i = 0; while (i < entryCount) { i++; HandlerExecutionStatus executionStatus = executionStatusMap.get(i); if (executionStatus != null) { executionStatusList.add(executionStatus); } } SimulationResponse response = new SimulationResponse(); response.setStatus( executionStatusList.toArray(new HandlerExecutionStatus[executionStatusList.size()])); return response; }
public static void buildMenuItems(HttpServletRequest request, String s, String s1, String s2) { int menuOrder = 50; if (CarbonUIUtil.isUserAuthorized(request, "/permission/admin/manage/resources/ws-api")) { HttpSession session = request.getSession(); String cookie = (String) session.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE); try { WSRegistryServiceClient registry = new WSRegistryServiceClient(s2, cookie); List<GovernanceArtifactConfiguration> configurations = GovernanceUtils.findGovernanceArtifactConfigurations(registry); Map<String, String> customAddUIMap = new LinkedHashMap<String, String>(); Map<String, String> customViewUIMap = new LinkedHashMap<String, String>(); List<Menu> userCustomMenuItemsList = new LinkedList<Menu>(); for (GovernanceArtifactConfiguration configuration : configurations) { Component component = new Component(); OMElement uiConfigurations = configuration.getUIConfigurations(); String key = configuration.getKey(); String configurationPath = RegistryConstants.CONFIG_REGISTRY_BASE_PATH + RegistryConstants.GOVERNANCE_COMPONENT_PATH + "/configuration/"; String layoutStoragePath = configurationPath + key; RealmService realmService = registry.getRegistryContext().getRealmService(); if (realmService .getTenantUserRealm(realmService.getTenantManager().getTenantId(s1)) .getAuthorizationManager() .isUserAuthorized(s, configurationPath, ActionConstants.PUT) || registry.resourceExists(layoutStoragePath)) { List<Menu> menuList = component.getMenusList(); if (uiConfigurations != null) { ComponentBuilder.processMenus("artifactType", uiConfigurations, component); ComponentBuilder.processCustomUIs(uiConfigurations, component); } if (menuList.size() == 0) { // if no menu definitions were present, define the default ones. menuOrder = buildMenuList(request, configuration, menuList, key, menuOrder); } userCustomMenuItemsList.addAll(menuList); customAddUIMap.putAll(component.getCustomAddUIMap()); Map<String, String> viewUIMap = component.getCustomViewUIMap(); if (viewUIMap.isEmpty()) { // if no custom UI definitions were present, define the default. buildViewUI(configuration, viewUIMap, key); } customViewUIMap.putAll(viewUIMap); OMElement layout = configuration.getContentDefinition(); if (layout != null && !registry.resourceExists(layoutStoragePath)) { Resource resource = registry.newResource(); resource.setContent(RegistryUtils.encodeString(layout.toString())); resource.setMediaType("application/xml"); registry.put(layoutStoragePath, resource); } } } session.setAttribute( MenuAdminClient.USER_CUSTOM_MENU_ITEMS, userCustomMenuItemsList.toArray(new Menu[userCustomMenuItemsList.size()])); session.setAttribute("customAddUI", customAddUIMap); session.setAttribute("customViewUI", customViewUIMap); } catch (RegistryException e) { log.error("unable to create connection to registry"); } catch (org.wso2.carbon.user.api.UserStoreException e) { log.error("unable to realm service"); } } }