Esempio n. 1
0
 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");
     }
   }
 }