Skip to content
This repository has been archived by the owner on May 23, 2019. It is now read-only.

Commit

Permalink
Correct #172
Browse files Browse the repository at this point in the history
  • Loading branch information
hdsdi3g committed Jan 5, 2016
1 parent ffc101f commit 5d62832
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 22 deletions.
2 changes: 1 addition & 1 deletion app/controllers/ACL.java
Expand Up @@ -305,7 +305,7 @@ public static void updaterole(@Required String name) {
role.privileges = null;
if (selectedprivilegenames != null) {
if (selectedprivilegenames.length > 0) {
role.privileges = Privileges.getJSONPrivileges(selectedprivilegenames).toJSONString();
role.privileges = Privileges.getJSONStringPrivileges(selectedprivilegenames);
}
}

Expand Down
6 changes: 3 additions & 3 deletions app/ext/Bootstrap.java
Expand Up @@ -112,13 +112,13 @@ public void doJob() {
ACLRole role_admim = ACLRole.findById(ACLRole.ADMIN_NAME);
if (role_admim == null) {
role_admim = new ACLRole(ACLRole.ADMIN_NAME);
role_admim.privileges = Privileges.getJSONAllPrivileges().toJSONString();
role_admim.privileges = Privileges.getJSONArrayStringPrivileges();
role_admim.functionalities = "{}";
role_admim.save();
} else {
List<String> privileges = role_admim.getPrivilegesList();
if (privileges.size() != Privileges.getAllPrivileges().size()) {
role_admim.privileges = Privileges.getJSONAllPrivileges().toJSONString();
if (privileges.containsAll(Privileges.getAllSortedPrivileges()) == false) {
role_admim.privileges = Privileges.getJSONArrayStringPrivileges();
role_admim.save();
}
}
Expand Down
40 changes: 22 additions & 18 deletions app/hd3gtv/mydmam/web/Privileges.java
Expand Up @@ -32,7 +32,8 @@
import java.util.jar.JarEntry;
import java.util.jar.JarFile;

import org.json.simple.JSONArray;
import com.google.gson.JsonArray;
import com.google.gson.JsonPrimitive;

import controllers.Check;
import controllers.Secure;
Expand All @@ -46,10 +47,11 @@
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Privileges {

private static HashSet<String> all_privileges;
private static final List<String> privileges;
private static final String privileges_json_array;

static {
all_privileges = new HashSet<String>();
HashSet<String> all_privileges = new HashSet<String>();
try {
List<String> classes_to_test = new ArrayList<String>();

Expand Down Expand Up @@ -186,30 +188,32 @@ public boolean accept(File arg0, String arg1) {
}

AJSController.putAllPrivilegesNames(all_privileges);
}

public static HashSet<String> getAllPrivileges() {
return all_privileges;

ArrayList list = new ArrayList<String>(all_privileges);
Collections.sort(list);
privileges = Collections.unmodifiableList(list);

JsonArray ja_privileges = new JsonArray();
for (int pos = 0; pos < privileges.size(); pos++) {
ja_privileges.add(new JsonPrimitive(privileges.get(pos)));
}
privileges_json_array = ja_privileges.toString();
}

public static List<String> getAllSortedPrivileges() {
ArrayList list = new ArrayList<String>(all_privileges);
Collections.sort(list);
return list;
return privileges;
}

public static JSONArray getJSONAllPrivileges() {
JSONArray ja = new JSONArray();
ja.addAll(all_privileges);
return ja;
public static String getJSONArrayStringPrivileges() {
return privileges_json_array;
}

public static JSONArray getJSONPrivileges(String[] privilegenames) {
JSONArray ja = new JSONArray();
public static String getJSONStringPrivileges(String[] privilegenames) {
JsonArray ja = new JsonArray();
for (int pos = 0; pos < privilegenames.length; pos++) {
ja.add(privilegenames[pos]);
ja.add(new JsonPrimitive(privilegenames[pos]));
}
return ja;
return ja.toString();
}

}

0 comments on commit 5d62832

Please sign in to comment.