[jboss-svn-commits] JBL Code SVN: r21403 - labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Aug 8 00:25:17 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-08-08 00:25:17 -0400 (Fri, 08 Aug 2008)
New Revision: 21403

Modified:
   labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java
Log:
more security stuff

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-08 00:44:15 UTC (rev 21402)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java	2008-08-08 04:25:17 UTC (rev 21403)
@@ -14,6 +14,7 @@
 import javax.jcr.Value;
 
 import org.drools.repository.RulesRepository;
+import org.drools.repository.RulesRepositoryException;
 
 /**
  * Deals with storing permissions for data and so on.
@@ -36,15 +37,19 @@
      * ADMIN => empty (no list needed for admin)
      * @throws RepositoryException
      */
-    public void updateUserPermissions(String userName, Map<String, List<String>> perms) throws RepositoryException {
-    	Node permsNode = getUserPermissionNode(userName);
-    	for (Iterator<String> iterator = perms.keySet().iterator(); iterator.hasNext();) {
-			String perm = iterator.next();
-			List<String> targets = perms.get(perm);
-			if (targets == null) targets = new ArrayList<String>();
-			permsNode.setProperty(perm, targets.toArray(new String[targets.size()]));
-		}
-    	this.repository.save();
+    public void updateUserPermissions(String userName, Map<String, List<String>> perms) {
+    	try {
+	    	Node permsNode = getUserPermissionNode(userName);
+	    	for (Iterator<String> iterator = perms.keySet().iterator(); iterator.hasNext();) {
+				String perm = iterator.next();
+				List<String> targets = perms.get(perm);
+				if (targets == null) targets = new ArrayList<String>();
+				permsNode.setProperty(perm, targets.toArray(new String[targets.size()]));
+			}
+	    	this.repository.save();
+    	} catch (RepositoryException e) {
+    		throw new RulesRepositoryException(e);
+    	}
     }
 
 	private Node getUserPermissionNode(String userName)
@@ -59,23 +64,27 @@
      * obtain a mapping of permissions for a given user.
      * @throws RepositoryException
      */
-    public Map<String, List<String>> retrieveUserPermissions(String userName) throws RepositoryException {
-    	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();
-    		if (!name.startsWith("jcr")) {
-	    		Value[] vs = p.getValues();
-	    		List<String> perms = new ArrayList<String>();
-	    		for (int i = 0; i < vs.length; i++) {
-					perms.add(vs[i].getString());
-				}
-	    		result.put(name, perms);
-    		}
+    public Map<String, List<String>> retrieveUserPermissions(String userName) {
+    	try {
+	    	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();
+	    		if (!name.startsWith("jcr")) {
+		    		Value[] vs = p.getValues();
+		    		List<String> perms = new ArrayList<String>();
+		    		for (int i = 0; i < vs.length; i++) {
+						perms.add(vs[i].getString());
+					}
+		    		result.put(name, perms);
+	    		}
+	    	}
+	    	return result;
+    	} catch (RepositoryException e) {
+    		throw new RulesRepositoryException(e);
     	}
-    	return result;
     }
 
     /**
@@ -99,16 +108,20 @@
 	 *  For display purposes only.
 	 * @throws RepositoryException
 	 */
-	public Map<String, List<String>> listUsers() throws RepositoryException {
-		Map<String, List<String>> listing = new HashMap<String, List<String>>();
-		Node root = this.repository.getSession().getRootNode();
-    	Node usersNode = getNode(root, "user_info");
-    	NodeIterator users = usersNode.getNodes();
-    	while (users.hasNext()) {
-			Node userNode = (Node) users.next();
-			listing.put(userNode.getName(), listOfPermTypes(userNode));
-		}
-		return listing;
+	public Map<String, List<String>> listUsers() {
+		try {
+			Map<String, List<String>> listing = new HashMap<String, List<String>>();
+			Node root = this.repository.getSession().getRootNode();
+	    	Node usersNode = getNode(root, "user_info");
+	    	NodeIterator users = usersNode.getNodes();
+	    	while (users.hasNext()) {
+				Node userNode = (Node) users.next();
+				listing.put(userNode.getName(), listOfPermTypes(userNode));
+			}
+			return listing;
+		} catch (RepositoryException e) {
+    		throw new RulesRepositoryException(e);
+    	}
 	}
 
 	private List<String> listOfPermTypes(Node userNode) throws RepositoryException {




More information about the jboss-svn-commits mailing list