[jboss-svn-commits] JBL Code SVN: r22257 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository/security and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sat Aug 30 08:09:07 EDT 2008
Author: jervisliu
Date: 2008-08-30 08:09:07 -0400 (Sat, 30 Aug 2008)
New Revision: 22257
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java
Log:
Fixed an exception when empty string is used as the login name.
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java 2008-08-30 10:50:07 UTC (rev 22256)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java 2008-08-30 12:09:07 UTC (rev 22257)
@@ -38,6 +38,10 @@
* @throws RepositoryException
*/
public void updateUserPermissions(String userName, Map<String, List<String>> perms) {
+ if (!isValideUserName(userName)) {
+ return;
+ }
+
try {
Node permsNode = getUserPermissionNode(userName);
permsNode.remove(); //remove this so we get a fresh set
@@ -68,9 +72,14 @@
*/
public Map<String, List<String>> retrieveUserPermissions(String userName) {
try {
+ Map<String, List<String>> result = new HashMap<String, List<String>>(10);
+ if (!isValideUserName(userName)) {
+ return result;
+ }
+
Node permsNode = getUserPermissionNode(userName);
PropertyIterator it = permsNode.getProperties();
- Map<String, List<String>> result = new HashMap<String, List<String>>(10);
+
while (it.hasNext()) {
Property p = (Property) it.next();
String name = p.getName();
@@ -147,6 +156,10 @@
}
public void removeUserPermissions(String userName) {
+ if (!isValideUserName(userName)) {
+ return;
+ }
+
try {
Node permsNode = getUserPermissionNode(userName);
permsNode.getParent().remove(); //remove this so we get a fresh set
@@ -155,10 +168,11 @@
}
}
-
-
-
-
-
-
+
+ private boolean isValideUserName(String userName) {
+ if("".equals(userName.trim()) || userName.trim().length() == 0) {
+ return false;
+ }
+ return true;
+ }
}
Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java 2008-08-30 10:50:07 UTC (rev 22256)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java 2008-08-30 12:09:07 UTC (rev 22257)
@@ -61,9 +61,6 @@
pm.removeUserPermissions("wankle");
assertFalse(pm.listUsers().containsKey("wankle"));
-
-
-
}
public void testUpdatePerms() throws Exception {
@@ -82,9 +79,6 @@
pm.updateUserPermissions("testUpdatePermsWankle", perms);
perms = pm.retrieveUserPermissions("testUpdatePermsWankle");
assertEquals(3, perms.size());
-
-
-
}
public void testNilUser() throws Exception {
@@ -97,8 +91,6 @@
}
public void testListingUsers() throws Exception {
-
-
PermissionManager pm = new PermissionManager(RepositorySessionUtil.getRepository());
pm.deleteAllPermissions();
@@ -143,8 +135,26 @@
permTypes = result.get("listingUser5");
assertEquals(1, permTypes.size());
assertEquals("analyst", permTypes.get(0));
+ }
-
+ public void testEmptyUserName() throws Exception {
+ PermissionManager pm = new PermissionManager(RepositorySessionUtil.getRepository());
+ Map<String, List<String>> perms_ = pm.retrieveUserPermissions("");
+ assertEquals(0, perms_.size());
+
+ perms_ = pm.retrieveUserPermissions(" ");
+ assertEquals(0, perms_.size());
+
+ Map<String, List<String>> perms = new HashMap<String, List<String>>() {{
+ put("package.admin", new ArrayList<String>() {{add("1234567890");}});
+ put("package.developer", new ArrayList<String>() {{add("1"); add("2");}});
+ put("analyst", new ArrayList<String>() {{add("HR");}});
+ put("admin", new ArrayList<String>());
+ }};
+ pm.updateUserPermissions(" ", perms);
+ pm.updateUserPermissions("", perms);
+
+ pm.removeUserPermissions("");
+ pm.removeUserPermissions(" ");
}
-
}
More information about the jboss-svn-commits
mailing list