Author: ito
Date: Sun Feb 7 07:42:48 2010
New Revision: 907391
URL: http://svn.apache.org/viewvc?rev=907391&view=rev
Log:
CLEREZZA-87: getCurrentUserAsGraphNode and addUserContext implemented, merged
with trunk
Added:
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/staticweb/images/bg/fade-login.png
- copied unchanged from r907340,
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/staticweb/images/bg/fade-login.png
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/staticweb/images/logo-big.png
- copied unchanged from r907340,
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/staticweb/images/logo-big.png
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/staticweb/login.css
- copied unchanged from r907340,
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/staticweb/login.css
Modified:
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManager.java
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/
(props changed)
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
Modified:
incubator/clerezza/issues/CLEREZZA-87/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-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java?rev=907391&r1=907390&r2=907391&view=diff
==============================================================================
---
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java
(original)
+++
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserLoginNode.java
Sun Feb 7 07:42:48 2010
@@ -18,31 +18,22 @@
*/
package org.apache.clerezza.platform.usermanager;
-import java.security.AccessControlContext;
-import java.security.AccessController;
-import java.security.Principal;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.Iterator;
-import javax.security.auth.Subject;
+import org.apache.clerezza.rdf.core.NonLiteral;
import org.apache.clerezza.rdf.core.Resource;
-
import org.apache.clerezza.rdf.utils.GraphNode;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.clerezza.platform.typerendering.UserContextProvider;
-import org.apache.clerezza.rdf.core.BNode;
-import org.apache.clerezza.rdf.core.impl.PlainLiteralImpl;
-import org.apache.clerezza.rdf.core.impl.TripleImpl;
-import org.apache.clerezza.rdf.ontologies.FOAF;
+import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
import org.apache.clerezza.rdf.ontologies.PLATFORM;
import org.apache.clerezza.rdf.utils.UnionMGraph;
/**
* The login name is added to the user context node. The name is accessable via
- * ssp template by using the context node (e.g.
context/platform("user")/foaf("name")).
+ * ssp template by using the context node
+ * (e.g. context/platform("user")/platform("userName")).
*
* @author tio
*/
@@ -56,39 +47,18 @@
@Override
public GraphNode addUserContext(GraphNode node) {
- String userName = getUserName();
- GraphNode agent = userManager.getUserGraphNode(userName);
+ GraphNode agent = userManager.getCurrentUserGraphNode();
if(!(node.getObjects(PLATFORM.user).hasNext())) {
node.addProperty(PLATFORM.user, agent.getNode());
- }
- node = new GraphNode(node.getNode(), new
UnionMGraph(node.getGraph(),
+ node = new GraphNode(node.getNode(), new
UnionMGraph(node.getGraph(),
agent.getGraph()));
- return node;
- }
-
- private String getUserName() {
- Subject subject;
- final AccessControlContext context =
AccessController.getContext();
- try {
- subject = AccessController.doPrivileged(new
PrivilegedExceptionAction<Subject>() {
-
- @Override
- public Subject run() throws Exception {
- return Subject.getSubject(context);
- }
- });
- } catch (PrivilegedActionException ex) {
- Exception cause = (Exception)ex.getCause();
- if (cause instanceof RuntimeException) {
- throw (RuntimeException) cause;
- }
- throw new RuntimeException(cause);
- }
- Iterator<Principal> iter = subject.getPrincipals().iterator();
- String name = null;
- if (iter.hasNext()) {
- name = iter.next().getName();
+ } else {
+ Resource user = node.getObjects(PLATFORM.user).next();
+ GraphNode agentClone = new GraphNode(agent.getNode(),
new
+ SimpleMGraph(agent.getGraph()));
+ agentClone.replaceWith((NonLiteral) user);
+ node.getGraph().addAll(agentClone.getGraph());
}
- return name;
+ return node;
}
}
Modified:
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManager.java
URL:
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManager.java?rev=907391&r1=907390&r2=907391&view=diff
==============================================================================
---
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManager.java
(original)
+++
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManager.java
Sun Feb 7 07:42:48 2010
@@ -217,11 +217,17 @@
public void deleteAllPermissionsOfUser(String name);
/**
- * Retrieves all information associated with a user as GraphNode. The
GraphNode
- * consists of a UnionMGraph between a new SimpleMGraph and the system
graph.
+ * Retrieves all information associated with a user as GraphNode.
*
* @param name specifies the username of the user, may not be null
* @return GraphNode
*/
public GraphNode getUserGraphNode(String name);
+
+ /**
+ * Retrieves all information associated with the current user as
GraphNode.
+ *
+ * @return GraphNode
+ */
+ public GraphNode getCurrentUserGraphNode();
}
Modified:
incubator/clerezza/issues/CLEREZZA-87/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-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java?rev=907391&r1=907390&r2=907391&view=diff
==============================================================================
---
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java
(original)
+++
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.platform.usermanager/src/main/java/org/apache/clerezza/platform/usermanager/UserManagerImpl.java
Sun Feb 7 07:42:48 2010
@@ -19,13 +19,18 @@
package org.apache.clerezza.platform.usermanager;
import java.io.UnsupportedEncodingException;
+import java.security.AccessControlContext;
import java.security.AccessController;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.Policy;
+import java.security.Principal;
import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.Iterator;
import java.util.List;
+import javax.security.auth.Subject;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
@@ -555,4 +560,30 @@
});
}
+ @Override
+ public GraphNode getCurrentUserGraphNode() {
+ Subject subject;
+ final AccessControlContext context =
AccessController.getContext();
+ try {
+ subject = AccessController.doPrivileged(new
PrivilegedExceptionAction<Subject>() {
+
+ @Override
+ public Subject run() throws Exception {
+ return Subject.getSubject(context);
+ }
+ });
+ } catch (PrivilegedActionException ex) {
+ Exception cause = (Exception)ex.getCause();
+ if (cause instanceof RuntimeException) {
+ throw (RuntimeException) cause;
+ }
+ throw new RuntimeException(cause);
+ }
+ Iterator<Principal> iter = subject.getPrincipals().iterator();
+ String name = null;
+ if (iter.hasNext()) {
+ name = iter.next().getName();
+ }
+ return getUserGraphNode(name);
+ }
}
Propchange:
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Feb 7 07:42:48 2010
@@ -1,2 +1,3 @@
/incubator/clerezza/issues/CLEREZZA-52/org.apache.clerezza.web.resources.style:894321-894392
/incubator/clerezza/issues/CLEREZZA-77/org.apache.clerezza.web.resources.style:900408-902859
+/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.web.resources.style:905960-907340
Modified:
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
URL:
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp?rev=907391&r1=907390&r2=907391&view=diff
==============================================================================
---
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
(original)
+++
incubator/clerezza/issues/CLEREZZA-87/org.apache.clerezza.web.resources.style/src/main/resources/org/apache/clerezza/web/resources/style/headed-page-template.ssp
Sun Feb 7 07:42:48 2010
@@ -6,9 +6,9 @@
resultDocModifier.addScriptReference("/style/scripts/panel.js");
resultDocModifier.addScriptReference("/scripts/modification-status.js");
resultDocModifier.addScriptReference("/scripts/status-message.js");
-resultDocModifier.addScriptReference("/yui/yahoo-dom-event/yahoo-dom-event.js");
+/*resultDocModifier.addScriptReference("/yui/yahoo-dom-event/yahoo-dom-event.js");
resultDocModifier.addScriptReference("/yui/element/element-min.js");
-resultDocModifier.addScriptReference("/yui/container/container-min.js");
+resultDocModifier.addScriptReference("/yui/container/container-min.js");*/
resultDocModifier.addScriptReference("/scripts/alert-message.js");
<html xmlns="http://www.w3.org/1999/xhtml">
<head>