You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2010/02/15 22:52:27 UTC

svn commit: r910343 - in /incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager: UserLoginNode.java UserManagerImpl.java

Author: mir
Date: Mon Feb 15 21:52:26 2010
New Revision: 910343

URL: http://svn.apache.org/viewvc?rev=910343&view=rev
Log:
CLEREZZA-107: fixed it for real this time

Modified:
    incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java
    incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java

Modified: incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java?rev=910343&r1=910342&r2=910343&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java (original)
+++ incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java Mon Feb 15 21:52:26 2010
@@ -18,6 +18,9 @@
  */
 package org.apache.clerezza.platform.usermanager;
 
+import java.security.AccessControlContext;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import org.apache.clerezza.platform.security.UserUtil;
 import org.apache.clerezza.rdf.core.NonLiteral;
 
@@ -46,8 +49,15 @@
 
 	@Override
 	public GraphNode addUserContext(GraphNode node) {
-		GraphNode agent = userManager.getUserGraphNode(UserUtil.getCurrentUserName());
-		if(!(node.getObjects(PLATFORM.user).hasNext())) {
+
+		final AccessControlContext context = AccessController.getContext();
+		GraphNode agent = AccessController.doPrivileged(new PrivilegedAction<GraphNode>() {
+			@Override
+			public GraphNode run() {
+				return userManager.getUserGraphNode(UserUtil.getUserName(context));
+			}
+		});
+		if (!(node.getObjects(PLATFORM.user).hasNext())) {
 			node.addProperty(PLATFORM.user, agent.getNode());
 		} else {
 			Resource user = node.getObjects(PLATFORM.user).next();

Modified: incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java?rev=910343&r1=910342&r2=910343&view=diff
==============================================================================
--- incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java (original)
+++ incubator/clerezza/issues/CLEREZZA-107/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java Mon Feb 15 21:52:26 2010
@@ -582,22 +582,15 @@
 
 	@Override
 	public GraphNode getUserGraphNode(final String name) {
-		return AccessController.doPrivileged(new PrivilegedAction<GraphNode>() {
-			@Override
-			public GraphNode run() {
-				NonLiteral user = getUserByName(name);
-				if (user != null) {
-					GraphNode userNodeInSystemGraph =
-							new GraphNode(getUserByName(name), systemGraph);
-					MGraph copiedUserContext = new SimpleMGraph
-							(userNodeInSystemGraph.getNodeContext());
-					return new GraphNode(userNodeInSystemGraph.getNode(),
-							copiedUserContext);
-				} else {
-					return null;
-				}
-			}
-		});
+		NonLiteral user = getUserByName(name);
+		if (user != null) {
+			GraphNode userNodeInSystemGraph =
+					new GraphNode(getUserByName(name), systemGraph);
+			MGraph copiedUserContext = new SimpleMGraph(userNodeInSystemGraph.getNodeContext());
+			return new GraphNode(userNodeInSystemGraph.getNode(),
+					copiedUserContext);
+		} else {
+			return null;
+		}
 	}
-
 }