Beispiel #1
0
  public List<AppModel> getAppById(String id) {
    String cql = "SELECT * FROM app WHERE appid = '%s';";
    cql = String.format(cql, id);
    List<AppModel> apps = new ArrayList<AppModel>();
    Iterator rows = this.bridge.excute(cql);
    while (rows.hasNext()) {
      AppModel app = new AppModel();
      Row row = (Row) rows.next();
      app.setAppid(row.getString("appid"));
      app.setName(row.getString("name"));
      app.setInstallUrl(row.getString("url"));
      app.setProfile(row.getString("profile"));
      app.setIsInnerApp(row.getString("isinnerapp"));

      try {
        JSONObject profile = JSONObject.fromObject(app.getProfile());
        app.setImage(profile.getString("image"));
        apps.add(app);
      } catch (Exception e) {
        log.error(e.getMessage());
        e.printStackTrace();
      }
    }
    return apps;
  }
Beispiel #2
0
  public ExeModel getExeById(String appkey, String username, JSONObject sessionobj) {
    String ip = sessionobj.getString("ip");
    String cookie = sessionobj.getString("cookie");
    ExeModel exe = new ExeModel();
    try {
      if ((!AppCache.getInstance().getFirstLevelCache().containsKey(appkey))
          && (!(AppCache.getInstance().getSecondLevelCache().containsKey(appkey)))) {
        String cql = "SELECT * FROM app WHERE appid = '%s';";
        cql = String.format(cql, appkey);

        Iterator rows = this.bridge.excute(cql);
        if (!rows.hasNext()) {
          exe.setImage("images/icons/app-warning-icon.png");
          exe.setLinkurl("");
          exe.setName("Has uninstall");
          exe.setWinsettings("{}");
          return exe;
        }
        while (rows.hasNext()) {
          Row row = (Row) rows.next();
          AppModel temp = new AppModel();
          temp.setName(row.getString("name"));
          temp.setAppid(appkey);
          temp.setProfile(row.getString("profile"));
          JSONObject profile = JSONObject.fromObject(row.getString("profile"));
          temp.setImage(profile.getString("image"));
          temp.setInstallUrl(row.getString("url"));
          temp.setIsInnerApp(row.getString("isinnerapp"));
          AppCache.getInstance().getFirstLevelCache().put(appkey, temp);
        }
      }
      AppModel temp = AppCache.getInstance().getById(appkey);
      boolean isinner = temp.getIsInnerApp().equals("1");
      exe.setName(temp.getName());
      JSONObject profile = JSONObject.fromObject(temp.getProfile());
      exe.setImage(profile.getString("image"));
      exe.setWinsettings(profile.getString("winSettings"));
      if (isinner) {
        JSONArray arr = profile.getJSONArray("funcs");
        for (Object func : arr) {
          JSONObject funcobj = JSONObject.fromObject(func);
          if (funcobj.getString("id").equals("1000")) {
            exe.setLinkurl(funcobj.getString("url"));
          }
        }
      } else {
        exe.setLinkurl("/" + appkey + "/");
      }

      String roles_str = UserDB.getInstance().getUser(username).getRoles();
      Object[] roles = null;

      roles = JSONArray.fromObject(roles_str).toArray();

      StringBuilder ids = new StringBuilder();
      for (Object role : roles) {
        String cql = "SELECT permissions FROM group_app_map WHERE appid = '%s' AND groupname='%s';";
        cql = String.format(cql, appkey, role.toString());
        Iterator rows = this.bridge.excute(cql);
        if (rows.hasNext()) {
          Row row = (Row) rows.next();
          String permissions = row.getString("permissions");
          try {
            JSONArray perobj = JSONArray.fromObject(permissions);
            for (int j = 0; j < perobj.size(); j++) {
              JSONObject obj = perobj.getJSONObject(j);
              ids.append(obj.get("id")).append("_");
            }
          } catch (Exception ex) {
            ex.printStackTrace();
            log.error(ex.getMessage());
          }
        }
      }
      if (ids.toString().equals("")) {
        exe.setImage("");
        exe.setName("No permissions");
        exe.setLinkurl("");
        return exe;
      }
      String perm = "id=" + ids.toString();
      if (perm.lastIndexOf("_") != -1) {
        perm = perm.substring(0, perm.lastIndexOf("_"));
      }
      exe.setLinkurl(
          exe.getLinkurl()
              + "?"
              + perm
              + "&"
              + "username="******"&"
              + "appid="
              + appkey
              + "&ip="
              + ip
              + "&cookie="
              + cookie);
    } catch (Exception e) {
      exe.setImage("");
      exe.setName("error");
      exe.setLinkurl("");
      e.printStackTrace();
      log.error(e.getMessage());
      return exe;
    }
    return exe;
  }