[Yanel-commits] rev 48212 -
public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager
guillaume at wyona.com
guillaume at wyona.com
Mon Mar 22 16:22:44 CET 2010
Author: guillaume
Date: 2010-03-22 16:22:44 +0100 (Mon, 22 Mar 2010)
New Revision: 48212
Modified:
public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyViewer.java
Log:
Fixed all generics-related warnings (helps understanding what is contained in internal data structures),
and used List/ArrayList instead of Vector (synchronization was not needed).
Also cleaned up exception handling and removed unused method signature parts.
Modified: public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyViewer.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyViewer.java 2010-03-22 12:47:54 UTC (rev 48211)
+++ public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyViewer.java 2010-03-22 15:22:44 UTC (rev 48212)
@@ -11,7 +11,11 @@
import org.apache.log4j.Logger;
-import java.util.Vector;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
/**
* Utility class to view policies (TODO: It would be good to refactor this by generating a more generic XML and then allow a custom XSLT to generate the actual XHTML)
@@ -59,7 +63,7 @@
sb.append(getOrderByLink(orderedBy, showParents, showTabs));
sb.append("<p><table border=\"1\">");
- sb.append("<tr><td>Path</td>" + getSplittedPath(pm, path, contentItemId) + "</tr>");
+ sb.append("<tr><td>Path</td>" + getSplittedPath(path, contentItemId) + "</tr>");
boolean aggregate = false;
sb.append("<tr valign=\"top\"><td>Policy</td>" + getPoliciesAsXHTML(pm, gm, path, contentItemId, aggregate, orderedBy, showAbbreviatedLabels) + "</tr>");
@@ -91,7 +95,7 @@
sb.append("</body></html>");
return sb.toString();
} catch(Exception e) {
- log.error(e, e);
+ log.error(e.getMessage(), e);
return "<html xmlns=\"http://www.w3.org/1999/xhtml\"><body>Exception: " + e.getMessage() + "</body></html>";
}
}
@@ -99,7 +103,7 @@
/**
* Get splitted path
*/
- static private StringBuffer getSplittedPath (PolicyManager pm, String path, String contentItemId) {
+ static private StringBuffer getSplittedPath(String path, String contentItemId) {
String[] names = path.split("/");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < names.length -1; i++) {
@@ -215,9 +219,9 @@
* @param dismantleGroups Show all members of a group instead the group itself
*/
static private StringBuffer getPolicyAsXHTMLListOrderedByIdentities(Policy p, boolean dismantleGroups, PolicyManager pm, GroupManager gm, boolean abbreviation) {
- Vector worldRights = new Vector();
- java.util.HashMap users = new java.util.HashMap();
- java.util.HashMap groups = new java.util.HashMap();
+ List<String> worldRights = new ArrayList<String>();
+ Map<String, List<String>> users = new HashMap<String, List<String>>();
+ Map<String, List<String>> groups = new HashMap<String, List<String>>();
UsecasePolicy[] up = p.getUsecasePolicies();
boolean noUsecasePolicies = false;
@@ -232,11 +236,11 @@
worldRights.add(up[i].getName());
}
} else {
- Vector userRights;
- if ((userRights = (Vector) users.get(idps[j].getIdentity().getUsername())) != null) {
+ List<String> userRights;
+ if ((userRights = users.get(idps[j].getIdentity().getUsername())) != null) {
log.debug("User has already been added: " + idps[j].getIdentity().getUsername());
} else {
- userRights = new Vector();
+ userRights = new ArrayList<String>();
users.put(idps[j].getIdentity().getUsername(), userRights);
}
if (idps[j].getPermission()) {
@@ -249,11 +253,11 @@
GroupPolicy[] gps = up[i].getGroupPolicies();
for (int j = 0; j < gps.length; j++) {
- Vector groupRights;
- if ((groupRights = (Vector) groups.get(gps[j].getId())) != null) {
+ List<String> groupRights;
+ if ((groupRights = groups.get(gps[j].getId())) != null) {
log.debug("Group has already been added: " + gps[j].getId());
} else {
- groupRights = new Vector();
+ groupRights = new ArrayList<String>();
groups.put(gps[j].getId(), groupRights);
}
if (gps[j].getPermission()) {
@@ -279,18 +283,18 @@
}
// Users
- java.util.Iterator userIterator = users.keySet().iterator();
+ Iterator<String> userIterator = users.keySet().iterator();
while (userIterator.hasNext()) {
- String userName = (String) userIterator.next();
- Vector userRights = (Vector) users.get(userName);
+ String userName = userIterator.next();
+ List<String> userRights = users.get(userName);
sb.append("<li>" + getUserLabel(abbreviation) + ": " + userName + " (" + getRightsAsCommaSeparatedList(userRights, pm) + ")</li>");
}
//Groups
- java.util.Iterator groupIterator = groups.keySet().iterator();
+ Iterator<String> groupIterator = groups.keySet().iterator();
while (groupIterator.hasNext()) {
- String groupName = (String) groupIterator.next();
- Vector groupRights = (Vector) groups.get(groupName);
+ String groupName = groupIterator.next();
+ List<String> groupRights = groups.get(groupName);
String rights = getRightsAsCommaSeparatedList(groupRights, pm);
if (!dismantleGroups) {
sb.append("<li>" + getGroupLabel(abbreviation) + ": " + groupName + " (" + rights + ")</li>");
@@ -309,7 +313,7 @@
}
}
} catch(Exception e) {
- log.error(e, e);
+ log.error(e.getMessage(), e);
sb.append("<li>Exception when trying to dismantle group '" + groupName + "': " + e.getMessage() + "</li>");
}
}
@@ -331,15 +335,16 @@
* @param rights Rights
* @param pm PolicyManager
*/
- private static String getRightsAsCommaSeparatedList(Vector rights, PolicyManager pm) {
+ private static String getRightsAsCommaSeparatedList(List<String> rights, PolicyManager pm) {
StringBuilder sb = new StringBuilder();
try {
String[] usecases = pm.getUsecases();
for (int i = 0; i < usecases.length; i++) {
boolean noSuchRight = true;
for (int k = 0; k < rights.size(); k++) {
- if (((String) rights.elementAt(k)).indexOf(usecases[i]) >= 0) { // NOTE: For example "view" or "<del>view</del>"
- sb.append((String) rights.elementAt(k));
+ String right = rights.get(k);
+ if (right.indexOf(usecases[i]) >= 0) { // NOTE: For example "view" or "<del>view</del>"
+ sb.append(right);
noSuchRight = false;
break;
}
@@ -359,7 +364,7 @@
}
*/
} catch(Exception e) {
- log.error(e, e);
+ log.error(e.getMessage(), e);
sb.append(e.getMessage());
}
return sb.toString();
@@ -386,7 +391,7 @@
* @param aggregate If aggregate true, then the policy will be aggregated/merged with existing parent policies, otherwise only the node specific policy will be returned
* @param back ../../../
*/
- static private StringBuffer getPolicyAsXHTML(Policy policy, boolean aggregate, int orderedBy, String back, PolicyManager pm, GroupManager groupManager, boolean abbreviation) throws AuthorizationException {
+ static private StringBuffer getPolicyAsXHTML(Policy policy, boolean aggregate, int orderedBy, String back, PolicyManager pm, GroupManager groupManager, boolean abbreviation) {
StringBuffer sb = new StringBuffer("<td>");
if (policy != null) {
String showUseInheritedPolicies = "";
More information about the Yanel-commits
mailing list