Esempio n. 1
0
  @Handler(
      id = "saveSecurityManagerValue",
      input = {
        @HandlerInput(name = "configName", type = String.class),
        @HandlerInput(name = "value", type = String.class, required = true)
      })
  public static void saveSecurityManagerValue(HandlerContext handlerCtx) {
    try {
      String configName = (String) handlerCtx.getInputValue("configName");
      if (GuiUtil.isEmpty(configName)) configName = "server-config";
      String endpoint =
          GuiUtil.getSessionValue("REST_URL")
              + "/configs/config/"
              + configName
              + "/java-config/jvm-options.json";
      ArrayList<String> list;
      Map result = (HashMap) RestUtil.restRequest(endpoint, null, "GET", null, false).get("data");
      list =
          (ArrayList<String>) ((Map<String, Object>) result.get("extraProperties")).get("leafList");
      if (list == null) list = new ArrayList<String>();
      Boolean status = isSecurityManagerEnabled(list);
      String value = (String) handlerCtx.getInputValue("value");
      Boolean userValue = Boolean.valueOf(value);
      if (status.equals(userValue)) {
        // no need to change
        return;
      }

      ArrayList<String> newOptions = new ArrayList();
      Object[] origOptions = list.toArray();
      if (userValue) {
        for (int i = 0; i < origOptions.length; i++) {
          newOptions.add((String) origOptions[i]);
        }
        newOptions.add(JVM_OPTION_SECURITY_MANAGER);
      } else {
        for (int i = 0; i < origOptions.length; i++) {
          String str = (String) origOptions[i];
          if (!(str.trim().equals(JVM_OPTION_SECURITY_MANAGER)
              || str.trim().startsWith(JVM_OPTION_SECURITY_MANAGER_WITH_EQUAL))) {
            newOptions.add((String) origOptions[i]);
          }
        }
      }
      Map<String, Object> payload = new HashMap<String, Object>();
      payload.put("target", configName);
      for (String option : newOptions) {
        ArrayList kv = InstanceHandler.getKeyValuePair(option);
        payload.put((String) kv.get(0), kv.get(1));
      }
      RestUtil.restRequest(endpoint, payload, "POST", handlerCtx, false);
    } catch (Exception ex) {
      GuiUtil.handleException(handlerCtx, ex);
    }
  }
Esempio n. 2
0
 @Handler(
     id = "getSecurityManagerValue",
     input = {
       @HandlerInput(name = "endpoint", type = String.class),
       @HandlerInput(name = "attrs", type = Map.class, required = false)
     },
     output = {@HandlerOutput(name = "value", type = String.class)})
 public static void getSecurityManagerValue(HandlerContext handlerCtx) {
   ArrayList<String> list = InstanceHandler.getJvmOptions(handlerCtx);
   handlerCtx.setOutputValue("value", isSecurityManagerEnabled(list).toString());
 }